-
+
title() ?>
-
+
@@ -120,10 +120,10 @@ document.addEventListener('DOMContentLoaded', () => {
diff --git a/assets/js/joe.index.min.js b/assets/js/joe.index.min.js
index e967dd1..c2f658b 100644
--- a/assets/js/joe.index.min.js
+++ b/assets/js/joe.index.min.js
@@ -1 +1 @@
-document.addEventListener("DOMContentLoaded",()=>{if(0!==$(".joe_index__banner .swiper-container").length){let l="horizontal";Joe.IS_MOBILE||2!==$(".joe_index__banner-recommend .item").length||(l="vertical"),new Swiper(".swiper-container",{keyboard:!1,direction:l,loop:!0,autoplay:!0,mousewheel:!0,pagination:{el:".swiper-pagination"},navigation:{nextEl:".swiper-button-next",prevEl:".swiper-button-prev"}})}{const l=l=>"default"===l.mode?`\n \n \n \n \n \n \n \n \n \n `:"single"===l.mode?`\n
\n \n \n \n \n \n \n \n \n \n `:"multiple"===l.mode?`\n
\n \n \n \n ${l.image.map((e,t)=>{if(t<3)return``}).join("")}\n \n \n \n `:`\n
\n \n \n \n `;let e={page:1,pageSize:window.Joe.PAGE_SIZE,type:"created"};const t=()=>{$(".joe_index__list .joe_list").html(""),$(".joe_load").show();let l=$('.joe_index__title-title .item[data-type="'+e.type+'"]'),t=$(".joe_index__title-title .line");l.addClass("active").siblings().removeClass("active"),t.css({left:l.position().left,width:l.width()})},i=()=>new Promise((t,i)=>{$(".joe_load").attr("loading",!0),$(".joe_load").html("loading..."),$(".joe_index__list .joe_list__loading").show(),$.ajax({url:Joe.BASE_API,type:"POST",dataType:"json",data:{routeType:"publish_list",page:e.page,pageSize:e.pageSize,type:e.type},success(e){if(0===e.data.length)return $(".joe_load").removeAttr("loading"),$(".joe_load").html("查看更多"),$(".joe_load").hide(),$(".joe_index__list .joe_list__loading").hide(),Qmsg.warning("没有更多内容了");e.data.forEach(e=>$(".joe_index__list .joe_list").append(l(e))),$(".joe_load").removeAttr("loading"),$(".joe_load").html("查看更多"),$(".joe_index__list .joe_list__loading").hide(),t(e.data.length>0?e.data.length-1:0)}})});t(),i(),$(".joe_index__title-title .item").on("click",async function(){$(this).attr("data-type")!==e.type&&(e={page:1,pageSize:window.Joe.PAGE_SIZE,type:$(this).attr("data-type")},t(),i())}),$(".joe_load").on("click",async function(){if($(this).attr("loading"))return;e.page++;let l=await i();l=$(".joe_index__list .joe_list .joe_list__item").length-l;const t=`.joe_index__list .joe_list .joe_list__item:nth-child(${l})`,a=$(t).offset().top-$(".joe_header").height();window.scrollTo({top:a-15,behavior:"smooth"})})}{const l=$(".joe_index__list").attr("data-wow");"off"!==l&&l&&new WOW({boxClass:"wow",animateClass:`animated ${l}`,offset:0,mobile:!0,live:!0,scrollContainer:null}).init()}});
\ No newline at end of file
+document.addEventListener("DOMContentLoaded",()=>{if(0!==$(".joe_index__banner .swiper-container").length){let e="horizontal";Joe.IS_MOBILE||2!==$(".joe_index__banner-recommend .item").length||(e="vertical"),new Swiper(".swiper-container",{keyboard:!1,direction:e,loop:!0,autoplay:!0,mousewheel:!0,pagination:{el:".swiper-pagination"},navigation:{nextEl:".swiper-button-next",prevEl:".swiper-button-prev"}})}{const e=e=>"default"===e.mode?`\n
\n \n \n \n \n \n \n \n \n `:"single"===e.mode?`\n
\n \n \n \n \n \n \n \n \n \n `:"multiple"===e.mode?`\n
\n \n \n \n ${e.image.map((l,t)=>{if(t<3)return``}).join("")}\n \n \n \n `:`\n
\n \n \n \n `;let l={page:1,pageSize:window.Joe.PAGE_SIZE,type:"created"};const t=()=>{$(".joe_index__list .joe_list").html(""),$(".joe_load").show();let e=$('.joe_index__title-title .item[data-type="'+l.type+'"]'),t=$(".joe_index__title-title .line");e.addClass("active").siblings().removeClass("active"),t.css({left:e.position().left,width:e.width()})},a=()=>new Promise((t,a)=>{$(".joe_load").attr("loading",!0),$(".joe_load").html("loading..."),$(".joe_index__list .joe_list__loading").show(),$.ajax({url:Joe.BASE_API,type:"POST",dataType:"json",data:{routeType:"publish_list",page:l.page,pageSize:l.pageSize,type:l.type},success(l){if(0===l.data.length)return $(".joe_load").removeAttr("loading"),$(".joe_load").html("查看更多"),$(".joe_load").hide(),$(".joe_index__list .joe_list__loading").hide(),Qmsg.warning("没有更多内容了");l.data.forEach(l=>$(".joe_index__list .joe_list").append(e(l))),$(".joe_load").removeAttr("loading"),$(".joe_load").html("查看更多"),$(".joe_index__list .joe_list__loading").hide(),t(l.data.length>0?l.data.length-1:0)}})});t(),a(),$(".joe_index__title-title .item").on("click",async function(){$(this).attr("data-type")!==l.type&&(l={page:1,pageSize:window.Joe.PAGE_SIZE,type:$(this).attr("data-type")},t(),a())}),$(".joe_load").on("click",async function(){if($(this).attr("loading"))return;l.page++;let e=await a();e=$(".joe_index__list .joe_list .joe_list__item").length-e;const t=`.joe_index__list .joe_list .joe_list__item:nth-child(${e})`,n=$(t).offset().top-$(".joe_header").height();window.scrollTo({top:n-15,behavior:"smooth"})})}{const e=$(".joe_index__list").attr("data-wow");"off"!==e&&e&&new WOW({boxClass:"wow",animateClass:`animated ${e}`,offset:0,mobile:!0,live:!0,scrollContainer:null}).init()}});
\ No newline at end of file
diff --git a/core/factory.php b/core/factory.php
index ee15b8e..8fc9ee0 100644
--- a/core/factory.php
+++ b/core/factory.php
@@ -51,7 +51,7 @@ class Editor
-
+
-
-
+
+
header(); ?>
-
+
-
+
@@ -40,6 +40,6 @@
options->JCursorEffects && $this->options->JCursorEffects !== 'off') : ?>
-
-
+
+
options->JCustomHeadEnd() ?>
\ No newline at end of file
diff --git a/typecho/write/css/joe.write.min.css b/typecho/write/css/joe.write.min.css
index 9c4abe2..c80d6b0 100644
--- a/typecho/write/css/joe.write.min.css
+++ b/typecho/write/css/joe.write.min.css
@@ -1 +1 @@
-input[name='fields[keywords]']{width:100%}textarea[name='fields[description]'],textarea[name='fields[abstract]'],textarea[name='fields[thumb]'],textarea[name='fields[video]']{width:100%;height:80px}#text,#text ~ .resize{display:none}body.fullscreen{overflow:hidden}.cm-container{display:flex;flex-direction:column;position:relative;width:100%;height:650px;box-sizing:border-box;z-index:6666;content-visibility:auto;background:#222}.cm-container.fullscreen{position:fixed;top:0;left:0;width:100%;height:100%}.cm-container *{outline:none !important}.cm-container .cm-tools{display:grid;grid-template-columns:repeat(auto-fill, minmax(30px, 1fr));gap:5px;padding:5px;background-color:#303133}.cm-container .cm-tools .cm-tools-item{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:2px;transition:background 0.25s;padding:5px}.cm-container .cm-tools .cm-tools-item:hover{background:#393939}.cm-container .cm-tools .cm-tools-item:hover svg{fill:#efefef}.cm-container .cm-tools .cm-tools-item.active{background:#393939}.cm-container .cm-tools .cm-tools-item.active svg{fill:#efefef}.cm-container .cm-tools .cm-tools-item.active .cm-tools__dropdown{visibility:visible;opacity:1;-webkit-transform:translateX(-50%) rotateX(0);transform:translateX(-50%) rotateX(0)}.cm-container .cm-tools .cm-tools-item svg{vertical-align:middle;fill:#bfbfbf}.cm-container .cm-tools__dropdown{position:absolute;top:42px;left:50%;z-index:1000;background:#393939;padding:5px 0;border-radius:4px;visibility:hidden;-webkit-transform-origin:top;transform-origin:top;opacity:0;-webkit-transform:translateX(-50%) rotateX(-90deg);transform:translateX(-50%) rotateX(-90deg);transition:visibility 0.25s, opacity 0.25s, -webkit-transform 0.25s;transition:visibility 0.25s, transform 0.25s, opacity 0.25s;transition:visibility 0.25s, transform 0.25s, opacity 0.25s, -webkit-transform 0.25s}.cm-container .cm-tools__dropdown-item{padding:0 20px;line-height:32px;transition:background 0.25s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:15px;color:#bfbfbf;font-weight:600}.cm-container .cm-tools__dropdown-item:hover{background:#444}.cm-container .cm-tools__dropdown::before{content:'';position:absolute;top:-7px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #393939}.cm-container .cm-mainer{position:relative;flex:1;min-height:0;display:flex;width:100%}.cm-container .cm-mainer .cm-wrap{flex-shrink:0;flex:1;min-width:0;font-size:14px}.cm-container .cm-mainer .cm-wrap .cm-scroller{line-height:1.8;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;-ms-scroll-chaining:none;overscroll-behavior:none;height:100%;padding:10px}.cm-container .cm-mainer .cm-wrap .cm-scroller::-webkit-scrollbar-track{background:#222}.cm-container .cm-mainer .cm-wrap .cm-scroller::-webkit-scrollbar{width:6px;height:6px}.cm-container .cm-mainer .cm-wrap .cm-scroller::-webkit-scrollbar-thumb{border-radius:3px;background:rgba(255,255,255,0.25)}.cm-container .cm-mainer .cm-wrap .cm-scroller ::-moz-selection{background-color:rgba(221,240,255,0.2)}.cm-container .cm-mainer .cm-wrap .cm-scroller ::selection{background-color:rgba(221,240,255,0.2)}.cm-container .cm-mainer .cm-wrap .cm-scroller .cm-content{width:100%;color:#ccc;caret-color:#ccc;padding:0;-webkit-user-modify:read-write-plaintext-only;word-wrap:break-word;white-space:normal;word-break:break-all}.cm-container .cm-mainer .cm-wrap .cm-scroller .cm-matchingBracket{color:#8f938f;border:1px solid rgba(255,255,255,0.25);margin:-1px}.cm-container .cm-mainer .cm-wrap .cm-scroller .cm-nonmatchingBracket{color:#ff5627}.cm-container .cm-mainer .cm-resize{flex-shrink:0;position:relative;width:16px;background:#303133;cursor:col-resize}.cm-container .cm-mainer .cm-resize::before{content:'';position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:4px;height:40px;border-radius:2px;background:#fff}.cm-container .cm-mainer .cm-preview{position:relative;flex-shrink:0;width:0;background:#fff;overflow:auto;box-sizing:border-box;-ms-scroll-chaining:none;overscroll-behavior:none}.cm-container .cm-mainer .cm-preview.move{pointer-events:none}.cm-container .cm-mainer .cm-preview::-webkit-scrollbar-track{background:#fff}.cm-container .cm-mainer .cm-preview::-webkit-scrollbar{width:6px;height:6px}.cm-container .cm-mainer .cm-preview::-webkit-scrollbar-thumb{border-radius:3px;background:#c0c4cc}.cm-container .cm-mainer .cm-autosave{position:absolute;top:0;left:0;width:100%;z-index:999}.cm-container .cm-mainer .cm-autosave::before,.cm-container .cm-mainer .cm-autosave::after{content:'';position:absolute;top:0;width:0;height:3px;transition:width 0.5s}.cm-container .cm-mainer .cm-autosave::before{border-radius:0 1.5px 1.5px 0;left:50%;background:linear-gradient(to right, #4cd964, #5ac8fa, #007aff)}.cm-container .cm-mainer .cm-autosave::after{border-radius:1.5px 0 0 1.5px;right:50%;background:linear-gradient(to left, #4cd964, #5ac8fa, #007aff)}.cm-container .cm-mainer .cm-autosave.active::before,.cm-container .cm-mainer .cm-autosave.active::after{width:50%}.cm-container .cm-progress-left,.cm-container .cm-progress-right{position:absolute;top:0;width:0;height:3px;background-color:#ff5627;transition:width 0.5s;z-index:1}.cm-container .cm-progress-left{right:50%;border-radius:1.5px 0 0 1.5px}.cm-container .cm-progress-right{left:50%;border-radius:0 1.5px 1.5px 0}.cm-preview-content{padding:20px;font-size:14px;font-family:'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', Arial, sans-serif;white-space:normal;overflow-wrap:break-word;color:#606266;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.cm-preview-content h1,.cm-preview-content h2,.cm-preview-content h3,.cm-preview-content h4,.cm-preview-content h5,.cm-preview-content h6{color:#303133;font-size:18px;line-height:24px;margin:0;margin-bottom:15px;position:relative}.cm-preview-content h1{padding:0 15px}.cm-preview-content h1::before{content:'';position:absolute;top:8.5px;left:0;height:7px;width:7px;border-radius:50%;background:#409eff}.cm-preview-content h2{padding:0 15px}.cm-preview-content h2::before{content:'';position:absolute;top:10%;bottom:10%;left:0;width:4px;border-radius:2px;background:#409eff}.cm-preview-content h3{padding:0 15px 0 20px}.cm-preview-content h3::before{content:'#';color:#409eff;font-weight:700;position:absolute;top:0;left:0;line-height:24px}.cm-preview-content h4::before{content:'「';color:#409eff;font-weight:600;margin-right:5px}.cm-preview-content h4::after{content:'」';color:#409eff;font-weight:600;margin-left:5px}.cm-preview-content h5{padding:0 15px 0 28px}.cm-preview-content h5::before{content:'';position:absolute;top:2px;left:0;width:20px;height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAC8klEQVRYR+3WP2gTURwH8O/vKnVRRHKXP52cBO3g4p/BqYNIhy4muajUQRBFKjQV1En6ZxJBcmlRCoJDRe3FDiJVwamLS3FwqbgIgss1l2ZQF5XeT3I1Z3NJ7u5dLlAwN9699/t97vfe7/EIO/yhHe5DD9jpCv3fFVTu856+Xzi62Y/35hj9CFPNrlUwWeRJAJfBGADwBcBNI0/PRZFdAdo4xlQLjCqKjBzogat7hZCRAgPghJGBgbFnxglAOvS7b/fLb+q+qnv5BHBCyEBAWTdnANy2IxOtWSC1qsY+1jOFwAVG+gIVvXyHQbcaKuZCxmf5iMQogXFQtEsBeO5JT6BcMu+Bcb1lUhcyqfExACUAB6JEtgUqi+U5JrrmmcyFHCjwSYtQO+tSUSFbAmXdnAdwJVASdyWLPAS2kbFA8xsHNS13EzCmlx8R6KJQcBcypfFpho3cKxRna3ADsgEo6+ZjAKMhgjZ1d2KWR2gTSyD0h4jnIB2gXDIXwciFCPZvSnMl0wwshYrJGDImaMUGKovlLBPVOrDjh8APzFx8zDkjNa7FzYoGZsKT9XEarQOHmei1aJA246cqOWW6/i2l8VMGzoWIPW/k6eq2Ja6UwCz8pw2JGZ8sS8pUz8fWau/jGp+SgLchcGBgZD1Py41NUuoI+ZloV8ZU93+ogZKzfBiWfXAPCgMJU8Y42avQdMzI4ZBfmSizocqrUeJaAmsvBZGGBCtTziXeRY1rCxRAViEhXckqK93AeQJ9kYTvlmVlqmcTdhNEtefc+9X3utVmuX+CkK6oyqtu4nwrWP8bF5IZdGYjJ79wDuMCz4D+XmhFWnZbt7ab5ltBB6mbkyAaBPFCJassuwMmNb4L4EZgXwBc4AoGTZrUeA6A9x1yK6tzzvnFDlxBv0D176kCP2TCpbbjBXCRV9DZk0VeAONCE1IQ1zWg3dlF1sFQHWQIXFeBNrLAw5BwHBZWjQl6E3SbbB8X+R4Mg/Ca0wN2WtFeBTut4B84mFI4VpekyAAAAABJRU5ErkJggg==");background-size:100% 100%}.cm-preview-content h6{padding:0 15px 0 28px}.cm-preview-content h6::before{content:'';position:absolute;top:2px;left:0;width:20px;height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAEI0lEQVRYR+3Xb2wTZRwH8G/vL22RPy5GW8fK6rJpGeFFY9RO3TRRE1HfmEAammEyjZmOSEg1RrPZaTD6xjhU/Ndlf0CZgwmD+qcgZBRIETeqY0Vcnc7pGonhRY2l3m2t5upqjq693l2vcy+8N81zz/NcPvf75fd7rjos8ku3yH34HyjK0PqlDLPzD56vMNL0VHxmpgXAoUIZXKgI3sMSpK+cNTAbylaj/9IkprnLM3+mkg8XQi4EsJ4lSL+ZNbAfVd+JG/XLcSERg3M8IAtZauBtDEkeNdN6fX9NfRqXueQiSwm00wQRMDMGw94snBJkqYBrSYIIXs/ojftqGq6IXHZRFIpkKYC2JSw9SJE663W0nthlqcMawwrJYpVCag1M48pNy1YNvLWRffGNIYSCv6Cnog7rjCtVIbUEXoG7qeqaNMj51F58dWoKPZY62JeWyUJG+ctcIplcIizWCpgTl9EIyODJn9BtceDWq/6B57tO/H4R688fFaZ7AWzWAiiJEyMDx39Ed6UDdyy7Ni/w1ekxbP95VJi/F8CRYoGycGLksaEJdFU6cPdy0zxkR/RbtE6FhPvHATQUm2JFODHSfyyCLmsd7lth/hf53q/jcE8OC+NTAG7PTKiNoCqcGPnpF+PotDrwwNXl+OC3H9A8cVqYPgPgFnFo1QCLwomRg4cvoPMGBzZHTgq3zwKwZ+ddKVATXAZhf+gdnPvuojAUqmJdrspRAtQU93pXEM+8clgwhQHU5itruUBNcTt6TsP9sl8weQC0S/VFOUBNcW/2folt2z+XhZPTZh6kSKJ79aqVRuFszRxfUm8sNbdz9xlsfekz2bhCQBvDMMM8z+ubN92Mjrb71brS+97dM4wtnk8U4SSBBEGErVarzeVywePxoHVLA1pb6lUh3+8bwZMv+BTjpIAVACa9Xq+uqakJ7e3tqpGd/WfR3Jr+81awIJS0mY0A+sLhMGw2W3qfGmTXvhAef/6gapxUBDuqqqoejUQiBvFbKUH2DHyNx54bLAqXF0jT9HBjY6Pd6/XOi7oc5K7936Dp2QNF4/IBrTqdLuLxeIi2tracRSGF/PDgKB55er8muHzATQB2m81m+P1+1NbmPoVyIfsOnUOj+2PNcPmAO1iWbeE4TmexWODz+WQhayrL4No2oCkuJ5Bl2VGO49ZmcisXObdeVSuRaq7ZZ3G10KBTqRQl3pQPGY1GEQgE4HQ6heVDAO5S1cklNmUDXQRB9KZSqXkfESaTCW63G7FYDKFQKDEyMoJoNKqfe/bbAJ7QGpcrxa8xDLOV5/k0kGXZv2ZnZ5FMJtNjmqYvURR1IpFInAcwAeD7ud/pUuDmAY1G41g8Hl9DkmScoqggx3FHAIyJMMlSQfI9V5zKagDC93dsoRFKimQx2dIWOV/U/yn6bx0WyDj8vgLOAAAAAElFTkSuQmCC");background-size:100% 100%}.cm-preview-content hr{margin:0;border:none;height:1px;background-color:#e4e7ed;margin-bottom:15px}.cm-preview-content p{line-height:26px;margin:0;margin-bottom:15px}.cm-preview-content blockquote{margin:0;line-height:26px;margin-bottom:15px;background:#ecf8ff;border-left:5px solid #50bfff;color:#50bfff;padding:8px 15px;border-radius:0 4px 4px 0}.cm-preview-content blockquote p{margin:0}.cm-preview-content pre[class*='language-']{margin:0;margin-bottom:15px}.cm-preview-content pre[class*='language-']::-webkit-scrollbar-track{background:#fff}.cm-preview-content pre[class*='language-']::-webkit-scrollbar{width:6px;height:6px}.cm-preview-content pre[class*='language-']::-webkit-scrollbar-thumb{border-radius:3px;background:#c0c4cc}.cm-preview-content code:not([class]){display:inline-block;border-radius:4px;font-size:12px;background:#fdf6ec;padding:0 8px;color:#e6a23c;vertical-align:top}.cm-preview-content ol,.cm-preview-content ul{margin:0;margin-bottom:15px;padding-left:36px}.cm-preview-content ol li,.cm-preview-content ul li{line-height:26px}.cm-preview-content ol li{list-style:decimal}.cm-preview-content ul li{list-style:disc}.cm-preview-content table{width:100%;max-width:100%;table-layout:fixed;color:#909399;margin-bottom:15px;font-size:13px;border-top:1px solid #ebeef5;border-left:1px solid #ebeef5;border-collapse:collapse}.cm-preview-content table td,.cm-preview-content table th{padding:8px;border-bottom:1px solid #ebeef5;border-right:1px solid #ebeef5}.cm-preview-content table thead th{font-weight:500;background:#ebeef5}.cm-preview-content img:not([class]){display:block;max-width:100%;border-radius:4px;transition:box-shadow 0.35s, -webkit-transform 0.35s;transition:transform 0.35s, box-shadow 0.35s;transition:transform 0.35s, box-shadow 0.35s, -webkit-transform 0.35s;margin:0 auto}.cm-preview-content .owo{max-height:26px;vertical-align:top}.cm-preview-content a:not([class]){display:inline-block;line-height:26px;color:#409eff;position:relative;text-decoration:none}.cm-preview-content a:not([class]) :hover{text-decoration:none !important}.cm-preview-content a:hover{text-decoration:none}.cm-modal{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;background:rgba(0,0,0,0);visibility:hidden;transition:background 0.25s, visibility 0.25s;will-change:background, visibility}.cm-modal__wrapper{width:380px;background:#fff;color:#606266;border-radius:4px;opacity:0;-webkit-transform:translateY(-30%);transform:translateY(-30%);transition:opacity 0.25s, -webkit-transform 0.25s;transition:opacity 0.25s, transform 0.25s;transition:opacity 0.25s, transform 0.25s, -webkit-transform 0.25s}.cm-modal__wrapper-header{padding:10px 20px;border-bottom:1px solid #e4e7ed;display:flex;align-items:center;justify-content:space-between}.cm-modal__wrapper-header--close{font-size:20px;cursor:pointer}.cm-modal__wrapper-bodyer{padding:20px}.cm-modal__wrapper-bodyer .fitem{display:flex;align-items:center;margin-bottom:15px}.cm-modal__wrapper-bodyer .fitem:last-child{margin-bottom:0}.cm-modal__wrapper-bodyer .fitem label{margin-right:10px}.cm-modal__wrapper-bodyer .fitem input,.cm-modal__wrapper-bodyer .fitem select,.cm-modal__wrapper-bodyer .fitem textarea{width:auto;flex:1;-webkit-appearance:none;outline:none;border:1px solid #dcdfe6;height:34px;box-sizing:border-box;padding:0 10px;border-radius:3px;color:#606266}.cm-modal__wrapper-bodyer .fitem textarea{height:80px;padding:5px}.cm-modal__wrapper-bodyer .tabbar{position:relative;width:100%;overflow-x:auto;display:flex;margin-bottom:20px}.cm-modal__wrapper-bodyer .tabbar::-webkit-scrollbar{display:none}.cm-modal__wrapper-bodyer .tabbar-item{white-space:nowrap;margin-right:15px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cm-modal__wrapper-bodyer .tabbar-item:last-child{margin-right:0}.cm-modal__wrapper-bodyer .tabbar-item.active{color:#409eff}.cm-modal__wrapper-bodyer .lists{display:none;grid-template-columns:repeat(6, 1fr);font-size:18px;border-left:1px solid #e4e7ed;border-top:1px solid #e4e7ed;font-family:'Meiryo UI', 'Microsoft YaHei', 'Malgun Gothic', 'Segoe UI', 'Trebuchet MS', Helvetica, 'Monaco', monospace, Tahoma, STXihei, '华文细黑', STHeiti, 'Helvetica Neue', 'Droid Sans', 'wenquanyi micro hei', FreeSans, Arimo, Arial, SimSun, '宋体', Heiti, '黑体', sans-serif;max-height:350px;overflow-y:auto;-ms-scroll-chaining:none;overscroll-behavior:none}.cm-modal__wrapper-bodyer .lists[data-show='颜文字']{grid-template-columns:repeat(2, 1fr);font-size:12px}.cm-modal__wrapper-bodyer .lists::-webkit-scrollbar-track{background:#fff}.cm-modal__wrapper-bodyer .lists::-webkit-scrollbar{width:6px;height:6px}.cm-modal__wrapper-bodyer .lists::-webkit-scrollbar-thumb{border-radius:3px;background:#c0c4cc}.cm-modal__wrapper-bodyer .lists.active{display:grid}.cm-modal__wrapper-bodyer .lists-item{display:flex;align-items:center;justify-content:center;border-right:1px solid #e4e7ed;border-bottom:1px solid #e4e7ed;cursor:pointer;transition:background 0.25s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#888;padding:5px 0}.cm-modal__wrapper-bodyer .lists-item img{max-width:70%}.cm-modal__wrapper-bodyer .lists-item:hover,.cm-modal__wrapper-bodyer .lists-item .active{background:#e4e7ed}.cm-modal__wrapper-footer{display:flex;align-items:center;justify-content:flex-end;padding:0 20px 10px}.cm-modal__wrapper-footer--cancle,.cm-modal__wrapper-footer--confirm{cursor:pointer;border:none;outline:none;margin-left:5px;background:#fff;color:#606266;-webkit-appearance:none;padding:7px 15px;border-radius:3px}.cm-modal__wrapper-footer--confirm{color:#fff;background:#409eff}.cm-modal.active{visibility:visible;background:rgba(0,0,0,0.75)}.cm-modal.active .cm-modal__wrapper{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}.joe_checkbox{-webkit-appearance:none;position:relative;border-radius:2px;width:15px;height:15px;border:2px solid #409eff;vertical-align:-3px;box-sizing:border-box;margin:0}.joe_checkbox:disabled{cursor:not-allowed}.joe_checkbox:checked{border:none;background:#409eff}.joe_checkbox:checked::after{content:'';width:3px;height:7px;position:absolute;top:2px;left:5px;border:2px solid #fff;border-top:0;border-left:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.joe_mtitle{display:flex;justify-content:center}.joe_mtitle__text{position:relative;color:#909399;padding:0 12px;transition:padding 0.35s}.joe_mtitle__text::before,.joe_mtitle__text::after{content:'';position:absolute;top:50%;width:20px;height:1px;background:#409eff}.joe_mtitle__text::before{left:-35px}.joe_mtitle__text::after{right:-35px}.joe_abtn{display:inline-block;color:#fff;height:35px;line-height:35px;padding:0 15px}.joe_abtn__icon{display:inline-block;vertical-align:top;text-align:center}.joe_abtn__icon .fa{color:#fff}.joe_abtn__icon [class^='fa-']{margin-right:8px}.joe_abtn__content{color:#fff;display:inline-block;vertical-align:top;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.joe_anote{position:relative;display:inline-block;color:#fff;height:35px;line-height:35px}.joe_anote__icon{display:inline-block;vertical-align:top;width:35px;height:35px;text-align:center;background:rgba(0,0,0,0.2)}.joe_anote__icon .fa{color:#fff}.joe_anote__content{display:inline-block;vertical-align:top;padding:0 12px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.joe_anote.secondary{background:#34495e}.joe_anote.success{background:#27ae60}.joe_anote.warning{background:#f39c12}.joe_anote.error{background:#e74c3c}.joe_anote.info{background:#3498db}.joe_dotted{display:block;width:100%;height:2px;background-size:80px}.joe_hide{display:block;background:repeating-linear-gradient(145deg, #f2f6fc, #f2f6fc 15px, #fff 0, #fff 25px);padding:15px 0;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal}.joe_hide__button{position:relative;font-style:normal;cursor:pointer;color:#409eff}.joe_card__default{margin:0 auto;box-shadow:0 2px 12px 0 rgba(0,0,0,0.1);border-radius:4px;border:1px solid #ebeef5;background:#fff;line-height:26px}.joe_card__default-title{padding:8px 10px;border-bottom:1px solid #ebeef5;color:#303133;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.joe_card__default-content{padding:10px;color:#606266}.joe_card__default-content *:last-child{margin-bottom:0 !important}.joe_message{display:block;position:relative;border-left-width:4px;border-left-style:solid;padding:8px 15px;border-radius:0 4px 4px 0;line-height:26px}.joe_message__icon{position:absolute;top:-9px;left:-11px;width:18px;height:18px;border-radius:50%;transition:-webkit-transform 0.85s;transition:transform 0.85s;transition:transform 0.85s, -webkit-transform 0.85s}.joe_message__icon::before{content:'';position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:10px;height:10px;fill:#fff;background-repeat:no-repeat;background-size:100% 100%}.joe_message.success{border-left-color:#2bde3f;background:#2bde3f20;color:#2bde3f}.joe_message.success .joe_message__icon{background:#2bde3f}.joe_message.success .joe_message__icon::before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjEyNTE4MDE1ODgxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQxMTU3IiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+PC9kZWZzPjxwYXRoIGQ9Ik00MTMuMjU1IDY5MS40MzZjMTguNTQ2LTE3LjQ1IDMzLjE4Ni0zMC41NTIgNDcuMDc2LTQ0LjQyNyAxMzMuMDQtMTMyLjgxIDI2Ni4xODItMjY1LjUxMyAzOTguNzI0LTM5OC44MzcgMzIuMDc0LTMyLjI0NCA2NS42NjYtNDguNDUyIDEwNC45OTctMTQuNzUyIDMyLjk4MyAyOC4yNDEgMjguMDQ5IDY3LjQ2NS0xMi45MiAxMDguNTc0LTE1Ny4xNzUgMTU3LjcxLTMxNC41ODcgMzE1LjE4NC00NzIuMjkyIDQ3Mi4zOC00OS4zODkgNDkuMjI1LTc2LjMwOCA0OS41NDYtMTI0LjcxNiAxLjYwNy04NS41OS04NC43NjUtMTcwLjEzNS0xNzAuNTc5LTI1NS44LTI1NS4yNTctMzIuMjkyLTMxLjkyMy00OC42OC02NS41MTYtMTQuOTk3LTEwNC45NzYgMjguMTctMzIuOTk1IDY3LjU1Ny0yOC4xNTUgMTA4LjU1OCAxMi42NzUgNzMuNDI3IDczLjE2IDE0Ni4wNzkgMTQ3LjA5IDIyMS4zNyAyMjMuMDEzeiIgcC1pZD0iNDExNTgiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48L3N2Zz4=)}.joe_message.info{border-left-color:#1d72f3;background:#1d72f320;color:#1d72f3}.joe_message.info .joe_message__icon{background:#1d72f3}.joe_message.info .joe_message__icon::before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjEyNTE4MzM4MjIxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYxNjg0IiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+PC9kZWZzPjxwYXRoIGQ9Ik03NjcuOTczOTc1IDExNi4zNDYwODZjMCA2NC4yNTI3MzQtNDEuNjgzMjE0IDExNi4zODg3NS05My4wOTM5MzUgMTE2LjM4ODc1UzU4MS43ODYxMDYgMTgwLjU5ODgyIDU4MS43ODYxMDYgMTE2LjM0NjA4NkM1ODEuNzg2MTA2IDUyLjA5MzM1MiA2MjMuNDY5MzIgMCA2NzQuODgwMDQgMFM3NjcuOTczOTc1IDUyLjA5MzM1MiA3NjcuOTczOTc1IDExNi4zNDYwODZ6TTI1NiA1MDQuMjk0MzY1czcwLjgyMzA2Ni0yODQuNzg1NTIzIDI4Ni43NDgwOS0yNzEuMDQ3NTU1YzIxNS45MjUwMjQgMTMuNjk1MzA0IDY3LjIzOTI0OSAyNjEuNDQ4MDQzLTEzLjI2ODY1OSA1MDEuNjQ5MTY2LTgwLjUwNzkwOCAyNDAuMjAxMTIzIDEwMC4yNjE1NyA3MS40MjAzNjkgMTQ1LjQwMDYwOS03LjU1MTYxNiAwIDAtOTMuMTM2NTk5IDQwNi43NjMzMjMtMzY3LjM0MTMyNyAyNjcuNjc3MDYtMTI4LjU0ODEzMi02NS4yMzQwMTcgMzIuMjU0MzYtMzk4LjA1OTc2NSAxMDMuMTIwMDkyLTU0NS41OTM1OTlDNDgxLjU2NzIgMzAxLjgwODY1OCAzMzYuNjM1OTAxIDM4Ny42MDY5NjMgMjU2IDUwNC4yNTE3MDF6IiBmaWxsPSIjZmZmZmZmIiBwLWlkPSI2MTY4NSI+PC9wYXRoPjwvc3ZnPg==)}.joe_message.warning{border-left-color:#ffc007;background:#ffc00720;color:#ffc007}.joe_message.warning .joe_message__icon{background:#ffc007}.joe_message.warning .joe_message__icon::before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjEyNTE4MTI5NTE1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ3NDkyIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+PC9kZWZzPjxwYXRoIGQ9Ik00NzkuODE3MTQzIDY2NS42YzEwLjI0IDMwLjcyIDMwLjcyIDUxLjIgNjEuNDQgNTEuMnM1MS4yLTIwLjQ4IDYxLjQ0LTUxLjJsNDAuOTYtNTYzLjJDNjQzLjY1NzE0MyA0MC45NiA1OTIuNDU3MTQzIDAgNTQxLjI1NzE0MyAwIDQ3OS44MTcxNDMgMCA0MzguODU3MTQzIDUxLjIgNDM4Ljg1NzE0MyAxMTIuNjRsNDAuOTYgNTUyLjk2eiBtNjEuNDQgMTUzLjZjLTYxLjQ0IDAtMTAyLjQgNDAuOTYtMTAyLjQgMTAyLjQgMCA2MS40NCA0MC45NiAxMDIuNCAxMDIuNCAxMDIuNCA2MS40NCAwIDEwMi40LTQwLjk2IDEwMi40LTEwMi40IDAtNjEuNDQtNDAuOTYtMTAyLjQtMTAyLjQtMTAyLjR6IiBwLWlkPSI0NzQ5MyIgZmlsbD0iI2ZmZmZmZiI+PC9wYXRoPjwvc3ZnPg==)}.joe_message.error{border-left-color:#f56c6c;background:#f56c6c20;color:#f56c6c}.joe_message.error .joe_message__icon{background:#f56c6c}.joe_message.error .joe_message__icon::before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjEyNTE4MjAyNDk4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ4OTE1IiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+PC9kZWZzPjxwYXRoIGQ9Ik0xOTMuOCA4MzAuMmMtMTkuNC0xOS40LTE5LjQtNTEuMyAwLTcwLjdsNTY1LjctNTY1LjdjMTkuNC0xOS40IDUxLjMtMTkuNCA3MC43IDAgMTkuNCAxOS40IDE5LjQgNTEuMyAwIDcwLjdMMjY0LjUgODMwLjJjLTE5LjQgMTkuNC01MS4zIDE5LjQtNzAuNyAweiIgZmlsbD0iI2ZmZmZmZiIgcC1pZD0iNDg5MTYiPjwvcGF0aD48cGF0aCBkPSJNODMwLjIgODMwLjJjLTE5LjQgMTkuNC01MS4zIDE5LjQtNzAuNyAwTDE5My44IDI2NC41Yy0xOS40LTE5LjQtMTkuNC01MS4zIDAtNzAuNyAxOS40LTE5LjQgNTEuMy0xOS40IDcwLjcgMGw1NjUuNyA1NjUuN2MxOS40IDE5LjQgMTkuNCA1MS4zIDAgNzAuN3oiIGZpbGw9IiNmZmZmZmYiIHAtaWQ9IjQ4OTE3Ij48L3BhdGg+PC9zdmc+)}.joe_message__content{display:block}.joe_progress{width:100%;display:flex;align-items:center}.joe_progress__strip{height:12px;border-radius:6px;overflow:hidden;background:#ebeef5;min-width:0;flex:1;margin-right:10px}.joe_progress__strip-percent{position:relative;height:100%;border-radius:6px;transition:width 0.35s}.joe_progress__strip-percent::before{content:'';opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;border-radius:6px;-webkit-animation:progress-active 3s ease-in-out infinite;animation:progress-active 3s ease-in-out infinite}.joe_progress__percentage{color:#909399}.joe_callout{padding:12px;border:1px solid #ebeef5;border-left-width:4px;border-radius:4px;color:#606266;line-height:26px}.joe_callout *:last-child{margin-bottom:0 !important}.joe_card__list{border:1px solid #ebeef5;border-radius:4px;overflow:hidden;line-height:26px}.joe_card__list-item{padding:12px;border-bottom:1px solid #ebeef5}.joe_card__list-item:last-child{border-bottom:none}.joe_card__list-item *:last-child{margin-bottom:0 !important}.joe_timeline{line-height:26px}.joe_timeline__item{position:relative;padding-bottom:15px}.joe_timeline__item-tail{position:absolute;top:0;left:7px;height:100%;border-left:1px solid #e4e7ed}.joe_timeline__item-circle{position:absolute;width:13px;height:13px;background-color:#fff;border-radius:50%;border:1px solid #19be6b}.joe_timeline__item-content{padding-left:24px;position:relative;top:-5px}.joe_timeline__item-content *:last-child{margin-bottom:0 !important}.joe_timeline__item:last-child .joe_timeline__item-tail{display:none}.joe_vplayer{width:100%;height:180px;border:none}.joe_tabs{width:100%;overflow:hidden;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,0.1);border:1px solid #ebeef5;border-radius:4px;line-height:26px}.joe_tabs__head{width:100%;overflow-x:auto;overflow-y:hidden;display:flex;background:#f2f6fc}.joe_tabs__head-item{position:relative;padding:0 15px;line-height:40px;height:40px;color:#909399;cursor:pointer;transition:color 0.5s;white-space:nowrap}.joe_tabs__head-item::after{content:'';position:absolute;background:#409eff;bottom:0;left:15px;right:15px;height:2px;opacity:0;border-radius:2px;-webkit-transform:scaleX(0.5);transform:scaleX(0.5);transition:opacity 0.25s, -webkit-transform 0.25s;transition:opacity 0.25s, transform 0.25s;transition:opacity 0.25s, transform 0.25s, -webkit-transform 0.25s}.joe_tabs__head-item.active{color:#409eff}.joe_tabs__head-item.active::after{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}.joe_tabs__body-item{padding:15px}.joe_tabs__body-item *:last-child{margin-bottom:0 !important}.joe_card__describe{position:relative;border:1px dashed #dcdfe6;line-height:26px}.joe_card__describe-title{position:absolute;top:0;left:8px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:#fff;padding:0 5px;color:#303133;font-weight:500;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.joe_card__describe-content{color:#606266;padding:18px 15px 15px}.joe_card__describe-content *:last-child{margin-bottom:0 !important}.joe_lamp{display:block;position:relative;width:100%;height:3px;border-radius:1.5px;overflow:hidden;-webkit-animation:lamp-background linear 4s infinite;animation:lamp-background linear 4s infinite}.joe_lamp::before,.joe_lamp::after{content:'';position:absolute;width:100%;height:100%;top:0;z-index:1;-webkit-animation:lamp-front linear 4s infinite;animation:lamp-front linear 4s infinite}.joe_lamp::before{right:50%;-webkit-transform-origin:right;transform-origin:right}.joe_lamp::after{left:50%;-webkit-transform-origin:left;transform-origin:left}.joe_collapse{line-height:26px}.joe_collapse__item{margin-bottom:10px;color:#606266}.joe_collapse__item-head{display:flex;align-items:center;background:#f2f6fc;padding:10px 12px;padding-right:8px;cursor:pointer;overflow:hidden;border:1px solid #ebeef5;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.joe_collapse__item-head--label{padding-right:8px}.joe_collapse__item-head--icon{flex-shrink:0;margin-left:auto;fill:#909399;transition:-webkit-transform 0.3s ease;transition:transform 0.3s ease;transition:transform 0.3s ease, -webkit-transform 0.3s ease}.joe_collapse__item-wrapper{max-height:0;overflow:hidden;transition:max-height 0.3s ease}.joe_collapse__item-wrapper--content{border:1px solid #ebeef5;border-top:0;padding:12px}.joe_collapse__item-wrapper--content *:last-child{margin-bottom:0 !important}.joe_collapse__item:last-child{margin-bottom:0}.joe_collapse__item.active .joe_collapse__item-head--icon{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.joe_cloud{display:flex;align-items:center;padding:10px;border:1px solid #ebeef5;border-radius:4px;overflow:hidden}.joe_cloud__logo{flex-shrink:0;width:32px;height:32px;margin-right:10px;background-size:100% 100%}.joe_cloud__logo._default{background-image:url("data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTEzNS40NjcgODIzLjY4YTM3MC41NiA5My42NTMgMCAxIDAgNzQxLjEyIDAgMzcwLjU2IDkzLjY1MyAwIDEgMC03NDEuMTIgMHoiIGZpbGw9IiNCNkM5Q0IiLz48cGF0aCBkPSJNODUuMzMzIDgxMi4zNzNWMTUxLjA0YzguNzQ3LTIzLjA0IDIzLjQ2Ny00Mi42NjcgNDkuMjgtNDIuNjY3IDU1LjI1NCAxLjI4IDExMC45MzQtOS4zODYgMTY1LjU0NyA2LjgyN2ExNC41MDcgMTQuNTA3IDAgMCAwIDEwLjg4LTIuMzQ3IDcxLjY4IDcxLjY4IDAgMCAxIDMyLjIxMy01LjU0NmgxMTQuNTZhNTYuMzIgNTYuMzIgMCAwIDEgNjQgNTIuOTA2IDYxLjQ0IDYxLjQ0IDAgMCAwLTguNzQ2IDY5LjU0NyAyMDYuNTA3IDIwNi41MDcgMCAwIDEgOC41MzMgMjkuMjI3djU0MS40NGE1MS42MjcgNTEuNjI3IDAgMCAxLTQ4Ljg1MyA1Mi45MDZjLTU1LjI1NCAwLTExMS4xNDcgOC45Ni0xNjUuOTc0LTYuMTg2YTEzLjg2NyAxMy44NjcgMCAwIDAtOS4xNzMgMCA5NS41NzMgOTUuNTczIDAgMCAxLTQ1LjY1MyA2LjE4NmwtOTMuMjI3IDEuMjhjLTMzLjcwNyAyLjU2LTYxLjQ0LTYuNjEzLTczLjM4Ny00Mi4yNHptMzg5LjEyLTMzMS43MzNWMTc1LjU3M2MwLTEwLjQ1MyAxLjkyLTIxLjMzMy0xNC43Mi0yMS4zMzNIMzQxLjEyYTE0LjUwNyAxNC41MDcgMCAwIDAtMTUuNTczIDEwLjY2NyA5NS4xNDcgOTUuMTQ3IDAgMCAwLTcuMDQgNDEuMzg2djU2OC4zMmMxLjQ5MyAyNi42NjcgOS42IDM0LjM0NyAzNi4wNTMgMzQuMzQ3aDk5LjJjMTYuNDI3IDAgMjEuMzMzLTUuMzMzIDIxLjMzMy0yMS4zMzMtLjg1My0xMDIuNC0uNjQtMjA0LjgtLjY0LTMwNi45ODd6bS0zNDIuNCAwVjc4Ny4yYzAgOS42LTEuOTIgMjAuMDUzIDEzLjY1NCAxOS44NEgyNjYuMjRjNi4xODcgMCAxMS41MiAwIDEzLjQ0LTcuODkzYTEzOS4wOTMgMTM5LjA5MyAwIDAgMCA4LjMyLTM5LjA0VjIwMC4zMmExNDUuOTIgMTQ1LjkyIDAgMCAwIDAtMTUuNTczYy0yLjc3My0yNS4xNzQtOS44MTMtMzEuMzYtMzQuOTg3LTMxLjM2aC05OS4yYy0xNy40OTMgMC0yMS4zMzMgNS4zMzMtMjEuMzMzIDIxLjMzMyAwIDEwMi42MTMtLjQyNyAyMDUuMjI3LS40MjcgMzA2Ljc3M3oiIGZpbGw9IiMzMTQ1NTMiLz48cGF0aCBkPSJNODY0IDgyOC44bC02Mi4wOCAyMS4zMzNjLTQwLjUzMyAxNC4wOC02Ni45ODcgMS40OTQtODEuOTItMzkuMjUzLTcuODkzLTIxLjMzMy0xNi4yMTMtNDIuNjY3LTI0LjMyLTY0bC0zLjYyNy0zLjg0YTY0IDY0IDAgMCAwLTUuNzYtMjQuMzJjLTM2LjA1My0xMDAuNjkzLTcxLjY4LTIwMS44MTMtMTA4LjM3My0zMDIuMjkzLTE4Ljk4Ny01MS44NC0zNC45ODctMTA0Ljk2LTU3LjM4Ny0xNTUuNTJBMjA2LjUwNyAyMDYuNTA3IDAgMCAwIDUxMiAyMzEuNjhhNjEuNDQgNjEuNDQgMCAwIDEgOC43NDctNjkuNTQ3IDY3MS4xNDcgNjcxLjE0NyAwIDAgMSAxNDAuNTg2LTUzLjU0NmMyNy45NDctOC4xMDcgNTEuMiA5LjE3MyA2Mi4wOCAzOS42OHE1Mi40OCAxNDUuOTIgMTA0LjUzNCAyOTIuMDUzbDEwMy42OCAyOTAuMzQ3YzE2LjY0IDQ2LjI5MyA1LjMzMyA3MC42MTMtNDAuMzIgODcuNDY2LTkuMzg3IDMuMi0xOC4zNDcgNy4wNC0yNy4zMDcgMTAuNjY3em0yNi44OC03MS44OTNzLTEuMjgtNC4wNTQtMi4zNDctNy4wNFE3ODQuNjQgNDU4Ljg4IDY4MC45NiAxNjguMTA3Yy00LjQ4LTEyLjgtMTAuNDUzLTE1LjM2LTIzLjA0LTEwLjY2Ny0yOS4wMTMgMTEuMzA3LTU4LjAyNyAyMS4zMzMtODcuODkzIDMxLjE0Ny0xNy4yOCA1LjMzMy0xOC4xMzQgMTMuMDEzLTEyLjU4NyAyOC4zNzMgMzkuODkzIDEwOS40NCA3OC43MiAyMTkuMzA3IDExNy45NzMgMzI5LjE3M2w4OC4zMiAyNDYuODI3YzMuMiA5LjE3MyA1LjU0NyAxOS40MTMgMTkuODQgMTQuMDggMzIuODU0LTEyLjE2IDY1LjcwNy0yMy42OCA5OC43NzQtMzUuNDEzYTExLjMwNyAxMS4zMDcgMCAwIDAgOC43NDYtMTQuNzJ6IiBmaWxsPSIjNzkzOTQzIi8+PHBhdGggZD0iTTQ3NC40NTMgNDgwLjY0djMwNi45ODdjMCAxNS43ODYtNC4yNjYgMjEuMzMzLTIxLjMzMyAyMS4zMzMtMzMuMDY3LTEuMDY3LTY2LjEzMyAwLTk5LjIgMC0yNi40NTMgMC0zNC41Ni03LjY4LTM2LjA1My0zNC4zNDd2LTU2OC4zMmE5NS4xNDcgOTUuMTQ3IDAgMCAxIDcuMDQtNDEuMzg2IDE0LjUwNyAxNC41MDcgMCAwIDEgMTUuNTczLTEwLjY2N2gxMTguNjEzYzE2LjY0IDAgMTQuNzIgMTAuNDUzIDE0LjcyIDIxLjMzM3EuNjQgMTUyLjMyLjY0IDMwNS4wNjd6TTQxMi4xNiA1NzZ2MTMyLjA1M2MwIDExLjA5NCAxLjA2NyAyMS4zMzQgMTQuNzIgMjIuODI3czE2LjY0LTExLjA5MyAxNi40MjctMjMuMDRWNDQzLjczM2MwLTExLjA5My0xLjA2Ny0yMS4zMzMtMTQuNzItMjIuODI2cy0xNi42NCAxMS4wOTMtMTYuNjQgMjMuMDRjLjQyNiA0My4wOTMuMjEzIDg3LjA0LjIxMyAxMzIuMDUzem0zOC44MjctMjkwLjk4N2E1MC41NiA1MC41NiAwIDEgMC01MS40MTQgNDkuNzA3IDUwLjk4NyA1MC45ODcgMCAwIDAgNTEuNjI3LTUwLjc3M3pNMzU3Ljc2IDY0MS4wNjd2NjcuODRjMCAxMC44OCAyLjM0NyAyMS4zMzMgMTQuNzIgMjEuMzMzczE2LjY0LTkuMzg3IDE2LjY0LTIxLjMzM3YtMTM1LjY4YzAtMTAuODgtMi41Ni0yMS4zMzQtMTQuNzItMjEuMzM0cy0xNi42NCA5LjM4Ny0xNi42NCAyMS4zMzRjLjIxMyAyMi42MTMgMCA0NS40NCAwIDY3Ljg0ek0xMzIuMDUzIDQ4MS40OTNWMTc2LjQyN2MwLTE2Ljg1NCA0LjI2Ny0yMi44MjcgMjEuMzM0LTIxLjMzNCAzMy4wNjYgMS4yOCA2Ni4xMzMgMCA5OS4yIDAgMjUuMzg2IDAgMzIuMjEzIDYuMTg3IDM0Ljk4NiAzMS4zNmExNDUuOTIgMTQ1LjkyIDAgMCAxIDAgMTUuNTc0djU1OS43ODZhMTM5LjA5MyAxMzkuMDkzIDAgMCAxLTguMzIgMzkuMDRjLTIuMTMzIDcuNDY3LTcuNDY2IDcuODk0LTEzLjQ0IDcuODk0SDE0NS4yOGMtMTUuNTczIDAtMTMuNjUzLTEwLjI0LTEzLjY1My0xOS44NFY1MTEuNTczcS40MjYtMTUuMzYuNDI2LTMwLjA4em02Mi4yOTQgMTA2LjY2N1Y0NjcuODRjMC0xMS43MzMgMC0yMy44OTMtMTUuMzYtMjQuMTA3cy0xNiAxMS43MzQtMTYgMjMuNjh2MjM4LjkzNGMwIDExLjUyIDAgMjMuODkzIDE1LjM2IDI0LjEwNnMxNi0xMS43MzMgMTYtMjMuNjhjLS4yMTQtMzkuODkzIDAtNzkuMzYgMC0xMTguODI2ek0yNTYgMjgzLjczM2E1MC41NiA1MC41NiAwIDEgMC01MS4yIDQ5LjkyIDUwLjc3MyA1MC43NzMgMCAwIDAgNTEuMi00OS45MnptLTcuNjggMzQxLjMzNHYtODEuNDk0YzAtMTEuMzA2LTEuNzA3LTIxLjMzMy0xNS4zNi0yMS4zMzNzLTE2IDEwLjI0LTE2IDIxLjMzM1Y3MDguNDhjMCAxMS4zMDcgMS43MDcgMjEuMzMzIDE1LjM2IDIxLjMzM3MxNi0xMC4yNCAxNi0yMS4zMzNjLjIxMy0yNy45NDcuNDI3LTU1Ljg5My40MjctODMuNjI3eiIgZmlsbD0iI0I3RTFFQiIvPjxwYXRoIGQ9Ik04OTEuMDkzIDc1Ni45MDdhMTEuMzA3IDExLjMwNyAwIDAgMS04Ljc0NiAxNC43MmMtMzIuODU0IDExLjczMy02NS45MiAyMy40NjYtOTguNzc0IDM1LjQxMy0xNC4yOTMgNS4zMzMtMTYuNjQtNC45MDctMTkuODQtMTQuMDhsLTg4LjMyLTI0Ni44MjdDNjM2LjE2IDQzNi4yNjcgNTk3LjMzMyAzMjYuNCA1NTcuMjI3IDIxNi45NmMtNS41NDctMTUuMTQ3LTQuNjk0LTIzLjA0IDEyLjU4Ni0yOC4zNzMgMjkuNjU0LTguOTYgNTguODgtMjAuMDU0IDg3Ljg5NC0zMS4xNDcgMTIuNTg2LTQuOTA3IDE4LjU2LTIuMzQ3IDIzLjA0IDEwLjY2N3ExMDMuNjggMjkwLjk4NiAyMDcuNzg2IDU4MS43NmMxLjI4IDIuOTg2IDIuMTM0IDUuOTczIDIuNTYgNy4wNHptLTEyMC4zMi0yNjYuMjRjMC0yLjU2LTIuMTMzLTYuODI3LTMuNjI2LTExLjA5NEw2ODcuNzg3IDI1NmE4Mi41NiA4Mi41NiAwIDAgMC0zLjYyNy04Ljk2Yy0zLjg0LTcuNjgtOS44MTMtMTIuOC0xOC41Ni05LjgxM2ExNC45MzMgMTQuOTMzIDAgMCAwLTEwLjQ1MyAxOS44NGMwIDMuMiAxLjkyIDYuMTg2IDIuOTg2IDkuMTczbDc5Ljc4NyAyMjQuNDI3YTY4LjQ4IDY4LjQ4IDAgMCAwIDUuMzMzIDEyLjM3MyAxNC4yOTMgMTQuMjkzIDAgMCAwIDE4LjU2IDUuOTczYzYuMTg3LTMuNDEzIDkuMzg3LTkuMzg2IDguOTYtMTguMzQ2em0xOS4yIDEyOGE1MC41NiA1MC41NiAwIDEgMCA1MC4xMzQgNTAuOTg2IDUwLjk4NyA1MC45ODcgMCAwIDAtNTAuNzc0LTUwLjk4NnptLTk2LjY0LTE4Mi40YzAtMi45ODctMi41Ni04LjUzNC00LjQ4LTE0LjA4cS0yNi4wMjYtNzIuOTYtNTIuMDUzLTE0NC44NTRjLTMuODQtMTAuODgtNy40NjctMjQuNzQ2LTIzLjI1My0xOS40MTNzLTEwLjY2NyAxNy45Mi02LjQgMjkuMjI3bDUyLjkwNiAxNDcuNjI2YTcyLjUzMyA3Mi41MzMgMCAwIDAgNS45NzQgMTQuMjk0IDEzLjg2NyAxMy44NjcgMCAwIDAgMTcuMDY2IDUuNzZjNy4wNC0zLjIgMTAuMjQtOC43NDcgMTAuMjQtMTguNTZ6IiBmaWxsPSIjRkJCNkFDIi8+PHBhdGggZD0iTTQxMi4xNiA1NzZWNDQzLjk0N2MwLTExLjk0NyAxLjQ5My0yMy42OCAxNi42NC0yMy4wNHMxNC43MiAxMS43MzMgMTQuNzIgMjIuODI2VjcwNy44NGMwIDExLjk0Ny0xLjQ5MyAyMy42OC0xNi40MjcgMjMuMDRzLTE0LjcyLTExLjczMy0xNC43Mi0yMi44MjdjMC00NS4wMTMtLjIxMy04OS4zODYtLjIxMy0xMzIuMDUzem0zOS4wNC0yOTIuMDUzYTUwLjU2IDUwLjU2IDAgMSAxLTQ5LjQ5My01MS40MTQgNTAuOTg3IDUwLjk4NyAwIDAgMSA0OS40OTMgNTEuNDE0em0tMzAuOTMzLTEuNzA3Yy0yLjM0Ny0xMS41Mi04Ljc0Ny0xOC45ODctMjEuMzM0LTE4LjEzM2ExOC45ODcgMTguOTg3IDAgMCAwIDEuNDk0IDM4LjE4NmMxMi41ODYtLjIxMyAxOC4zNDYtOC4zMiAxOS42MjYtMjAuMDUzek0zNTcuNzYgNjQxLjA2N3YtNjcuODRjMC0xMS43MzQgMi45ODctMjEuMzM0IDE2LjY0LTIxLjMzNHMxNC43MiAxMC4yNCAxNC43MiAyMS4zMzR2MTM1LjY4YzAgMTEuNzMzLTIuOTg3IDIxLjMzMy0xNi42NCAyMS4zMzNzLTE0LjcyLTEwLjI0LTE0LjcyLTIxLjMzM2MuMjEzLTIyLjYxNCAwLTQ1LjIyNyAwLTY3Ljg0em0tMTYzLjQxMy01My4xMnYxMTguNGMwIDExLjczMyAwIDIzLjg5My0xNiAyMy42OHMtMTUuMzYtMTIuNTg3LTE1LjM2LTI0LjEwN1Y0NjYuOTg3YzAtMTEuNzM0IDAtMjMuODk0IDE2LTIzLjY4czE1LjM2IDEyLjU4NiAxNS4zNiAyNC4xMDZjLS4yMTQgNDAuMzIgMCA4MC40MjcgMCAxMjAuNTM0ek0yNTYgMjgzLjczM2E1MC41NiA1MC41NiAwIDEgMS00OS45Mi01MS4yIDUwLjc3MyA1MC43NzMgMCAwIDEgNDkuOTIgNTEuMnptLTMwLjcyIDBhMTkuNjI3IDE5LjYyNyAwIDAgMC0xOS4yLTE5LjIgMTkuMiAxOS4yIDAgMCAwLTEuOTIgMzguMTg3YzEyLjU4Ny40MjcgMTguOTg3LTcuMjUzIDIxLjU0Ny0xOS42Mjd6bTIzLjQ2NyAzNDEuMTJ2ODMuNDE0YzAgMTEuNTItMi4zNDcgMjEuMzMzLTE2IDIxLjMzM3MtMTUuMzYtMTAuODgtMTUuMzYtMjEuMzMzVjU0My4zNmMwLTExLjUyIDIuMzQ2LTIxLjMzMyAxNi0yMS4zMzNzMTUuMzYgMTAuODggMTUuMzYgMjEuMzMzYy0uMjE0IDI3LjA5MyAwIDUzLjk3MyAwIDgxLjQ5M3oiIGZpbGw9IiMzMTQ1NTMiLz48cGF0aCBkPSJNNzcwLjc3MyA0OTAuNjY3YzAgOC45Ni0xLjkyIDE0LjkzMy04Ljc0NiAxNy40OTNhMTQuMjkzIDE0LjI5MyAwIDAgMS0xOC41Ni01Ljk3MyA2OC40OCA2OC40OCAwIDAgMS01LjMzNC0xMi4zNzRsLTgwLTIyMi43MmMtMS4wNjYtMi45ODYtMi4xMzMtNi4xODYtMi45ODYtOS4xNzNhMTQuOTMzIDE0LjkzMyAwIDAgMSAxMC40NTMtMTkuODRjOC43NDctMi45ODcgMTQuOTMzIDEuOTIgMTguNTYgOS44MTNhODIuNTYgODIuNTYgMCAwIDEgMy42MjcgOC45Nkw3NjggNDc5LjU3M2MwIDQuMjY3IDEuOTIgOC41MzQgMi43NzMgMTEuMDk0em0xOC41NiAxMjhhNTAuNTYgNTAuNTYgMCAxIDEgMCAxMDAuOTA2IDUwLjU2IDUwLjU2IDAgMCAxIDAtMTAwLjkwNnptMTkuMiA1MC41NmMtMS45Mi0xMS41Mi04LjEwNi0xOS40MTQtMjAuMDUzLTE4Ljk4N2ExOC45ODcgMTguOTg3IDAgMCAwIDAgMzcuOTczYzEyLjU4Ny0uNDI2IDE4LjU2LTguMzIgMjAuNDgtMTkuODR6bS0xMTUuMi0yMzIuOTZjMCAxMC4wMjYtMy4yIDE1LjM2LTEwLjI0IDE3LjQ5M2ExMy44NjcgMTMuODY3IDAgMCAxLTE3LjA2Ni01Ljc2IDcyLjUzMyA3Mi41MzMgMCAwIDEtNS45NzQtMTQuMjkzTDYwNy4xNDcgMjg2LjA4Yy00LjA1NC0xMS4zMDctOS4xNzQtMjQuMTA3IDYuNC0yOS4yMjdzMTkuMiA4LjUzNCAyMy4yNTMgMTkuNDE0bDUyLjA1MyAxNDUuOTJjMS45MiA0LjQ4IDMuNDE0IDExLjA5MyA0LjQ4IDE0LjA4eiIgZmlsbD0iIzc5Mzk0MyIvPjwvc3ZnPg==")}.joe_cloud__logo._360{background-image:url("data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik04NDMuMjk0IDg3MS45MDZjMC00OS42OTQgNDAuNjU5LTkwLjM1MyA5MC4zNTMtOTAuMzUzUzEwMjQgODIyLjIxMiAxMDI0IDg3MS45MDZzLTQwLjY1OSA5MC4zNTMtOTAuMzUzIDkwLjM1My05MC4zNTMtNDAuNjU5LTkwLjM1My05MC4zNTN6IiBmaWxsPSIjRkY5OTMyIi8+PHBhdGggZD0iTTg0NC44IDY4Ni42ODJsLTEzMS4wMTItNTIuNzA2Yy0xMC41NC00LjUxNy0xMC41NC0xMi4wNDctNi4wMjMtMjIuNTg4IDEyLjA0Ny0zMS42MjMgMTguMDctNjYuMjU5IDE4LjA3LTEwMC44OTQgMC0xNDcuNTc2LTEyNC45ODgtMjc0LjA3LTI3NC4wNy0yNzQuMDdzLTI3NC4wNyAxMjYuNDk0LTI3NC4wNyAyNzQuMDdjMCAzNC42MzUgOS4wMzQgNzAuNzc3IDIxLjA4MSAxMDIuNCAzLjAxMiA2LjAyNCAzLjAxMiAxMy41NTMgMCAxOS41NzctMy4wMTEgNC41MTctNi4wMjMgMC0xMC41NCAxLjUwNUw1NS43MTcgNjc3LjY0N2MtMS41MDYgMS41MDYtNC41MTggMS41MDYtNi4wMjQgMS41MDYtOS4wMzUgMC0xNS4wNTktNC41MTgtMTguMDctMTMuNTUzQzEyLjA0NyA2MTQuNCAxLjUwNiA1NjMuMiAxLjUwNiA1MTAuNDk0IDEuNTA2IDI2My41MyAyMDQuOCA2MC4yMzUgNDUzLjI3IDYwLjIzNXM0NTAuMjU4IDIwMS43ODkgNDUwLjI1OCA0NDguNzUzYzAgNTguNzMtMTAuNTQgMTE0LjQ0Ny0zMS42MjMgMTY3LjE1My0xLjUwNiA0LjUxOC02LjAyNCA5LjAzNS0xMi4wNDcgMTAuNTQxLTMuMDEyIDEuNTA2LTQuNTE4IDEuNTA2LTcuNTMgMS41MDZzLTQuNTE3IDAtNy41MjktMS41MDZ6IiBmaWxsPSIjMEZCMjY0Ii8+PHBhdGggZD0iTTUxLjIgNzE4LjMwNmMtNy41My0xNS4wNTktMTMuNTUzLTMxLjYyNC0xOS41NzYtNDYuNjgyLTMuMDEyLTcuNTMtMy4wMTItMTMuNTUzLTMuMDEyLTE2LjU2NSAwLTQ5LjY5NCA0MC42NTktODguODQ3IDkxLjg1OS04OC44NDcgMzcuNjQ3IDAgNjkuMjcgMjIuNTg4IDg0LjMyOSA1NS43MTcgMS41MDYgMy4wMTIgNi4wMjQgMTIuMDQ3IDkuMDM1IDE2LjU2NSA0Ni42ODMgODguODQ3IDEzOC41NDEgMTQ2LjA3IDIzOS40MzYgMTQ2LjA3IDk5LjM4OCAwIDE4OS43NC01NS43MTcgMjM3LjkyOS0xNDEuNTUyIDQuNTE4LTkuMDM2IDE2LjU2NS0zMC4xMTggMTguMDctMzEuNjI0IDE1LjA2LTMwLjExNyA0My42NzEtNDUuMTc2IDc2LjgtNDUuMTc2IDUxLjIgMCA5MS44NiA0MC42NTkgOTEuODYgODguODQ3IDAgNi4wMjMgMCAxMy41NTMtNC41MTggMjIuNTg4bC05LjAzNiAyMi41ODh2MS41MDZjLTEuNTA1IDQuNTE4LTMuMDExIDcuNTMtNi4wMjMgMTIuMDQ3LTc2LjggMTUzLjYtMjMxLjkwNiAyNDguNDctNDAzLjU3NyAyNDguNDdTMTI5LjUwNiA4NjguODk1IDUxLjIgNzE4LjMwN3oiIGZpbGw9IiNGRjk5MzIiLz48L3N2Zz4=")}.joe_cloud__logo._bd{background-image:url("data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTI3MS4zOCA0MjkuNjM3YTI0NS41IDI0NS41IDAgMCAxLTMuMzk1LTQwLjc3N2MwLTEzNC42OCAxMDkuMTgtMjQzLjg2IDI0My44Ni0yNDMuODZzMjQzLjg2IDEwOS4xOCAyNDMuODYgMjQzLjg2YTI0NS41IDI0NS41IDAgMCAxLTMuMzk0IDQwLjc3NkM4NzUuOTY3IDQzMC4zMTIgOTc2IDUzMC43NjMgOTc2IDY1NC41NzhjMCAxMjQuMjM1LTEwMC43MTIgMjI0Ljk0Ny0yMjQuOTQ2IDIyNC45NDctNjIuNzQzIDAtMTE5LjQ4Ni0yNS42ODgtMTYwLjI4Ny02Ny4xMmwuMDAzLS4wMDRjLTIxLjQ0LTIxLjgyMi0yMS4zMjItNTYuODkzLjM1NC03OC41NyAyMS43OTYtMjEuNzk1IDU3LjEzMy0yMS43OTUgNzguOTI4IDAgLjY5My42OTQgMS4zNjUgMS40IDIuMDE0IDIuMTIgMjAuNDI3IDE5Ljg3IDQ4LjMxNyAzMi4xMDggNzkuMDY1IDMyLjEwOCA2Mi42MzEgMCAxMTMuNDA0LTUwLjc3MiAxMTMuNDA0LTExMy40MDMgMC02Mi42MzEtNTAuNzczLTExMy40MDMtMTEzLjQwNC0xMTMuNDAzLTI4LjczOSAwLTU0Ljk4MSAxMC42OS03NC45NjcgMjguMzExbC0uMDk2LS4wOTYtMS44ODYgMS44ODZjLTIuMiAyLjAzMy00LjMyIDQuMTUyLTYuMzUzIDYuMzUzbC00LjMwNiA0LjMwNS4wNzYuMDc3LTIyOS44NzYgMjI5Ljg3Ni0uMDMtLjAzYy00MC44MzMgNDEuNzA4LTk3Ljc2NyA2Ny41OS0xNjAuNzQ3IDY3LjU5QzE0OC43MTIgODc5LjUyNSA0OCA3NzguODEzIDQ4IDY1NC41NzhjMC0xMjMuNzExIDk5Ljg2Ni0yMjQuMDk4IDIyMy4zOC0yMjQuOTR6bTEuNjQ0IDMzOC40MjJjNjIuNjMgMCAxMTMuNDAzLTUwLjc3MiAxMTMuNDAzLTExMy40MDMgMC02Mi42MzEtNTAuNzcyLTExMy40MDMtMTEzLjQwMy0xMTMuNDAzLTYyLjYzMSAwLTExMy40MDQgNTAuNzcyLTExMy40MDQgMTEzLjQwMyAwIDYyLjYzIDUwLjc3MyAxMTMuNDAzIDExMy40MDQgMTEzLjQwM3pNNTExLjg0NSA1MjEuMWM3My4wMzQgMCAxMzIuMjQtNTkuMjA2IDEzMi4yNC0xMzIuMjQgMC03My4wMzMtNTkuMjA2LTEzMi4yMzktMTMyLjI0LTEzMi4yMzlzLTEzMi4yNCA1OS4yMDYtMTMyLjI0IDEzMi4yNGMwIDczLjAzMyA1OS4yMDYgMTMyLjIzOSAxMzIuMjQgMTMyLjIzOXoiIGZpbGw9IiMwNkE3RkYiLz48cGF0aCBkPSJNNjQzLjM1MSA0MDIuODY4YTU2Ljk2NiA1Ni45NjYgMCAwIDEtLjM1Mi02LjMzNGMwLTMxLjEyMyAyNS4yMy01Ni4zNTMgNTYuMzUzLTU2LjM1M3M1Ni4zNTMgMjUuMjMgNTYuMzUzIDU2LjM1M2MwIDIuMzktLjE1IDQuNzQ1LS40MzggNy4wNTctNy42MTYgMTI3LjgyLTExMy42ODggMjI5LjEyOC0yNDMuNDIyIDIyOS4xMjgtMTI5LjczNCAwLTIzNS44MDYtMTAxLjMwNy0yNDMuNDIyLTIyOS4xMjhhNTYuOTA4IDU2LjkwOCAwIDAgMS0uNDM4LTcuMDU3YzAtMzEuMTIzIDI1LjIzLTU2LjM1MyA1Ni4zNTMtNTYuMzUzczU2LjM1MyAyNS4yMyA1Ni4zNTMgNTYuMzUzYzAgMi4xNDEtLjEyIDQuMjU1LS4zNTIgNi4zMzQgNi45OTYgNjYuNDQ4IDYzLjIwNCAxMTguMjMgMTMxLjUwNiAxMTguMjMgNjguMzAyIDAgMTI0LjUxLTUxLjc4MiAxMzEuNTA2LTExOC4yM3oiIGZpbGw9IiNGRjQzNkEiLz48L3N2Zz4=")}.joe_cloud__logo._ty{background-image:url("data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik0yODMuNSAzNjguOGMtMTAuMyAzMS43LTguMyA2Mi4zIDExLjggODkuNiAyMy44IDMyLjIgNTYuOSA0My41IDk2LjEgMzkuMiAxMS0xLjIgMjEuNS0zLjggMzEuOC03LjcgNDAuNy0xNS42IDY3LjgtNTcuOCA2MS05OC02LjUtMzguMy0yOC44LTY2LTY0LjgtNzkuOC02OC40LTI2LjItMTMyLjMtMTUuMi0xODkuNyAyOS45LTM1LjMgMjcuNy02MC43IDYzLTY3LjcgMTA4LjItMTEuMiA3My4xIDMuNCAxMzkuNSA1OC44IDE5Mi4zIDQxLjEgMzkuMiA5MC40IDU3LjQgMTQ3LjggNTUuOSA3Mi4zLTEuOSAxMzIuOS0zMCAxODUuNi03Ny45IDMxLjktMjkuMSA1Ny40LTYzLjggODQuOC05Ni45IDM2LjYtNDQuMyA3OC40LTgxLjUgMTM0LjEtMTAwLjMgNTYuMi0xOC45IDExMS42LTE2LjMgMTY2LjQgNS44IDQuMyAxLjcgOC42IDMuNSAxNSA2LjEtMTAuNiAxLjQtMTkuMiAyLjItMjcuNiAzLjgtNDIuOCA3LjgtNzYuMSAzMS41LTEwNC41IDYzLTMwLjMgMzMuNS01NC42IDcxLjYtODAuOCAxMDguMi0zNi41IDUxLjEtNzYuNiA5OC44LTEyNy41IDEzNi41LTYzLjUgNDctMTM0LjEgNzMuMy0yMTMuNiA2OS42LTU3LjktMi42LTExMi4zLTE5LjktMTYyLjYtNDktODMuNi00OC40LTE0MS0xMTcuNy0xNjIuMy0yMTMuMi0yMC4yLTkwLjMgMi4yLTE3MS44IDYwLjItMjQyLjcgNTIuOC02NC42IDEyNC05NS40IDIwNi0xMDQuMyAxMTUtMTIuNSAyMjEuNiA1Mi4xIDI2OS41IDE0OSAzNS4zIDcxLjUgMjMuNSAxNTIuNS0zMS4xIDIxMC4yLTM1LjIgMzcuMi03OS43IDU3LjUtMTMwLjUgNjEuNy01OS40IDQuOC0xMTIuOS0xMS43LTE1Ni45LTUyLjktNTQuOS01MS42LTcxLjktMTQwLjQtMTUtMjA2LjMgMS4xLTEuMyAyLjUtMi41IDMuOC0zLjcgMy4yLS4yIDMuMSAxLjQgMS45IDMuN3oiIGZpbGw9IiNGNUM1M0UiLz48L3N2Zz4=")}.joe_cloud__logo._ct{background-image:url("data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik04NTAuNDYxIDc2NC40ODljLTE4LjgyOCA1MC4yMjUtMzUuODc5IDg2Ljg0MS04Mi40NjQgODYuODQxSDEyMC4xNjJjLTQ2LjU3OSAwLTg0Ljk2Mi00MC4yNjctODQuOTYyLTg2Ljg0MUwxNzUuNzU5IDI1OC40NmMxMy41NjgtNTcuMDkxIDM1Ljg4OS04Ni44MyA4Mi40NjItODYuODNoNjQ3LjgzN2M0Ni41ODIgMCA4NC45NjIgNDAuMjQ2IDg0Ljk2MiA4Ni44M0w4NTAuNDYxIDc2NC40ODl6TTMyMi41MTIgMzM3LjI0MmMtNC4zMjQgNC40MTctNy4xOTkgOC43NjQtNy4zNTMgOS4wMjQtLjEwMy4yMDctMi40NzkgNC45OTktMy4xODQgNi45MDktLjcwNSAxLjg4OC0yLjk0NyA5LjM3Ny0zLjA1MSA5LjcxbC0yLjQyNyA4Ljk4MnMtMS45MyA5LjI5NC0yLjIyIDEwLjc4OGMtLjIyOCAxLjE4Mi0xLjM0OSA5LjIyLTEuODc4IDEzLjA5MS0uMTM1Ljk4NS0uMjI4IDEuNjM4LS4yMzggMS43LS4wNjIuMzk1LTEuMTgyIDExLjgxNC0uODkzIDE3LjkyNC4yNzEgNi4wOTkuODQyIDE2LjcxMS44NSAxNi43NjIuMDEyLjEzNSAxLjYzIDEzLjczMyAzLjg3OSAyMi45MjMgMi4xNTkgOC43NzUgNC4yNDMgMTUuNjg1IDYuMzg5IDIxLjEyIDIuMDU0IDUuMTY1IDcuMDMzIDE0LjY4OCA3LjczOSAxNS43ODguMTI2LjE5Ni40MTUuNzA1LjgyOSAxLjQ1MiAyLjA1NCAzLjY3IDYuODY4IDEyLjI2IDExLjI5NiAxNy4yMTggNi4wOTggNi44MjYgMTIuNDQ3IDEzLjc5NiAxNy4yNSAxNy40MDYgNC4zMzcgMy4yNTggMTMuMjIzIDkuMzM0IDE5LjA2NSAxMS40MyA1LjI2OCAxLjkwOSA4Ljk2IDIuODg1IDEwLjE2NSAzLjAwOGguMTM1bC42NTItLjAyLjE0Ny0uNThjLjE2NS0uNjIyLS4yOTItLjg3MS0xLjAzOC0xLjI2Ni0xLjMxNy0uNzA1LTQuMzc4LTIuMzQzLTYuMzY5LTUuMDItMi44NjQtMy44MzgtNy4xMzYtMTEuMTA4LTkuNzgxLTE4Ljk0MS0yLjYyMy03Ljc2OS00LjE2LTE0Ljk5OC00LjczLTE3LjcyNi0uMzQxLTEuNjI5LTEuMTMxLTYuNjkxLTEuODk5LTExLjU4NWE5ODIuNzA2IDk4Mi43MDYgMCAwIDAtMS4zODktOC43NzVjLS4zNDMtMi4wNzQtMS41MTUtMTIuNzY5LTIuMTA3LTI0LjUtLjc0OC0xNC44MDIuMTM1LTMwLjE0Mi4xMzUtMzAuMjg4LjEzNS0xLjkzIDIuNTMtMjcuNzU4IDUuMjU5LTM5LjE2N2wuMjQ5LTEuMDE3YzIuNjM2LTExLjAxNSA0LjM4OC0xOC4yOTggOC45NzQtMjUuMzA5IDYuMDM3LTkuMjExIDguNzY0LTExLjI4NSA5LjMxNS0xMS4zMDZhLjg3Ljg3IDAgMCAwIC44Ny0uNjk0Yy4zODYtMS43OTQtOS40MzgtOS42NzktMTQuMTQ3LTExLjgxNC01LjQ0NS0yLjQ0OC0xMi4wNzQtNC45NjktMTkuOTk3LTQuOTY5LTYuMzcyLjE3NS0xNi4wMTkgMy4xODItMjAuNTAxIDcuNzQ2em00MDAuODExIDUwLjM2OGMtMTAuMTIzLTU3LjQ5Ny01MS4yNS03Ny44OTgtODMuMzk2LTc3Ljg5OC0yMi4zMDEgMC00My4zMzcgOC44MTYtNTkuMjI5IDI0LjgzMi0xNy43MjggMTcuODcyLTI3LjQxMyA0My4wNDYtMjcuOTk2IDcyLjgwNnYuMzcybC40NjcuNDY3aC4zMTNjLjU5IDAgLjY5My0uMTY2IDMuMzUtNC4yODMgOC4zMDYtMTIuOTE0IDMzLjU5Ni01Mi4xODUgNjEuMDExLTU4LjIwMWE0MS40OSA0MS40OSAwIDAgMSA4Ljg2OS0uOTc2YzE0LjM2NyAwIDI3LjEyNCA3LjUzMSAzNC45ODcgMjAuNjQyIDE0LjE5OSAyMy42OTEgMTAuMTIzIDYwLjcyMi0xMS4xNzEgMTAxLjYxMi04Ljg0OCAxNi45OS0zNi42NDYgNjYuNTUtNTguNjY4IDkxLjM2Mi01LjE3NCA1LjgyOS0xMC41MTggMTIuMDExLTE2LjE4MiAxOC41NjYtMjAuNDM0IDIzLjY3LTQxLjU2MyA0OC4xNDktNTUuNTE0IDU2LjUxMWEyNy43NTYgMjcuNzU2IDAgMCAwLTUuNjk1IDQuNTIzYy4xNjYtOC4xNzUuMzczLTE2LjM0Ny41Ny0yNC40OC40ODktMjAuMDE5IDEuMDA1LTQwLjcwMiAxLjAwNS02MC40MyAwLTMxLjUzMy0xLjIxMi01Ny42MS0zLjYwOS03Ny40ODQtMS40MTEtMTEuNzQzLTMuNTM4LTIxLjg2Ni01LjI0OS0yOS45OTYtLjY0My0zLjAzLTEuMjI1LTUuNzc4LTEuNjgtOC4yMTUtMy44OS0yMC43NDYtMTguMTcyLTUwLjM0OC0yNi41NTYtNjIuODk5LTcuOTQ2LTExLjg2Ny0yMS42NTgtMjUuNzU2LTM1LjgwNy0zNi4yNDItMTMuOTQtMTAuMzMyLTM3Ljg1OS0yMC4yMjctNTUuNjgtMjMuMDA3LTUuMDcxLS43OTctMTAuMDQxLTEuMjAzLTE0Ljc3LTEuMjAzLTExLjIyMyAwLTE5LjcyOSAyLjIyLTI1Ljg5IDQuMTcxLTYuMDE1IDEuODg3LTExLjczMSA1LjI0OC0xNS40NzUgNy43Mzh2LjAxYy0yLjk2NiAxLjUyNS00LjQxOSAzLjE2NC00LjQ4MSAzLjI0N2wxLjAzNyAxLjA4OWMuMDE5LS4wMTEgMS42Ni0xLjMxNyA0LjIzLTMuMDI5IDUuNjEzLTIuODUyIDEyLjkzNS0zLjIwNSAyMS4xMy0uOTQ0IDQuNDcxIDEuMjIzIDkuNjU3IDMuOTczIDE0LjkyOCA2Ljg1NyAxOC42NTkgMTQuMDEzIDI2LjExOCAyNC43MzggMzEuNTczIDM2LjUyMiAzLjk4MyA4LjYwOSA3LjI4MSAxNy40MzYgMTEuMzY5IDMwLjQ1MyA0LjEwOSAxMy4wODkgNy44MzMgMzUuODY5IDkuNjk4IDU5LjQxNS45MjUgMTEuNjE4IDEuNjcxIDI0LjA2NSAyLjQ1OCAzNy4yMzcgMS45NzEgMzMuMDQ3IDQuMDAzIDY3LjIxNSA5LjE0OSA5NC4xMDEgMi43OCAxNC41NDEgNi4xMTkgMjcuODYgMTAuMTg2IDQwLjc0MyAxMi40NTcgMzkuMzU0IDMwLjU3OCA2OC43NyA0My4zNzggODMuMTQ4IDExLjc1MSAxMy4yMzQgMjcuMjM5IDI2LjY5OCAzMC42ODMgMjYuNjk4LjA4MSAwIC4xNTUgMCAuMjI2LS4wMTlsLjAxMy4wMTkuMDUxLS4wMTljLjMzMi0uMDgzLjUzOC0uMjUuNjYzLS4zOTUuMDE5LS4wMi4wNDItLjA2Mi4wNjEtLjA4MmguMDExYy4zMjItLjIwNyAzMi43NjktMjEuMTYyIDU3LjI5OS00MS43NjEgODguMTEzLTczLjkzOSAxNjguMTUtMTk4Ljk1MSAxNDguMzI3LTMxMS41Nzh6IiBmaWxsPSIjRkZCOTBGIi8+PC9zdmc+")}.joe_cloud__logo._wy{background-image:url("data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik04ODAuMyA2MzEuOWMtMy40IDAtNi45LS42LTEwLjItMS44LTE2LjEtNS43LTI0LjUtMjMuMy0xOC45LTM5LjQgNi40LTE4LjEgOS42LTM3LjEgOS42LTU2LjUgMC05My4zLTc1LjktMTY5LjItMTY5LjEtMTY5LjItNzcuNiAwLTE0NS4xIDUyLjQtMTY0IDEyNy41LTQuMiAxNi41LTIwLjggMjYuNi0zNy41IDIyLjQtMTYuNS00LjItMjYuNS0yMS0yMi40LTM3LjUgMjUuOS0xMDIuNSAxMTgtMTc0LjEgMjIzLjktMTc0LjEgMTI3LjMgMCAyMzAuOCAxMDMuNiAyMzAuOCAyMzAuOSAwIDI2LjQtNC40IDUyLjMtMTMuMSA3Ny00LjUgMTIuNy0xNi40IDIwLjctMjkuMSAyMC43eiIgZmlsbD0iIzA5RiIvPjxwYXRoIGQ9Ik00NDcuNCA3ODMuM0gzMzIuNmMtMTI3LjMgMC0yMzAuOS05Ny41LTIzMC45LTIxNy4zIDAtOTQuOSA2NS45LTE3OC4zIDE2MC0yMDYuOCAxMC4yLTExNy45IDEwOS41LTIxMC43IDIzMC0yMTAuNyAxMDcuMSAwIDIwMS44IDc1LjggMjI1LjMgMTgwLjEgMy43IDE2LjYtNi44IDMzLjEtMjMuNCAzNi45LTE2LjcgMy45LTMzLjItNi43LTM2LjktMjMuMy0xNy4xLTc2LjQtODYuNS0xMzEuOS0xNjUtMTMxLjktOTMuMyAwLTE2OS4yIDc1LjktMTY5LjIgMTY5LjEgMS43IDguMS4zIDE1LjQtNC40IDIyLjMtNC42IDYuOS0xMS43IDEwLjQtMTkuOSAxMi03OC4yIDE0LjgtMTM0LjkgNzguOS0xMzQuOSAxNTIuNCAwIDg1LjggNzUuOSAxNTUuNiAxNjkuMiAxNTUuNmgxMTQuOGMxNyAwIDMwLjkgMTMuOCAzMC45IDMwLjlzLTEzLjggMzAuNy0zMC44IDMwLjd6bTExMi43LTMxYy04LjIgMC0xNi4zLTMuMi0yMi40LTkuNi0xMS43LTEyLjQtMTEuMy0zMS45IDEuMS00My42bDEyNi43LTEyMC40YzExLjgtMTEuMyAzMC41LTExLjMgNDIuNSAwTDgzNC44IDY5OWMxMi40IDExLjcgMTIuOSAzMS4zIDEuMSA0My42LTExLjcgMTIuMy0zMS4zIDEyLjktNDMuNiAxLjFMNjg2LjggNjQzLjYgNTgxLjMgNzQzLjhjLTUuOSA1LjctMTMuNiA4LjUtMjEuMiA4LjV6IiBmaWxsPSIjMDlGIi8+PHBhdGggZD0iTTY4Ni44IDg3OWMtMTcgMC0zMC45LTEzLjgtMzAuOS0zMC45VjYwMWMwLTE3IDEzLjktMzAuOSAzMC45LTMwLjlzMzAuOSAxMy44IDMwLjkgMzAuOXYyNDcuMWMwIDE3LjEtMTMuOSAzMC45LTMwLjkgMzAuOXoiIGZpbGw9IiMwOUYiLz48L3N2Zz4=")}.joe_cloud__logo._github{background-image:url("data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik01MTEuOTY2IDBDMjI5LjIzOSAwIDAgMjI5LjIzOSAwIDUxMi4wMzQgMCA3MzguMjM2IDE0Ni43MDUgOTMwLjEzMyAzNTAuMTc0IDk5Ny44MmMyNS42IDQuNzEgMzQuOTE4LTExLjA5NCAzNC45MTgtMjQuNjc5IDAtMTIuMTUxLS40MDktNDQuMzM5LS42ODItODcuMDc0LTE0Mi40MDUgMzAuOTU5LTE3Mi40NzYtNjguNjQyLTE3Mi40NzYtNjguNjQyLTIzLjI3OS01OS4xMTktNTYuODMyLTc0Ljg4OC01Ni44MzItNzQuODg4LTQ2LjQ5LTMxLjc0NCAzLjUxNi0zMS4xMyAzLjUxNi0zMS4xMyA1MS4zNyAzLjYxOCA3OC40MzggNTIuNzcgNzguNDM4IDUyLjc3IDQ1LjY3IDc4LjI2OCAxMTkuODA4IDU1LjY3MiAxNDguOTkyIDQyLjU2NCA0LjY0Mi0zMy4xMDkgMTcuODg2LTU1LjY3MSAzMi40OTUtNjguNDcxLTExMy42OTgtMTIuOTAzLTIzMy4xOTktNTYuODMyLTIzMy4xOTktMjUzLjAzMSAwLTU1LjkxIDE5LjkzNC0xMDEuNjE0IDUyLjcwMi0xMzcuMzg2LTUuMjkxLTEyLjk3MS0yMi44MzUtNjUuMDI0IDUuMDE3LTEzNS41MSAwIDAgNDIuOTc0LTEzLjc1NSAxNDAuOCA1Mi40OThhNDkwLjA3IDQ5MC4wNyAwIDAgMSAxMjguMTcxLTE3LjIzOCA0OTAuODM2IDQ5MC44MzYgMCAwIDEgMTI4LjE3MSAxNy4yMzhjOTcuNzU4LTY2LjI1MyAxNDAuNjYzLTUyLjQ5OCAxNDAuNjYzLTUyLjQ5OCAyNy45MjEgNzAuNDg2IDEwLjM0MyAxMjIuNTM5IDUuMDg2IDEzNS41MSAzMi44MzYgMzUuNzcyIDUyLjYzNCA4MS40NzYgNTIuNjM0IDEzNy4zODYgMCAxOTYuNjc3LTExOS43MDYgMjM5Ljk1OC0yMzMuNzc5IDI1Mi42NTUgMTguMzk3IDE1LjgwNCAzNC43ODEgNDcuMDM2IDM0Ljc4MSA5NC43ODkgMCA2OC40NzEtLjY0OCAxMjMuNjk5LS42NDggMTQwLjQ1OCAwIDEzLjY4OCA5LjI1IDI5LjYyOCAzNS4yMjUgMjQuNjQ1Qzg3Ny40MzEgOTI5LjkyOSAxMDI0IDczOC4xNjcgMTAyNCA1MTIuMDM0IDEwMjQgMjI5LjIzOSA3OTQuNzI2IDAgNTExLjk2NiAwIiBmaWxsPSIjRjY2Ii8+PC9zdmc+")}.joe_cloud__logo._lz{background-image:url("data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik02NzguNjQgNTE0LjAwN2ExNjguNDQ4IDE2OC40NDggMCAxIDAtMTY4LjQ0NyAxNjcuNzA2QTE2OC4wNyAxNjguMDcgMCAwIDAgNjc4LjY0IDUxNC4wMDd6IiBmaWxsPSIjRjRDQTFDIi8+PHBhdGggZD0iTTk4My4wNCA2MDMuNDEyYTI0Mi40ODggMjQyLjQ4OCAwIDAgMC0yODAuMzkyLTIzOC40MDdBMjUzLjMyMiAyNTMuMzIyIDAgMCAwIDI1Ni4yMiAyODcuMThhMjQ5LjEzNCAyNDkuMTM0IDAgMCAwLTQ4Ljk1NyAxNTMuMzg1QTIwMy4zOTcgMjAzLjM5NyAwIDAgMCAyNDAuMTg5IDg0NC44aDUyNy43NzVhMzEuOTkgMzEuOTkgMCAwIDAgMTQuNzUtMy43MTcgMjQyLjAzOCAyNDIuMDM4IDAgMCAwIDIwMC4zMjYtMjM3LjY3ek03NDAuNjA4IDc4MC43MTNIMjQwLjE4OWExMzkuMzg3IDEzOS4zODcgMCAxIDEgMC0yNzguNzY5IDMxLjk3IDMxLjk3IDAgMCAwIDguNzA0LTEuMzQxIDMxLjk2NCAzMS45NjQgMCAwIDAgMjQuODQ4LTM1Ljk5OSAxODcuODEyIDE4Ny44MTIgMCAwIDEgMTU3Ljc0Mi0yMTQuMDE2IDE4OC40NjIgMTg4LjQ2MiAwIDAgMSAyMDkuNTQxIDEzMi44MzkgMjQxLjYyOCAyNDEuNjI4IDAgMCAwLTE0Mi44NDggMjE5Ljk4NSAzMi4xOCAzMi4xOCAwIDAgMCA2NC4zNTggMCAxNzguMDY4IDE3OC4wNjggMCAxIDEgMTc4LjA3NCAxNzcuMzAxeiIgZmlsbD0iIzU5NUJCMyIvPjwvc3ZnPg==")}.joe_cloud__describe{line-height:normal;flex:1;overflow:hidden}.joe_cloud__describe-title{color:#409eff;font-size:14px;margin-bottom:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.joe_cloud__describe-type{font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.joe_cloud__btn{flex-shrink:0;margin-left:auto;background:#409eff;color:#fff;width:30px;height:30px;line-height:30px;border-radius:50%;text-align:center}.joe_cloud__btn:hover{color:#fff}.joe_gird{display:grid;line-height:26px}.joe_gird__item *:last-child{margin-bottom:0 !important}.joe_alert{padding:12px;border-radius:4px;line-height:26px;background:transparent;color:#606266}.joe_alert.info{border:1px solid #abdcff}.joe_alert.success{border:1px solid #8ce6b0}.joe_alert.warning{border:1px solid #ffd77a}.joe_alert.error{border:1px solid #ffb08f}.joe_alert *:last-child{margin-bottom:0 !important}@media (max-width: 768px){.cm-modal__wrapper{width:90%}}@-webkit-keyframes progress-active{0%{opacity:0.3;width:0}to{opacity:0;width:100%}}@keyframes progress-active{0%{opacity:0.3;width:0}to{opacity:0;width:100%}}@-webkit-keyframes lamp-background{0%,24.9%{background-color:#54b5db}25%,49.9%{background-color:#da4733}50%,74.9%{background-color:#3b78e7}75%,to{background-color:#fdba2c}}@keyframes lamp-background{0%,24.9%{background-color:#54b5db}25%,49.9%{background-color:#da4733}50%,74.9%{background-color:#3b78e7}75%,to{background-color:#fdba2c}}@-webkit-keyframes lamp-front{0%{-webkit-transform:scaleX(0);transform:scaleX(0);background-color:#da4733}24.9%{-webkit-transform:scaleX(0.5);transform:scaleX(0.5);background-color:#da4733}25%{-webkit-transform:scaleX(0);transform:scaleX(0);background-color:#3b78e7}49.9%{-webkit-transform:scaleX(0.5);transform:scaleX(0.5);background-color:#3b78e7}50%{-webkit-transform:scaleX(0);transform:scaleX(0);background-color:#fdba2c}74.9%{-webkit-transform:scaleX(0.5);transform:scaleX(0.5);background-color:#fdba2c}75%{-webkit-transform:scaleX(0);transform:scaleX(0);background-color:#409eff}to{-webkit-transform:scaleX(0.5);transform:scaleX(0.5);background-color:#409eff}}@keyframes lamp-front{0%{-webkit-transform:scaleX(0);transform:scaleX(0);background-color:#da4733}24.9%{-webkit-transform:scaleX(0.5);transform:scaleX(0.5);background-color:#da4733}25%{-webkit-transform:scaleX(0);transform:scaleX(0);background-color:#3b78e7}49.9%{-webkit-transform:scaleX(0.5);transform:scaleX(0.5);background-color:#3b78e7}50%{-webkit-transform:scaleX(0);transform:scaleX(0);background-color:#fdba2c}74.9%{-webkit-transform:scaleX(0.5);transform:scaleX(0.5);background-color:#fdba2c}75%{-webkit-transform:scaleX(0);transform:scaleX(0);background-color:#409eff}to{-webkit-transform:scaleX(0.5);transform:scaleX(0.5);background-color:#409eff}}
+input[name='fields[keywords]']{width:100%}textarea[name='fields[description]'],textarea[name='fields[abstract]'],textarea[name='fields[thumb]'],textarea[name='fields[video]']{width:100%;height:80px}#text,#text ~ .resize{display:none}body.fullscreen{overflow:hidden}.cm-container{display:flex;flex-direction:column;position:relative;width:100%;height:650px;box-sizing:border-box;z-index:6666;content-visibility:auto;background:#222}.cm-container.fullscreen{position:fixed;top:0;left:0;width:100%;height:100%}.cm-container *{outline:none !important}.cm-container .cm-tools{display:grid;grid-template-columns:repeat(auto-fill, minmax(30px, 1fr));gap:5px;padding:5px;background-color:#303133}.cm-container .cm-tools .cm-tools-item{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:2px;transition:background 0.25s;padding:5px}.cm-container .cm-tools .cm-tools-item:hover{background:#393939}.cm-container .cm-tools .cm-tools-item:hover svg{fill:#efefef}.cm-container .cm-tools .cm-tools-item.active{background:#393939}.cm-container .cm-tools .cm-tools-item.active svg{fill:#efefef}.cm-container .cm-tools .cm-tools-item.active .cm-tools__dropdown{visibility:visible;opacity:1;-webkit-transform:translateX(-50%) rotateX(0);transform:translateX(-50%) rotateX(0)}.cm-container .cm-tools .cm-tools-item svg{vertical-align:middle;fill:#bfbfbf}.cm-container .cm-tools__dropdown{position:absolute;top:42px;left:50%;z-index:1000;background:#393939;padding:5px 0;border-radius:4px;visibility:hidden;-webkit-transform-origin:top;transform-origin:top;opacity:0;-webkit-transform:translateX(-50%) rotateX(-90deg);transform:translateX(-50%) rotateX(-90deg);transition:visibility 0.25s, opacity 0.25s, -webkit-transform 0.25s;transition:visibility 0.25s, transform 0.25s, opacity 0.25s;transition:visibility 0.25s, transform 0.25s, opacity 0.25s, -webkit-transform 0.25s}.cm-container .cm-tools__dropdown-item{padding:0 20px;line-height:32px;transition:background 0.25s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:15px;color:#bfbfbf;font-weight:600}.cm-container .cm-tools__dropdown-item:hover{background:#444}.cm-container .cm-tools__dropdown::before{content:'';position:absolute;top:-7px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #393939}.cm-container .cm-mainer{position:relative;flex:1;min-height:0;display:flex;width:100%}.cm-container .cm-mainer .cm-wrap{flex-shrink:0;flex:1;min-width:0;font-size:14px}.cm-container .cm-mainer .cm-wrap .cm-scroller{line-height:1.8;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;-ms-scroll-chaining:none;overscroll-behavior:none;height:100%;padding:10px}.cm-container .cm-mainer .cm-wrap .cm-scroller::-webkit-scrollbar-track{background:#222}.cm-container .cm-mainer .cm-wrap .cm-scroller::-webkit-scrollbar{width:6px;height:6px}.cm-container .cm-mainer .cm-wrap .cm-scroller::-webkit-scrollbar-thumb{border-radius:3px;background:rgba(255,255,255,0.25)}.cm-container .cm-mainer .cm-wrap .cm-scroller ::-moz-selection{background-color:rgba(221,240,255,0.2)}.cm-container .cm-mainer .cm-wrap .cm-scroller ::selection{background-color:rgba(221,240,255,0.2)}.cm-container .cm-mainer .cm-wrap .cm-scroller .cm-content{width:100%;color:#ccc;caret-color:#ccc;padding:0;-webkit-user-modify:read-write-plaintext-only;word-wrap:break-word;white-space:normal;word-break:break-all}.cm-container .cm-mainer .cm-wrap .cm-scroller .cm-matchingBracket{color:#8f938f;border:1px solid rgba(255,255,255,0.25);margin:-1px}.cm-container .cm-mainer .cm-wrap .cm-scroller .cmt-strong{color:#61afef;font-weight:500}.cm-container .cm-mainer .cm-wrap .cm-scroller .cm-nonmatchingBracket{color:#ff5627}.cm-container .cm-mainer .cm-wrap .cm-scroller .cmt-emphasis{color:#b294bb;font-style:italic;font-family:'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', Arial, sans-serif}.cm-container .cm-mainer .cm-wrap .cm-scroller .cmt-deleted{color:#ed6a43;text-decoration:line-through}.cm-container .cm-mainer .cm-wrap .cm-scroller .cmt-heading{font-size:18px;color:#61afef;font-weight:700}.cm-container .cm-mainer .cm-wrap .cm-scroller .cmt-link{color:#e26666}.cm-container .cm-mainer .cm-wrap .cm-scroller .cmt-url{color:#5fa76f}.cm-container .cm-mainer .cm-resize{flex-shrink:0;position:relative;width:16px;background:#303133;cursor:col-resize}.cm-container .cm-mainer .cm-resize::before{content:'';position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:4px;height:40px;border-radius:2px;background:#fff}.cm-container .cm-mainer .cm-preview{position:relative;flex-shrink:0;width:0;background:#fff;overflow:auto;box-sizing:border-box;-ms-scroll-chaining:none;overscroll-behavior:none}.cm-container .cm-mainer .cm-preview.move{pointer-events:none}.cm-container .cm-mainer .cm-preview::-webkit-scrollbar-track{background:#fff}.cm-container .cm-mainer .cm-preview::-webkit-scrollbar{width:6px;height:6px}.cm-container .cm-mainer .cm-preview::-webkit-scrollbar-thumb{border-radius:3px;background:#c0c4cc}.cm-container .cm-mainer .cm-autosave{position:absolute;top:0;left:0;width:100%;z-index:999}.cm-container .cm-mainer .cm-autosave::before,.cm-container .cm-mainer .cm-autosave::after{content:'';position:absolute;top:0;width:0;height:3px;transition:width 0.5s}.cm-container .cm-mainer .cm-autosave::before{border-radius:0 1.5px 1.5px 0;left:50%;background:linear-gradient(to right, #4cd964, #5ac8fa, #007aff)}.cm-container .cm-mainer .cm-autosave::after{border-radius:1.5px 0 0 1.5px;right:50%;background:linear-gradient(to left, #4cd964, #5ac8fa, #007aff)}.cm-container .cm-mainer .cm-autosave.active::before,.cm-container .cm-mainer .cm-autosave.active::after{width:50%}.cm-container .cm-progress-left,.cm-container .cm-progress-right{position:absolute;top:0;width:0;height:3px;background-color:#ff5627;transition:width 0.5s;z-index:1}.cm-container .cm-progress-left{right:50%;border-radius:1.5px 0 0 1.5px}.cm-container .cm-progress-right{left:50%;border-radius:0 1.5px 1.5px 0}.cm-preview-content{padding:20px;font-size:14px;font-family:'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', Arial, sans-serif;white-space:normal;overflow-wrap:break-word;color:#606266;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.cm-preview-content h1,.cm-preview-content h2,.cm-preview-content h3,.cm-preview-content h4,.cm-preview-content h5,.cm-preview-content h6{color:#303133;font-size:18px;line-height:24px;margin:0;margin-bottom:15px;position:relative}.cm-preview-content h1{padding:0 15px 0 20px}.cm-preview-content h1::before{content:'¶';color:#409eff;position:absolute;top:0;left:0;font-size:22px}.cm-preview-content h2{padding:0 15px}.cm-preview-content h2::before{content:'';position:absolute;top:10%;bottom:10%;left:0;width:4px;border-radius:2px;background:#409eff}.cm-preview-content h3{padding:0 15px}.cm-preview-content h3::before{content:'';position:absolute;top:0;bottom:0;left:0;width:4px;background:#409eff;border-radius:0 4px 4px 0}.cm-preview-content h4::before{content:'「';color:#409eff;font-weight:600;margin-right:5px}.cm-preview-content h4::after{content:'」';color:#409eff;font-weight:600;margin-left:5px}.cm-preview-content h5{padding:0 15px 0 28px}.cm-preview-content h5::before{content:'';position:absolute;top:2px;left:0;width:20px;height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAC8klEQVRYR+3WP2gTURwH8O/vKnVRRHKXP52cBO3g4p/BqYNIhy4muajUQRBFKjQV1En6ZxJBcmlRCoJDRe3FDiJVwamLS3FwqbgIgss1l2ZQF5XeT3I1Z3NJ7u5dLlAwN9699/t97vfe7/EIO/yhHe5DD9jpCv3fFVTu856+Xzi62Y/35hj9CFPNrlUwWeRJAJfBGADwBcBNI0/PRZFdAdo4xlQLjCqKjBzogat7hZCRAgPghJGBgbFnxglAOvS7b/fLb+q+qnv5BHBCyEBAWTdnANy2IxOtWSC1qsY+1jOFwAVG+gIVvXyHQbcaKuZCxmf5iMQogXFQtEsBeO5JT6BcMu+Bcb1lUhcyqfExACUAB6JEtgUqi+U5JrrmmcyFHCjwSYtQO+tSUSFbAmXdnAdwJVASdyWLPAS2kbFA8xsHNS13EzCmlx8R6KJQcBcypfFpho3cKxRna3ADsgEo6+ZjAKMhgjZ1d2KWR2gTSyD0h4jnIB2gXDIXwciFCPZvSnMl0wwshYrJGDImaMUGKovlLBPVOrDjh8APzFx8zDkjNa7FzYoGZsKT9XEarQOHmei1aJA246cqOWW6/i2l8VMGzoWIPW/k6eq2Ja6UwCz8pw2JGZ8sS8pUz8fWau/jGp+SgLchcGBgZD1Py41NUuoI+ZloV8ZU93+ogZKzfBiWfXAPCgMJU8Y42avQdMzI4ZBfmSizocqrUeJaAmsvBZGGBCtTziXeRY1rCxRAViEhXckqK93AeQJ9kYTvlmVlqmcTdhNEtefc+9X3utVmuX+CkK6oyqtu4nwrWP8bF5IZdGYjJ79wDuMCz4D+XmhFWnZbt7ab5ltBB6mbkyAaBPFCJassuwMmNb4L4EZgXwBc4AoGTZrUeA6A9x1yK6tzzvnFDlxBv0D176kCP2TCpbbjBXCRV9DZk0VeAONCE1IQ1zWg3dlF1sFQHWQIXFeBNrLAw5BwHBZWjQl6E3SbbB8X+R4Mg/Ca0wN2WtFeBTut4B84mFI4VpekyAAAAABJRU5ErkJggg==");background-size:100% 100%}.cm-preview-content h6{padding:0 15px 0 28px}.cm-preview-content h6::before{content:'';position:absolute;top:2px;left:0;width:20px;height:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAEI0lEQVRYR+3Xb2wTZRwH8G/vL22RPy5GW8fK6rJpGeFFY9RO3TRRE1HfmEAammEyjZmOSEg1RrPZaTD6xjhU/Ndlf0CZgwmD+qcgZBRIETeqY0Vcnc7pGonhRY2l3m2t5upqjq693l2vcy+8N81zz/NcPvf75fd7rjos8ku3yH34HyjK0PqlDLPzD56vMNL0VHxmpgXAoUIZXKgI3sMSpK+cNTAbylaj/9IkprnLM3+mkg8XQi4EsJ4lSL+ZNbAfVd+JG/XLcSERg3M8IAtZauBtDEkeNdN6fX9NfRqXueQiSwm00wQRMDMGw94snBJkqYBrSYIIXs/ojftqGq6IXHZRFIpkKYC2JSw9SJE663W0nthlqcMawwrJYpVCag1M48pNy1YNvLWRffGNIYSCv6Cnog7rjCtVIbUEXoG7qeqaNMj51F58dWoKPZY62JeWyUJG+ctcIplcIizWCpgTl9EIyODJn9BtceDWq/6B57tO/H4R688fFaZ7AWzWAiiJEyMDx39Ed6UDdyy7Ni/w1ekxbP95VJi/F8CRYoGycGLksaEJdFU6cPdy0zxkR/RbtE6FhPvHATQUm2JFODHSfyyCLmsd7lth/hf53q/jcE8OC+NTAG7PTKiNoCqcGPnpF+PotDrwwNXl+OC3H9A8cVqYPgPgFnFo1QCLwomRg4cvoPMGBzZHTgq3zwKwZ+ddKVATXAZhf+gdnPvuojAUqmJdrspRAtQU93pXEM+8clgwhQHU5itruUBNcTt6TsP9sl8weQC0S/VFOUBNcW/2folt2z+XhZPTZh6kSKJ79aqVRuFszRxfUm8sNbdz9xlsfekz2bhCQBvDMMM8z+ubN92Mjrb71brS+97dM4wtnk8U4SSBBEGErVarzeVywePxoHVLA1pb6lUh3+8bwZMv+BTjpIAVACa9Xq+uqakJ7e3tqpGd/WfR3Jr+81awIJS0mY0A+sLhMGw2W3qfGmTXvhAef/6gapxUBDuqqqoejUQiBvFbKUH2DHyNx54bLAqXF0jT9HBjY6Pd6/XOi7oc5K7936Dp2QNF4/IBrTqdLuLxeIi2tracRSGF/PDgKB55er8muHzATQB2m81m+P1+1NbmPoVyIfsOnUOj+2PNcPmAO1iWbeE4TmexWODz+WQhayrL4No2oCkuJ5Bl2VGO49ZmcisXObdeVSuRaq7ZZ3G10KBTqRQl3pQPGY1GEQgE4HQ6heVDAO5S1cklNmUDXQRB9KZSqXkfESaTCW63G7FYDKFQKDEyMoJoNKqfe/bbAJ7QGpcrxa8xDLOV5/k0kGXZv2ZnZ5FMJtNjmqYvURR1IpFInAcwAeD7ud/pUuDmAY1G41g8Hl9DkmScoqggx3FHAIyJMMlSQfI9V5zKagDC93dsoRFKimQx2dIWOV/U/yn6bx0WyDj8vgLOAAAAAElFTkSuQmCC");background-size:100% 100%}.cm-preview-content hr{margin:0;border:none;height:1px;background-color:#e4e7ed;margin-bottom:15px}.cm-preview-content p{line-height:26px;margin:0;margin-bottom:15px}.cm-preview-content blockquote{margin:0;line-height:26px;margin-bottom:15px;background:#ecf8ff;border-left:5px solid #50bfff;color:#50bfff;padding:8px 15px;border-radius:0 4px 4px 0}.cm-preview-content blockquote p{margin:0}.cm-preview-content pre[class*='language-']{margin:0;margin-bottom:15px}.cm-preview-content pre[class*='language-']::-webkit-scrollbar-track{background:#fff}.cm-preview-content pre[class*='language-']::-webkit-scrollbar{width:6px;height:6px}.cm-preview-content pre[class*='language-']::-webkit-scrollbar-thumb{border-radius:3px;background:#c0c4cc}.cm-preview-content code:not([class]){display:inline-block;border-radius:4px;font-size:12px;background:#ecf5ff;color:#409eff;padding:0 8px;vertical-align:top;word-break:break-all}.cm-preview-content ol,.cm-preview-content ul{margin:0;margin-bottom:15px;padding-left:36px}.cm-preview-content ol li,.cm-preview-content ul li{line-height:26px}.cm-preview-content ol li{list-style:decimal}.cm-preview-content ul li{list-style:disc}.cm-preview-content table{width:100%;max-width:100%;table-layout:fixed;color:#909399;margin-bottom:15px;font-size:13px;border-top:1px solid #ebeef5;border-left:1px solid #ebeef5;border-collapse:collapse}.cm-preview-content table td,.cm-preview-content table th{padding:8px;border-bottom:1px solid #ebeef5;border-right:1px solid #ebeef5}.cm-preview-content table thead th{font-weight:500;background:#ebeef5}.cm-preview-content img:not([class]){display:block;max-width:100%;border-radius:4px;transition:box-shadow 0.35s, -webkit-transform 0.35s;transition:transform 0.35s, box-shadow 0.35s;transition:transform 0.35s, box-shadow 0.35s, -webkit-transform 0.35s;margin:0 auto}.cm-preview-content .owo{max-height:26px;vertical-align:top}.cm-preview-content a:not([class]){display:inline-block;line-height:26px;color:#409eff;position:relative;text-decoration:none}.cm-preview-content a:not([class]) :hover{text-decoration:none !important}.cm-preview-content a:hover{text-decoration:none}.cm-modal{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;background:rgba(0,0,0,0);visibility:hidden;transition:background 0.25s, visibility 0.25s;will-change:background, visibility}.cm-modal__wrapper{width:380px;background:#fff;color:#606266;border-radius:4px;opacity:0;-webkit-transform:translateY(-30%);transform:translateY(-30%);transition:opacity 0.25s, -webkit-transform 0.25s;transition:opacity 0.25s, transform 0.25s;transition:opacity 0.25s, transform 0.25s, -webkit-transform 0.25s}.cm-modal__wrapper-header{padding:10px 20px;border-bottom:1px solid #e4e7ed;display:flex;align-items:center;justify-content:space-between}.cm-modal__wrapper-header--close{font-size:20px;cursor:pointer}.cm-modal__wrapper-bodyer{padding:20px}.cm-modal__wrapper-bodyer .fitem{display:flex;align-items:center;margin-bottom:15px}.cm-modal__wrapper-bodyer .fitem:last-child{margin-bottom:0}.cm-modal__wrapper-bodyer .fitem label{margin-right:10px}.cm-modal__wrapper-bodyer .fitem input,.cm-modal__wrapper-bodyer .fitem select,.cm-modal__wrapper-bodyer .fitem textarea{width:auto;flex:1;-webkit-appearance:none;outline:none;border:1px solid #dcdfe6;height:34px;box-sizing:border-box;padding:0 10px;border-radius:3px;color:#606266}.cm-modal__wrapper-bodyer .fitem textarea{height:80px;padding:5px}.cm-modal__wrapper-bodyer .tabbar{position:relative;width:100%;overflow-x:auto;display:flex;margin-bottom:20px}.cm-modal__wrapper-bodyer .tabbar::-webkit-scrollbar{display:none}.cm-modal__wrapper-bodyer .tabbar-item{white-space:nowrap;margin-right:15px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cm-modal__wrapper-bodyer .tabbar-item:last-child{margin-right:0}.cm-modal__wrapper-bodyer .tabbar-item.active{color:#409eff}.cm-modal__wrapper-bodyer .lists{display:none;grid-template-columns:repeat(6, 1fr);font-size:18px;border-left:1px solid #e4e7ed;border-top:1px solid #e4e7ed;font-family:'Meiryo UI', 'Microsoft YaHei', 'Malgun Gothic', 'Segoe UI', 'Trebuchet MS', Helvetica, 'Monaco', monospace, Tahoma, STXihei, '华文细黑', STHeiti, 'Helvetica Neue', 'Droid Sans', 'wenquanyi micro hei', FreeSans, Arimo, Arial, SimSun, '宋体', Heiti, '黑体', sans-serif;max-height:350px;overflow-y:auto;-ms-scroll-chaining:none;overscroll-behavior:none}.cm-modal__wrapper-bodyer .lists[data-show='颜文字']{grid-template-columns:repeat(2, 1fr);font-size:12px}.cm-modal__wrapper-bodyer .lists::-webkit-scrollbar-track{background:#fff}.cm-modal__wrapper-bodyer .lists::-webkit-scrollbar{width:6px;height:6px}.cm-modal__wrapper-bodyer .lists::-webkit-scrollbar-thumb{border-radius:3px;background:#c0c4cc}.cm-modal__wrapper-bodyer .lists.active{display:grid}.cm-modal__wrapper-bodyer .lists-item{display:flex;align-items:center;justify-content:center;border-right:1px solid #e4e7ed;border-bottom:1px solid #e4e7ed;cursor:pointer;transition:background 0.25s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#888;padding:5px 0}.cm-modal__wrapper-bodyer .lists-item img{max-width:70%}.cm-modal__wrapper-bodyer .lists-item:hover,.cm-modal__wrapper-bodyer .lists-item .active{background:#e4e7ed}.cm-modal__wrapper-footer{display:flex;align-items:center;justify-content:flex-end;padding:0 20px 10px}.cm-modal__wrapper-footer--cancle,.cm-modal__wrapper-footer--confirm{cursor:pointer;border:none;outline:none;margin-left:5px;background:#fff;color:#606266;-webkit-appearance:none;padding:7px 15px;border-radius:3px}.cm-modal__wrapper-footer--confirm{color:#fff;background:#409eff}.cm-modal.active{visibility:visible;background:rgba(0,0,0,0.75)}.cm-modal.active .cm-modal__wrapper{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}.joe_checkbox{-webkit-appearance:none;position:relative;border-radius:2px;width:15px;height:15px;border:2px solid #409eff;vertical-align:-3px;box-sizing:border-box;margin:0}.joe_checkbox:disabled{cursor:not-allowed}.joe_checkbox:checked{border:none;background:#409eff}.joe_checkbox:checked::after{content:'';width:3px;height:7px;position:absolute;top:2px;left:5px;border:2px solid #fff;border-top:0;border-left:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.joe_mtitle{display:flex;justify-content:center}.joe_mtitle__text{position:relative;color:#909399;padding:0 12px;transition:padding 0.35s}.joe_mtitle__text::before,.joe_mtitle__text::after{content:'';position:absolute;top:50%;width:20px;height:1px;background:#409eff}.joe_mtitle__text::before{left:-35px}.joe_mtitle__text::after{right:-35px}.joe_abtn{display:inline-block;color:#fff;height:35px;line-height:35px;padding:0 15px}.joe_abtn__icon{display:inline-block;vertical-align:top;text-align:center}.joe_abtn__icon .fa{color:#fff}.joe_abtn__icon [class^='fa-']{margin-right:8px}.joe_abtn__content{color:#fff;display:inline-block;vertical-align:top;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.joe_anote{position:relative;display:inline-block;color:#fff;height:35px;line-height:35px}.joe_anote__icon{display:inline-block;vertical-align:top;width:35px;height:35px;text-align:center;background:rgba(0,0,0,0.2)}.joe_anote__icon .fa{color:#fff}.joe_anote__content{display:inline-block;vertical-align:top;padding:0 12px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.joe_anote.secondary{background:#34495e}.joe_anote.success{background:#27ae60}.joe_anote.warning{background:#f39c12}.joe_anote.error{background:#e74c3c}.joe_anote.info{background:#3498db}.joe_dotted{display:block;width:100%;height:2px;background-size:80px}.joe_hide{display:block;background:repeating-linear-gradient(145deg, #f2f6fc, #f2f6fc 15px, #fff 0, #fff 25px);padding:15px 0;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal}.joe_hide__button{position:relative;font-style:normal;cursor:pointer;color:#409eff}.joe_card__default{margin:0 auto;box-shadow:0 2px 12px 0 rgba(0,0,0,0.1);border-radius:4px;border:1px solid #ebeef5;background:#fff;line-height:26px}.joe_card__default-title{padding:8px 10px;border-bottom:1px solid #ebeef5;color:#303133;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.joe_card__default-content{padding:10px;color:#606266}.joe_card__default-content *:last-child{margin-bottom:0 !important}.joe_message{display:block;position:relative;border-left-width:4px;border-left-style:solid;padding:8px 15px;border-radius:0 4px 4px 0;line-height:26px}.joe_message__icon{position:absolute;top:-9px;left:-11px;width:18px;height:18px;border-radius:50%;transition:-webkit-transform 0.85s;transition:transform 0.85s;transition:transform 0.85s, -webkit-transform 0.85s}.joe_message__icon::before{content:'';position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:10px;height:10px;fill:#fff;background-repeat:no-repeat;background-size:100% 100%}.joe_message.success{border-left-color:#2bde3f;background:#2bde3f20;color:#2bde3f}.joe_message.success .joe_message__icon{background:#2bde3f}.joe_message.success .joe_message__icon::before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjEyNTE4MDE1ODgxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQxMTU3IiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+PC9kZWZzPjxwYXRoIGQ9Ik00MTMuMjU1IDY5MS40MzZjMTguNTQ2LTE3LjQ1IDMzLjE4Ni0zMC41NTIgNDcuMDc2LTQ0LjQyNyAxMzMuMDQtMTMyLjgxIDI2Ni4xODItMjY1LjUxMyAzOTguNzI0LTM5OC44MzcgMzIuMDc0LTMyLjI0NCA2NS42NjYtNDguNDUyIDEwNC45OTctMTQuNzUyIDMyLjk4MyAyOC4yNDEgMjguMDQ5IDY3LjQ2NS0xMi45MiAxMDguNTc0LTE1Ny4xNzUgMTU3LjcxLTMxNC41ODcgMzE1LjE4NC00NzIuMjkyIDQ3Mi4zOC00OS4zODkgNDkuMjI1LTc2LjMwOCA0OS41NDYtMTI0LjcxNiAxLjYwNy04NS41OS04NC43NjUtMTcwLjEzNS0xNzAuNTc5LTI1NS44LTI1NS4yNTctMzIuMjkyLTMxLjkyMy00OC42OC02NS41MTYtMTQuOTk3LTEwNC45NzYgMjguMTctMzIuOTk1IDY3LjU1Ny0yOC4xNTUgMTA4LjU1OCAxMi42NzUgNzMuNDI3IDczLjE2IDE0Ni4wNzkgMTQ3LjA5IDIyMS4zNyAyMjMuMDEzeiIgcC1pZD0iNDExNTgiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48L3N2Zz4=)}.joe_message.info{border-left-color:#1d72f3;background:#1d72f320;color:#1d72f3}.joe_message.info .joe_message__icon{background:#1d72f3}.joe_message.info .joe_message__icon::before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjEyNTE4MzM4MjIxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYxNjg0IiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+PC9kZWZzPjxwYXRoIGQ9Ik03NjcuOTczOTc1IDExNi4zNDYwODZjMCA2NC4yNTI3MzQtNDEuNjgzMjE0IDExNi4zODg3NS05My4wOTM5MzUgMTE2LjM4ODc1UzU4MS43ODYxMDYgMTgwLjU5ODgyIDU4MS43ODYxMDYgMTE2LjM0NjA4NkM1ODEuNzg2MTA2IDUyLjA5MzM1MiA2MjMuNDY5MzIgMCA2NzQuODgwMDQgMFM3NjcuOTczOTc1IDUyLjA5MzM1MiA3NjcuOTczOTc1IDExNi4zNDYwODZ6TTI1NiA1MDQuMjk0MzY1czcwLjgyMzA2Ni0yODQuNzg1NTIzIDI4Ni43NDgwOS0yNzEuMDQ3NTU1YzIxNS45MjUwMjQgMTMuNjk1MzA0IDY3LjIzOTI0OSAyNjEuNDQ4MDQzLTEzLjI2ODY1OSA1MDEuNjQ5MTY2LTgwLjUwNzkwOCAyNDAuMjAxMTIzIDEwMC4yNjE1NyA3MS40MjAzNjkgMTQ1LjQwMDYwOS03LjU1MTYxNiAwIDAtOTMuMTM2NTk5IDQwNi43NjMzMjMtMzY3LjM0MTMyNyAyNjcuNjc3MDYtMTI4LjU0ODEzMi02NS4yMzQwMTcgMzIuMjU0MzYtMzk4LjA1OTc2NSAxMDMuMTIwMDkyLTU0NS41OTM1OTlDNDgxLjU2NzIgMzAxLjgwODY1OCAzMzYuNjM1OTAxIDM4Ny42MDY5NjMgMjU2IDUwNC4yNTE3MDF6IiBmaWxsPSIjZmZmZmZmIiBwLWlkPSI2MTY4NSI+PC9wYXRoPjwvc3ZnPg==)}.joe_message.warning{border-left-color:#ffc007;background:#ffc00720;color:#ffc007}.joe_message.warning .joe_message__icon{background:#ffc007}.joe_message.warning .joe_message__icon::before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjEyNTE4MTI5NTE1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ3NDkyIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+PC9kZWZzPjxwYXRoIGQ9Ik00NzkuODE3MTQzIDY2NS42YzEwLjI0IDMwLjcyIDMwLjcyIDUxLjIgNjEuNDQgNTEuMnM1MS4yLTIwLjQ4IDYxLjQ0LTUxLjJsNDAuOTYtNTYzLjJDNjQzLjY1NzE0MyA0MC45NiA1OTIuNDU3MTQzIDAgNTQxLjI1NzE0MyAwIDQ3OS44MTcxNDMgMCA0MzguODU3MTQzIDUxLjIgNDM4Ljg1NzE0MyAxMTIuNjRsNDAuOTYgNTUyLjk2eiBtNjEuNDQgMTUzLjZjLTYxLjQ0IDAtMTAyLjQgNDAuOTYtMTAyLjQgMTAyLjQgMCA2MS40NCA0MC45NiAxMDIuNCAxMDIuNCAxMDIuNCA2MS40NCAwIDEwMi40LTQwLjk2IDEwMi40LTEwMi40IDAtNjEuNDQtNDAuOTYtMTAyLjQtMTAyLjQtMTAyLjR6IiBwLWlkPSI0NzQ5MyIgZmlsbD0iI2ZmZmZmZiI+PC9wYXRoPjwvc3ZnPg==)}.joe_message.error{border-left-color:#f56c6c;background:#f56c6c20;color:#f56c6c}.joe_message.error .joe_message__icon{background:#f56c6c}.joe_message.error .joe_message__icon::before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjEyNTE4MjAyNDk4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ4OTE1IiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZGVmcz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+PC9kZWZzPjxwYXRoIGQ9Ik0xOTMuOCA4MzAuMmMtMTkuNC0xOS40LTE5LjQtNTEuMyAwLTcwLjdsNTY1LjctNTY1LjdjMTkuNC0xOS40IDUxLjMtMTkuNCA3MC43IDAgMTkuNCAxOS40IDE5LjQgNTEuMyAwIDcwLjdMMjY0LjUgODMwLjJjLTE5LjQgMTkuNC01MS4zIDE5LjQtNzAuNyAweiIgZmlsbD0iI2ZmZmZmZiIgcC1pZD0iNDg5MTYiPjwvcGF0aD48cGF0aCBkPSJNODMwLjIgODMwLjJjLTE5LjQgMTkuNC01MS4zIDE5LjQtNzAuNyAwTDE5My44IDI2NC41Yy0xOS40LTE5LjQtMTkuNC01MS4zIDAtNzAuNyAxOS40LTE5LjQgNTEuMy0xOS40IDcwLjcgMGw1NjUuNyA1NjUuN2MxOS40IDE5LjQgMTkuNCA1MS4zIDAgNzAuN3oiIGZpbGw9IiNmZmZmZmYiIHAtaWQ9IjQ4OTE3Ij48L3BhdGg+PC9zdmc+)}.joe_message__content{display:block}.joe_progress{width:100%;display:flex;align-items:center}.joe_progress__strip{height:12px;border-radius:6px;overflow:hidden;background:#ebeef5;min-width:0;flex:1;margin-right:10px}.joe_progress__strip-percent{position:relative;height:100%;border-radius:6px;transition:width 0.35s}.joe_progress__strip-percent::before{content:'';opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;border-radius:6px;-webkit-animation:progress-active 3s ease-in-out infinite;animation:progress-active 3s ease-in-out infinite}.joe_progress__percentage{color:#909399}.joe_callout{padding:12px;border:1px solid #ebeef5;border-left-width:4px;border-radius:4px;color:#606266;line-height:26px}.joe_callout *:last-child{margin-bottom:0 !important}.joe_card__list{border:1px solid #ebeef5;border-radius:4px;overflow:hidden;line-height:26px}.joe_card__list-item{padding:12px;border-bottom:1px solid #ebeef5}.joe_card__list-item:last-child{border-bottom:none}.joe_card__list-item *:last-child{margin-bottom:0 !important}.joe_timeline{line-height:26px}.joe_timeline__item{position:relative;padding-bottom:15px}.joe_timeline__item-tail{position:absolute;top:0;left:7px;height:100%;border-left:1px solid #e4e7ed}.joe_timeline__item-circle{position:absolute;width:13px;height:13px;background-color:#fff;border-radius:50%;border:1px solid #19be6b}.joe_timeline__item-content{padding-left:24px;position:relative;top:-5px}.joe_timeline__item-content *:last-child{margin-bottom:0 !important}.joe_timeline__item:last-child .joe_timeline__item-tail{display:none}.joe_vplayer{width:100%;height:180px;border:none}.joe_tabs{width:100%;overflow:hidden;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,0.1);border:1px solid #ebeef5;border-radius:4px;line-height:26px}.joe_tabs__head{width:100%;overflow-x:auto;overflow-y:hidden;display:flex;background:#f2f6fc}.joe_tabs__head-item{position:relative;padding:0 15px;line-height:40px;height:40px;color:#909399;cursor:pointer;transition:color 0.5s;white-space:nowrap}.joe_tabs__head-item::after{content:'';position:absolute;background:#409eff;bottom:0;left:15px;right:15px;height:2px;opacity:0;border-radius:2px;-webkit-transform:scaleX(0.5);transform:scaleX(0.5);transition:opacity 0.25s, -webkit-transform 0.25s;transition:opacity 0.25s, transform 0.25s;transition:opacity 0.25s, transform 0.25s, -webkit-transform 0.25s}.joe_tabs__head-item.active{color:#409eff}.joe_tabs__head-item.active::after{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}.joe_tabs__body-item{padding:15px}.joe_tabs__body-item *:last-child{margin-bottom:0 !important}.joe_card__describe{position:relative;border:1px dashed #dcdfe6;line-height:26px}.joe_card__describe-title{position:absolute;top:0;left:8px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:#fff;padding:0 5px;color:#303133;font-weight:500;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.joe_card__describe-content{color:#606266;padding:18px 15px 15px}.joe_card__describe-content *:last-child{margin-bottom:0 !important}.joe_lamp{display:block;position:relative;width:100%;height:3px;border-radius:1.5px;overflow:hidden;-webkit-animation:lamp-background linear 4s infinite;animation:lamp-background linear 4s infinite}.joe_lamp::before,.joe_lamp::after{content:'';position:absolute;width:100%;height:100%;top:0;z-index:1;-webkit-animation:lamp-front linear 4s infinite;animation:lamp-front linear 4s infinite}.joe_lamp::before{right:50%;-webkit-transform-origin:right;transform-origin:right}.joe_lamp::after{left:50%;-webkit-transform-origin:left;transform-origin:left}.joe_collapse{line-height:26px}.joe_collapse__item{margin-bottom:10px;color:#606266}.joe_collapse__item-head{display:flex;align-items:center;background:#f2f6fc;padding:10px 12px;padding-right:8px;cursor:pointer;overflow:hidden;border:1px solid #ebeef5;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.joe_collapse__item-head--label{padding-right:8px}.joe_collapse__item-head--icon{flex-shrink:0;margin-left:auto;fill:#909399;transition:-webkit-transform 0.3s ease;transition:transform 0.3s ease;transition:transform 0.3s ease, -webkit-transform 0.3s ease}.joe_collapse__item-wrapper{max-height:0;overflow:hidden;transition:max-height 0.3s ease}.joe_collapse__item-wrapper--content{border:1px solid #ebeef5;border-top:0;padding:12px}.joe_collapse__item-wrapper--content *:last-child{margin-bottom:0 !important}.joe_collapse__item:last-child{margin-bottom:0}.joe_collapse__item.active .joe_collapse__item-head--icon{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.joe_cloud{display:flex;align-items:center;padding:10px;border:1px solid #ebeef5;border-radius:4px;overflow:hidden}.joe_cloud__logo{flex-shrink:0;width:32px;height:32px;margin-right:10px;background-size:100% 100%}.joe_cloud__logo._default{background-image:url("data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTEzNS40NjcgODIzLjY4YTM3MC41NiA5My42NTMgMCAxIDAgNzQxLjEyIDAgMzcwLjU2IDkzLjY1MyAwIDEgMC03NDEuMTIgMHoiIGZpbGw9IiNCNkM5Q0IiLz48cGF0aCBkPSJNODUuMzMzIDgxMi4zNzNWMTUxLjA0YzguNzQ3LTIzLjA0IDIzLjQ2Ny00Mi42NjcgNDkuMjgtNDIuNjY3IDU1LjI1NCAxLjI4IDExMC45MzQtOS4zODYgMTY1LjU0NyA2LjgyN2ExNC41MDcgMTQuNTA3IDAgMCAwIDEwLjg4LTIuMzQ3IDcxLjY4IDcxLjY4IDAgMCAxIDMyLjIxMy01LjU0NmgxMTQuNTZhNTYuMzIgNTYuMzIgMCAwIDEgNjQgNTIuOTA2IDYxLjQ0IDYxLjQ0IDAgMCAwLTguNzQ2IDY5LjU0NyAyMDYuNTA3IDIwNi41MDcgMCAwIDEgOC41MzMgMjkuMjI3djU0MS40NGE1MS42MjcgNTEuNjI3IDAgMCAxLTQ4Ljg1MyA1Mi45MDZjLTU1LjI1NCAwLTExMS4xNDcgOC45Ni0xNjUuOTc0LTYuMTg2YTEzLjg2NyAxMy44NjcgMCAwIDAtOS4xNzMgMCA5NS41NzMgOTUuNTczIDAgMCAxLTQ1LjY1MyA2LjE4NmwtOTMuMjI3IDEuMjhjLTMzLjcwNyAyLjU2LTYxLjQ0LTYuNjEzLTczLjM4Ny00Mi4yNHptMzg5LjEyLTMzMS43MzNWMTc1LjU3M2MwLTEwLjQ1MyAxLjkyLTIxLjMzMy0xNC43Mi0yMS4zMzNIMzQxLjEyYTE0LjUwNyAxNC41MDcgMCAwIDAtMTUuNTczIDEwLjY2NyA5NS4xNDcgOTUuMTQ3IDAgMCAwLTcuMDQgNDEuMzg2djU2OC4zMmMxLjQ5MyAyNi42NjcgOS42IDM0LjM0NyAzNi4wNTMgMzQuMzQ3aDk5LjJjMTYuNDI3IDAgMjEuMzMzLTUuMzMzIDIxLjMzMy0yMS4zMzMtLjg1My0xMDIuNC0uNjQtMjA0LjgtLjY0LTMwNi45ODd6bS0zNDIuNCAwVjc4Ny4yYzAgOS42LTEuOTIgMjAuMDUzIDEzLjY1NCAxOS44NEgyNjYuMjRjNi4xODcgMCAxMS41MiAwIDEzLjQ0LTcuODkzYTEzOS4wOTMgMTM5LjA5MyAwIDAgMCA4LjMyLTM5LjA0VjIwMC4zMmExNDUuOTIgMTQ1LjkyIDAgMCAwIDAtMTUuNTczYy0yLjc3My0yNS4xNzQtOS44MTMtMzEuMzYtMzQuOTg3LTMxLjM2aC05OS4yYy0xNy40OTMgMC0yMS4zMzMgNS4zMzMtMjEuMzMzIDIxLjMzMyAwIDEwMi42MTMtLjQyNyAyMDUuMjI3LS40MjcgMzA2Ljc3M3oiIGZpbGw9IiMzMTQ1NTMiLz48cGF0aCBkPSJNODY0IDgyOC44bC02Mi4wOCAyMS4zMzNjLTQwLjUzMyAxNC4wOC02Ni45ODcgMS40OTQtODEuOTItMzkuMjUzLTcuODkzLTIxLjMzMy0xNi4yMTMtNDIuNjY3LTI0LjMyLTY0bC0zLjYyNy0zLjg0YTY0IDY0IDAgMCAwLTUuNzYtMjQuMzJjLTM2LjA1My0xMDAuNjkzLTcxLjY4LTIwMS44MTMtMTA4LjM3My0zMDIuMjkzLTE4Ljk4Ny01MS44NC0zNC45ODctMTA0Ljk2LTU3LjM4Ny0xNTUuNTJBMjA2LjUwNyAyMDYuNTA3IDAgMCAwIDUxMiAyMzEuNjhhNjEuNDQgNjEuNDQgMCAwIDEgOC43NDctNjkuNTQ3IDY3MS4xNDcgNjcxLjE0NyAwIDAgMSAxNDAuNTg2LTUzLjU0NmMyNy45NDctOC4xMDcgNTEuMiA5LjE3MyA2Mi4wOCAzOS42OHE1Mi40OCAxNDUuOTIgMTA0LjUzNCAyOTIuMDUzbDEwMy42OCAyOTAuMzQ3YzE2LjY0IDQ2LjI5MyA1LjMzMyA3MC42MTMtNDAuMzIgODcuNDY2LTkuMzg3IDMuMi0xOC4zNDcgNy4wNC0yNy4zMDcgMTAuNjY3em0yNi44OC03MS44OTNzLTEuMjgtNC4wNTQtMi4zNDctNy4wNFE3ODQuNjQgNDU4Ljg4IDY4MC45NiAxNjguMTA3Yy00LjQ4LTEyLjgtMTAuNDUzLTE1LjM2LTIzLjA0LTEwLjY2Ny0yOS4wMTMgMTEuMzA3LTU4LjAyNyAyMS4zMzMtODcuODkzIDMxLjE0Ny0xNy4yOCA1LjMzMy0xOC4xMzQgMTMuMDEzLTEyLjU4NyAyOC4zNzMgMzkuODkzIDEwOS40NCA3OC43MiAyMTkuMzA3IDExNy45NzMgMzI5LjE3M2w4OC4zMiAyNDYuODI3YzMuMiA5LjE3MyA1LjU0NyAxOS40MTMgMTkuODQgMTQuMDggMzIuODU0LTEyLjE2IDY1LjcwNy0yMy42OCA5OC43NzQtMzUuNDEzYTExLjMwNyAxMS4zMDcgMCAwIDAgOC43NDYtMTQuNzJ6IiBmaWxsPSIjNzkzOTQzIi8+PHBhdGggZD0iTTQ3NC40NTMgNDgwLjY0djMwNi45ODdjMCAxNS43ODYtNC4yNjYgMjEuMzMzLTIxLjMzMyAyMS4zMzMtMzMuMDY3LTEuMDY3LTY2LjEzMyAwLTk5LjIgMC0yNi40NTMgMC0zNC41Ni03LjY4LTM2LjA1My0zNC4zNDd2LTU2OC4zMmE5NS4xNDcgOTUuMTQ3IDAgMCAxIDcuMDQtNDEuMzg2IDE0LjUwNyAxNC41MDcgMCAwIDEgMTUuNTczLTEwLjY2N2gxMTguNjEzYzE2LjY0IDAgMTQuNzIgMTAuNDUzIDE0LjcyIDIxLjMzM3EuNjQgMTUyLjMyLjY0IDMwNS4wNjd6TTQxMi4xNiA1NzZ2MTMyLjA1M2MwIDExLjA5NCAxLjA2NyAyMS4zMzQgMTQuNzIgMjIuODI3czE2LjY0LTExLjA5MyAxNi40MjctMjMuMDRWNDQzLjczM2MwLTExLjA5My0xLjA2Ny0yMS4zMzMtMTQuNzItMjIuODI2cy0xNi42NCAxMS4wOTMtMTYuNjQgMjMuMDRjLjQyNiA0My4wOTMuMjEzIDg3LjA0LjIxMyAxMzIuMDUzem0zOC44MjctMjkwLjk4N2E1MC41NiA1MC41NiAwIDEgMC01MS40MTQgNDkuNzA3IDUwLjk4NyA1MC45ODcgMCAwIDAgNTEuNjI3LTUwLjc3M3pNMzU3Ljc2IDY0MS4wNjd2NjcuODRjMCAxMC44OCAyLjM0NyAyMS4zMzMgMTQuNzIgMjEuMzMzczE2LjY0LTkuMzg3IDE2LjY0LTIxLjMzM3YtMTM1LjY4YzAtMTAuODgtMi41Ni0yMS4zMzQtMTQuNzItMjEuMzM0cy0xNi42NCA5LjM4Ny0xNi42NCAyMS4zMzRjLjIxMyAyMi42MTMgMCA0NS40NCAwIDY3Ljg0ek0xMzIuMDUzIDQ4MS40OTNWMTc2LjQyN2MwLTE2Ljg1NCA0LjI2Ny0yMi44MjcgMjEuMzM0LTIxLjMzNCAzMy4wNjYgMS4yOCA2Ni4xMzMgMCA5OS4yIDAgMjUuMzg2IDAgMzIuMjEzIDYuMTg3IDM0Ljk4NiAzMS4zNmExNDUuOTIgMTQ1LjkyIDAgMCAxIDAgMTUuNTc0djU1OS43ODZhMTM5LjA5MyAxMzkuMDkzIDAgMCAxLTguMzIgMzkuMDRjLTIuMTMzIDcuNDY3LTcuNDY2IDcuODk0LTEzLjQ0IDcuODk0SDE0NS4yOGMtMTUuNTczIDAtMTMuNjUzLTEwLjI0LTEzLjY1My0xOS44NFY1MTEuNTczcS40MjYtMTUuMzYuNDI2LTMwLjA4em02Mi4yOTQgMTA2LjY2N1Y0NjcuODRjMC0xMS43MzMgMC0yMy44OTMtMTUuMzYtMjQuMTA3cy0xNiAxMS43MzQtMTYgMjMuNjh2MjM4LjkzNGMwIDExLjUyIDAgMjMuODkzIDE1LjM2IDI0LjEwNnMxNi0xMS43MzMgMTYtMjMuNjhjLS4yMTQtMzkuODkzIDAtNzkuMzYgMC0xMTguODI2ek0yNTYgMjgzLjczM2E1MC41NiA1MC41NiAwIDEgMC01MS4yIDQ5LjkyIDUwLjc3MyA1MC43NzMgMCAwIDAgNTEuMi00OS45MnptLTcuNjggMzQxLjMzNHYtODEuNDk0YzAtMTEuMzA2LTEuNzA3LTIxLjMzMy0xNS4zNi0yMS4zMzNzLTE2IDEwLjI0LTE2IDIxLjMzM1Y3MDguNDhjMCAxMS4zMDcgMS43MDcgMjEuMzMzIDE1LjM2IDIxLjMzM3MxNi0xMC4yNCAxNi0yMS4zMzNjLjIxMy0yNy45NDcuNDI3LTU1Ljg5My40MjctODMuNjI3eiIgZmlsbD0iI0I3RTFFQiIvPjxwYXRoIGQ9Ik04OTEuMDkzIDc1Ni45MDdhMTEuMzA3IDExLjMwNyAwIDAgMS04Ljc0NiAxNC43MmMtMzIuODU0IDExLjczMy02NS45MiAyMy40NjYtOTguNzc0IDM1LjQxMy0xNC4yOTMgNS4zMzMtMTYuNjQtNC45MDctMTkuODQtMTQuMDhsLTg4LjMyLTI0Ni44MjdDNjM2LjE2IDQzNi4yNjcgNTk3LjMzMyAzMjYuNCA1NTcuMjI3IDIxNi45NmMtNS41NDctMTUuMTQ3LTQuNjk0LTIzLjA0IDEyLjU4Ni0yOC4zNzMgMjkuNjU0LTguOTYgNTguODgtMjAuMDU0IDg3Ljg5NC0zMS4xNDcgMTIuNTg2LTQuOTA3IDE4LjU2LTIuMzQ3IDIzLjA0IDEwLjY2N3ExMDMuNjggMjkwLjk4NiAyMDcuNzg2IDU4MS43NmMxLjI4IDIuOTg2IDIuMTM0IDUuOTczIDIuNTYgNy4wNHptLTEyMC4zMi0yNjYuMjRjMC0yLjU2LTIuMTMzLTYuODI3LTMuNjI2LTExLjA5NEw2ODcuNzg3IDI1NmE4Mi41NiA4Mi41NiAwIDAgMC0zLjYyNy04Ljk2Yy0zLjg0LTcuNjgtOS44MTMtMTIuOC0xOC41Ni05LjgxM2ExNC45MzMgMTQuOTMzIDAgMCAwLTEwLjQ1MyAxOS44NGMwIDMuMiAxLjkyIDYuMTg2IDIuOTg2IDkuMTczbDc5Ljc4NyAyMjQuNDI3YTY4LjQ4IDY4LjQ4IDAgMCAwIDUuMzMzIDEyLjM3MyAxNC4yOTMgMTQuMjkzIDAgMCAwIDE4LjU2IDUuOTczYzYuMTg3LTMuNDEzIDkuMzg3LTkuMzg2IDguOTYtMTguMzQ2em0xOS4yIDEyOGE1MC41NiA1MC41NiAwIDEgMCA1MC4xMzQgNTAuOTg2IDUwLjk4NyA1MC45ODcgMCAwIDAtNTAuNzc0LTUwLjk4NnptLTk2LjY0LTE4Mi40YzAtMi45ODctMi41Ni04LjUzNC00LjQ4LTE0LjA4cS0yNi4wMjYtNzIuOTYtNTIuMDUzLTE0NC44NTRjLTMuODQtMTAuODgtNy40NjctMjQuNzQ2LTIzLjI1My0xOS40MTNzLTEwLjY2NyAxNy45Mi02LjQgMjkuMjI3bDUyLjkwNiAxNDcuNjI2YTcyLjUzMyA3Mi41MzMgMCAwIDAgNS45NzQgMTQuMjk0IDEzLjg2NyAxMy44NjcgMCAwIDAgMTcuMDY2IDUuNzZjNy4wNC0zLjIgMTAuMjQtOC43NDcgMTAuMjQtMTguNTZ6IiBmaWxsPSIjRkJCNkFDIi8+PHBhdGggZD0iTTQxMi4xNiA1NzZWNDQzLjk0N2MwLTExLjk0NyAxLjQ5My0yMy42OCAxNi42NC0yMy4wNHMxNC43MiAxMS43MzMgMTQuNzIgMjIuODI2VjcwNy44NGMwIDExLjk0Ny0xLjQ5MyAyMy42OC0xNi40MjcgMjMuMDRzLTE0LjcyLTExLjczMy0xNC43Mi0yMi44MjdjMC00NS4wMTMtLjIxMy04OS4zODYtLjIxMy0xMzIuMDUzem0zOS4wNC0yOTIuMDUzYTUwLjU2IDUwLjU2IDAgMSAxLTQ5LjQ5My01MS40MTQgNTAuOTg3IDUwLjk4NyAwIDAgMSA0OS40OTMgNTEuNDE0em0tMzAuOTMzLTEuNzA3Yy0yLjM0Ny0xMS41Mi04Ljc0Ny0xOC45ODctMjEuMzM0LTE4LjEzM2ExOC45ODcgMTguOTg3IDAgMCAwIDEuNDk0IDM4LjE4NmMxMi41ODYtLjIxMyAxOC4zNDYtOC4zMiAxOS42MjYtMjAuMDUzek0zNTcuNzYgNjQxLjA2N3YtNjcuODRjMC0xMS43MzQgMi45ODctMjEuMzM0IDE2LjY0LTIxLjMzNHMxNC43MiAxMC4yNCAxNC43MiAyMS4zMzR2MTM1LjY4YzAgMTEuNzMzLTIuOTg3IDIxLjMzMy0xNi42NCAyMS4zMzNzLTE0LjcyLTEwLjI0LTE0LjcyLTIxLjMzM2MuMjEzLTIyLjYxNCAwLTQ1LjIyNyAwLTY3Ljg0em0tMTYzLjQxMy01My4xMnYxMTguNGMwIDExLjczMyAwIDIzLjg5My0xNiAyMy42OHMtMTUuMzYtMTIuNTg3LTE1LjM2LTI0LjEwN1Y0NjYuOTg3YzAtMTEuNzM0IDAtMjMuODk0IDE2LTIzLjY4czE1LjM2IDEyLjU4NiAxNS4zNiAyNC4xMDZjLS4yMTQgNDAuMzIgMCA4MC40MjcgMCAxMjAuNTM0ek0yNTYgMjgzLjczM2E1MC41NiA1MC41NiAwIDEgMS00OS45Mi01MS4yIDUwLjc3MyA1MC43NzMgMCAwIDEgNDkuOTIgNTEuMnptLTMwLjcyIDBhMTkuNjI3IDE5LjYyNyAwIDAgMC0xOS4yLTE5LjIgMTkuMiAxOS4yIDAgMCAwLTEuOTIgMzguMTg3YzEyLjU4Ny40MjcgMTguOTg3LTcuMjUzIDIxLjU0Ny0xOS42Mjd6bTIzLjQ2NyAzNDEuMTJ2ODMuNDE0YzAgMTEuNTItMi4zNDcgMjEuMzMzLTE2IDIxLjMzM3MtMTUuMzYtMTAuODgtMTUuMzYtMjEuMzMzVjU0My4zNmMwLTExLjUyIDIuMzQ2LTIxLjMzMyAxNi0yMS4zMzNzMTUuMzYgMTAuODggMTUuMzYgMjEuMzMzYy0uMjE0IDI3LjA5MyAwIDUzLjk3MyAwIDgxLjQ5M3oiIGZpbGw9IiMzMTQ1NTMiLz48cGF0aCBkPSJNNzcwLjc3MyA0OTAuNjY3YzAgOC45Ni0xLjkyIDE0LjkzMy04Ljc0NiAxNy40OTNhMTQuMjkzIDE0LjI5MyAwIDAgMS0xOC41Ni01Ljk3MyA2OC40OCA2OC40OCAwIDAgMS01LjMzNC0xMi4zNzRsLTgwLTIyMi43MmMtMS4wNjYtMi45ODYtMi4xMzMtNi4xODYtMi45ODYtOS4xNzNhMTQuOTMzIDE0LjkzMyAwIDAgMSAxMC40NTMtMTkuODRjOC43NDctMi45ODcgMTQuOTMzIDEuOTIgMTguNTYgOS44MTNhODIuNTYgODIuNTYgMCAwIDEgMy42MjcgOC45Nkw3NjggNDc5LjU3M2MwIDQuMjY3IDEuOTIgOC41MzQgMi43NzMgMTEuMDk0em0xOC41NiAxMjhhNTAuNTYgNTAuNTYgMCAxIDEgMCAxMDAuOTA2IDUwLjU2IDUwLjU2IDAgMCAxIDAtMTAwLjkwNnptMTkuMiA1MC41NmMtMS45Mi0xMS41Mi04LjEwNi0xOS40MTQtMjAuMDUzLTE4Ljk4N2ExOC45ODcgMTguOTg3IDAgMCAwIDAgMzcuOTczYzEyLjU4Ny0uNDI2IDE4LjU2LTguMzIgMjAuNDgtMTkuODR6bS0xMTUuMi0yMzIuOTZjMCAxMC4wMjYtMy4yIDE1LjM2LTEwLjI0IDE3LjQ5M2ExMy44NjcgMTMuODY3IDAgMCAxLTE3LjA2Ni01Ljc2IDcyLjUzMyA3Mi41MzMgMCAwIDEtNS45NzQtMTQuMjkzTDYwNy4xNDcgMjg2LjA4Yy00LjA1NC0xMS4zMDctOS4xNzQtMjQuMTA3IDYuNC0yOS4yMjdzMTkuMiA4LjUzNCAyMy4yNTMgMTkuNDE0bDUyLjA1MyAxNDUuOTJjMS45MiA0LjQ4IDMuNDE0IDExLjA5MyA0LjQ4IDE0LjA4eiIgZmlsbD0iIzc5Mzk0MyIvPjwvc3ZnPg==")}.joe_cloud__logo._360{background-image:url("data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik04NDMuMjk0IDg3MS45MDZjMC00OS42OTQgNDAuNjU5LTkwLjM1MyA5MC4zNTMtOTAuMzUzUzEwMjQgODIyLjIxMiAxMDI0IDg3MS45MDZzLTQwLjY1OSA5MC4zNTMtOTAuMzUzIDkwLjM1My05MC4zNTMtNDAuNjU5LTkwLjM1My05MC4zNTN6IiBmaWxsPSIjRkY5OTMyIi8+PHBhdGggZD0iTTg0NC44IDY4Ni42ODJsLTEzMS4wMTItNTIuNzA2Yy0xMC41NC00LjUxNy0xMC41NC0xMi4wNDctNi4wMjMtMjIuNTg4IDEyLjA0Ny0zMS42MjMgMTguMDctNjYuMjU5IDE4LjA3LTEwMC44OTQgMC0xNDcuNTc2LTEyNC45ODgtMjc0LjA3LTI3NC4wNy0yNzQuMDdzLTI3NC4wNyAxMjYuNDk0LTI3NC4wNyAyNzQuMDdjMCAzNC42MzUgOS4wMzQgNzAuNzc3IDIxLjA4MSAxMDIuNCAzLjAxMiA2LjAyNCAzLjAxMiAxMy41NTMgMCAxOS41NzctMy4wMTEgNC41MTctNi4wMjMgMC0xMC41NCAxLjUwNUw1NS43MTcgNjc3LjY0N2MtMS41MDYgMS41MDYtNC41MTggMS41MDYtNi4wMjQgMS41MDYtOS4wMzUgMC0xNS4wNTktNC41MTgtMTguMDctMTMuNTUzQzEyLjA0NyA2MTQuNCAxLjUwNiA1NjMuMiAxLjUwNiA1MTAuNDk0IDEuNTA2IDI2My41MyAyMDQuOCA2MC4yMzUgNDUzLjI3IDYwLjIzNXM0NTAuMjU4IDIwMS43ODkgNDUwLjI1OCA0NDguNzUzYzAgNTguNzMtMTAuNTQgMTE0LjQ0Ny0zMS42MjMgMTY3LjE1My0xLjUwNiA0LjUxOC02LjAyNCA5LjAzNS0xMi4wNDcgMTAuNTQxLTMuMDEyIDEuNTA2LTQuNTE4IDEuNTA2LTcuNTMgMS41MDZzLTQuNTE3IDAtNy41MjktMS41MDZ6IiBmaWxsPSIjMEZCMjY0Ii8+PHBhdGggZD0iTTUxLjIgNzE4LjMwNmMtNy41My0xNS4wNTktMTMuNTUzLTMxLjYyNC0xOS41NzYtNDYuNjgyLTMuMDEyLTcuNTMtMy4wMTItMTMuNTUzLTMuMDEyLTE2LjU2NSAwLTQ5LjY5NCA0MC42NTktODguODQ3IDkxLjg1OS04OC44NDcgMzcuNjQ3IDAgNjkuMjcgMjIuNTg4IDg0LjMyOSA1NS43MTcgMS41MDYgMy4wMTIgNi4wMjQgMTIuMDQ3IDkuMDM1IDE2LjU2NSA0Ni42ODMgODguODQ3IDEzOC41NDEgMTQ2LjA3IDIzOS40MzYgMTQ2LjA3IDk5LjM4OCAwIDE4OS43NC01NS43MTcgMjM3LjkyOS0xNDEuNTUyIDQuNTE4LTkuMDM2IDE2LjU2NS0zMC4xMTggMTguMDctMzEuNjI0IDE1LjA2LTMwLjExNyA0My42NzEtNDUuMTc2IDc2LjgtNDUuMTc2IDUxLjIgMCA5MS44NiA0MC42NTkgOTEuODYgODguODQ3IDAgNi4wMjMgMCAxMy41NTMtNC41MTggMjIuNTg4bC05LjAzNiAyMi41ODh2MS41MDZjLTEuNTA1IDQuNTE4LTMuMDExIDcuNTMtNi4wMjMgMTIuMDQ3LTc2LjggMTUzLjYtMjMxLjkwNiAyNDguNDctNDAzLjU3NyAyNDguNDdTMTI5LjUwNiA4NjguODk1IDUxLjIgNzE4LjMwN3oiIGZpbGw9IiNGRjk5MzIiLz48L3N2Zz4=")}.joe_cloud__logo._bd{background-image:url("data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTI3MS4zOCA0MjkuNjM3YTI0NS41IDI0NS41IDAgMCAxLTMuMzk1LTQwLjc3N2MwLTEzNC42OCAxMDkuMTgtMjQzLjg2IDI0My44Ni0yNDMuODZzMjQzLjg2IDEwOS4xOCAyNDMuODYgMjQzLjg2YTI0NS41IDI0NS41IDAgMCAxLTMuMzk0IDQwLjc3NkM4NzUuOTY3IDQzMC4zMTIgOTc2IDUzMC43NjMgOTc2IDY1NC41NzhjMCAxMjQuMjM1LTEwMC43MTIgMjI0Ljk0Ny0yMjQuOTQ2IDIyNC45NDctNjIuNzQzIDAtMTE5LjQ4Ni0yNS42ODgtMTYwLjI4Ny02Ny4xMmwuMDAzLS4wMDRjLTIxLjQ0LTIxLjgyMi0yMS4zMjItNTYuODkzLjM1NC03OC41NyAyMS43OTYtMjEuNzk1IDU3LjEzMy0yMS43OTUgNzguOTI4IDAgLjY5My42OTQgMS4zNjUgMS40IDIuMDE0IDIuMTIgMjAuNDI3IDE5Ljg3IDQ4LjMxNyAzMi4xMDggNzkuMDY1IDMyLjEwOCA2Mi42MzEgMCAxMTMuNDA0LTUwLjc3MiAxMTMuNDA0LTExMy40MDMgMC02Mi42MzEtNTAuNzczLTExMy40MDMtMTEzLjQwNC0xMTMuNDAzLTI4LjczOSAwLTU0Ljk4MSAxMC42OS03NC45NjcgMjguMzExbC0uMDk2LS4wOTYtMS44ODYgMS44ODZjLTIuMiAyLjAzMy00LjMyIDQuMTUyLTYuMzUzIDYuMzUzbC00LjMwNiA0LjMwNS4wNzYuMDc3LTIyOS44NzYgMjI5Ljg3Ni0uMDMtLjAzYy00MC44MzMgNDEuNzA4LTk3Ljc2NyA2Ny41OS0xNjAuNzQ3IDY3LjU5QzE0OC43MTIgODc5LjUyNSA0OCA3NzguODEzIDQ4IDY1NC41NzhjMC0xMjMuNzExIDk5Ljg2Ni0yMjQuMDk4IDIyMy4zOC0yMjQuOTR6bTEuNjQ0IDMzOC40MjJjNjIuNjMgMCAxMTMuNDAzLTUwLjc3MiAxMTMuNDAzLTExMy40MDMgMC02Mi42MzEtNTAuNzcyLTExMy40MDMtMTEzLjQwMy0xMTMuNDAzLTYyLjYzMSAwLTExMy40MDQgNTAuNzcyLTExMy40MDQgMTEzLjQwMyAwIDYyLjYzIDUwLjc3MyAxMTMuNDAzIDExMy40MDQgMTEzLjQwM3pNNTExLjg0NSA1MjEuMWM3My4wMzQgMCAxMzIuMjQtNTkuMjA2IDEzMi4yNC0xMzIuMjQgMC03My4wMzMtNTkuMjA2LTEzMi4yMzktMTMyLjI0LTEzMi4yMzlzLTEzMi4yNCA1OS4yMDYtMTMyLjI0IDEzMi4yNGMwIDczLjAzMyA1OS4yMDYgMTMyLjIzOSAxMzIuMjQgMTMyLjIzOXoiIGZpbGw9IiMwNkE3RkYiLz48cGF0aCBkPSJNNjQzLjM1MSA0MDIuODY4YTU2Ljk2NiA1Ni45NjYgMCAwIDEtLjM1Mi02LjMzNGMwLTMxLjEyMyAyNS4yMy01Ni4zNTMgNTYuMzUzLTU2LjM1M3M1Ni4zNTMgMjUuMjMgNTYuMzUzIDU2LjM1M2MwIDIuMzktLjE1IDQuNzQ1LS40MzggNy4wNTctNy42MTYgMTI3LjgyLTExMy42ODggMjI5LjEyOC0yNDMuNDIyIDIyOS4xMjgtMTI5LjczNCAwLTIzNS44MDYtMTAxLjMwNy0yNDMuNDIyLTIyOS4xMjhhNTYuOTA4IDU2LjkwOCAwIDAgMS0uNDM4LTcuMDU3YzAtMzEuMTIzIDI1LjIzLTU2LjM1MyA1Ni4zNTMtNTYuMzUzczU2LjM1MyAyNS4yMyA1Ni4zNTMgNTYuMzUzYzAgMi4xNDEtLjEyIDQuMjU1LS4zNTIgNi4zMzQgNi45OTYgNjYuNDQ4IDYzLjIwNCAxMTguMjMgMTMxLjUwNiAxMTguMjMgNjguMzAyIDAgMTI0LjUxLTUxLjc4MiAxMzEuNTA2LTExOC4yM3oiIGZpbGw9IiNGRjQzNkEiLz48L3N2Zz4=")}.joe_cloud__logo._ty{background-image:url("data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik0yODMuNSAzNjguOGMtMTAuMyAzMS43LTguMyA2Mi4zIDExLjggODkuNiAyMy44IDMyLjIgNTYuOSA0My41IDk2LjEgMzkuMiAxMS0xLjIgMjEuNS0zLjggMzEuOC03LjcgNDAuNy0xNS42IDY3LjgtNTcuOCA2MS05OC02LjUtMzguMy0yOC44LTY2LTY0LjgtNzkuOC02OC40LTI2LjItMTMyLjMtMTUuMi0xODkuNyAyOS45LTM1LjMgMjcuNy02MC43IDYzLTY3LjcgMTA4LjItMTEuMiA3My4xIDMuNCAxMzkuNSA1OC44IDE5Mi4zIDQxLjEgMzkuMiA5MC40IDU3LjQgMTQ3LjggNTUuOSA3Mi4zLTEuOSAxMzIuOS0zMCAxODUuNi03Ny45IDMxLjktMjkuMSA1Ny40LTYzLjggODQuOC05Ni45IDM2LjYtNDQuMyA3OC40LTgxLjUgMTM0LjEtMTAwLjMgNTYuMi0xOC45IDExMS42LTE2LjMgMTY2LjQgNS44IDQuMyAxLjcgOC42IDMuNSAxNSA2LjEtMTAuNiAxLjQtMTkuMiAyLjItMjcuNiAzLjgtNDIuOCA3LjgtNzYuMSAzMS41LTEwNC41IDYzLTMwLjMgMzMuNS01NC42IDcxLjYtODAuOCAxMDguMi0zNi41IDUxLjEtNzYuNiA5OC44LTEyNy41IDEzNi41LTYzLjUgNDctMTM0LjEgNzMuMy0yMTMuNiA2OS42LTU3LjktMi42LTExMi4zLTE5LjktMTYyLjYtNDktODMuNi00OC40LTE0MS0xMTcuNy0xNjIuMy0yMTMuMi0yMC4yLTkwLjMgMi4yLTE3MS44IDYwLjItMjQyLjcgNTIuOC02NC42IDEyNC05NS40IDIwNi0xMDQuMyAxMTUtMTIuNSAyMjEuNiA1Mi4xIDI2OS41IDE0OSAzNS4zIDcxLjUgMjMuNSAxNTIuNS0zMS4xIDIxMC4yLTM1LjIgMzcuMi03OS43IDU3LjUtMTMwLjUgNjEuNy01OS40IDQuOC0xMTIuOS0xMS43LTE1Ni45LTUyLjktNTQuOS01MS42LTcxLjktMTQwLjQtMTUtMjA2LjMgMS4xLTEuMyAyLjUtMi41IDMuOC0zLjcgMy4yLS4yIDMuMSAxLjQgMS45IDMuN3oiIGZpbGw9IiNGNUM1M0UiLz48L3N2Zz4=")}.joe_cloud__logo._ct{background-image:url("data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik04NTAuNDYxIDc2NC40ODljLTE4LjgyOCA1MC4yMjUtMzUuODc5IDg2Ljg0MS04Mi40NjQgODYuODQxSDEyMC4xNjJjLTQ2LjU3OSAwLTg0Ljk2Mi00MC4yNjctODQuOTYyLTg2Ljg0MUwxNzUuNzU5IDI1OC40NmMxMy41NjgtNTcuMDkxIDM1Ljg4OS04Ni44MyA4Mi40NjItODYuODNoNjQ3LjgzN2M0Ni41ODIgMCA4NC45NjIgNDAuMjQ2IDg0Ljk2MiA4Ni44M0w4NTAuNDYxIDc2NC40ODl6TTMyMi41MTIgMzM3LjI0MmMtNC4zMjQgNC40MTctNy4xOTkgOC43NjQtNy4zNTMgOS4wMjQtLjEwMy4yMDctMi40NzkgNC45OTktMy4xODQgNi45MDktLjcwNSAxLjg4OC0yLjk0NyA5LjM3Ny0zLjA1MSA5LjcxbC0yLjQyNyA4Ljk4MnMtMS45MyA5LjI5NC0yLjIyIDEwLjc4OGMtLjIyOCAxLjE4Mi0xLjM0OSA5LjIyLTEuODc4IDEzLjA5MS0uMTM1Ljk4NS0uMjI4IDEuNjM4LS4yMzggMS43LS4wNjIuMzk1LTEuMTgyIDExLjgxNC0uODkzIDE3LjkyNC4yNzEgNi4wOTkuODQyIDE2LjcxMS44NSAxNi43NjIuMDEyLjEzNSAxLjYzIDEzLjczMyAzLjg3OSAyMi45MjMgMi4xNTkgOC43NzUgNC4yNDMgMTUuNjg1IDYuMzg5IDIxLjEyIDIuMDU0IDUuMTY1IDcuMDMzIDE0LjY4OCA3LjczOSAxNS43ODguMTI2LjE5Ni40MTUuNzA1LjgyOSAxLjQ1MiAyLjA1NCAzLjY3IDYuODY4IDEyLjI2IDExLjI5NiAxNy4yMTggNi4wOTggNi44MjYgMTIuNDQ3IDEzLjc5NiAxNy4yNSAxNy40MDYgNC4zMzcgMy4yNTggMTMuMjIzIDkuMzM0IDE5LjA2NSAxMS40MyA1LjI2OCAxLjkwOSA4Ljk2IDIuODg1IDEwLjE2NSAzLjAwOGguMTM1bC42NTItLjAyLjE0Ny0uNThjLjE2NS0uNjIyLS4yOTItLjg3MS0xLjAzOC0xLjI2Ni0xLjMxNy0uNzA1LTQuMzc4LTIuMzQzLTYuMzY5LTUuMDItMi44NjQtMy44MzgtNy4xMzYtMTEuMTA4LTkuNzgxLTE4Ljk0MS0yLjYyMy03Ljc2OS00LjE2LTE0Ljk5OC00LjczLTE3LjcyNi0uMzQxLTEuNjI5LTEuMTMxLTYuNjkxLTEuODk5LTExLjU4NWE5ODIuNzA2IDk4Mi43MDYgMCAwIDAtMS4zODktOC43NzVjLS4zNDMtMi4wNzQtMS41MTUtMTIuNzY5LTIuMTA3LTI0LjUtLjc0OC0xNC44MDIuMTM1LTMwLjE0Mi4xMzUtMzAuMjg4LjEzNS0xLjkzIDIuNTMtMjcuNzU4IDUuMjU5LTM5LjE2N2wuMjQ5LTEuMDE3YzIuNjM2LTExLjAxNSA0LjM4OC0xOC4yOTggOC45NzQtMjUuMzA5IDYuMDM3LTkuMjExIDguNzY0LTExLjI4NSA5LjMxNS0xMS4zMDZhLjg3Ljg3IDAgMCAwIC44Ny0uNjk0Yy4zODYtMS43OTQtOS40MzgtOS42NzktMTQuMTQ3LTExLjgxNC01LjQ0NS0yLjQ0OC0xMi4wNzQtNC45NjktMTkuOTk3LTQuOTY5LTYuMzcyLjE3NS0xNi4wMTkgMy4xODItMjAuNTAxIDcuNzQ2em00MDAuODExIDUwLjM2OGMtMTAuMTIzLTU3LjQ5Ny01MS4yNS03Ny44OTgtODMuMzk2LTc3Ljg5OC0yMi4zMDEgMC00My4zMzcgOC44MTYtNTkuMjI5IDI0LjgzMi0xNy43MjggMTcuODcyLTI3LjQxMyA0My4wNDYtMjcuOTk2IDcyLjgwNnYuMzcybC40NjcuNDY3aC4zMTNjLjU5IDAgLjY5My0uMTY2IDMuMzUtNC4yODMgOC4zMDYtMTIuOTE0IDMzLjU5Ni01Mi4xODUgNjEuMDExLTU4LjIwMWE0MS40OSA0MS40OSAwIDAgMSA4Ljg2OS0uOTc2YzE0LjM2NyAwIDI3LjEyNCA3LjUzMSAzNC45ODcgMjAuNjQyIDE0LjE5OSAyMy42OTEgMTAuMTIzIDYwLjcyMi0xMS4xNzEgMTAxLjYxMi04Ljg0OCAxNi45OS0zNi42NDYgNjYuNTUtNTguNjY4IDkxLjM2Mi01LjE3NCA1LjgyOS0xMC41MTggMTIuMDExLTE2LjE4MiAxOC41NjYtMjAuNDM0IDIzLjY3LTQxLjU2MyA0OC4xNDktNTUuNTE0IDU2LjUxMWEyNy43NTYgMjcuNzU2IDAgMCAwLTUuNjk1IDQuNTIzYy4xNjYtOC4xNzUuMzczLTE2LjM0Ny41Ny0yNC40OC40ODktMjAuMDE5IDEuMDA1LTQwLjcwMiAxLjAwNS02MC40MyAwLTMxLjUzMy0xLjIxMi01Ny42MS0zLjYwOS03Ny40ODQtMS40MTEtMTEuNzQzLTMuNTM4LTIxLjg2Ni01LjI0OS0yOS45OTYtLjY0My0zLjAzLTEuMjI1LTUuNzc4LTEuNjgtOC4yMTUtMy44OS0yMC43NDYtMTguMTcyLTUwLjM0OC0yNi41NTYtNjIuODk5LTcuOTQ2LTExLjg2Ny0yMS42NTgtMjUuNzU2LTM1LjgwNy0zNi4yNDItMTMuOTQtMTAuMzMyLTM3Ljg1OS0yMC4yMjctNTUuNjgtMjMuMDA3LTUuMDcxLS43OTctMTAuMDQxLTEuMjAzLTE0Ljc3LTEuMjAzLTExLjIyMyAwLTE5LjcyOSAyLjIyLTI1Ljg5IDQuMTcxLTYuMDE1IDEuODg3LTExLjczMSA1LjI0OC0xNS40NzUgNy43Mzh2LjAxYy0yLjk2NiAxLjUyNS00LjQxOSAzLjE2NC00LjQ4MSAzLjI0N2wxLjAzNyAxLjA4OWMuMDE5LS4wMTEgMS42Ni0xLjMxNyA0LjIzLTMuMDI5IDUuNjEzLTIuODUyIDEyLjkzNS0zLjIwNSAyMS4xMy0uOTQ0IDQuNDcxIDEuMjIzIDkuNjU3IDMuOTczIDE0LjkyOCA2Ljg1NyAxOC42NTkgMTQuMDEzIDI2LjExOCAyNC43MzggMzEuNTczIDM2LjUyMiAzLjk4MyA4LjYwOSA3LjI4MSAxNy40MzYgMTEuMzY5IDMwLjQ1MyA0LjEwOSAxMy4wODkgNy44MzMgMzUuODY5IDkuNjk4IDU5LjQxNS45MjUgMTEuNjE4IDEuNjcxIDI0LjA2NSAyLjQ1OCAzNy4yMzcgMS45NzEgMzMuMDQ3IDQuMDAzIDY3LjIxNSA5LjE0OSA5NC4xMDEgMi43OCAxNC41NDEgNi4xMTkgMjcuODYgMTAuMTg2IDQwLjc0MyAxMi40NTcgMzkuMzU0IDMwLjU3OCA2OC43NyA0My4zNzggODMuMTQ4IDExLjc1MSAxMy4yMzQgMjcuMjM5IDI2LjY5OCAzMC42ODMgMjYuNjk4LjA4MSAwIC4xNTUgMCAuMjI2LS4wMTlsLjAxMy4wMTkuMDUxLS4wMTljLjMzMi0uMDgzLjUzOC0uMjUuNjYzLS4zOTUuMDE5LS4wMi4wNDItLjA2Mi4wNjEtLjA4MmguMDExYy4zMjItLjIwNyAzMi43NjktMjEuMTYyIDU3LjI5OS00MS43NjEgODguMTEzLTczLjkzOSAxNjguMTUtMTk4Ljk1MSAxNDguMzI3LTMxMS41Nzh6IiBmaWxsPSIjRkZCOTBGIi8+PC9zdmc+")}.joe_cloud__logo._wy{background-image:url("data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik04ODAuMyA2MzEuOWMtMy40IDAtNi45LS42LTEwLjItMS44LTE2LjEtNS43LTI0LjUtMjMuMy0xOC45LTM5LjQgNi40LTE4LjEgOS42LTM3LjEgOS42LTU2LjUgMC05My4zLTc1LjktMTY5LjItMTY5LjEtMTY5LjItNzcuNiAwLTE0NS4xIDUyLjQtMTY0IDEyNy41LTQuMiAxNi41LTIwLjggMjYuNi0zNy41IDIyLjQtMTYuNS00LjItMjYuNS0yMS0yMi40LTM3LjUgMjUuOS0xMDIuNSAxMTgtMTc0LjEgMjIzLjktMTc0LjEgMTI3LjMgMCAyMzAuOCAxMDMuNiAyMzAuOCAyMzAuOSAwIDI2LjQtNC40IDUyLjMtMTMuMSA3Ny00LjUgMTIuNy0xNi40IDIwLjctMjkuMSAyMC43eiIgZmlsbD0iIzA5RiIvPjxwYXRoIGQ9Ik00NDcuNCA3ODMuM0gzMzIuNmMtMTI3LjMgMC0yMzAuOS05Ny41LTIzMC45LTIxNy4zIDAtOTQuOSA2NS45LTE3OC4zIDE2MC0yMDYuOCAxMC4yLTExNy45IDEwOS41LTIxMC43IDIzMC0yMTAuNyAxMDcuMSAwIDIwMS44IDc1LjggMjI1LjMgMTgwLjEgMy43IDE2LjYtNi44IDMzLjEtMjMuNCAzNi45LTE2LjcgMy45LTMzLjItNi43LTM2LjktMjMuMy0xNy4xLTc2LjQtODYuNS0xMzEuOS0xNjUtMTMxLjktOTMuMyAwLTE2OS4yIDc1LjktMTY5LjIgMTY5LjEgMS43IDguMS4zIDE1LjQtNC40IDIyLjMtNC42IDYuOS0xMS43IDEwLjQtMTkuOSAxMi03OC4yIDE0LjgtMTM0LjkgNzguOS0xMzQuOSAxNTIuNCAwIDg1LjggNzUuOSAxNTUuNiAxNjkuMiAxNTUuNmgxMTQuOGMxNyAwIDMwLjkgMTMuOCAzMC45IDMwLjlzLTEzLjggMzAuNy0zMC44IDMwLjd6bTExMi43LTMxYy04LjIgMC0xNi4zLTMuMi0yMi40LTkuNi0xMS43LTEyLjQtMTEuMy0zMS45IDEuMS00My42bDEyNi43LTEyMC40YzExLjgtMTEuMyAzMC41LTExLjMgNDIuNSAwTDgzNC44IDY5OWMxMi40IDExLjcgMTIuOSAzMS4zIDEuMSA0My42LTExLjcgMTIuMy0zMS4zIDEyLjktNDMuNiAxLjFMNjg2LjggNjQzLjYgNTgxLjMgNzQzLjhjLTUuOSA1LjctMTMuNiA4LjUtMjEuMiA4LjV6IiBmaWxsPSIjMDlGIi8+PHBhdGggZD0iTTY4Ni44IDg3OWMtMTcgMC0zMC45LTEzLjgtMzAuOS0zMC45VjYwMWMwLTE3IDEzLjktMzAuOSAzMC45LTMwLjlzMzAuOSAxMy44IDMwLjkgMzAuOXYyNDcuMWMwIDE3LjEtMTMuOSAzMC45LTMwLjkgMzAuOXoiIGZpbGw9IiMwOUYiLz48L3N2Zz4=")}.joe_cloud__logo._github{background-image:url("data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik01MTEuOTY2IDBDMjI5LjIzOSAwIDAgMjI5LjIzOSAwIDUxMi4wMzQgMCA3MzguMjM2IDE0Ni43MDUgOTMwLjEzMyAzNTAuMTc0IDk5Ny44MmMyNS42IDQuNzEgMzQuOTE4LTExLjA5NCAzNC45MTgtMjQuNjc5IDAtMTIuMTUxLS40MDktNDQuMzM5LS42ODItODcuMDc0LTE0Mi40MDUgMzAuOTU5LTE3Mi40NzYtNjguNjQyLTE3Mi40NzYtNjguNjQyLTIzLjI3OS01OS4xMTktNTYuODMyLTc0Ljg4OC01Ni44MzItNzQuODg4LTQ2LjQ5LTMxLjc0NCAzLjUxNi0zMS4xMyAzLjUxNi0zMS4xMyA1MS4zNyAzLjYxOCA3OC40MzggNTIuNzcgNzguNDM4IDUyLjc3IDQ1LjY3IDc4LjI2OCAxMTkuODA4IDU1LjY3MiAxNDguOTkyIDQyLjU2NCA0LjY0Mi0zMy4xMDkgMTcuODg2LTU1LjY3MSAzMi40OTUtNjguNDcxLTExMy42OTgtMTIuOTAzLTIzMy4xOTktNTYuODMyLTIzMy4xOTktMjUzLjAzMSAwLTU1LjkxIDE5LjkzNC0xMDEuNjE0IDUyLjcwMi0xMzcuMzg2LTUuMjkxLTEyLjk3MS0yMi44MzUtNjUuMDI0IDUuMDE3LTEzNS41MSAwIDAgNDIuOTc0LTEzLjc1NSAxNDAuOCA1Mi40OThhNDkwLjA3IDQ5MC4wNyAwIDAgMSAxMjguMTcxLTE3LjIzOCA0OTAuODM2IDQ5MC44MzYgMCAwIDEgMTI4LjE3MSAxNy4yMzhjOTcuNzU4LTY2LjI1MyAxNDAuNjYzLTUyLjQ5OCAxNDAuNjYzLTUyLjQ5OCAyNy45MjEgNzAuNDg2IDEwLjM0MyAxMjIuNTM5IDUuMDg2IDEzNS41MSAzMi44MzYgMzUuNzcyIDUyLjYzNCA4MS40NzYgNTIuNjM0IDEzNy4zODYgMCAxOTYuNjc3LTExOS43MDYgMjM5Ljk1OC0yMzMuNzc5IDI1Mi42NTUgMTguMzk3IDE1LjgwNCAzNC43ODEgNDcuMDM2IDM0Ljc4MSA5NC43ODkgMCA2OC40NzEtLjY0OCAxMjMuNjk5LS42NDggMTQwLjQ1OCAwIDEzLjY4OCA5LjI1IDI5LjYyOCAzNS4yMjUgMjQuNjQ1Qzg3Ny40MzEgOTI5LjkyOSAxMDI0IDczOC4xNjcgMTAyNCA1MTIuMDM0IDEwMjQgMjI5LjIzOSA3OTQuNzI2IDAgNTExLjk2NiAwIiBmaWxsPSIjRjY2Ii8+PC9zdmc+")}.joe_cloud__logo._lz{background-image:url("data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiPjxwYXRoIGQ9Ik02NzguNjQgNTE0LjAwN2ExNjguNDQ4IDE2OC40NDggMCAxIDAtMTY4LjQ0NyAxNjcuNzA2QTE2OC4wNyAxNjguMDcgMCAwIDAgNjc4LjY0IDUxNC4wMDd6IiBmaWxsPSIjRjRDQTFDIi8+PHBhdGggZD0iTTk4My4wNCA2MDMuNDEyYTI0Mi40ODggMjQyLjQ4OCAwIDAgMC0yODAuMzkyLTIzOC40MDdBMjUzLjMyMiAyNTMuMzIyIDAgMCAwIDI1Ni4yMiAyODcuMThhMjQ5LjEzNCAyNDkuMTM0IDAgMCAwLTQ4Ljk1NyAxNTMuMzg1QTIwMy4zOTcgMjAzLjM5NyAwIDAgMCAyNDAuMTg5IDg0NC44aDUyNy43NzVhMzEuOTkgMzEuOTkgMCAwIDAgMTQuNzUtMy43MTcgMjQyLjAzOCAyNDIuMDM4IDAgMCAwIDIwMC4zMjYtMjM3LjY3ek03NDAuNjA4IDc4MC43MTNIMjQwLjE4OWExMzkuMzg3IDEzOS4zODcgMCAxIDEgMC0yNzguNzY5IDMxLjk3IDMxLjk3IDAgMCAwIDguNzA0LTEuMzQxIDMxLjk2NCAzMS45NjQgMCAwIDAgMjQuODQ4LTM1Ljk5OSAxODcuODEyIDE4Ny44MTIgMCAwIDEgMTU3Ljc0Mi0yMTQuMDE2IDE4OC40NjIgMTg4LjQ2MiAwIDAgMSAyMDkuNTQxIDEzMi44MzkgMjQxLjYyOCAyNDEuNjI4IDAgMCAwLTE0Mi44NDggMjE5Ljk4NSAzMi4xOCAzMi4xOCAwIDAgMCA2NC4zNTggMCAxNzguMDY4IDE3OC4wNjggMCAxIDEgMTc4LjA3NCAxNzcuMzAxeiIgZmlsbD0iIzU5NUJCMyIvPjwvc3ZnPg==")}.joe_cloud__describe{line-height:normal;flex:1;overflow:hidden}.joe_cloud__describe-title{color:#409eff;font-size:14px;margin-bottom:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.joe_cloud__describe-type{font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.joe_cloud__btn{flex-shrink:0;margin-left:auto;background:#409eff;color:#fff;width:30px;height:30px;line-height:30px;border-radius:50%;text-align:center}.joe_cloud__btn:hover{color:#fff}.joe_gird{display:grid;line-height:26px}.joe_gird__item *:last-child{margin-bottom:0 !important}.joe_alert{padding:12px;border-radius:4px;line-height:26px;background:transparent;color:#606266}.joe_alert.info{border:1px solid #abdcff}.joe_alert.success{border:1px solid #8ce6b0}.joe_alert.warning{border:1px solid #ffd77a}.joe_alert.error{border:1px solid #ffb08f}.joe_alert *:last-child{margin-bottom:0 !important}@media (max-width: 768px){.cm-modal__wrapper{width:90%}}@-webkit-keyframes progress-active{0%{opacity:0.3;width:0}to{opacity:0;width:100%}}@keyframes progress-active{0%{opacity:0.3;width:0}to{opacity:0;width:100%}}@-webkit-keyframes lamp-background{0%,24.9%{background-color:#54b5db}25%,49.9%{background-color:#da4733}50%,74.9%{background-color:#3b78e7}75%,to{background-color:#fdba2c}}@keyframes lamp-background{0%,24.9%{background-color:#54b5db}25%,49.9%{background-color:#da4733}50%,74.9%{background-color:#3b78e7}75%,to{background-color:#fdba2c}}@-webkit-keyframes lamp-front{0%{-webkit-transform:scaleX(0);transform:scaleX(0);background-color:#da4733}24.9%{-webkit-transform:scaleX(0.5);transform:scaleX(0.5);background-color:#da4733}25%{-webkit-transform:scaleX(0);transform:scaleX(0);background-color:#3b78e7}49.9%{-webkit-transform:scaleX(0.5);transform:scaleX(0.5);background-color:#3b78e7}50%{-webkit-transform:scaleX(0);transform:scaleX(0);background-color:#fdba2c}74.9%{-webkit-transform:scaleX(0.5);transform:scaleX(0.5);background-color:#fdba2c}75%{-webkit-transform:scaleX(0);transform:scaleX(0);background-color:#409eff}to{-webkit-transform:scaleX(0.5);transform:scaleX(0.5);background-color:#409eff}}@keyframes lamp-front{0%{-webkit-transform:scaleX(0);transform:scaleX(0);background-color:#da4733}24.9%{-webkit-transform:scaleX(0.5);transform:scaleX(0.5);background-color:#da4733}25%{-webkit-transform:scaleX(0);transform:scaleX(0);background-color:#3b78e7}49.9%{-webkit-transform:scaleX(0.5);transform:scaleX(0.5);background-color:#3b78e7}50%{-webkit-transform:scaleX(0);transform:scaleX(0);background-color:#fdba2c}74.9%{-webkit-transform:scaleX(0.5);transform:scaleX(0.5);background-color:#fdba2c}75%{-webkit-transform:scaleX(0);transform:scaleX(0);background-color:#409eff}to{-webkit-transform:scaleX(0.5);transform:scaleX(0.5);background-color:#409eff}}
diff --git a/typecho/write/css/joe.write.min.scss b/typecho/write/css/joe.write.min.scss
index bc0232b..9079320 100644
--- a/typecho/write/css/joe.write.min.scss
+++ b/typecho/write/css/joe.write.min.scss
@@ -161,9 +161,33 @@ body.fullscreen {
border: 1px solid rgba(255, 255, 255, 0.25);
margin: -1px;
}
+ .cmt-strong {
+ color: #61afef;
+ font-weight: 500;
+ }
.cm-nonmatchingBracket {
color: #ff5627;
}
+ .cmt-emphasis {
+ color: #b294bb;
+ font-style: italic;
+ font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', Arial, sans-serif;
+ }
+ .cmt-deleted {
+ color: #ed6a43;
+ text-decoration: line-through;
+ }
+ .cmt-heading {
+ font-size: 18px;
+ color: #61afef;
+ font-weight: 700;
+ }
+ .cmt-link {
+ color: #e26666;
+ }
+ .cmt-url {
+ color: #5fa76f;
+ }
}
}
.cm-resize {
@@ -283,16 +307,14 @@ body.fullscreen {
position: relative;
}
h1 {
- padding: 0 15px;
+ padding: 0 15px 0 20px;
&::before {
- content: '';
+ content: '¶';
+ color: #409eff;
position: absolute;
- top: 8.5px;
+ top: 0;
left: 0;
- height: 7px;
- width: 7px;
- border-radius: 50%;
- background: #409eff;
+ font-size: 22px;
}
}
h2 {
@@ -309,15 +331,16 @@ body.fullscreen {
}
}
h3 {
- padding: 0 15px 0 20px;
+ padding: 0 15px;
&::before {
- content: '#';
- color: #409eff;
- font-weight: 700;
+ content: '';
position: absolute;
top: 0;
+ bottom: 0;
left: 0;
- line-height: 24px;
+ width: 4px;
+ background: #409eff;
+ border-radius: 0 4px 4px 0;
}
}
h4 {
@@ -404,10 +427,11 @@ body.fullscreen {
display: inline-block;
border-radius: 4px;
font-size: 12px;
- background: #fdf6ec;
+ background: #ecf5ff;
+ color: #409eff;
padding: 0 8px;
- color: #e6a23c;
vertical-align: top;
+ word-break: break-all;
}
ol,
ul {
diff --git a/typecho/write/js/joe.write.chunk.js b/typecho/write/js/joe.write.chunk.js
index e8d3632..38544f0 100644
--- a/typecho/write/js/joe.write.chunk.js
+++ b/typecho/write/js/joe.write.chunk.js
@@ -1,4 +1,4 @@
-!function(){"use strict";let s="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(t=>t?parseInt(t,36):1);for(let t=1;t
e)return s[t-1]<=e}(e))n+=d(e),t=e;else{if(!r(e))break;{let t=0,e=n-2;for(;0<=e&&r(c(i,e));)t++,e-=2;if(t%2==0)break;n+=2}}}return n}function a(t,e){for(;0this.length)throw new RangeError(`Invalid position ${t} in document of length ${this.length}`);return this.lineInner(t,!1,1,0)}line(t){if(t<1||t>this.lines)throw new RangeError(`Invalid line number ${t} in ${this.lines}-line document`);return this.lineInner(t,!0,1,0)}replace(t,e,i){var n=[];return this.decompose(0,t,n,2),i.length&&i.decompose(0,i.length,n,3),this.decompose(e,this.length,n,1),g.from(n,this.length-(e-t)+i.length)}append(t){return this.replace(this.length,this.length,t)}slice(t,e=this.length){var i=[];return this.decompose(t,e,i,0),g.from(i,e-t)}eq(t){if(t==this)return!0;if(t.length!=this.length||t.lines!=this.lines)return!1;let e=new v(this),i=new v(t);for(;;){if(e.next(),i.next(),e.lineBreak!=i.lineBreak||e.done!=i.done||e.value!=i.value)return!1;if(e.done)return!0}}iter(t=1){return new v(this,t)}iterRange(t,e=this.length){return new i(this,t,e)}toString(){return this.sliceString(0)}toJSON(){var t=[];return this.flatten(t),t}static of(t){if(0==t.length)throw new RangeError("A document must have at least one line");return 1!=t.length||t[0]?t.length<=32?new m(t):g.from(m.split(t,[])):u.empty}}"undefined"!=typeof Symbol&&(u.prototype[Symbol.iterator]=function(){return this.iter()});class m extends u{constructor(t,e=function(t){let e=-1;for(var i of t)e+=i.length+1;return e}(t)){super(),this.text=t,this.length=e}get lines(){return this.text.length}get children(){return null}lineInner(e,i,n,s){for(let t=0;;t++){var r=this.text[t],o=s+r.length;if(e<=(i?n:o))return new w(s,o,n,r);s=o+1,n++}}decompose(i,t,n,s){i=i<=0&&t>=this.length?this:new m(p(this.text,i,t),Math.min(t,this.length)-Math.max(0,i));if(1&s){let t=n.pop(),e=f(i.text,t.text.slice(),0,i.length);e.length<=32?n.push(new m(e,t.length+i.length)):(s=e.length>>1,n.push(new m(e.slice(0,s)),new m(e.slice(s))))}else n.push(i)}replace(t,e,i){if(!(i instanceof m))return super.replace(t,e,i);var n=f(this.text,f(i.text,p(this.text,0,t)),e),t=this.length+i.length-(e-t);return n.length<=32?new m(n,t):g.from(m.split(n,[]),t)}sliceString(s,r=this.length,o="\n"){let a="";for(let i=0,n=0;i<=r&&ns&&n&&(a+=o),si&&(a+=t.slice(Math.max(0,s-i),r-i)),i=e+1}return a}flatten(t){for(var e of this.text)t.push(e)}static split(t,e){let i=[],n=-1;for(var s of t)i.push(s),n+=s.length+1,32==i.length&&(e.push(new m(i,n)),i=[],n=-1);return-1=n&&(l=a&((n<=s?1:0)|(r<=e?2:0)),n>=s&&e<=r&&!l?o.push(t):t.decompose(s-n,r-n,o,l)),n=e+1}}replace(s,r,o){if(o.lines=n&&r<=e){var a=t.replace(s-n,r-n,o),l=this.lines-t.lines+a.lines;if(a.lines>4&&a.lines>l>>6){let t=this.children.slice();return t[i]=a,new g(t,this.length-(r-s)+o.length)}return super.replace(n,e,a)}n=e+1}return super.replace(s,r,o)}sliceString(s,r=this.length,o="\n"){let a="";for(let i=0,n=0;is&&i&&(a+=o),sn&&(a+=t.sliceString(s-n,r-n,o)),n=e+1}return a}flatten(t){for(var e of this.children)e.flatten(t)}static from(t,e=t.reduce((t,e)=>t+e.length+1,-1)){let i=0;for(var n of t)i+=n.lines;if(i<32){var s,r=[];for(s of t)s.flatten(r);return new m(r,e)}let o=Math.max(32,i>>5),a=o<<1,l=o>>1,h=[],c=0,d=-1,u=[];function f(){0!=c&&(h.push(1==u.length?u[0]:g.from(u,d)),d=-1,c=u.length=0)}for(var p of t)!function t(e){let i;if(e.lines>a&&e instanceof g)for(var n of e.children)t(n);else e.lines>l&&(c>l||!c)?(f(),h.push(e)):e instanceof m&&c&&(i=u[u.length-1])instanceof m&&e.lines+i.lines<=32?(c+=e.lines,d+=e.length+1,u[u.length-1]=new m(i.text.concat(e.text),i.length+1+e.length)):(c+e.lines>o&&f(),c+=e.lines,d+=e.length+1,u.push(e))}(p);return f(),1==h.length?h[0]:new g(h,e)}}function f(r,o,a=0,l=1e9){for(let i=0,n=0,s=!0;nMath.max(0,n))return this.value=0==n?t:0t.length?n-=t.length:(this.nodes.push(t),this.offsets.push(0this.limit&&(this.value=0s)throw new RangeError(`Position ${e} is out of range for changeset of length ${s}`);return r}touchesRange(i,n=i){for(let t=0,e=0;t"number"!=typeof t))throw new RangeError("Invalid JSON representation of ChangeDesc");return new x(t)}}class k extends x{constructor(t,e){super(t),this.inserted=e}apply(r){if(this.length!=r.length)throw new RangeError("Applying change set to a document with the wrong length");return T(this,(t,e,i,n,s)=>r=r.replace(i,i+(e-t),s),!1),r}mapDesc(t,e=!1){return H(this,t,e,!0)}invert(i){let n=this.sections.slice(),s=[];for(let t=0,e=0;t>1;s.length>1].toJSON()))}return n}static of(t,r,o){let a=[],l=[],h=0,i=null;function c(t=!1){if(t||a.length){hh&&A(a,t-h,-1),A(a,e-t,n),C(l,a,s),h=e)}}(t),c(!i),i}static empty(t){return new k(t?[t,-1]:[],[])}static fromJSON(i){if(!Array.isArray(i))throw new RangeError("Invalid JSON representation of ChangeSet");let n=[],s=[];for(let e=0;ee&&"string"!=typeof t))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==t.length)n.push(t[0],0);else{for(;s.length>1;if(n>1])),!(c||a==l.sections.length||l.sections[a+1]<0);)n=l.sections[a++],s=l.sections[a++];h(r,t,o,e,i),r=t,o=e}}}function H(t,e,s,i=!1){var r=[],o=i?[]:null;let a=new L(t),l=new L(e);for(let i=0,n=0;;)if(-1==a.ins)i+=a.len,a.next();else if(-1==l.ins&&nn&&!a.done&&i+a.leni&&n+l.lenl||0<=o.ins&&o.len>l)&&(t||h>1;return e>=t.length?u.empty:t[e]}textBit(t){let{inserted:e}=this.set,i=this.i-2>>1;return i>=e.length&&!t?u.empty:e[i].slice(this.off,null==t?void 0:this.off+t)}forward(t){t==this.len?this.next():(this.len-=t,this.off+=t)}forward2(t){-1==this.ins?this.forward(t):t==this.ins?this.next():(this.ins-=t,this.off+=t)}}class O{constructor(t,e,i){this.from=t,this.to=e,this.flags=i}get anchor(){return 16&this.flags?this.to:this.from}get head(){return 16&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 4&this.flags?-1:8&this.flags?1:0}get bidiLevel(){var t=3&this.flags;return 3==t?null:t}get goalColumn(){var t=this.flags>>5;return 33554431==t?void 0:t}map(t,e=-1){var i=t.mapPos(this.from,e),e=t.mapPos(this.to,e);return i==this.from&&e==this.to?this:new O(i,e,this.flags)}extend(t,e=t){if(t<=this.anchor&&e>=this.anchor)return D.range(t,e);e=Math.abs(t-this.anchor)>Math.abs(e-this.anchor)?t:e;return D.range(this.anchor,e)}eq(t){return this.anchor==t.anchor&&this.head==t.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(t){if(!t||"number"!=typeof t.anchor||"number"!=typeof t.head)throw new RangeError("Invalid JSON representation for SelectionRange");return D.range(t.anchor,t.head)}}class D{constructor(t,e=0){this.ranges=t,this.mainIndex=e}map(e,i=-1){return e.empty?this:D.create(this.ranges.map(t=>t.map(e,i)),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;tt.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||"number"!=typeof t.main||t.main>=t.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new D(t.ranges.map(t=>O.fromJSON(t)),t.main)}static single(t,e=t){return new D([D.range(t,e)],0)}static create(i,n=0){if(0==i.length)throw new RangeError("A selection needs at least one range");for(let t=0,e=0;et.from-e.from),i=e.indexOf(t);for(let t=1;ts.head?D.range(r,n):D.range(n,r)))}return new D(e,i)}(i.slice(),n);t=s.to}return new D(i,n)}static cursor(t,e=0,i,n){return new O(t,t,(0==e?0:e<0?4:8)|(null==i?3:Math.min(2,i))|(null!=n?n:33554431)<<5)}static range(t,e,i){i=(null!=i?i:33554431)<<5;return ee)throw new RangeError("Selection points outside of document")}let z=0;class B{constructor(t,e,i,n,s){this.combine=t,this.compareInput=e,this.compare=i,this.isStatic=n,this.extensions=s,this.id=z++,this.default=t([])}static define(t={}){return new B(t.combine||(t=>t),t.compareInput||((t,e)=>t===e),t.compare||(t.combine?(t,e)=>t===e:E),!!t.static,t.enables)}of(t){return new V([],this,0,t)}compute(t,e){if(this.isStatic)throw new Error("Can't compute a static facet");return new V(t,this,1,e)}computeN(t,e){if(this.isStatic)throw new Error("Can't compute a static facet");return new V(t,this,2,e)}from(e,i){return i=i||(t=>t),this.compute([e],t=>i(t.field(e)))}}function E(t,i){return t==i||t.length==i.length&&t.every((t,e)=>t===i[e])}class V{constructor(t,e,i,n){this.dependencies=t,this.facet=e,this.type=i,this.value=n,this.id=z++}dynamicSlot(t){var e,i;let n=this.value,s=this.facet.compareInput,r=t[this.id]>>1,o=2==this.type,a=!1,l=!1,h=[];for(i of this.dependencies)"doc"==i?a=!0:"selection"==i?l=!0:0==(1&(null!==(e=t[i.id])&&void 0!==e?e:1))&&h.push(t[i.id]);return(e,t)=>{if(!t||t.reconfigured)return e.values[r]=n(e),1;if(!(a&&t.docChanged||l&&(t.docChanged||t.selection)||h.some(t=>0<(1&J(e,t)))))return 0;var i=n(e),t=t.startState.values[r];return(o?function(e,i,n){if(e.length!=i.length)return!1;for(let t=0;tt===e),t);return t.provide&&(e.provides=t.provide(e)),e}create(t){let e=t.facet(P).find(t=>t.field==this);return((null===e||void 0===e?void 0:e.create)||this.createF)(t)}slot(t){let o=t[this.id]>>1;return(t,e)=>{if(!e)return t.values[o]=this.create(t),1;let i,n=0;var s,r;e.reconfigured?(s=e.startState,r=this.id,r=null==(r=s.config.address[r])?null:r>>1,i=null==r?this.create(e.startState):e.startState.values[r],n=1):i=e.startState.values[o];e=this.updateF(i,e);return n||this.compareF(i,e)||(n=1),n&&(t.values[o]=e),n}}init(t){return[this,P.of({field:this,create:t})]}get extension(){return this}}const N={fallback:3,default:2,extend:1,override:0};function t(e){return t=>new j(t,e)}const I={fallback:t(N.fallback),default:t(N.default),extend:t(N.extend),override:t(N.override)};class j{constructor(t,e){this.inner=t,this.prec=e}}class W{of(t){return new F(this,t)}reconfigure(t){return W.reconfigure.of({compartment:this,extension:t})}get(t){return t.config.compartments.get(this)}}class F{constructor(t,e){this.compartment=t,this.inner=e}}class q{constructor(t,e,i,n,s){for(this.base=t,this.compartments=e,this.dynamicSlots=i,this.address=n,this.staticValues=s,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(t,e,n){let i=[],s=Object.create(null);var r,o,a=new Map;for(r of function(t,a,l){let h=[[],[],[],[]],c=new Map;return function t(e,i){var n=c.get(e);if(null!=n){if(i<=n)return;var s=h[n].indexOf(e);-1t.concat(e))}(t,e,a))(r instanceof R?i:s[r.facet.id]||(s[r.facet.id]=[])).push(r);let l=Object.create(null),h=[],c=[];for(let e of i)l[e.id]=c.length<<1,c.push(t=>e.slot(t));for(o in s){let i=s[o],e=i[0].facet;if(i.every(t=>0==t.type)){l[e.id]=h.length<<1|1;let t=e.combine(i.map(t=>t.value));var d=n?n.config.address[e.id]:null;null!=d&&(d=U(n,d),e.compare(t,d)&&(t=d)),h.push(t)}else{for(let e of i)0==e.type?(l[e.id]=h.length<<1|1,h.push(e.value)):(l[e.id]=c.length<<1,c.push(t=>e.dynamicSlot(t)));l[e.id]=c.length<<1,c.push(t=>function(e,h,t){let c=t.map(t=>e[t.id]),d=t.map(t=>t.type),u=c.filter(t=>!(1&t)),f=e[h.id]>>1;return(e,t)=>{var i,n=t?t.reconfigured?t.startState.config.address[h.id]:f<<1:null;let s=null==n;for(i of u)1&J(e,i)&&(s=!0);if(!s)return 0;let r=[];for(let t=0;tt(l)),l,h)}}function J(t,e){if(1&e)return 2;var i=e>>1,e=t.status[i];if(4==e)throw new Error("Cyclic dependency between fields and/or facets");if(2&e)return e;t.status[i]=4;e=t.config.dynamicSlots[i](t,t.applying);return t.status[i]=2|e}function U(t,e){return(1&e?t.config.staticValues:t.values)[e>>1]}const G=B.define(),K=B.define({combine:t=>t.some(t=>t),static:!0}),X=B.define({combine:t=>t.length?t[0]:void 0,static:!0}),Y=B.define(),Q=B.define(),Z=B.define();class tt{constructor(t,e){this.type=t,this.value=e}static define(){return new et}}class et{of(t){return new tt(this,t)}}class it{constructor(t){this.map=t}of(t){return new nt(this,t)}}class nt{constructor(t,e){this.type=t,this.value=e}map(t){t=this.type.map(this.value,t);return void 0===t?void 0:t==this.value?this:new nt(this.type,t)}is(t){return this.type==t}static define(t={}){return new it(t.map||(t=>t))}static mapEffects(t,e){if(!t.length)return t;let i=[];for(var n of t){n=n.map(e);n&&i.push(n)}return i}}nt.reconfigure=nt.define(),nt.appendConfig=nt.define();class st{constructor(t,e,i,n,s,r){this.startState=t,this.changes=e,this.selection=i,this.effects=n,this.annotations=s,this.scrollIntoView=r,this._doc=null,this._state=null,i&&_(i,e.newLength),s.some(t=>t.type==st.time)||(this.annotations=s.concat(st.time.of(Date.now())))}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(t){for(var e of this.annotations)if(e.type==t)return e.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}}function rt(t,e,i){let n,s,r;return r=i?(n=e.changes,s=k.empty(e.changes.length),t.changes.compose(e.changes)):(n=e.changes.map(t.changes),s=t.changes.mapDesc(e.changes,!0),t.changes.compose(n)),{changes:r,selection:e.selection?e.selection.map(s):null===(i=t.selection)||void 0===i?void 0:i.map(n),effects:nt.mapEffects(t.effects,n).concat(nt.mapEffects(e.effects,s)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function ot(t,e,i){var n=e.selection;return{changes:e.changes instanceof k?e.changes:k.of(e.changes||[],i,t.facet(X)),selection:n&&(n instanceof D?n:D.single(n.anchor,n.head)),effects:ht(e.effects),annotations:ht(e.annotations),scrollIntoView:!!e.scrollIntoView}}function at(e,i,n){let s=ot(e,i.length?i[0]:{},e.doc.length);i.length&&!1===i[0].filter&&(n=!1);for(let t=1;t=s[i]))t=s[i++],e=s[i++];else{if(!(n{if(!/\S/.test(e))return ct.Space;if(function(i){if(ut)return ut.test(i);for(let e=0;enull),n)for(var s in t.address){var r=t.address[s],s=n.startState.config.address[s];null!=s&&0==(1&r)&&(this.values[r>>1]=U(n.startState,s))}(this.applying=n)&&(n._state=this);for(let t=0;tn.set(e,t)),e=null),n.set(s.value.compartment,s.value.extension)):s.is(nt.reconfigure)?(e=null,i=s.value):s.is(nt.appendConfig)&&(e=null,i=ht(i).concat(s.value));new pt(e||q.resolve(i,n,this),t.newDoc,t.newSelection,t)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:D.cursor(t.from+e.length)}))}changeByRange(s){var r=this.selection,t=s(r.ranges[0]);let o=this.changes(t.changes),a=[t.range],l=ht(t.effects);for(let n=1;ne.spec.fromJSON(i,t)))}return pt.create({doc:t.doc,selection:D.fromJSON(t.selection),extensions:e.extensions?s.concat([e.extensions]):s})}static create(t={}){let e=q.resolve(t.extensions||[],new Map);var i=t.doc instanceof u?t.doc:u.of((t.doc||"").split(e.staticFacet(pt.lineSeparator)||b));let n=t.selection?t.selection instanceof D?t.selection:D.single(t.selection.anchor,t.selection.head):D.single(0);return _(n,i.length),e.staticFacet(K)||(n=n.asSingle()),new pt(e,i,n)}get tabSize(){return this.facet(pt.tabSize)}get lineBreak(){return this.facet(pt.lineSeparator)||"\n"}phrase(t){for(var e of this.facet(pt.phrases))if(Object.prototype.hasOwnProperty.call(e,t))return e[t];return t}languageDataAt(t,e){let i=[];for(var n of this.facet(G))for(var s of n(this,e))Object.prototype.hasOwnProperty.call(s,t)&&i.push(s[t]);return i}charCategorizer(t){return ft(this.languageDataAt("wordChars",t).join(""))}wordAt(t){let{text:e,from:i,length:n}=this.doc.lineAt(t),s=this.charCategorizer(t),r=t-i,o=t-i;for(;0t.length?t[0]:4}),pt.lineSeparator=X,pt.phrases=B.define(),pt.languageData=G,pt.changeFilter=Y,pt.transactionFilter=Q,pt.transactionExtender=Z,W.reconfigure=nt.define();const gt="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),vt="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),wt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class bt{constructor(t,e){this.rules=[];let{finish:c}=e||{};function d(t){return/^@/.test(t)?[t]:t.split(/,\s*/)}for(var i in t)!function t(i,e,n,s){let r=[],o=/^@(\w+)\b/.exec(i[0]),a=o&&"keyframes"==o[1];if(o&&null==e)return n.push(i[0]+";");for(var l in e){var h=e[l];if(/&/.test(l))t(l.split(/,\s*/).map(e=>i.map(t=>e.replace(/&/,t))).reduce((t,e)=>t.concat(e)),h,n);else if(h&&"object"==typeof h){if(!o)throw new RangeError("The value of a property ("+l+") should be a primitive value.");t(d(l),h,r,a)}else null!=h&&r.push(l.replace(/_.*/,"").replace(/[A-Z]/g,t=>"-"+t.toLowerCase())+": "+h+";")}(r.length||a)&&n.push((!c||o||s?i:i.map(c)).join(", ")+" {"+r.join(" ")+"}")}(d(i),t[i],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let t=wt[gt]||1;return wt[gt]=t+1,"ͼ"+t.toString(36)}static mount(t,e){(t[vt]||new xt(t)).mount(Array.isArray(e)?e:[e])}}let yt=null;class xt{constructor(e){if(!e.head&&e.adoptedStyleSheets&&"undefined"!=typeof CSSStyleSheet){if(yt)return e.adoptedStyleSheets=[yt.sheet].concat(e.adoptedStyleSheets),e[vt]=yt;this.sheet=new CSSStyleSheet,e.adoptedStyleSheets=[this.sheet].concat(e.adoptedStyleSheets),yt=this}else{this.styleTag=(e.ownerDocument||e).createElement("style");let t=e.head||e;t.insertBefore(this.styleTag,t.firstChild)}this.modules=[],e[vt]=this}mount(n){let s=this.sheet,r=0,o=0;for(let i=0;i>1,l=o[a]-i||(n<0?this.value[a].startSide:this.value[a].endSide)-s;if(a==t)return 0<=l?t:e;0<=l?e=a:t=1+a}}between(i,n,s,r){for(let t=this.findIndex(n,-1),e=this.findIndex(s,1,void 0,t);ts||n==s&&0this.chunkEnd(o.chunkIndex)||so.to||s500<=t.maxPoint||t!=Ct.empty&&i.indexOf(t)<0&&t.maxPoint>=s),o=i.filter(t=>500<=t.maxPoint||t!=Ct.empty&&e.indexOf(t)<0&&t.maxPoint>=s),a=function(t,e){let i=new Map;for(var n of t)for(let t=0;t_t(l,t,h,e,i,n)),t.empty&&0==t.length&&_t(l,0,h,0,0,n)}static spans(t,e,i,n,s=-1){let r=new Dt(t,null,s).goto(e),o=e,a=r.openStart;for(;;){var l=Math.min(r.to,i);if(r.point?(n.point(o,l,r.point,r.activeForPoint(r.to),a),a=r.openEnd(l)+(r.to>l?1:0)):l>o&&(n.span(o,l,r.active,a),a=r.openEnd(l)),r.to>i)break;o=r.to,r.next()}return a}static of(t,e=!1){let i=new Tt;for(var n of t instanceof St?[t]:e?t.slice().sort(Mt):t)i.add(n.from,n.to,n.value);return i.finish()}}Ct.empty=new Ct([],[],null,-1),Ct.empty.nextLayer=Ct.empty;class Tt{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}finishChunk(t){this.chunks.push(new At(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,t&&(this.from=[],this.to=[],this.value=[])}add(t,e,i){this.addInner(t,e,i)||(this.nextLayer||(this.nextLayer=new Tt)).add(t,e,i)}addInner(t,e,i){var n=t-this.lastTo||i.startSide-this.last.endSide;if(n<=0&&(t-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(n<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=t),this.from.push(t-this.chunkStart),this.to.push(e-this.chunkStart),this.last=i,this.lastFrom=t,this.lastTo=e,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,e-t)),!0)}addChunk(t,e){if((t-this.lastTo||e.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,e.maxPoint),this.chunks.push(e),this.chunkPos.push(t);var i=e.value.length-1;return this.last=e.value[i],this.lastFrom=e.from[i]+t,this.lastTo=e.to[i]+t,!0}finish(){return this.finishInner(Ct.empty)}finishInner(t){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return t;t=new Ct(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(t):t,this.setMaxPoint);return this.from=null,t}}class Ht{constructor(t,e,i,n=0){this.layer=t,this.skip=e,this.minPoint=i,this.rank=n}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(t,e=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(t,e,!1),this}gotoInner(t,e,i){for(;this.chunkIndex=this.minPoint)break}}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(t){return this.from-t.from||this.startSide-t.startSide||this.to-t.to||this.endSide-t.endSide}}class Lt{constructor(t){this.heap=t}static from(i,n=null,s=-1){let r=[];for(let e=0;e=s&&r.push(new Ht(t,n,s,e));return 1==r.length?r[0]:new Lt(r)}get startSide(){return this.value?this.value.startSide:0}goto(t,e=-1e9){for(var i of this.heap)i.goto(t,e);for(let t=this.heap.length>>1;0<=t;t--)Ot(this.heap,t);return this.next(),this}forward(t,e){for(var i of this.heap)i.forward(t,e);for(let t=this.heap.length>>1;0<=t;t--)Ot(this.heap,t);(this.to-t||this.value.endSide-e)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let t=this.heap[0];this.from=t.from,this.to=t.to,this.value=t.value,this.rank=t.rank,t.value&&t.next(),Ot(this.heap,0)}}}function Ot(n,s){for(let i=n[s];;){let t=1+(s<<1);if(t>=n.length)break;let e=n[t];if(t+1e){this.to=this.activeTo[s],this.endSide=this.active[s].endSide;break}this.removeActive(s),i&&$t(i,s)}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}s=this.cursor.value;if(s.point){if(!(t&&this.cursor.to==this.to&&this.cursor.frome&&this.forward(this.to,this.endSide);break}this.cursor.next()}else this.addActive(i),this.cursor.next()}}if(i){let t=0;for(;tthis.pointRank);t++)(this.activeTo[t]>e||this.activeTo[t]==e&&this.active[t].endSide>this.point.endSide)&&i.push(this.active[t]);return i}openEnd(t){let e=0;for(;et;)e++;return e}}function _t(t,e,i,n,s,r){t.goto(e),i.goto(n);var o=n+s;let a=n,l=n-e;for(;;){var h=t.to+l-i.to||t.endSide-i.endSide,c=h<0?t.to+l:i.to,d=Math.min(c,o);if(t.point||i.point?t.point&&i.point&&(t.point==i.point||t.point.eq(i.point))||r.comparePoint(a,d,t.point,i.point):d>a&&!function(e,i){if(e.length!=i.length)return!1;for(let t=0;t=i;t--)e[t+1]=e[t];e[i]=t}function Bt(e,i){let n=-1,s=1e9;for(let t=0;t",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"',229:"Q"},Pt="undefined"!=typeof navigator&&/Chrome\/(\d+)/.exec(navigator.userAgent),Rt="undefined"!=typeof navigator&&/Apple Computer/.test(navigator.vendor),Nt="undefined"!=typeof navigator&&/Gecko\/\d+/.test(navigator.userAgent),It="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),jt="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Wt=Pt&&(It||+Pt[1]<57)||Nt&&It,Ft=0;Ft<10;Ft++)Et[48+Ft]=Et[96+Ft]=String(Ft);for(Ft=1;Ft<=24;Ft++)Et[Ft+111]="F"+Ft;for(var qt,Ft=65;Ft<=90;Ft++)Et[Ft]=String.fromCharCode(Ft+32),Vt[Ft]=String.fromCharCode(Ft);for(qt in Et)Vt.hasOwnProperty(qt)||(Vt[qt]=Et[qt]);function Jt(t){return(t.getSelection?t:document).getSelection()}function Ut(t,e){return!!e&&t.contains(1!=e.nodeType?e.parentNode:e)}function Gt(t,e){if(!e.anchorNode)return!1;try{return Ut(t,e.anchorNode)}catch(t){return!1}}function Kt(t){return 3==t.nodeType?oe(t,0,t.nodeValue.length).getClientRects():1==t.nodeType?t.getClientRects():[]}function Xt(t,e,i,n){return i&&(Qt(t,e,i,n,-1)||Qt(t,e,i,n,1))}function Yt(t){for(var e=0;;e++)if(!(t=t.previousSibling))return e}function Qt(t,e,i,n,s){for(;;){if(t==i&&e==n)return!0;if(e==(s<0?0:Zt(t))){if("DIV"==t.nodeName)return!1;var r=t.parentNode;if(!r||1!=r.nodeType)return!1;e=Yt(t)+(s<0?0:1),t=r}else{if(1!=t.nodeType)return!1;t=t.childNodes[e+(s<0?-1:0)],e=s<0?Zt(t):0}}}function Zt(t){return(3==t.nodeType?t.nodeValue:t.childNodes).length}const te={left:0,right:0,top:0,bottom:0};function ee(t,e){e=e?t.left:t.right;return{left:e,right:e,top:t.top,bottom:t.bottom}}class ie{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(t){return this.anchorNode==t.anchorNode&&this.anchorOffset==t.anchorOffset&&this.focusNode==t.focusNode&&this.focusOffset==t.focusOffset}set(t){this.anchorNode=t.anchorNode,this.anchorOffset=t.anchorOffset,this.focusNode=t.focusNode,this.focusOffset=t.focusOffset}}let ne=null;function se(e){if(e.setActive)return e.setActive();if(ne)return e.focus(ne);let s=[];for(let t=e;t&&(s.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(e.focus(null==ne?{get preventScroll(){return ne={preventScroll:!0},!0}}:void 0),!ne){ne=!1;for(let n=0;no&&t.dom.parentNode==this.dom){h=i,c=s;break}s=e,n=e+t.breakAfter}return{from:l,to:c<0?t+this.length:c,startDOM:(a?this.children[a-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:hthis.pos||t==this.pos&&(0t.width)||a),o?ee(a,o<0):a}class He extends Me{constructor(t,e,i){super(),this.widget=t,this.length=e,this.side=i}static create(t,e,i){return new(t.customView||He)(t,e,i)}slice(t){return He.create(this.widget,this.length-t,this.side)}sync(){this.dom&&this.widget.updateDOM(this.dom)||(this.setDOM(this.widget.toDOM(this.editorView)),this.dom.contentEditable="false")}getSide(){return this.side}merge(t,e,i,n,s){return!(i&&(!(i instanceof He&&this.widget.compare(i.widget))||0i&&rt?i[s]=Math.max(i[s],e):i.push(t,e)}Ie.prototype.point=!0;class Fe extends he{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(t,e,i,n,s,r){if(i){if(!(i instanceof Fe))return!1;this.dom||i.transferDOM(this)}return n&&this.setDeco(i?i.attrs:null),Oe(this,t,e,i?i.children:qe,s,r),!0}split(t){let e=new Fe;if(e.breakAfter=this.breakAfter,0==this.length)return e;let{i,off:n}=this.childPos(t);n&&(e.append(this.children[i].slice(n),0),this.children[i].merge(n,this.children[i].length,null,0,0),i++);for(let t=i;t!t.length||t[0]});class si{constructor(t,e){this.field=t,this.get=e}}class ri{from(t){return new si(this,t)}static define(){return new ri}}ri.decorations=ri.define(),ri.scrollMargins=ri.define();let oi=0;const ai=B.define();class li{constructor(t,e,i){this.id=t,this.create=e,this.fields=i,this.extension=ai.of(this)}static define(t,e){let{eventHandlers:i,provide:n,decorations:s}=e||{},r=[];if(n)for(var o of Array.isArray(n)?n:[n])r.push(o);return i&&r.push(hi.from(t=>({plugin:t,handlers:i}))),s&&r.push(ri.decorations.from(s)),new li(oi++,t,r)}static fromClass(e,t){return li.define(t=>new e(t),t)}}const hi=ri.define();class ci{constructor(t){this.spec=t,this.mustUpdate=null,this.value=null}takeField(t,e){for(var{field:i,get:n}of this.spec.fields)i==t&&e.push(n(this.value))}update(e){if(this.value){if(this.mustUpdate){var i=this.mustUpdate;if(this.mustUpdate=null,!this.value.update)return this;try{this.value.update(i)}catch(t){if(ii(i.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(t){}return ci.dummy}}}else try{this.value=this.spec.create(e)}catch(t){return ii(e.state,t,"CodeMirror plugin crashed"),ci.dummy}return this}destroy(e){var t;if(null!==(t=this.value)&&void 0!==t&&t.destroy)try{this.value.destroy()}catch(t){ii(e.state,t,"CodeMirror plugin crashed")}}}ci.dummy=new ci(li.define(()=>({})));const di=B.define({combine:t=>t.reduce((t,e)=>$e(e,t),{})}),ui=B.define({combine:t=>t.reduce((t,e)=>$e(e,t),{})}),fi=B.define(),pi=B.define();class mi{constructor(t,e,i,n){this.fromA=t,this.toA=e,this.fromB=i,this.toB=n}join(t){return new mi(Math.min(this.fromA,t.fromA),Math.max(this.toA,t.toA),Math.min(this.fromB,t.fromB),Math.max(this.toB,t.toB))}addToSet(t){let e=t.length,i=this;for(;0i.toA)){if(n.toAs.push(new mi(t,e,i,n))),this.changedRanges=s;i=t.hasFocus;i!=t.inputState.notifiedFocused&&(t.inputState.notifiedFocused=i,this.flags|=1),this.docChanged&&(this.flags|=2)}get viewportChanged(){return 0<(4&this.flags)}get heightChanged(){return 0<(2&this.flags)}get geometryChanged(){return this.docChanged||0<(18&this.flags)}get focusChanged(){return 0<(1&this.flags)}get docChanged(){return this.transactions.some(t=>t.docChanged)}get selectionSet(){return this.transactions.some(t=>t.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}}class vi extends he{constructor(t){super(),this.view=t,this.compositionDeco=Pe.none,this.decorations=[],this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.setDOM(t.contentDOM),this.children=[new Fe],this.children[0].setParent(this),this.updateInner([new mi(0,0,0,t.state.doc.length)],this.updateDeco(),0)}get root(){return this.view.root}get editorView(){return this.view}get length(){return this.view.state.doc.length}update(t){let e=t.changedRanges;0ethis.minWidthTo)?(this.minWidthFrom=t.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=t.changes.mapPos(this.minWidthTo,1)):this.minWidth=0),this.view.inputState.composing<0?this.compositionDeco=Pe.none:t.transactions.length&&(this.compositionDeco=function(t,e){var i=t.observer.selectionRange,i=i.focusNode&&yi(i.focusNode,i.focusOffset,0);if(!i)return Pe.none;let n=t.docView.nearest(i),s,r,o=i;if(n instanceof Me){for(;n.parent instanceof Me;)n=n.parent;s=n.posAtStart,r=s+n.length,o=n.dom}else{if(!(n instanceof Fe))return Pe.none;{for(;o.parentNode!=n.dom;)o=o.parentNode;let t=o.previousSibling;for(;t&&!he.get(t);)t=t.previousSibling;s=r=t?he.get(t).posAtEnd:n.posAtStart}}let a=e.mapPos(s,1),l=Math.max(a,e.mapPos(r,-1)),h=i.nodeValue,{state:c}=t;if(l-a"pointerselection"==t.annotation(st.userEvent));return 0==this.dirty&&0==e.length&&!(12&t.flags)&&t.state.selection.main.from>=this.view.viewport.from&&t.state.selection.main.to<=this.view.viewport.to?(this.updateSelection(r,o),!1):(this.updateInner(e,a,t.startState.doc.length,r,o),!0)}updateInner(t,e,i,n=!1,s=!1){this.updateChildren(t,e,i),this.view.observer.ignore(()=>{this.dom.style.height=this.view.viewState.domHeight+"px",this.dom.style.minWidth=this.minWidth?this.minWidth+"px":"";var t=ke.chrome?{node:Jt(this.view.root).focusNode,written:!1}:void 0;this.sync(t),this.dirty=0,null!=t&&t.written&&(n=!0),this.updateSelection(n,s),this.dom.style.height=""})}updateChildren(e,i,t){let n=this.childCursor(t);for(let t=e.length-1;;t--){var s=0<=t?e[t]:null;if(!s)break;var{fromA:r,toA:o,fromB:a,toB:l}=s,{content:h,breakAtStart:c,openStart:d,openEnd:s}=Ue.build(this.view.state.doc,a,l,i),{i:a,off:l}=n.findPos(o,1),{i:o,off:r}=n.findPos(r,-1);this.replaceRange(o,r,a,l,h,c,d,s)}}replaceRange(e,i,n,s,r,o,a,l){let h=this.children[e],c=r.length?r[r.length-1]:null;var d=c?c.breakAfter:o;if(e!=n||o||d||!(r.length<2)||!h.merge(i,s,r.length?c:null,0==i,a,l)){let t=this.children[n];for(ss.node.insertBefore(t,s.node.childNodes[s.offset]||null)),s=r=new ae(t,0),e=!0}let o=this.view.observer.selectionRange;!(e||!o.focusNode||ke.gecko&&n.empty&&xi(o.focusNode,o.focusOffset))&&Xt(s.node,s.offset,o.anchorNode,o.anchorOffset)&&Xt(r.node,r.offset,o.focusNode,o.focusOffset)||(this.view.observer.ignore(()=>{let e=Jt(this.root);var t,i;if(n.empty)ke.gecko&&(!(t=xi(s.node,s.offset))||3==t||(i=yi(s.node,s.offset,1==t?1:-1))&&(s=new ae(i,1==t?0:i.nodeValue.length))),e.collapse(s.node,s.offset),null!=n.bidiLevel&&null!=o.cursorBidiLevel&&(o.cursorBidiLevel=n.bidiLevel);else if(e.extend)e.collapse(s.node,s.offset),e.extend(r.node,r.offset);else{let t=document.createRange();n.anchor>n.head&&([s,r]=[r,s]),t.setEnd(r.node,r.offset),t.setStart(s.node,s.offset),e.removeAllRanges(),e.addRange(t)}}),this.view.observer.setSelectionRange(s,r)),this.impreciseAnchor=s.precise?null:new ae(o.anchorNode,o.anchorOffset),this.impreciseHead=r.precise?null:new ae(o.focusNode,o.focusOffset)}}enforceCursorAssoc(){var t,e,i=this.view.state.selection.main;let n=Jt(this.root);i.empty&&i.assoc&&n.modify&&((e=Fe.find(this,i.head))&&(t=e.posAtStart,i.head!=t&&i.head!=t+e.length&&(t=this.coordsAt(i.head,-1),e=this.coordsAt(i.head,1),!t||!e||t.bottom>e.top||(e=this.domAtPos(i.head+i.assoc),n.collapse(e.node,e.offset),n.modify("move",i.assoc<0?"forward":"backward","lineboundary")))))}mayControlSelection(){return this.view.state.facet(ni)?this.root.activeElement==this.dom:Gt(this.dom,this.view.observer.selectionRange)}nearest(e){for(let t=e;t;){var i=he.get(t);if(i&&i.rootView==this)return i;t=t.parentNode}return null}posFromDOM(t,e){let i=this.nearest(t);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(t,e)+i.posAtStart}domAtPos(t){let{i:e,off:i}=this.childCursor().findPos(t,-1);for(;e=r&&(s.push(t.dom.getBoundingClientRect().height),(l=t.dom.scrollWidth)>a&&(this.minWidth=a=l,this.minWidthFrom=i,this.minWidthTo=e)),i=e+t.breakAfter}return s}measureTextSize(){for(var t of this.children)if(t instanceof Fe){t=t.measureTextSize();if(t)return t}let e=document.createElement("div"),i,n;return e.className="cm-line",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);var t=Kt(e.firstChild)[0];i=e.getBoundingClientRect().height,n=t?t.width/27:7,e.remove()}),{lineHeight:i,charWidth:n}}childCursor(t=this.length){let e=this.children.length;return e&&(t-=this.children[--e].length),new de(this.children,t,e)}computeBlockGapDeco(){let i=[],n=this.view.viewState;for(let t=0,e=0;;e++){var s,r=e==n.viewports.length?null:n.viewports[e],o=r?r.from-1:this.length;if(o>t&&(s=n.lineAt(o,0).bottom-n.lineAt(t,0).top,i.push(Pe.replace({widget:new wi(s),block:!0,inclusive:!0}).range(t,o))),!r)break;t=r.to+1}return Pe.set(i)}updateDeco(){return this.decorations=[this.computeBlockGapDeco(),this.view.viewState.lineGapDeco,this.compositionDeco,...this.view.state.facet(fi),...this.view.pluginField(ri.decorations)]}scrollPosIntoView(t,s){var r,o,a,s=this.coordsAt(t,s);if(s){let t=0,e=0,i=0,n=0;for(var l of this.view.pluginField(ri.scrollMargins))l&&({left:r,right:o,top:a,bottom:l}=l,null!=r&&(t=Math.max(t,r)),null!=o&&(e=Math.max(e,o)),null!=a&&(i=Math.max(i,a)),null!=l&&(n=Math.max(n,l)));!function(t,r){let e=t.ownerDocument,o=e.defaultView;for(let s=t.parentNode;s;)if(1==s.nodeType){let t,e=s==document.body;if(e)t={left:0,right:(l=o).innerWidth,top:0,bottom:l.innerHeight};else{if(s.scrollHeight<=s.clientHeight&&s.scrollWidth<=s.clientWidth){s=s.parentNode;continue}l=s.getBoundingClientRect();t={left:l.left,right:l.left+s.clientWidth,top:l.top,bottom:l.top+s.clientHeight}}let i=0,n=0;var a;if(r.topt.bottom&&(n=r.bottom-t.bottom+5),r.leftt.right&&(i=r.right-t.right+5),(i||n)&&(e?o.scrollBy(i,n):(n&&(a=s.scrollTop,s.scrollTop+=n,n=s.scrollTop-a),i&&(a=s.scrollLeft,s.scrollLeft+=i,i=s.scrollLeft-a),r={left:r.left-i,top:r.top-n,right:r.right-i,bottom:r.bottom-n})),e)break;s=s.assignedSlot||s.parentNode}else{if(11!=s.nodeType)break;s=s.host}var l}(this.dom,{left:s.left-t,top:s.top-i,right:s.right+e,bottom:s.bottom+n})}}}class wi extends Ee{constructor(t){super(),this.height=t}toDOM(){var t=document.createElement("div");return this.updateDOM(t),t}eq(t){return t.height==this.height}updateDOM(t){return t.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}}class bi extends Ee{constructor(t,e){super(),this.top=t,this.text=e}eq(t){return this.top==t.top&&this.text==t.text}toDOM(){return this.top}ignoreEvent(){return!1}get customView(){return Le}}function yi(t,e,i){for(;;){if(3==t.nodeType)return t;if(1==t.nodeType&&0=i){if(o.level==n)return t;(r<0||(0!=s?s<0?o.fromi:e[r].level>o.level))&&(r=t)}}if(r<0)throw new RangeError("Index out of range");return r}}const Ei=[];function Vi(o,t){var s,a=o.length,l=t==Ai?1:2,h=t==Ai?2:1;if(!o||1==l&&!zi.test(o))return Pi(a);for(let e=0,i=l,n=l;ep;){for(var g=t,v=2!=Ei[--t];t>p&&v==(2!=Ei[t-1]);)t--;i.push(new Bi(t,g,v?2:1))}else i.push(new Bi(p,e,0))}else for(let t=0;te.top+1}function Ii(t,e){return et.bottom?{top:t.top,left:t.left,right:t.right,bottom:e}:t}function Wi(t,n,s){let r,o,a,l,h,c,d,u;for(let i=t.firstChild;i;i=i.nextSibling){var f=Kt(i);for(let e=0;eg?m.left-g:Math.max(0,g-m.right)),m=(g=s,(m=t).top>g?m.top-g:Math.max(0,g-m.bottom));if(0==p&&0==m)return(3==i.nodeType?Fi:Wi)(i,n,s);(!r||l>m||l==m&&a>p)&&(r=i,o=t,a=p,l=m),0==p?s>t.bottom&&(!d||d.bottomt.top)&&(c=i,u=t):d&&Ni(d,t)?d=ji(d,t.bottom):u&&Ni(u,t)&&(u=Ii(u,t.top))}}var g,m;if(d&&d.bottom>=s?(r=h,o=d):u&&u.top<=s&&(r=c,o=u),!r)return{node:t,offset:0};var e=Math.max(o.left,Math.min(o.right,n));return 3==r.nodeType?Fi(r,e,s):a||"true"!=r.contentEditable?{node:t,offset:Array.prototype.indexOf.call(t.childNodes,r)+(n>=(o.left+o.right)/2?1:0)}:Wi(r,e,s)}function Fi(n,s,e){var t=n.nodeValue.length;let r=-1,o=1e9,a=0;for(let i=0;ie?h.top-e:e-h.bottom)-1;if(h.left-1<=s&&h.right+1>=s&&c=(h.left+h.right)/2,e=t;if((ke.chrome||ke.gecko)&&oe(n,i).getBoundingClientRect().left==h.right&&(e=!t),c<=0)return{node:n,offset:i+(e?1:0)};r=i+(e?1:0),o=c}}}}return{node:n,offset:-1i||r.bottomi?-1:1,i=Math.min(r.bottom-o,Math.max(r.top+o,i)),t)return-1;t=!0}if(r.type==Ve.Text)break;i=0e.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:null;t=Math.max(s.left+1,Math.min(s.right-1,t));let h=e.root,c=h.elementFromPoint(t,i),d,u=-1;return!c||!e.contentDOM.contains(c)||e.docView.nearest(c)instanceof He||(h.caretPositionFromPoint?(a=h.caretPositionFromPoint(t,i))&&({offsetNode:d,offset:u}=a):!h.caretRangeFromPoint||(a=h.caretRangeFromPoint(t,i))&&({startContainer:d,startOffset:u}=a,ke.safari&&function(e,t,i){let n;if(3!=e.nodeType||t!=(n=e.nodeValue.length))return!1;for(let t=e.nextSibling;t;t=e.nextSibling)if(1!=t.nodeType||"BR"!=t.nodeName)return!1;return oe(e,n-1,n).getBoundingClientRect().left>i}(d,u,t)&&(d=void 0))),d&&e.docView.dom.contains(d)||(l=Fe.find(e.docView,l),{node:d,offset:u}=Wi(l.dom,t,i)),e.docView.posFromDOM(d,u)}function Ji(s,t,r,o){let a=s.state.doc.lineAt(t.head),l=s.bidiSpans(a);for(let i=t,n=null;;){let t=function(t,e,i,n,s){let r=n.head-t.from,o=-1;if(0==r){if(!s||!t.length)return null;e[0].level!=i&&(r=e[0].side(!1,i),o=0)}else if(r==t.length){if(s)return null;let t=e[e.length-1];t.level!=i&&(r=t.side(!0,i),o=e.length-1)}o<0&&(o=Bi.find(e,r,null!==(l=n.bidiLevel)&&void 0!==l?l:-1,n.assoc));let a=e[o];r==a.side(s,i)&&(a=e[o+=s?1:-1],r=a.side(!s,i));var l=s==(a.dir==i),n=S(t.text,r,l);if(Ri=t.text.slice(Math.min(r,n),Math.max(r,n)),n!=a.side(s,i))return D.cursor(n+t.from,l?-1:1,a.level);let h=o==(s?e.length-1:0)?null:e[o+(s?1:-1)];return h||a.level==i?h&&h.level>1;for(let t=r<0?o.top:o.bottom,e=0;e<50;e+=10){var d=qi(i,{x:h,y:t+(c+e)*r},r);if(null==d)break;if(d!=s)return D.cursor(d,void 0,void 0,l)}}let{doc:u}=i.state,f=u.lineAt(s),p=i.state.tabSize,m=t.goalColumn,g=0;if(null==m){for(const x=u.iterRange(f.from,s);!x.next().done;)g=M(x.value,g,p);m=g*i.defaultCharacterWidth}else g=Math.round(m/i.defaultCharacterWidth);if(r<0&&0==f.from)return D.cursor(0);if(0=g&&!k.next().done;){var{offset:b,leftOver:y}=function(e,i,n,s){for(let t=0;t{"keydown"==i&&this.keydown(n,t)||Yi(n,t)&&!this.ignoreDuringComposition(t)&&(this.mustFlushObserver(t)&&n.observer.forceFlush(),this.runCustomHandlers(i,n,t)?t.preventDefault():e(n,t))}),this.registeredEvents.push(i)}this.notifiedFocused=n.hasFocus,this.ensureHandlers(n)}setSelectionOrigin(t){this.lastSelectionOrigin=t,this.lastSelectionTime=Date.now()}ensureHandlers(i){var t;for(t of this.customHandlers=i.pluginField(hi))for(let e in t.handlers)this.registeredEvents.indexOf(e)<0&&"scroll"!=e&&(this.registeredEvents.push(e),i.contentDOM.addEventListener(e,t=>{Yi(i,t)&&this.runCustomHandlers(e,i,t)&&t.preventDefault()}))}runCustomHandlers(i,n,s){for(var r of this.customHandlers){let t=r.handlers[i],e=!1;if(t){try{e=t.call(r.plugin,s,n)}catch(t){ii(n.state,t)}if(e||s.defaultPrevented)return ke.android&&"keydown"==i&&13==s.keyCode&&n.observer.flushSoon(),!0}}return!1}runScrollHandlers(e,i){for(var n of this.customHandlers){let t=n.handlers.scroll;if(t)try{t.call(n.plugin,i,e)}catch(t){ii(e.state,t)}}}keydown(t,e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),!this.screenKeyEvent(t,e))return!(!ke.ios||13!=e.keyCode&&8!=e.keyCode||e.ctrlKey||e.altKey||e.metaKey||e.synthetic)&&(this[13==e.keyCode?"lastIOSEnter":"lastIOSBackspace"]=Date.now(),!0)}ignoreDuringComposition(t){return!!/^key/.test(t.type)&&(0=e.clientX&&r.top<=e.clientY&&r.bottom>=e.clientY)return!0}return!1}(e,i)&&null,!1===this.dragging&&(i.preventDefault(),this.select(i))}move(t){if(0==t.buttons)return this.destroy();!1===this.dragging&&this.select(t)}up(t){null==this.dragging&&this.select(this.startEvent),this.dragging||t.preventDefault(),this.destroy()}destroy(){let t=this.view.contentDOM.ownerDocument;t.removeEventListener("mousemove",this.move),t.removeEventListener("mouseup",this.up),this.inputState.mouseSelection=null}select(t){let e=this.style.get(t,this.extend,this.multiple);e.eq(this.view.state.selection)&&e.main.assoc==this.view.state.selection.main.assoc||this.view.dispatch({selection:e,annotations:st.userEvent.of("pointerselection"),scrollIntoView:!0})}update(t){t.docChanged&&this.dragging&&(this.dragging=this.dragging.map(t.changes)),this.style.update(t)}}function Yi(i,n){if(!n.bubbles)return 1;if(!n.defaultPrevented){for(let t=n.target,e;t!=i.contentDOM;t=t.parentNode)if(!t||11==t.nodeType||(e=he.get(t))&&e.ignoreEvent(n))return;return 1}}const Qi=Object.create(null),Zi=ke.ie&&ke.ie_version<15||ke.ios&&ke.webkit_version<604;function tn(t,s){let{state:r}=t,e,o=1,a=r.toText(s),l=a.lines==r.selection.ranges.length;if(dn&&r.selection.ranges.every(t=>t.empty)&&dn==a.toString()){let n=-1;e=r.changeByRange(t=>{var e=r.doc.lineAt(t.from);if(e.from==n)return{range:t};n=e.from;var i=r.toText((l?a.line(o++).text:s)+r.lineBreak);return{changes:{from:e.from,insert:i},range:D.cursor(t.from+i.length)}})}else e=l?r.changeByRange(t=>{var e=a.line(o++);return{changes:{from:t.from,to:t.to,insert:e.text},range:D.cursor(t.from+e.length)}}):r.replaceSelection(a);t.dispatch(e,{annotations:st.userEvent.of("paste"),scrollIntoView:!0})}Qi.keydown=(t,e)=>{t.inputState.setSelectionOrigin("keyboardselection")};let en=0;function nn(i,n,s,t){if(1==t)return D.cursor(n,s);if(2==t)return function(t,e,i=1){let n=t.charCategorizer(e),s=t.doc.lineAt(e),r=e-s.from;if(0==s.length)return D.cursor(e);0==r?i=1:r==s.length&&(i=-1);let o=r,a=r;i<0?o=S(s.text,r,!1):a=S(s.text,r);for(var l=n(s.text.slice(o,a));0{en=Date.now(),t.inputState.setSelectionOrigin("pointerselection")},Qi.touchmove=t=>{t.inputState.setSelectionOrigin("pointerselection")},Qi.mousedown=(e,i)=>{if(e.observer.flush(),!(en>Date.now()-2e3)){let t=null;for(var n of e.state.facet(Qe))if(t=n(e,i),t)break;t||0!=i.button||(t=function(o,t){let a=on(o,t),l=function(t){if(!an)return t.detail;var e=ln,i=cn;return ln=t,cn=Date.now(),hn=!e||i>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(hn+1)%3:1}(t),h=o.state.selection,c=a,d=t;return{update(t){t.changes&&(a&&(a.pos=t.changes.mapPos(a.pos)),h=h.map(t.changes))},get(t,e,i){let n;if(t.clientX==d.clientX&&t.clientY==d.clientY?n=c:(n=c=on(o,t),d=t),!n||!a)return h;let s=nn(o,n.pos,n.bias,l);var r;return a.pos==n.pos||e||(r=nn(o,a.pos,a.bias,l),t=Math.min(r.from,s.from),r=Math.max(r.to,s.to),s=tse(e.contentDOM)),e.inputState.startMouseSelection(e,i,t))}};let sn=(t,e)=>t>=e.top&&t<=e.bottom,rn=(t,e,i)=>sn(e,i)&&t>=i.left&&t<=i.right;function on(t,e){var i=t.posAtCoords({x:e.clientX,y:e.clientY});return null==i?null:{pos:i,bias:function(t,e,i,n){let s=Fe.find(t.docView,e);return s&&0!=(t=e-s.posAtStart)&&(t==s.length||(e=s.coordsAt(t,-1))&&rn(i,n,e)||(!(t=s.coordsAt(t,1))||!rn(i,n,t))&&e&&sn(n,e))?-1:1}(t,i,e.clientX,e.clientY)}}const an=ke.ie&&ke.ie_version<=11;let ln=null,hn=0,cn=0;Qi.dragstart=(t,e)=>{var{selection:{main:i}}=t.state;let{mouseSelection:n}=t.inputState;n&&(n.dragging=i),e.dataTransfer&&(e.dataTransfer.setData("Text",t.state.sliceDoc(i.from,i.to)),e.dataTransfer.effectAllowed="copyMove")},Qi.drop=(e,i)=>{if(i.dataTransfer&&e.state.facet(ni)){var n=e.posAtCoords({x:i.clientX,y:i.clientY}),s=i.dataTransfer.getData("Text");if(null!=n&&s){i.preventDefault();var{mouseSelection:i}=e.inputState,i=i&&i.dragging&&i.dragMove?{from:i.dragging.from,to:i.dragging.to}:null,s={from:n,insert:s};let t=e.state.changes(i?[i,s]:s);e.focus(),e.dispatch({changes:t,selection:{anchor:t.mapPos(n,-1),head:t.mapPos(n,1)},annotations:st.userEvent.of("drop")})}}},Qi.paste=(e,i)=>{if(e.state.facet(ni)){e.observer.flush();let t=Zi?null:i.clipboardData;var n=t&&t.getData("text/plain");n?(tn(e,n),i.preventDefault()):function(e){let i=e.dom.parentNode;if(i){let t=i.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{e.focus(),t.remove(),tn(e,t.value)},50)}}(e)}};let dn=null;function un(t){t.docView.compositionDeco.size&&t.update([])}Qi.copy=Qi.cut=(e,i)=>{var{text:n,ranges:s,linewise:r}=function(e){let i=[],n=[],s=!1;for(var t of e.selection.ranges)t.empty||(i.push(e.sliceDoc(t.from,t.to)),n.push(t));if(!i.length){let t=-1;for(var{from:r}of e.selection.ranges){r=e.doc.lineAt(r);r.number>t&&(i.push(r.text),n.push({from:r.from,to:Math.min(e.doc.length,r.to+1)})),t=r.number}s=!0}return{text:i.join(e.lineBreak),ranges:n,linewise:s}}(e.state);if(n){dn=r?n:null;let t=Zi?null:i.clipboardData;t?(i.preventDefault(),t.clearData(),t.setData("text/plain",n)):function(e,i){let n=e.dom.parentNode;if(n){let t=n.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.value=i,t.focus(),t.selectionEnd=i.length,t.selectionStart=0,setTimeout(()=>{t.remove(),e.focus()},50)}}(e,n),"cut"==i.type&&e.state.facet(ni)&&e.dispatch({changes:s,scrollIntoView:!0,annotations:st.userEvent.of("cut")})}},Qi.focus=Qi.blur=t=>{setTimeout(()=>{t.hasFocus!=t.inputState.notifiedFocused&&t.update([])},10)},Qi.beforeprint=t=>{t.viewState.printing=!0,t.requestMeasure(),setTimeout(()=>{t.viewState.printing=!1,t.requestMeasure()},2e3)},Qi.compositionstart=Qi.compositionupdate=t=>{t.inputState.composing<0&&(t.docView.compositionDeco.size&&(t.observer.flush(),un(t)),t.inputState.composing=0)},Qi.compositionend=t=>{t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),setTimeout(()=>{t.inputState.composing<0&&un(t)},50)},Qi.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};const fn=["pre-wrap","normal","pre-line"];class pn{constructor(){this.doc=u.empty,this.lineWrapping=!1,this.direction=Mi.LTR,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.lineLength=30,this.heightChanged=!1}heightForGap(t,e){let i=this.doc.lineAt(e).number-this.doc.lineAt(t).number+1;return this.lineWrapping&&(i+=Math.ceil((e-t-i*this.lineLength*.5)/this.lineLength)),this.lineHeight*i}heightForLine(t){return this.lineWrapping?(1+Math.max(0,Math.ceil((t-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(t){return this.doc=t,this}mustRefresh(e,t,i){let n=!1;for(let t=0;t=e?s:c.lineAt(e,vn.ByPosNoHeight,a,0,0);for(n+=d.to-e,e=d.to;02*s){var o=t[e-1];o.break?t.splice(--e,1,o.left,null,o.right):t.splice(--e,1,o.left,o.right),i+=1+o.break,n-=o.size}else{if(!(s>2*n))break;o=t[i];o.break?t.splice(i,1,o.left,null,o.right):t.splice(i,1,o.left,o.right),i+=2+o.break,s-=o.size}else nt&&e.push(new xn(s.from-t-1).updateHeight(n,t));i<=r&&s.more;){var o=n.doc.lineAt(i).length;e.length&&e.push(null);let t=new yn(o,s.heights[s.index++]);t.outdated=!1,e.push(t),i+=o+1}return i<=r&&e.push(null,new xn(r-i).updateHeight(n,i)),n.heightChanged=!0,wn.of(e)}return(e||this.outdated)&&(this.setHeight(n,n.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class kn extends wn{constructor(t,e,i){super(t.length+e+i.length,t.height+i.height,e|(t.outdated||i.outdated?2:0)),this.left=t,this.right=i,this.size=t.size+i.size}get break(){return 1&this.flags}blockAt(t,e,i,n){var s=i+this.left.height;return to))return l;e=e==vn.ByPosNoHeight?vn.ByPosNoHeight:vn.ByPos;return a?l.join(this.right.lineAt(o,e,i,r,o)):this.left.lineAt(o,e,i,n,s).join(l)}forEachLine(t,e,i,n,s,r){var o,a=n+this.left.height,l=s+this.left.length+this.break;this.break?(t=t&&o.from<=e&&r(o),e>o.to&&this.right.forEachLine(o.to+1,e,i,a,l,r))}replace(t,e,i){var n=this.left.length+this.break;if(ethis.left.length)return this.balanced(this.left,this.right.replace(t-n,e-n,i));let s=[];0=i&&e.push(null)),t>i&&this.right.decomposeLeft(t-i,e)}decomposeRight(t,e){var i=this.left.length,n=i+this.break;if(n<=t)return this.right.decomposeRight(t-n,e);t2*e.size||e.size>2*t.size?wn.of(this.break?[t,null,e]:[t,e]):(this.left=t,this.right=e,this.height=t.height+e.height,this.outdated=t.outdated||e.outdated,this.size=t.size+e.size,this.length=t.length+this.break+e.length,this)}updateHeight(t,e=0,i=!1,n){let{left:s,right:r}=this,o=e+s.length+this.break,a=null;return n&&n.from<=e+s.length&&n.more?a=s=s.updateHeight(t,e,i,n):s.updateHeight(t,e,i),n&&n.from<=o+r.length&&n.more?a=r=r.updateHeight(t,o,i,n):r.updateHeight(t,o,i),a?this.balanced(s,r):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Sn(t,e){let i,n;null==t[e]&&(i=t[e-1])instanceof xn&&(n=t[e+1])instanceof xn&&t.splice(e-1,3,new xn(i.length+1+n.length))}class Mn{constructor(t,e){this.pos=t,this.oracle=e,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=t}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(t,i){if(-1this.pos||!this.isCovered)&&this.nodes.push(new yn(t-this.pos,-1)),(this.writtenTo=t)t&&this.nodes.push(new yn(this.pos-t,-1)),this.writtenTo=this.pos)}blankContent(t,e){let i=new xn(e-t);return this.oracle.doc.lineAt(t).to==e&&(i.flags|=4),i}ensureLine(){this.enterLine();var t=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(t instanceof yn)return t;t=new yn(0,-1);return this.nodes.push(t),t}addBlock(t){this.enterLine(),t.type!=Ve.WidgetAfter||this.isCovered||this.ensureLine(),this.nodes.push(t),this.writtenTo=this.pos=this.pos+t.length,t.type!=Ve.WidgetBefore&&(this.covering=t)}addLineDeco(t,e){let i=this.ensureLine();i.length+=e,i.collapsed+=e,i.widgetHeight=Math.max(i.widgetHeight,t),this.writtenTo=this.pos=this.pos+e}finish(t){var e,i=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(-1t.draw(!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:n}=this.state.selection;for(let t=0;t<=1;t++){let i=t?n.head:n.anchor;var s,r;e.some(({from:t,to:e})=>i>=t&&i<=e)||({from:s,to:r}=this.lineAt(i,0),e.push(new Ln(s,r)))}this.viewports=e.sort((t,e)=>t.from-e.from),this.scaler=this.heightMap.height<=7e6?$n:new zn(this.heightOracle.doc,this.heightMap,this.viewports)}update(t,e=null){var i=this.state;this.state=t.state;var n,s,r,o=this.state.facet(fi),a=t.changedRanges,r=mi.extendWithRanges(a,(n=t.startState.facet(fi),s=o,r=t?t.changes:k.empty(this.state.doc.length),a=new An,Ct.compare(n,s,r,a,0),a.changes)),a=this.heightMap.height;this.heightMap=this.heightMap.applyChanges(o,i.doc,this.heightOracle.setDoc(this.state.doc),r),this.heightMap.height!=a&&(t.flags|=2);let l=r.length?this.mapViewport(this.viewport,t.changes):this.viewport;(e&&(e.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,e)),l.eq(this.viewport)||(this.viewport=l,t.flags|=4),this.updateForViewport(),(this.lineGaps.length||15e3t.clientHeight||t.scrollWidth>t.clientWidth)&&"visible"!=l.overflow&&(a=t.getBoundingClientRect(),n=Math.max(n,a.left),s=Math.min(s,a.right),r=Math.max(r,a.top),o=Math.min(o,a.bottom)),t="absolute"==l.position||"fixed"==l.position?t.offsetParent:t.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:n-i.left,right:s-i.left,top:r-(i.top+t),bottom:o-(i.top+t)}}(i,this.paddingTop),o=r.top-this.pixelViewport.top,a=r.bottom-this.pixelViewport.bottom;if(this.pixelViewport=r,this.inView=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left,!this.inView)return 0;var l,h=t.measureVisibleLineHeights();let c=!1,d=0,u=0,f=this.heightOracle;return e||(l=t.dom.clientWidth,(f.mustRefresh(h,n,s)||f.lineWrapping&&Math.abs(l-this.contentWidth)>f.charWidth)&&({lineHeight:r,charWidth:e}=t.measureTextSize(),c=f.refresh(n,s,r,e,l/e,h),c&&(t.minWidth=0,u|=16)),this.contentWidth!=l&&(this.contentWidth=l,u|=16),0this.viewport.to))&&((h=this.getViewport(d,this.scrollTo)).from==this.viewport.from&&h.to==this.viewport.to||(this.viewport=h,u|=4)),this.updateForViewport(),(this.lineGaps.length||15e3o.to&&({bottom:e}=i.lineAt(e.head,vn.ByPos,n,0,0),o=new Ln(i.lineAt(e-(r-s)-500,vn.ByHeight,n,0,0).from,i.lineAt(e+500,vn.ByHeight,n,0,0).to))),o}mapViewport(t,e){var i=e.mapPos(t.from,-1),t=e.mapPos(t.to,1);return new Ln(this.heightMap.lineAt(i,vn.ByPos,this.state.doc,0,0).from,this.heightMap.lineAt(t,vn.ByPos,this.state.doc,0,0).to)}viewportIsAppropriate({from:t,to:e},i=0){var{top:n}=this.heightMap.lineAt(t,vn.ByPos,this.state.doc,0,0),{bottom:s}=this.heightMap.lineAt(e,vn.ByPos,this.state.doc,0,0),{visibleTop:r,visibleBottom:o}=this;return(0==t||n<=r-Math.max(10,Math.min(-i,250)))&&(e==this.state.doc.length||s>=o+Math.max(10,Math.min(i,250)))&&r-2e3{if(!(s.length<1e4)){var r=function(t,e,i){let n=[],s=t,r=0;Ct.spans(i.facet(fi),t,e,{span(){},point(t,e){t>s&&(n.push({from:s,to:t}),r+=t-s),s=e}},20),s=s.from&&(t=o.from),o.from<=s.to&&o.to>=e&&(e=o.to);let i=t-1e4,n=e+1e4;i>s.from+5e3&&l.push(_n(a,t=>t.from==s.from&&t.to>i-5e3&&t.to<5e3+i)||new Cn(s.from,i,this.gapSize(s,i,!0,r))),nt.to==s.to&&t.from>n-5e3&&t.fromt.draw(this.heightOracle.lineWrapping))),8)}computeVisibleRanges(){let t=this.state.facet(fi);this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let i=[];Ct.spans(t,this.viewport.from,this.viewport.to,{span(t,e){i.push({from:t,to:e})},point(){}},20),this.visibleRanges=i}lineAt(t,e){return e+=this.paddingTop,Bn(this.heightMap.lineAt(t,vn.ByPos,this.state.doc,e,0),this.scaler,e)}lineAtHeight(t,e){return e+=this.paddingTop,Bn(this.heightMap.lineAt(this.scaler.fromDOM(t,e),vn.ByHeight,this.state.doc,e,0),this.scaler,e)}blockAtHeight(t,e){return e+=this.paddingTop,Bn(this.heightMap.blockAt(this.scaler.fromDOM(t,e),this.state.doc,e,0),this.scaler,e)}forEachLine(t,e,i,n){return n+=this.paddingTop,this.heightMap.forEachLine(t,e,this.state.doc,n,0,1==this.scaler.scale?i:t=>i(Bn(t,this.scaler,n)))}get contentHeight(){return this.domHeight+this.paddingTop+this.paddingBottom}get domHeight(){return this.scaler.toDOM(this.heightMap.height,this.paddingTop)}}class Ln{constructor(t,e){this.from=t,this.to=e}eq(t){return this.from==t.from&&this.to==t.to}}function On({total:t,ranges:e},i){if(i<=0)return e[0].from;if(1<=i)return e[e.length-1].to;let n=Math.floor(t*i);for(let t=0;;t++){var{from:s,to:r}=e[t],r=r-s;if(n<=r)return s+n;n-=r}}function Dn(t,e){let i=0;for(var{from:n,to:s}of t.ranges){if(e<=s){i+=e-n;break}i+=s-n}return i/t.total}function _n(t,e){for(var i of t)if(e(i))return i}const $n={toDOM(t){return t},fromDOM(t){return t},scale:1};class zn{constructor(s,r,t){let o=0,e=0,i=0;this.viewports=t.map(({from:t,to:e})=>{var i=r.lineAt(t,vn.ByPos,s,0,0).top,n=r.lineAt(e,vn.ByPos,s,0,0).bottom;return o+=n-i,{from:t,to:e,top:i,bottom:n,domTop:0,domBottom:0}}),this.scale=(7e6-o)/(r.height-o);for(var n of this.viewports)n.domTop=i+(n.top-e)*this.scale,i=n.domBottom=n.domTop+(n.bottom-n.top),e=n.bottom}toDOM(n,s){n-=s;for(let t=0,e=0,i=0;;t++){var r=tBn(t,e,i)):t.type)}const En=B.define({combine:t=>t.join(" ")}),Vn=B.define({combine:t=>-1{if("&"==t)return e;if(!i||!i[t])throw new RangeError(`Unsupported selector: ${t}`);return i[t]}):e+" "+t}})}const Wn=jn("."+Pn,{"&":{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,minHeight:"100%",display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",padding:"4px 0",outline:"none"},".cm-lineWrapping":{whiteSpace:"pre-wrap",overflowWrap:"anywhere"},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 4px"},".cm-selectionLayer":{zIndex:-1,contain:"size style"},".cm-selectionBackground":{position:"absolute"},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{zIndex:100,contain:"size style",pointerEvents:"none"},"&.cm-focused .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{visibility:"hidden"},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{visibility:"hidden"},"100%":{}},".cm-cursor":{position:"absolute",borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none",display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},"&.cm-focused .cm-cursor":{display:"block"},"&light .cm-activeLine":{backgroundColor:"#f3f9ff"},"&dark .cm-activeLine":{backgroundColor:"#223039"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-placeholder":{color:"#888",display:"inline-block"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"3px"},"&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"}},In),Fn={childList:!0,characterData:!0,subtree:!0,characterDataOldValue:!0},qn=ke.ie&&ke.ie_version<=11;class Jn{constructor(i,t,e){this.view=i,this.onChange=t,this.onScrollChanged=e,this.active=!1,this.ignoreSelection=new ie,this.delayedFlush=-1,this.queue=[],this.lastFlush=0,this.scrollTargets=[],this.intersection=null,this.intersecting=!1,this._selectionRange=null,this.parentCheck=-1,this.dom=i.contentDOM,this.observer=new MutationObserver(t=>{for(var e of t)this.queue.push(e);this._selectionRange=null,(ke.ie&&ke.ie_version<=11||ke.ios&&i.composing)&&t.some(t=>"childList"==t.type&&t.removedNodes.length||"characterData"==t.type&&t.oldValue.length>t.target.nodeValue.length)?this.flushSoon():this.flush()}),qn&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.start(),this.onScroll=this.onScroll.bind(this),window.addEventListener("scroll",this.onScroll),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),0{this.delayedFlush=-1,this.flush()},20))}forceFlush(){0<=this.delayedFlush&&(window.clearTimeout(this.delayedFlush),this.delayedFlush=-1,this.flush())}flush(){if(!(0<=this.delayedFlush)){this.lastFlush=Date.now();let n=this.queue;for(var t of this.observer.takeRecords())n.push(t);n.length&&(this.queue=[]);var s=this.selectionRange,r=!this.ignoreSelection.eq(s)&&Gt(this.dom,s);if(0!=n.length||r){let t=-1,e=-1,i=!1;for(var o of n){o=this.readMutation(o);o&&(o.typeOver&&(i=!0),-1==t?{from:t,to:e}=o:(t=Math.min(o.from,t),e=Math.max(o.to,e)))}s=this.view.state;(-1this.view.docView.sync()),this.view.docView.dirty=0),this.view.docView.updateSelection()),this.clearSelection()}}}readMutation(t){let e=this.view.docView.nearest(t.target);if(!e||e.ignoreMutation(t))return null;if(e.markDirty(),"childList"!=t.type)return{from:e.posAtStart,to:e.posAtEnd,typeOver:t.target.nodeValue==t.oldValue};var i=Un(e,t.previousSibling||t.target.previousSibling,-1),t=Un(e,t.nextSibling||t.target.nextSibling,1);return{from:i?e.posAfter(i):e.posAtStart,to:t?e.posBefore(t):e.posAtEnd,typeOver:!1}}destroy(){this.stop(),this.intersection&&this.intersection.disconnect();for(var t of this.scrollTargets)t.removeEventListener("scroll",this.onScroll);window.removeEventListener("scroll",this.onScroll),clearTimeout(this.parentCheck)}}function Un(t,e,i){for(;e;){var n=he.get(e);if(n&&n.parent==t)return n;n=e.parentNode;e=n!=t.dom?n:0Date.now()-100||ke.android&&t.text.length=o?r-i:0,r-=l,a=r+(a-o),o=r):a=a?r-i:0,r-=i,o=r+(o-a),a=r)}return{from:r,toA:o,toB:a}}(n.state.sliceDoc(h,c),t.text,e-h,i);d&&(r={from:h+d.from,to:h+d.toA,insert:n.state.toText(t.text.slice(d.from,d.toB))})}else!n.hasFocus&&n.state.facet(ni)||(c=n.observer.selectionRange,{impreciseHead:h,impreciseAnchor:d}=n.docView,h=h&&h.node==c.focusNode&&h.offset==c.focusOffset||!Ut(n.contentDOM,c.focusNode)?n.state.selection.main.head:n.docView.posFromDOM(c.focusNode,c.focusOffset),c=d&&d.node==c.anchorNode&&d.offset==c.anchorOffset||!Ut(n.contentDOM,c.anchorNode)?n.state.selection.main.anchor:n.docView.posFromDOM(c.anchorNode,c.anchorOffset),h==a.head&&c==a.anchor||(o=D.single(c,h)));if(r||o)if(!r&&s&&!a.empty&&o&&o.main.empty?r={from:a.from,to:a.to,insert:n.state.doc.slice(a.from,a.to)}:r&&r.from>=a.from&&r.to<=a.to&&(r.from!=a.from||r.to!=a.to)&&a.to-a.from-(r.to-r.from)<=4&&(r={from:a.from,to:a.to,insert:n.state.doc.slice(a.from,r.from).append(r.insert).append(n.state.doc.slice(r.to,a.to))}),r){let i=n.state;if(!(ke.android&&(r.from==a.from&&r.to==a.to&&1==r.insert.length&&2==r.insert.lines&&Qn(n,"Enter",13)||r.from==a.from-1&&r.to==a.to&&0==r.insert.length&&Qn(n,"Backspace",8)||r.from==a.from&&r.to==a.to+1&&0==r.insert.length&&Qn(n,"Delete",46))||ke.ios&&(n.inputState.lastIOSEnter>Date.now()-225&&1Date.now()-225&&!r.insert.length&&Qn(n,"Backspace",8)))){let e=r.insert.toString();if(!n.state.facet(ei).some(t=>t(n,r.from,r.to,e))){0<=n.inputState.composing&&n.inputState.composing++;let t;var u;t=r.from>=a.from&&r.to<=a.to&&r.to-r.from>=(a.to-a.from)/3&&(!o||o.main.empty&&o.main.from==r.from+r.insert.length)?(s=a.fromr.to?i.sliceDoc(r.to,a.to):"",i.replaceSelection(n.state.toText(s+r.insert.sliceString(0,void 0,n.state.lineBreak)+u))):{changes:u=i.changes(r),selection:o&&!i.selection.main.eq(o.main)&&o.main.to<=u.newLength?i.selection.replaceRange(o.main):void 0},n.dispatch(t,{scrollIntoView:!0,annotations:st.userEvent.of("input")})}}}else if(o&&!o.main.eq(a)){let t=!1,e;n.inputState.lastSelectionTime>Date.now()-50&&("keyboardselection"==n.inputState.lastSelectionOrigin?t=!0:e=st.userEvent.of(n.inputState.lastSelectionOrigin)),n.dispatch({selection:o,scrollIntoView:t,annotations:e})}}class Kn{constructor(t,e){this.points=t,this.view=e,this.text="",this.lineBreak=e.state.lineBreak}readRange(e,i){if(e){var n=e.parentNode;for(let t=e;;){this.findPointBefore(n,t),this.readNode(t);var s=t.nextSibling;if(s==i)break;var r=he.get(t),o=he.get(s);((r?r.breakAfter:Xn(t))||(o?o.breakAfter:Xn(s))&&("BR"!=t.nodeName||t.cmIgnore))&&(this.text+=this.lineBreak),t=s}this.findPointBefore(n,i)}}readNode(i){if(!i.cmIgnore){var n=he.get(i);let t=n&&n.overrideDOMText,e;null!=t?e=t.sliceString(0,void 0,this.lineBreak):3==i.nodeType?e=i.nodeValue:"BR"==i.nodeName?e=i.nextSibling?this.lineBreak:"":1==i.nodeType&&this.readRange(i.firstChild,null),null!=e&&(this.findPointIn(i,e.length),this.text+=e,ke.chrome&&13==this.view.inputState.lastKeyCode&&!i.nextSibling&&/\n\n$/.test(this.text)&&(this.text=this.text.slice(0,-1)))}}findPointBefore(t,e){for(var i of this.points)i.node==t&&t.childNodes[i.offset]==e&&(i.pos=this.text.length)}findPointIn(t,e){for(var i of this.points)i.node==t&&(i.pos=this.text.length+Math.min(i.offset,e))}}function Xn(t){return 1==t.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}class Yn{constructor(t,e){this.node=t,this.offset=e,this.pos=-1}}function Qn(t,e,i){i={key:e,code:e,keyCode:i,which:i,cancelable:!0};let n=new KeyboardEvent("keydown",i);n.synthetic=!0,t.contentDOM.dispatchEvent(n);let s=new KeyboardEvent("keyup",i);return s.synthetic=!0,t.contentDOM.dispatchEvent(s),n.defaultPrevented||s.defaultPrevented}class Zn{constructor(t={}){this.plugins=[],this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],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.style.cssText="position: absolute; top: -10000px",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),this._dispatch=t.dispatch||(t=>this.update([t])),this.dispatch=this.dispatch.bind(this),this.root=t.root||document,this.viewState=new Hn(t.state||pt.create()),this.plugins=this.state.facet(ai).map(t=>new ci(t).update(this)),this.observer=new Jn(this,(t,e,i)=>{Gn(this,t,e,i)},t=>{this.inputState.runScrollHandlers(this,t),this.observer.intersecting&&this.measure()}),this.inputState=new Gi(this),this.docView=new vi(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,window.addEventListener("resize",()=>{-1==is&&(is=setTimeout(ns,50))}),this.requestMeasure(),t.parent&&t.parent.appendChild(this.dom)}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 0t.scrollIntoView)?n.selection.main:null;this.viewState.update(i,r),this.bidiCache=rs.update(this.bidiCache,i.changes),i.empty||this.updatePlugins(i),e=this.docView.update(i),this.state.facet(pi)!=this.styleModules&&this.mountStyles(),this.updateAttrs(),this.showAnnouncements(t)}finally{this.updateState=0}if((e||scrollTo||this.viewState.mustEnforceCursorAssoc)&&this.requestMeasure(),!i.empty)for(var o of this.state.facet(ti))o(i)}setState(t){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");this.updateState=2;try{for(var e of this.plugins)e.destroy(this);this.viewState=new Hn(t),this.plugins=t.facet(ai).map(t=>new ci(t).update(this)),this.docView=new vi(this),this.inputState.ensureHandlers(this),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}this.requestMeasure()}updatePlugins(i){let t=i.startState.facet(ai),n=i.state.facet(ai);if(t!=n){let e=[];for(var s of n){var r=t.indexOf(s);if(r<0)e.push(new ci(s));else{let t=this.plugins[r];t.mustUpdate=i,e.push(t)}}for(var o of this.plugins)o.mustUpdate!=i&&o.destroy(this);this.plugins=e,this.inputState.ensureHandlers(this)}else for(var e of this.plugins)e.mustUpdate=i;for(let t=0;t{try{return t.read(this)}catch(t){return ii(this.state,t),ss}});let t=new gi(this,this.state);t.flags|=s,n?n.flags|=s:n=t,this.updateState=2,t.empty||this.updatePlugins(t),this.updateAttrs(),s&&this.docView.update(t);for(let t=0;tthis.measure())),e){if(null!=e.key)for(let t=0;tfunction(t,e,i){let n=t.state.charCategorizer(e),s=n(i);return t=>{t=n(t);return s==ct.Space&&(s=t),s==t}}(this,e.head,t))}moveToLineBoundary(t,e,i=!0){return function(t,e,i,n){var s=t.state.doc.lineAt(e.head),r=n&&t.lineWrapping?t.coordsAtPos(e.assoc<0&&e.head>s.from?e.head-1:e.head):null;if(r){n=t.dom.getBoundingClientRect(),r=t.posAtCoords({x:i==(t.textDirection==Mi.LTR)?n.right-1:n.left+1,y:(r.top+r.bottom)/2});if(null!=r)return D.cursor(r,i?-1:1)}return e=Fe.find(t.docView,e.head),s=e?i?e.posAtEnd:e.posAtStart:i?s.to:s.from,D.cursor(s,i?-1:1)}(this,t,e,i)}moveVertically(t,e,i){return Ui(this,t,e,i)}scrollPosIntoView(t){this.viewState.scrollTo=D.cursor(t),this.requestMeasure()}domAtPos(t){return this.docView.domAtPos(t)}posAtDOM(t,e=0){return this.docView.posFromDOM(t,e)}posAtCoords(t){return this.readMeasured(),qi(this,t)}coordsAtPos(t,e=1){this.readMeasured();var i=this.docView.coordsAt(t,e);if(!i||i.left==i.right)return i;var n=this.state.doc.lineAt(t),s=this.bidiSpans(n);return ee(i,s[Bi.find(s,t-n.from,-1,e)].dir==Mi.LTR==0ts)return Pi(t.length);var e,i=this.textDirection;for(e of this.bidiCache)if(e.from==t.from&&e.dir==i)return e.order;var n=Vi(t.text,this.textDirection);return this.bidiCache.push(new rs(t.from,t.to,i,n)),n}get hasFocus(){var t;return(document.hasFocus()||ke.safari&&(null===(t=this.inputState)||void 0===t?void 0:t.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{se(this.contentDOM),this.docView.updateSelection()})}destroy(){for(var t of this.plugins)t.destroy(this);this.inputState.destroy(),this.dom.remove(),this.observer.destroy(),-1({}),{eventHandlers:t})}static theme(t,e){var i=bt.newName();let n=[En.of(i),pi.of(jn(`.${i}`,t))];return e&&e.dark&&n.push(Vn.of(!0)),n}static baseTheme(t){return I.fallback(pi.of(jn("."+Pn,t,In)))}}Zn.styleModule=pi,Zn.inputHandler=ei,Zn.exceptionSink=Ze,Zn.updateListener=ti,Zn.editable=ni,Zn.mouseSelectionStyle=Qe,Zn.dragMovesSelection=Ye,Zn.clickAddsSelectionRange=Xe,Zn.decorations=fi,Zn.contentAttributes=ui,Zn.editorAttributes=di,Zn.lineWrapping=Zn.contentAttributes.of({class:"cm-lineWrapping"}),Zn.announce=nt.define();const ts=4096;function es(t,e){return null==t?e.getBoundingClientRect().top:t}let is=-1;function ns(){is=-1;var i=document.querySelectorAll(".cm-content");for(let e=0;e{if(t){for(var e of t.commands)if(e(i))return!0;t.preventDefault&&(a=!0)}return!1},h=t[n],c;if(h){if(l(h[o+as(s,e,!r)]))return!0;if(r&&(e.shiftKey||e.altKey||e.metaKey)&&(c=Et[e.keyCode])&&c!=s){if(l(h[o+as(c,e,!0)]))return!0}else if(r&&e.shiftKey&&l(h[o+as(s,e,!0)]))return!0}return a}(function(t){let e=t.facet(ls),i=hs.get(e);i||hs.set(e,i=function(t,a=os){let l=Object.create(null),n=Object.create(null),h=(t,e)=>{var i=n[t];if(null==i)n[t]=e;else if(i!=e)throw new Error("Key binding "+t+" is used both as a regular binding and as a multi-stroke prefix")},e=(n,t,e,i)=>{let s=l[n]||(l[n]=Object.create(null)),r=t.split(/ (?!$)/).map(t=>function(t,e){var i=t.split(/-(?!$)/);let n=i[i.length-1];"Space"==n&&(n=" ");let s,r,o,a;for(let t=0;t{let e=cs={view:t,prefix:i,scope:n};return setTimeout(()=>{cs==e&&(cs=null)},ds),!0}]})}t=r.join(" ");h(t,!1);let o=s[t]||(s[t]={preventDefault:!1,commands:[]});o.commands.push(e),i&&(o.preventDefault=!0)};for(var i of t){var s=i[a]||i.key;if(s)for(var r of i.scope?i.scope.split(" "):["editor"])e(r,s,i.run,i.preventDefault),i.shift&&e(r,"Shift-"+s,i.shift,i.preventDefault)}return l}(e.reduce((t,e)=>t.concat(e),[])));return i}(e.state),t,e,"editor")}})}),hs=new WeakMap;let cs=null;const ds=4e3;ke.ios;let us=0;const fs=new WeakMap;class ps{constructor({deserialize:t}={}){this.id=us++,this.deserialize=t||(()=>{throw new Error("This node type doesn't define a deserialize function")})}static string(){return new ps({deserialize:t=>t})}static number(){return new ps({deserialize:Number})}static flag(){return new ps({deserialize:()=>!0})}set(t,e){return t[this.id]=e,t}add(e){return"function"!=typeof e&&(e=gs.match(e)),t=>{t=e(t);return void 0===t?null:[this,t]}}}ps.closedBy=new ps({deserialize:t=>t.split(" ")}),ps.openedBy=new ps({deserialize:t=>t.split(" ")}),ps.group=new ps({deserialize:t=>t.split(" ")});const ms=Object.create(null);class gs{constructor(t,e,i,n=0){this.name=t,this.props=e,this.id=i,this.flags=n}static define(t){var e=t.props&&t.props.length?Object.create(null):ms,i=(t.top?1:0)|(t.skipped?2:0)|(t.error?4:0)|(null==t.name?8:0),n=new gs(t.name||"",e,t.id,i);if(t.props)for(var s of t.props)Array.isArray(s)||(s=s(n)),s&&s[0].set(e,s[1]);return n}prop(t){return this.props[t.id]}get isTop(){return 0<(1&this.flags)}get isSkipped(){return 0<(2&this.flags)}get isError(){return 0<(4&this.flags)}get isAnonymous(){return 0<(8&this.flags)}is(e){if("string"!=typeof e)return this.id==e;{if(this.name==e)return!0;let t=this.prop(ps.group);return!!t&&-1{for(let t=i.prop(ps.group),e=-1;e<(t?t.length:0);e++){var n=s[e<0?i.name:t[e]];if(n)return n}}}}gs.none=new gs("",Object.create(null),0,8);class vs{constructor(t,e,i,n){this.type=t,this.children=e,this.positions=i,this.length=n}toString(){var t=this.children.map(t=>t.toString()).join();return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(t,e=0){var i=null!=t&&fs.get(this)||this.topNode;let n=new Ms(i);return null!=t&&(n.moveTo(t,e),fs.set(this,n._tree)),n}fullCursor(){return new Ms(this.topNode,!0)}get topNode(){return new ys(this,0,0,null)}resolve(t,e=0){return this.cursor(t,e).node}iterate(t){let{enter:i,leave:n,from:s=0,to:r=this.length}=t;for(let e=this.cursor();;){let t=!1;if(e.from<=r&&e.to>=s&&(e.type.isAnonymous||!1!==i(e.type,e.from,e.to))){if(e.firstChild())continue;e.type.isAnonymous||(t=!0)}for(;t&&n&&n(e.type,e.from,e.to),t=e.type.isAnonymous,!e.nextSibling();){if(!e.parent())return;t=!0}}}balance(t=1024){return this.children.length<=Ts?this:Hs(this.type,gs.none,this.children,this.positions,0,this.children.length,0,t,this.length,0)}static build(t){let{buffer:e,nodeSet:g,topID:i=0,maxBufferLength:v=1024,reused:w=[],minRepeatType:b=g.types.length}=t,y=Array.isArray(e)?new Cs(e,e.length):e,x=g.types,k=0;function S(i,t,e,n,s){var{id:r,start:o,end:a,size:l}=y;let h=o-i;if(l<0)return-1==l?(e.push(w[r]),n.push(h)):k=r,void y.next();let c=x[r],d,u;if(a-o<=v&&(u=function(t,e){let i=y.fork(),n=0,s=0,r=0,o=i.end-v,a={size:0,start:0,skip:0};t:for(var l=i.pos-t;i.pos>l;)if(i.id!=e){var h=i.size,c=i.pos-h;if(h<0||c=b?4:0;var d=i.start;for(i.next();i.pos>c;){if(i.size<0)break t;i.id>=b&&(t+=4),i.next()}s=d,n+=h,r+=t}else a.size=n,a.start=s,a.skip=r,r+=4,n+=4,i.next();(e<0||n==t)&&(a.size=n,a.start=s,a.skip=r);return 4t;)e=function t(e,i,n,s){var{id:r,start:o,end:a,size:l}=y;y.next();if(r==s)return n;var h=n;if(4c;)n=t(e,i,n,s);r=b?r:-1;y.pos>p;)y.id==m?y.next():S(o,p,t,e,m);t.reverse(),e.reverse(),d=-1Ts?Hs(c,c,t,e,0,t.length,0,v,a-o,k):ws(new vs(c,t,e,a-o),k)}e.push(d),n.push(h)}let n=[],s=[];for(;0=t:this.from>t)||(-1=t:this.from>t)||(-1!t.type.isAnonymous||t instanceof bs||As(t))}class Cs{constructor(t,e){this.buffer=t,this.index=e}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 Cs(this.buffer,this.index)}}const Ts=8;function Hs(t,i,n,s,r,o,a,l,e,h){let c=[],d=[];if(e<=l)for(let t=r;tu<<1){for(let t=0;t=i)for(;r&&r.from=t.from||u<=t.to||l)&&(h=Math.max(t.from,a)-l,c=Math.min(t.to,u)-l,t=c<=h?null:new Ls(h,c,t.tree,t.offset+l,(0u)break;r=st.length&&n.push(s);return n}}const Os=new ps;class Ds{constructor(t,e,i,n=[]){this.data=t,this.topNode=i,pt.prototype.hasOwnProperty("tree")||Object.defineProperty(pt.prototype,"tree",{get(){return $s(this)}}),this.parser=e,this.extension=[Is.of(this),pt.languageData.of((t,e)=>t.facet(_s(t,e)))].concat(n)}isActiveAt(t,e){return _s(t,e)==this.data}findRegions(t){var e=t.facet(Is);if((null==e?void 0:e.data)==this.data)return[{from:0,to:t.doc.length}];if(!e||!e.allowsNesting)return[];let n=[];return $s(t).iterate({enter:(t,e,i)=>{if(t.isTop&&t.prop(Os)==this.data)return n.push({from:e,to:i}),!1}}),n}get allowsNesting(){return!0}parseString(t){var e=u.of(t.split("\n"));let i=this.parser.startParse(new zs(e),0,new Bs(this.parser,pt.create({doc:e}),[],vs.empty,{from:0,to:t.length},[],null)),n;for(;!(n=i.advance()););return n}}function _s(t,e){var i=t.facet(Is);if(!i)return null;if(!i.allowsNesting)return i.data;let n=$s(t),s=n.resolve(e,-1);for(;s;){var r=s.type.prop(Os);if(r)return r;s=s.parent}return i.data}function $s(t){t=t.field(Ds.state,!1);return t?t.tree:vs.empty}Ds.setState=nt.define();class zs{constructor(t,e=t.length){this.doc=t,this.length=e,this.cursorPos=0,this.string="",this.prevString="",this.cursor=t.iter()}syncTo(t){return t=this.length)return-1;let e=this.cursorPos-this.string.length;if(t=this.cursorPos){if(t=e-this.prevString.length)return this.prevString.charCodeAt(t-(e-this.prevString.length));e=this.syncTo(t)}return this.string.charCodeAt(t-e)}lineAfter(t){if(t>=this.length||t<0)return"";let e=this.cursorPos-this.string.length;return(t=this.cursorPos)&&(e=this.syncTo(t)),this.cursor.lineBreak?"":this.string.slice(t-e,Math.min(this.length-e,this.string.length))}read(t,e){var i=this.cursorPos-this.string.length;return t=this.cursorPos?this.doc.sliceString(t,e):this.string.slice(t-i,e-i)}clip(t){return new zs(this.doc,t)}}class Bs{constructor(t,e,i=[],n,s,r,o){this.parser=t,this.state=e,this.fragments=i,this.tree=n,this.viewport=s,this.skipped=r,this.scheduleOn=o,this.parse=null,this.tempSkipped=[]}work(t,e){if(this.tree!=vs.empty&&(null==e?this.tree.length==this.state.doc.length:this.tree.length>=e))return this.takeTree(),!0;this.parse||(this.parse=this.parser.startParse(new zs(this.state.doc),0,this));for(var i=Date.now()+t;;){var n=this.parse.advance();if(n)return this.fragments=this.withoutTempSkipped(Ls.addTree(n)),this.parse=null,this.tree=n,!0;if(null!=e&&this.parse.pos>=e)return this.takeTree(),!0;if(Date.now()>i)return!1}}takeTree(){this.parse&&this.parse.pos>this.tree.length&&(this.tree=this.parse.forceFinish(),this.fragments=this.withoutTempSkipped(Ls.addTree(this.tree,this.fragments,!0)))}withoutTempSkipped(t){for(var e;e=this.tempSkipped.pop();)t=Es(t,e.from,e.to);return t}changes(t,e){let{fragments:i,tree:n,viewport:r,skipped:o}=this;if(this.takeTree(),!t.empty){let s=[];if(t.iterChangedRanges((t,e,i,n)=>s.push({fromA:t,toA:e,fromB:i,toB:n})),i=Ls.applyChanges(i,s),n=vs.empty,r={from:t.mapPos(r.from,-1),to:t.mapPos(r.to,1)},this.skipped.length){o=[];for(var a of this.skipped){var l=t.mapPos(a.from,1),a=t.mapPos(a.to,-1);le.from&&(this.fragments=Es(this.fragments,i,n),this.skipped.splice(t--,1))}return this.skipped.length=t}}function Es(t,e,i){return Ls.applyChanges(t,[{fromA:e,toA:i,fromB:e,toB:i}])}Bs.skippingParser=Bs.getSkippingParser();class Vs{constructor(t){this.context=t,this.tree=t.tree}apply(t){if(!t.docChanged)return this;let e=this.context.changes(t.changes,t.state);t=this.context.tree.length==t.startState.doc.length?void 0:Math.max(t.changes.mapPos(this.context.tree.length),e.viewport.to);return e.work(25,t)||e.takeTree(),new Vs(e)}static init(t){let e=new Bs(t.facet(Is).parser,t,[],vs.empty,{from:0,to:t.doc.length},[],null);return e.work(25)||e.takeTree(),new Vs(e)}}Ds.state=R.define({create:Vs.init,update(t,e){for(var i of e.effects)if(i.is(Ds.setState))return i.value;return e.startState.facet(Is)!=e.state.facet(Is)?Vs.init(e.state):t.apply(e)}});let Ps="undefined"!=typeof window&&window.requestIdleCallback||((t,{timeout:e})=>setTimeout(t,e)),Rs="undefined"!=typeof window&&window.cancelIdleCallback||clearTimeout;var Ns=li.fromClass(class{constructor(t){this.view=t,this.working=-1,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(t){let e=this.view.state.field(Ds.state).context;t.viewportChanged&&(e.updateViewport(t.view.viewport)&&e.reset(),this.view.viewport.to>e.tree.length&&this.scheduleWork()),t.docChanged&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(e)}scheduleWork(i=!1){if(!(-1=t.doc.length||(this.working=Ps(this.work,{timeout:500}))}}work(n){this.working=-1;var s=Date.now();if(this.chunkEnd=e+1e6||(n=Math.min(this.chunkBudget,n?Math.max(25,n.timeRemaining()):100),n=i.context.work(n,e+1e6),this.chunkBudget-=Date.now()-s,(n||this.chunkBudget<=0||i.context.movedPast(e))&&(i.context.takeTree(),this.view.dispatch({effects:Ds.setState.of(new Vs(i.context))})),!n&&0this.scheduleWork(!0)),t.scheduleOn=null)}destroy(){0<=this.working&&Rs(this.working)}},{eventHandlers:{focus(){this.scheduleWork()}}});const Is=B.define({combine(t){return t.length?t[0]:null},enables:[Ds.state,Ns]}),js=B.define(),Ws=B.define({combine:t=>{if(!t.length)return" ";if(!/^(?: +|\t+)$/.test(t[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return t[0]}});function Fs(t){let e=t.facet(Ws);return 9==e.charCodeAt(0)?t.tabSize*e.length:e.length}function qs(t,e){let i="",n=t.tabSize;if(9==t.facet(Ws).charCodeAt(0))for(;n<=e;)i+="\t",e-=n;for(let t=0;tfunction(t,e,i,n,s){let r=t.textAfter,o=r.match(/^\s*/)[0].length,a=n&&r.slice(o,o+n.length)==n||s==t.pos+o,l=e?function(t){let e=t.node,i=e.childAfter(e.from),n=e.lastChild;if(!i)return null;var s=null===(s=t.options)||void 0===s?void 0:s.simulateBreak,t=t.state.doc.lineAt(i.from),r=null==s||s<=t.from?t.to:Math.min(t.to,s);for(let t=i.to;;){var o=e.childAfter(t);if(!o||o==n)return null;if(!o.type.isSkipped)return o.fromZn.decorations.from(t)}),Zs];function or(t,e,i){var n=t.prop(e<0?ps.openedBy:ps.closedBy);if(n)return n;if(1==t.name.length){t=i.indexOf(t.name);if(-1=e.to){if(0==o&&-1>1==l>>1};d--}}0"},hr=nt.define({map(t,e){t=e.mapPos(t,-1,y.TrackAfter);return null==t?void 0:t}}),cr=nt.define({map(t,e){return e.mapPos(t)}}),dr=new class extends kt{};dr.startSide=1,dr.endSide=-1;const ur=R.define({create(){return Ct.empty},update(t,i){var e,n;i.selection&&(e=i.state.doc.lineAt(i.selection.main.head).from,n=i.startState.doc.lineAt(i.startState.selection.main.head).from,e!=i.changes.mapPos(n,-1)&&(t=Ct.empty)),t=t.map(i.changes);for(let e of i.effects)e.is(hr)?t=t.update({add:[dr.range(e.value,e.value+1)]}):e.is(cr)&&(t=t.update({filter:t=>t!=e.value}));return t}});const fr="()[]{}<>";function pr(e){for(let t=0;t>10),56320+(1023&t)));var t}function mr(t,e){return t.languageDataAt("closeBrackets",e)[0]||lr}function gr(t,e,i,n){if(t.composing)return!1;var s=t.state.selection.main;if(2{if(!t.empty)return{changes:[{insert:r,from:t.from},{insert:r,from:t.to}],effects:hr.of(t.to+r.length),range:D.range(t.anchor+r.length,t.head+r.length)};var e=t.head,i=br(s.doc,e);if(i==r){if(yr(s,e))return{changes:{insert:r+r,from:e},effects:hr.of(e+r.length),range:D.cursor(e+r.length)};if(wr(s,e)){var n=o&&s.sliceDoc(e,e+3*r.length)==r+r+r;return{range:D.cursor(e+r.length*(n?3:1)),effects:cr.of(e)}}}else{if(o&&s.sliceDoc(e-2*r.length,e)==r+r&&yr(s,e-2*r.length))return{changes:{insert:r+r+r+r,from:e},effects:hr.of(e+r.length),range:D.cursor(e+r.length)};if(s.charCategorizer(e)(i)!=ct.Word){i=s.sliceDoc(e-1,e);if(i!=r&&s.charCategorizer(e)(i)!=ct.Word)return{changes:{insert:r+r,from:e},effects:hr.of(e+r.length),range:D.cursor(e+r.length)}}}return{range:a=t}});return a?null:s.update(t,{scrollIntoView:!0,annotations:st.userEvent.of("input")})}(t,s,-1{if(!t.empty)return{changes:[{insert:n,from:t.from},{insert:s,from:t.to}],effects:hr.of(t.to+n.length),range:D.range(t.anchor+n.length,t.head+n.length)};var e=br(i.doc,t.head);return!e||/\s/.test(e)||-1t.empty&&br(e.doc,t.head)==i?D.cursor(t.head+i.length):n=t);return n?null:e.update({selection:D.create(t,e.selection.mainIndex),scrollIntoView:!0,effects:e.selection.ranges.map(({from:t})=>cr.of(t))})}(t,(s,r))}return null}(t.state,n);return!!n&&(t.dispatch(n),!0)}const vr=[{key:"Backspace",run:({state:n,dispatch:t})=>{let s=mr(n,n.selection.main.head).brackets||lr.brackets,r=null,e=n.changeByRange(t=>{if(t.empty){var e,i=function(t,e){let i=t.sliceString(e-2,e);return d(c(i,0))==i.length?i:i.slice(1)}(n.doc,t.head);for(e of s)if(e==i&&br(n.doc,t.head)==pr(c(e,0)))return{changes:{from:t.head-e.length,to:t.head+e.length},range:D.cursor(t.head-e.length),annotations:st.userEvent.of("delete")}}return{range:r=t}});return r||t(n.update(e,{scrollIntoView:!0})),!r}}];function wr(t,e){let i=!1;return t.field(ur).between(0,t.doc.length,t=>{t==e&&(i=!0)}),i}function br(t,e){let i=t.sliceString(e,e+2);return i.slice(0,d(c(i,0)))}function yr(t,e){t=$s(t).resolve(e+1);return t.parent&&t.from==e}function xr(t,e){return D.create(t.ranges.map(e),t.mainIndex)}function kr(t,e){return t.update({selection:e,scrollIntoView:!0,annotations:st.userEvent.of("keyboardselection")})}function Sr({state:t,dispatch:e},i){let n=xr(t.selection,i);return!n.eq(t.selection)&&(e(kr(t,n)),!0)}function Mr(t,e){return D.cursor(e?t.to:t.from)}function Ar(e,i){return Sr(e,t=>t.empty?e.moveByChar(t,i):Mr(t,i))}var Cr=t=>Ar(t,t.textDirection!=Mi.LTR),Tr=t=>Ar(t,t.textDirection==Mi.LTR);function Hr(e,i){return Sr(e,t=>t.empty?e.moveByGroup(t,i):Mr(t,i))}function Lr(e,i,n){let s=$s(e).resolve(i.head);var r,o,a,l=n?ps.closedBy:ps.openedBy;for(let t=i.head;;){var h=n?s.childAfter(t):s.childBefore(t);if(!h)break;r=e,a=l,(o=h).type.prop(a)||((a=o.to-o.from)&&(2t.empty?e.moveVertically(t,i):Mr(t,i))}var Dr=t=>Or(t,!1),_r=t=>Or(t,!0);function $r(e,i){return Sr(e,t=>t.empty?e.moveVertically(t,i,e.dom.clientHeight):Mr(t,i))}var zr=t=>$r(t,!1),Br=t=>$r(t,!0);function Er(t,e,i){let n=t.visualLineAt(e.head),s=t.moveToLineBoundary(e,i);return s.head==e.head&&s.head!=(i?n.to:n.from)&&(s=t.moveToLineBoundary(e,i,!1)),i||s.head!=n.from||!n.length||(t=/^\s*/.exec(t.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length)&&e.head!=n.from+t&&(s=D.cursor(n.from+t)),s}var Vr=e=>Sr(e,t=>D.cursor(e.visualLineAt(t.head).from,1)),Pr=e=>Sr(e,t=>D.cursor(e.visualLineAt(t.head).to,-1));function Rr(t,i){let e=xr(t.state.selection,t=>{var e=i(t);return D.range(t.anchor,e.head,e.goalColumn)});return!e.eq(t.state.selection)&&(t.dispatch(kr(t.state,e)),!0)}function Nr(e,i){return Rr(e,t=>e.moveByChar(t,i))}var Ir=t=>Nr(t,t.textDirection!=Mi.LTR),jr=t=>Nr(t,t.textDirection==Mi.LTR);function Wr(e,i){return Rr(e,t=>e.moveByGroup(t,i))}function Fr(e,i){return Rr(e,t=>e.moveVertically(t,i))}var qr=t=>Fr(t,!1),Pt=t=>Fr(t,!0);function Jr(e,i){return Rr(e,t=>e.moveVertically(t,i,e.dom.clientHeight))}Nt=t=>Jr(t,!1),It=t=>Jr(t,!0),ve=e=>Rr(e,t=>D.cursor(e.visualLineAt(t.head).from)),me=e=>Rr(e,t=>D.cursor(e.visualLineAt(t.head).to)),ge=({state:t,dispatch:e})=>(e(kr(t,{anchor:0})),!0),pe=({state:t,dispatch:e})=>(e(kr(t,{anchor:t.doc.length})),!0),we=({state:t,dispatch:e})=>(e(kr(t,{anchor:t.selection.main.anchor,head:0})),!0),be=({state:t,dispatch:e})=>(e(kr(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0);function Ur({state:t,dispatch:e},s){var i=t.changeByRange(t=>{let{from:e,to:i}=t;var n;return e==i&&(n=s(e),e=Math.min(e,n),i=Math.max(i,n)),e==i?{range:t}:{changes:{from:e,to:i},range:D.cursor(e)}});return!i.changes.empty&&(e(t.update(i,{scrollIntoView:!0,annotations:st.userEvent.of("delete")})),!0)}const Gr=(a,l,h)=>Ur(a,e=>{let{state:t}=a,i=t.doc.lineAt(e),n;if(!l&&e>i.from&&eGr(t,!1,!0),xe=t=>Gr(t,!0,!1);const Kr=(t,h)=>Ur(t,e=>{let i=e,{state:n}=t,s=n.doc.lineAt(i),r=n.charCategorizer(i);for(let t=null;;){if(i==(h?s.to:s.from)){i==e&&s.number!=(h?n.doc.lines:1)&&(i+=h?1:-1);break}var o=S(s.text,i-s.from,h)+s.from,a=s.text.slice(Math.min(i,o)-s.from,Math.max(i,o)-s.from),l=r(a);if(null!=t&&l!=t)break;" "==a&&i==e||(t=l),i=o}return i});ye=t=>Kr(t,!1),fe=t=>Kr(t,!0),Ns=i=>Ur(i,t=>{var e=i.visualLineAt(t).to;return t{var i=[];for(let t=e.from;t<=e.to;){var n=s.doc.lineAt(t);n.number>o&&(e.empty||e.to>n.from)&&(r(n,i,e),o=n.number),t=n.to+1}let t=s.changes(i);return{changes:i,range:D.range(t.mapPos(e.anchor,1),t.mapPos(e.head,1))}})}Zs=({state:o,dispatch:t})=>{let a=Object.create(null),l=new Us(o,{overrideIndentation:t=>{t=a[t];return null==t?-1:t}});var e=Zr(o,(t,e,i)=>{var n,s,r=Js(l,t.from);null==r||((n=/^\s*/.exec(t.text)[0])!=(s=qs(o,r))||i.from(t(i.update(Zr(i,(t,e)=>{e.push({from:t.from,insert:i.facet(Ws)})}))),!0);const eo=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:e=>Sr(e,t=>Lr(e.state,t,e.textDirection!=Mi.LTR)),shift:e=>Rr(e,t=>Lr(e.state,t,e.textDirection!=Mi.LTR))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>Sr(e,t=>Lr(e.state,t,e.textDirection==Mi.LTR)),shift:e=>Rr(e,t=>Lr(e.state,t,e.textDirection==Mi.LTR))},{key:"Alt-ArrowUp",run:({state:t,dispatch:e})=>Yr(t,e,!1)},{key:"Shift-Alt-ArrowUp",run:({state:t,dispatch:e})=>Qr(t,e,!1)},{key:"Alt-ArrowDown",run:({state:t,dispatch:e})=>Yr(t,e,!0)},{key:"Shift-Alt-ArrowDown",run:({state:t,dispatch:e})=>Qr(t,e,!0)},{key:"Escape",run:({state:t,dispatch:e})=>{let i=t.selection,n=null;return 1{var e=Xr(i).map(({from:t,to:e})=>D.range(t,Math.min(e+1,i.doc.length)));return t(i.update({selection:D.create(e),annotations:st.userEvent.of("keyboardselection")})),!0}},{key:"Mod-i",run:({state:n,dispatch:t})=>{var e=xr(n.selection,t=>{var e;let i=$s(n).resolve(t.head,1);for(;!(i.from=t.to||i.to>t.to&&i.from<=t.from||null===(e=i.parent)||void 0===e)&&e.parent;)i=i.parent;return D.range(i.to,i.from)});return t(kr(n,e)),!0}},{key:"Mod-[",run:({state:o,dispatch:t})=>(t(o.update(Zr(o,(n,s)=>{let r=/^\s*/.exec(n.text)[0];if(r){let t=M(r,0,o.tabSize),e=0,i=qs(o,Math.max(0,t-Fs(o)));for(;e{let{state:i}=e,t=i.changes(Xr(i).map(({from:t,to:e})=>(0e.moveVertically(t,!0)).map(t);return e.dispatch({changes:t,selection:n,scrollIntoView:!0}),!0}},{key:"Shift-Mod-\\",run:({state:t,dispatch:e})=>function(i,t,n){let s=!1,e=xr(i.selection,t=>{var e=ar(i,t.head,-1)||ar(i,t.head,1)||0Hr(t,t.textDirection!=Mi.LTR),shift:t=>Wr(t,t.textDirection!=Mi.LTR)},{mac:"Cmd-ArrowLeft",run:Vr,shift:ve},{key:"ArrowRight",run:Tr,shift:jr},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:t=>Hr(t,t.textDirection==Mi.LTR),shift:t=>Wr(t,t.textDirection==Mi.LTR)},{mac:"Cmd-ArrowRight",run:Pr,shift:me},{key:"ArrowUp",run:Dr,shift:qr},{mac:"Cmd-ArrowUp",run:ge,shift:we},{mac:"Ctrl-ArrowUp",run:zr,shift:Nt},{key:"ArrowDown",run:_r,shift:Pt},{mac:"Cmd-ArrowDown",run:pe,shift:be},{mac:"Ctrl-ArrowDown",run:Br,shift:It},{key:"PageUp",run:zr,shift:Nt},{key:"PageDown",run:Br,shift:It},{key:"Home",run:e=>Sr(e,t=>Er(e,t,!1)),shift:e=>Rr(e,t=>Er(e,t,!1))},{key:"Mod-Home",run:ge,shift:we},{key:"End",run:e=>Sr(e,t=>Er(e,t,!0)),shift:e=>Rr(e,t=>Er(e,t,!0))},{key:"Mod-End",run:pe,shift:be},{key:"Enter",run:({state:a,dispatch:t})=>{var e=a.changeByRange(({from:t,to:e})=>{var i=t==e&&function(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let i=$s(t).resolve(e),n=i.childBefore(e),s=i.childAfter(e),r;return n&&s&&n.to<=e&&s.from>=e&&(r=n.type.prop(ps.closedBy))&&-1r.from&&t(e(t.update({selection:{anchor:0,head:t.doc.length},annotations:st.userEvent.of("keyboardselection")})),!0)},{key:"Backspace",run:ue,shift:ue},{key:"Delete",run:xe,shift:xe},{key:"Mod-Backspace",mac:"Alt-Backspace",run:ye},{key:"Mod-Delete",mac:"Alt-Delete",run:fe},{mac:"Mod-Backspace",run:i=>Ur(i,t=>{var e=i.visualLineAt(t).from;return eGr(t,!1,!1)},{key:"Ctrl-k",run:Ns},{key:"Alt-d",run:fe},{key:"Ctrl-Alt-h",run:ye},{key:"Ctrl-o",run:({state:t,dispatch:e})=>{var i=t.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:u.of(["",""])},range:D.cursor(t.from)}));return e(t.update(i,{scrollIntoView:!0,annotations:st.userEvent.of("input")})),!0}},{key:"Ctrl-t",run:({state:n,dispatch:t})=>{var e=n.changeByRange(t=>{if(!t.empty||0==t.from||t.from==n.doc.length)return{range:t};var e=t.from,i=n.doc.lineAt(e),t=e==i.from?e-1:S(i.text,e-i.from,!1)+i.from,i=e==i.to?e+1:S(i.text,e-i.from,!0)+i.from;return{changes:{from:t,to:i,insert:n.doc.slice(e,i).append(n.doc.slice(t,e))},range:D.cursor(i)}});return!e.changes.empty&&(t(n.update(e,{scrollIntoView:!0})),!0)}},{key:"Alt-f",run:t=>Hr(t,!0),shift:t=>Wr(t,!0)},{key:"Alt-b",run:t=>Hr(t,!1),shift:t=>Wr(t,!1)},{key:"Alt-<",run:ge},{key:"Alt->",run:pe},{key:"Ctrl-v",run:Br},{key:"Alt-v",run:zr}].map(t=>({mac:t.key,run:t.run,shift:t.shift})))),io={key:"Tab",run:({state:t,dispatch:e})=>t.selection.ranges.some(t=>!t.empty)?to({state:t,dispatch:e}):(e(t.update(t.replaceSelection("\t"),{scrollIntoView:!0,annotations:st.userEvent.of("input")})),!0),shift:Zs},no=tt.define(),so=tt.define(),ro=B.define(),oo=B.define({combine(t){return mt(t,{minDepth:100,newGroupDelay:500},{minDepth:Math.max,newGroupDelay:Math.min})}}),ao=R.define({create(){return bo.empty},update(e,i){var n=i.state.facet(oo),s=i.annotation(no);if(s){var r=uo.fromTransaction(i),o=s.side;let t=0==o?e.undone:e.done;return t=r?fo(t,t.length,n.minDepth,r):vo(t,i.startState.selection),new bo(0==o?s.rest:t,0==o?t:s.rest)}var t=i.annotation(so);if("full"!=t&&"before"!=t||(e=e.isolate()),!1===i.annotation(st.addToHistory))return i.changes.empty?e:e.addMapping(i.changes.desc);r=uo.fromTransaction(i),o=i.annotation(st.time),s=i.annotation(st.userEvent);return r?e=e.addChanges(r,o,s,n.newGroupDelay,n.minDepth):i.selection&&(e=e.addSelection(i.startState.selection,o,s,n.newGroupDelay)),e="full"==t||"after"==t?e.isolate():e},toJSON(t){return{done:t.done.map(t=>t.toJSON()),undone:t.undone.map(t=>t.toJSON())}},fromJSON(t){return new bo(t.done.map(uo.fromJSON),t.undone.map(uo.fromJSON))}});function lo(n,s){return function({state:t,dispatch:e}){let i=t.field(ao,!1);if(!i)return!1;t=i.pop(n,t,s);return!!t&&(e(t),!0)}}const ho=lo(0,!1),co=lo(1,!1);Vr=lo(0,!0),ve=lo(1,!0);class uo{constructor(t,e,i,n,s){this.changes=t,this.effects=e,this.mapped=i,this.startSelection=n,this.selectionsAfter=s}setSelAfter(t){return new uo(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t;return{changes:null===(t=this.changes)||void 0===t?void 0:t.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(t=this.startSelection)||void 0===t?void 0:t.toJSON(),selectionsAfter:this.selectionsAfter.map(t=>t.toJSON())}}static fromJSON(t){return new uo(t.changes&&k.fromJSON(t.changes),[],t.mapped&&x.fromJSON(t.mapped),t.startSelection&&D.fromJSON(t.startSelection),t.selectionsAfter.map(D.fromJSON))}static fromTransaction(t){let e=mo;for(var i of t.startState.facet(ro)){i=i(t);i.length&&(e=e.concat(i))}return!e.length&&t.changes.empty?null:new uo(t.changes.invert(t.startState.doc),e,void 0,t.startState.selection,mo)}static selection(t){return new uo(void 0,mo,void 0,void 0,t)}}function fo(t,e,i,n){let s=t.slice(i+20t.map(e)):mo,i);if(!t.changes)return uo.selection(n);var s=t.changes.map(e),r=e.mapDesc(t.changes,!0),i=t.mapped?t.mapped.composeDesc(r):r;return new uo(s,nt.mapEffects(t.effects,e),i,t.startSelection.map(r),n)}(e[i-1],t,n);if(s.changes&&!s.changes.empty||s.effects.length){let t=e.slice(0,i);return t[i-1]=s,t}t=s.mapped,i--,n=s.selectionsAfter}return n.length?[uo.selection(n)]:mo}class bo{constructor(t,e,i=0,n=void 0){this.done=t,this.undone=e,this.prevTime=i,this.prevUserEvent=n}isolate(){return this.prevTime?new bo(this.done,this.undone):this}addChanges(t,e,i,n,s){let r=this.done,o=r[r.length-1];return r=o&&o.changes&&e-this.prevTimeo.push(t,e)),e.iterChangedRanges((t,e,i,n)=>{for(let t=0;tt.empty!=s.ranges[e].empty).length)?this:new bo(vo(this.done,t),this.undone,e,i)}addMapping(t){return new bo(wo(this.done,t),wo(this.undone,t),this.prevTime,this.prevUserEvent)}pop(e,i,t){let n=0==e?this.done:this.undone;if(0==n.length)return null;var s=n[n.length-1];if(t&&s.selectionsAfter.length)return i.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:no.of({side:e,rest:function(t){let e=t[t.length-1],i=t.slice();return i[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),i}(n)})});if(s.changes){let t=1==n.length?mo:n.slice(0,n.length-1);return s.mapped&&(t=wo(t,s.mapped)),i.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:no.of({side:e,rest:t}),filter:!1})}return null}}bo.empty=new bo(mo,mo);const yo=[{key:"Mod-z",run:ho,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:co,preventDefault:!0},{key:"Mod-u",run:Vr,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:ve,preventDefault:!0}];let xo=0;class ko{constructor(t,e,i){this.set=t,this.base=e,this.modified=i,this.id=xo++}static define(t){if(null!=t&&t.base)throw new Error("Can not derive from a modified tag");let e=new ko([],null,[]);if(e.set.push(e),t)for(var i of t.set)e.set.push(i);return e}static defineModifier(){let e=new Mo;return t=>-1t.id-e.id))}}let So=0;class Mo{constructor(){this.instances=[],this.id=So++}static get(e,i){if(!i.length)return e;var t,n=i[0].instances.find(t=>t.base==e&&function(t,i){return t.length==i.length&&t.every((t,e)=>t==i[e])}(i,t.modified));if(n)return n;let s=[],r=new ko(s,e,i);for(t of i)t.instances.push(r);var o,a=function e(i){let n=[i];for(let t=0;tt.scope)?void 0:Object.create(null);return(t,e)=>{var i,n=a&&a[t.id];if(void 0!==n)return n;let s=null;for(i of o){var r=i.match(t,e);r&&(s=s?s+" "+r:r)}return a&&(a[t.id]=s),s}}static define(t,e){return new Oo(t,e||{})}static get(t,e,i){return Lo(t)(e,i||gs.none)}}const Do=I.fallback(li.fromClass(class{constructor(t){this.markCache=Object.create(null),this.tree=$s(t.state),this.decorations=this.buildDeco(t,Lo(t.state))}update(t){var e=$s(t.state),i=Lo(t.state),n=i!=t.startState.facet(Co);e.lengths-1)){for(let t=s-1,e=i.length-1;0<=e;e--,t--){var r=i[e];if(r&&r!=n[t])return}return 1}}(e.context,_o,r)){for(var h of e.tags)(h=u(h,o))&&(t&&(t+=" "),t+=h,1==e.mode?s+=(s?" ":"")+h:0==e.mode&&(i=!0));break}e=e.next}if(t!=m&&(l>p&&m&&f(p,g.from,m),p=l,m=t),!i&&g.firstChild()){do{var c=g.to;n(s,r+1,o),m!=t&&((c=Math.min(d,c))>p&&m&&f(p,c,m),p=c,m=t)}while(g.nextSibling());g.parent()}}}("",0,t.type)}(this.tree,i,s,e,(t,e,i)=>{n.add(t,e,this.markCache[i]||(this.markCache[i]=Pe.mark({class:i})))});return n.finish()}},{decorations:t=>t.decorations})),_o=[""];const $o=ko.define;Pr=$o(),me=$o(),xe=$o(me),Ns=$o(),fe=$o(Ns),ye=$o(Ns),ge=$o(),pe=$o(ge),Br=$o(),zr=$o(),Zs=$o(),Vr=$o(Zs),ve=$o();const zo={comment:Pr,lineComment:$o(Pr),blockComment:$o(Pr),docComment:$o(Pr),name:me,variableName:$o(me),typeName:xe,tagName:$o(xe),propertyName:$o(me),className:$o(me),labelName:$o(me),namespace:$o(me),macroName:$o(me),literal:Ns,string:fe,docString:$o(fe),character:$o(fe),number:ye,integer:$o(ye),float:$o(ye),bool:$o(Ns),regexp:$o(Ns),escape:$o(Ns),color:$o(Ns),url:$o(Ns),keyword:Br,self:$o(Br),null:$o(Br),atom:$o(Br),unit:$o(Br),modifier:$o(Br),operatorKeyword:$o(Br),controlKeyword:$o(Br),definitionKeyword:$o(Br),operator:zr,derefOperator:$o(zr),arithmeticOperator:$o(zr),logicOperator:$o(zr),bitwiseOperator:$o(zr),compareOperator:$o(zr),updateOperator:$o(zr),definitionOperator:$o(zr),typeOperator:$o(zr),controlOperator:$o(zr),punctuation:Zs,separator:$o(Zs),bracket:Vr,angleBracket:$o(Vr),squareBracket:$o(Vr),paren:$o(Vr),brace:$o(Vr),content:ge,heading:pe,heading1:$o(pe),heading2:$o(pe),heading3:$o(pe),heading4:$o(pe),heading5:$o(pe),heading6:$o(pe),contentSeparator:$o(ge),list:$o(ge),quote:$o(ge),emphasis:$o(ge),strong:$o(ge),link:$o(ge),monospace:$o(ge),inserted:$o(),deleted:$o(),changed:$o(),invalid:$o(),meta:ve,documentMeta:$o(ve),annotation:$o(ve),processingInstruction:$o(ve),definition:ko.defineModifier(),constant:ko.defineModifier(),function:ko.defineModifier(),standard:ko.defineModifier(),local:ko.defineModifier(),special:ko.defineModifier()};Oo.define([{tag:zo.link,textDecoration:"underline"},{tag:zo.heading,textDecoration:"underline",fontWeight:"bold"},{tag:zo.emphasis,fontStyle:"italic"},{tag:zo.strong,fontWeight:"bold"},{tag:zo.keyword,color:"#708"},{tag:[zo.atom,zo.bool,zo.url,zo.contentSeparator,zo.labelName],color:"#219"},{tag:[zo.literal,zo.inserted],color:"#164"},{tag:[zo.string,zo.deleted],color:"#a11"},{tag:[zo.regexp,zo.escape,zo.special(zo.string)],color:"#e40"},{tag:zo.definition(zo.variableName),color:"#00f"},{tag:zo.local(zo.variableName),color:"#30a"},{tag:[zo.typeName,zo.namespace],color:"#085"},{tag:zo.className,color:"#167"},{tag:[zo.special(zo.variableName),zo.macroName],color:"#256"},{tag:zo.definition(zo.propertyName),color:"#00c"},{tag:zo.comment,color:"#940"},{tag:zo.meta,color:"#7a757a"},{tag:zo.invalid,color:"#f00"}]);const Bo=Oo.define([{tag:zo.link,class:"cmt-link"},{tag:zo.heading,class:"cmt-heading"},{tag:zo.emphasis,class:"cmt-emphasis"},{tag:zo.strong,class:"cmt-strong"},{tag:zo.keyword,class:"cmt-keyword"},{tag:zo.atom,class:"cmt-atom"},{tag:zo.bool,class:"cmt-bool"},{tag:zo.url,class:"cmt-url"},{tag:zo.labelName,class:"cmt-labelName"},{tag:zo.inserted,class:"cmt-inserted"},{tag:zo.deleted,class:"cmt-deleted"},{tag:zo.literal,class:"cmt-literal"},{tag:zo.string,class:"cmt-string"},{tag:zo.number,class:"cmt-number"},{tag:[zo.regexp,zo.escape,zo.special(zo.string)],class:"cmt-string2"},{tag:zo.variableName,class:"cmt-variableName"},{tag:zo.local(zo.variableName),class:"cmt-variableName cmt-local"},{tag:zo.definition(zo.variableName),class:"cmt-variableName cmt-definition"},{tag:zo.special(zo.variableName),class:"cmt-variableName2"},{tag:zo.typeName,class:"cmt-typeName"},{tag:zo.namespace,class:"cmt-namespace"},{tag:zo.macroName,class:"cmt-macroName"},{tag:zo.propertyName,class:"cmt-propertyName"},{tag:zo.operator,class:"cmt-operator"},{tag:zo.comment,class:"cmt-comment"},{tag:zo.meta,class:"cmt-meta"},{tag:zo.invalid,class:"cmt-invalid"},{tag:zo.punctuation,class:"cmt-punctuation"}]);var Eo=[{type:"undo",title:"撤销",innerHTML:''},{type:"redo",title:"重做",innerHTML:''},{type:"bold",title:"加粗",innerHTML:''},{type:"italic",title:"倾斜",innerHTML:''},{type:"delete",title:"删除",innerHTML:''},{type:"code-inline",title:"行内代码",innerHTML:''},{type:"hr",title:"横线",innerHTML:''},{type:"quote",title:"引用",innerHTML:''},{type:"title",title:"标题",innerHTML:''},{type:"ordered-list",title:"有序列表",innerHTML:''},{type:"unordered-list",title:"无序列表",innerHTML:''},{type:"link",title:"超链接",innerHTML:''},{type:"image",title:"插入图片",innerHTML:''},{type:"table",title:"表格",innerHTML:''},{type:"code-block",title:"代码块",innerHTML:''},{type:"html",title:"原生HTML",innerHTML:''},{type:"time",title:"当前时间",innerHTML:''},{type:"indent",title:"缩进",innerHTML:''},{type:"character",title:"实体符号",innerHTML:''},{type:"emoji",title:"符号表情",innerHTML:''},{type:"expression",title:"图片表情",innerHTML:''},{type:"task-no",title:"任务 - 未完成",innerHTML:''},{type:"task-yes",title:"任务 - 已完成",innerHTML:''},{type:"mtitle",title:"居中标题",innerHTML:''},{type:"dplayer",title:"M3U8/MP4视频",innerHTML:''},{type:"bilibili",title:"哔哩哔哩视频",innerHTML:''},{type:"netease-list",title:"网易云列表",innerHTML:''},{type:"netease-single",title:"网易云单首",innerHTML:''},{type:"abtn",title:"多彩按钮",innerHTML:''},{type:"anote",title:"便条按钮",innerHTML:''},{type:"dotted",title:"彩色虚线",innerHTML:''},{type:"hide",title:"回复可见",innerHTML:''},{type:"card-default",title:"默认卡片",innerHTML:''},{type:"message",title:"消息提示",innerHTML:''},{type:"progress",title:"进度条",innerHTML:''},{type:"callout",title:"标注",innerHTML:''},{type:"mp3",title:"外部音乐",innerHTML:''},{type:"tabs",title:"标签页",innerHTML:''},{type:"card-list",title:"卡片列表",innerHTML:''},{type:"timeline",title:"时间轴",innerHTML:''},{type:"copy",title:"复制文本",innerHTML:''},{type:"card-describe",title:"描述卡片",innerHTML:''},{type:"lamp",title:"跑马灯",innerHTML:''},{type:"collapse",title:"折叠面板",innerHTML:''},{type:"cloud",title:"云盘下载",innerHTML:''},{type:"gird",title:"宫格",innerHTML:''},{type:"alert",title:"提示",innerHTML:''},{type:"clean",title:"清屏",innerHTML:''},{type:"download",title:"下载",innerHTML:''},{type:"fullScreen",title:"全屏/取消全屏",innerHTML:''},{type:"preview",title:"预览/取消预览",innerHTML:''},{type:"draft",title:"保存草稿",innerHTML:''},{type:"publish",title:"发布文章",innerHTML:''},{type:"about",title:"关于",innerHTML:''}];const Vo=new HyperDown,Po=window.JoeConfig.playerAPI;function Ro(t){if(!window.JoeConfig.canPreview)return $(".cm-preview-content").html("1. 预览已默认关闭
2. 点击上方预览按钮启用预览
3. 若编辑器卡顿可尝试关闭预览");-1!==t.indexOf(" ")&&(t=t.replace(/ /g," ")),-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=-1!==(t=(t=(t=Vo.makeHtml(t)).replace(/\:\:\(\s*(呵呵|哈哈|吐舌|太开心|笑眼|花心|小乖|乖|捂嘴笑|滑稽|你懂的|不高兴|怒|汗|黑线|泪|真棒|喷|惊哭|阴险|鄙视|酷|啊|狂汗|what|疑问|酸爽|呀咩爹|委屈|惊讶|睡觉|笑尿|挖鼻|吐|犀利|小红脸|懒得理|勉强|爱心|心碎|玫瑰|礼物|彩虹|太阳|星星月亮|钱币|茶杯|蛋糕|大拇指|胜利|haha|OK|沙发|手纸|香蕉|便便|药丸|红领巾|蜡烛|音乐|灯泡|开心|钱|咦|呼|冷|生气|弱|吐血|狗头)\s*\)/g,function(t,e){return e=encodeURI(e).replace(/%/g,""),``})).replace(/\:\@\(\s*(高兴|小怒|脸红|内伤|装大款|赞一个|害羞|汗|吐血倒地|深思|不高兴|无语|亲亲|口水|尴尬|中指|想一想|哭泣|便便|献花|皱眉|傻笑|狂汗|吐|喷水|看不见|鼓掌|阴暗|长草|献黄瓜|邪恶|期待|得意|吐舌|喷血|无所谓|观察|暗地观察|肿包|中枪|大囧|呲牙|抠鼻|不说话|咽气|欢呼|锁眉|蜡烛|坐等|击掌|惊喜|喜极而泣|抽烟|不出所料|愤怒|无奈|黑线|投降|看热闹|扇耳光|小眼睛|中刀)\s*\)/g,function(t,e){return e=encodeURI(e).replace(/%/g,""),``})).indexOf("{lamp")?t.replace(/{lamp\/}/g,''):t).indexOf("{x}")?t.replace(/{x}/g,''):t).indexOf("{ }")?t.replace(/{ }/g,''):t).indexOf("{mtitle")?t.replace(/{mtitle([^}]*)\/}/g,""):t).indexOf("{dplayer")?t.replace(/{dplayer([^}]*)\/}/g,''):t).indexOf("{bilibili")?t.replace(/{bilibili([^}]*)\/}/g,""):t).indexOf("{music-list")?t.replace(/{music-list([^}]*)\/}/g,""):t).indexOf("{music")?t.replace(/{music([^}]*)\/}/g,""):t).indexOf("{mp3")?t.replace(/{mp3([^}]*)\/}/g,""):t).indexOf("{abtn")?t.replace(/{abtn([^}]*)\/}/g,""):t).indexOf("{anote")?t.replace(/{anote([^}]*)\/}/g,""):t).indexOf("{copy")?t.replace(/{copy([^}]*)\/}/g,""):t).indexOf("{dotted")?t.replace(/{dotted([^}]*)\/}/g,""):t).indexOf("{message")?t.replace(/{message([^}]*)\/}/g,""):t).indexOf("{progress")?t.replace(/{progress([^}]*)\/}/g,""):t).indexOf("{cloud")?t.replace(/{cloud([^}]*)\/}/g,""):t).indexOf("{hide")?t.replace(/{hide[^}]*}([\s\S]*?){\/hide}/g,""):t).indexOf("{card-default")?t.replace(/{card-default([^}]*)}([\s\S]*?){\/card-default}/g,''):t).indexOf("{callout")?t.replace(/{callout([^}]*)}([\s\S]*?){\/callout}/g,''):t).indexOf("{card-describe")?t.replace(/{card-describe([^}]*)}([\s\S]*?){\/card-describe}/g,''):t).indexOf("{tabs")?t.replace(/{tabs}([\s\S]*?){\/tabs}/g,''):t).indexOf("{card-list")?t.replace(/{card-list}([\s\S]*?){\/card-list}/g,''):t).indexOf("{timeline")?t.replace(/{timeline}([\s\S]*?){\/timeline}/g,''):t).indexOf("{collapse")?t.replace(/{collapse}([\s\S]*?){\/collapse}/g,''):t).indexOf("{alert")?t.replace(/{alert([^}]*)}([\s\S]*?){\/alert}/g,''):t).indexOf("{gird")&&(t=t.replace(/{gird([^}]*)}([\s\S]*?){\/gird}/g,'')),$(".cm-preview-content").html(t),$(".cm-preview-content p:empty").remove(),$(".cm-preview-content pre code").each((t,e)=>Prism.highlightElement(e))}class No extends class{constructor(){$("body").append(`
+!function(){"use strict";let r="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(t=>t?parseInt(t,36):1);for(let t=1;te)return r[t-1]<=e}(e))n+=O(e),t=e;else{if(!s(e))break;{let t=0,e=n-2;for(;0<=e&&s(c(i,e));)t++,e-=2;if(t%2==0)break;n+=2}}}return n}function a(t,e){for(;0this.length)throw new RangeError(`Invalid position ${t} in document of length ${this.length}`);return this.lineInner(t,!1,1,0)}line(t){if(t<1||t>this.lines)throw new RangeError(`Invalid line number ${t} in ${this.lines}-line document`);return this.lineInner(t,!0,1,0)}replace(t,e,i){var n=[];return this.decompose(0,t,n,2),i.length&&i.decompose(0,i.length,n,3),this.decompose(e,this.length,n,1),m.from(n,this.length-(e-t)+i.length)}append(t){return this.replace(this.length,this.length,t)}slice(t,e=this.length){var i=[];return this.decompose(t,e,i,0),m.from(i,e-t)}eq(t){if(t==this)return!0;if(t.length!=this.length||t.lines!=this.lines)return!1;let e=new g(this),i=new g(t);for(;;){if(e.next(),i.next(),e.lineBreak!=i.lineBreak||e.done!=i.done||e.value!=i.value)return!1;if(e.done)return!0}}iter(t=1){return new g(this,t)}iterRange(t,e=this.length){return new i(this,t,e)}toString(){return this.sliceString(0)}toJSON(){var t=[];return this.flatten(t),t}static of(t){if(0==t.length)throw new RangeError("A document must have at least one line");return 1!=t.length||t[0]?t.length<=32?new p(t):m.from(p.split(t,[])):d.empty}}"undefined"!=typeof Symbol&&(d.prototype[Symbol.iterator]=function(){return this.iter()});class p extends d{constructor(t,e=function(t){let e=-1;for(var i of t)e+=i.length+1;return e}(t)){super(),this.text=t,this.length=e}get lines(){return this.text.length}get children(){return null}lineInner(e,i,n,r){for(let t=0;;t++){var s=this.text[t],o=r+s.length;if(e<=(i?n:o))return new v(r,o,n,s);r=o+1,n++}}decompose(i,t,n,r){i=i<=0&&t>=this.length?this:new p(f(this.text,i,t),Math.min(t,this.length)-Math.max(0,i));if(1&r){let t=n.pop(),e=u(i.text,t.text.slice(),0,i.length);e.length<=32?n.push(new p(e,t.length+i.length)):(r=e.length>>1,n.push(new p(e.slice(0,r)),new p(e.slice(r))))}else n.push(i)}replace(t,e,i){if(!(i instanceof p))return super.replace(t,e,i);var n=u(this.text,u(i.text,f(this.text,0,t)),e),t=this.length+i.length-(e-t);return n.length<=32?new p(n,t):m.from(p.split(n,[]),t)}sliceString(r,s=this.length,o="\n"){let a="";for(let i=0,n=0;i<=s&&nr&&n&&(a+=o),ri&&(a+=t.slice(Math.max(0,r-i),s-i)),i=e+1}return a}flatten(t){for(var e of this.text)t.push(e)}static split(t,e){let i=[],n=-1;for(var r of t)i.push(r),n+=r.length+1,32==i.length&&(e.push(new p(i,n)),i=[],n=-1);return-1=n&&(l=a&((n<=r?1:0)|(s<=e?2:0)),n>=r&&e<=s&&!l?o.push(t):t.decompose(r-n,s-n,o,l)),n=e+1}}replace(r,s,o){if(o.lines=n&&s<=e){var a=t.replace(r-n,s-n,o),l=this.lines-t.lines+a.lines;if(a.lines>4&&a.lines>l>>6){let t=this.children.slice();return t[i]=a,new m(t,this.length-(s-r)+o.length)}return super.replace(n,e,a)}n=e+1}return super.replace(r,s,o)}sliceString(r,s=this.length,o="\n"){let a="";for(let i=0,n=0;ir&&i&&(a+=o),rn&&(a+=t.sliceString(r-n,s-n,o)),n=e+1}return a}flatten(t){for(var e of this.children)e.flatten(t)}static from(t,e=t.reduce((t,e)=>t+e.length+1,-1)){let i=0;for(var n of t)i+=n.lines;if(i<32){var r,s=[];for(r of t)r.flatten(s);return new p(s,e)}let o=Math.max(32,i>>5),a=o<<1,l=o>>1,h=[],c=0,O=-1,d=[];function u(){0!=c&&(h.push(1==d.length?d[0]:m.from(d,O)),O=-1,c=d.length=0)}for(var f of t)!function t(e){let i;if(e.lines>a&&e instanceof m)for(var n of e.children)t(n);else e.lines>l&&(c>l||!c)?(u(),h.push(e)):e instanceof p&&c&&(i=d[d.length-1])instanceof p&&e.lines+i.lines<=32?(c+=e.lines,O+=e.length+1,d[d.length-1]=new p(i.text.concat(e.text),i.length+1+e.length)):(c+e.lines>o&&u(),c+=e.lines,O+=e.length+1,d.push(e))}(f);return u(),1==h.length?h[0]:new m(h,e)}}function u(s,o,a=0,l=1e9){for(let i=0,n=0,r=!0;nMath.max(0,n))return this.value=0==n?t:0t.length?n-=t.length:(this.nodes.push(t),this.offsets.push(0this.limit&&(this.value=0r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(i,n=i){for(let t=0,e=0;t"number"!=typeof t))throw new RangeError("Invalid JSON representation of ChangeDesc");return new y(t)}}class k extends y{constructor(t,e){super(t),this.inserted=e}apply(s){if(this.length!=s.length)throw new RangeError("Applying change set to a document with the wrong length");return T(this,(t,e,i,n,r)=>s=s.replace(i,i+(e-t),r),!1),s}mapDesc(t,e=!1){return W(this,t,e,!0)}invert(i){let n=this.sections.slice(),r=[];for(let t=0,e=0;t>1;r.length>1].toJSON()))}return n}static of(t,s,o){let a=[],l=[],h=0,i=null;function c(t=!1){if(t||a.length){hh&&S(a,t-h,-1),S(a,e-t,n),P(l,a,r),h=e)}}(t),c(!i),i}static empty(t){return new k(t?[t,-1]:[],[])}static fromJSON(i){if(!Array.isArray(i))throw new RangeError("Invalid JSON representation of ChangeSet");let n=[],r=[];for(let e=0;ee&&"string"!=typeof t))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==t.length)n.push(t[0],0);else{for(;r.length>1;if(n>1])),!(c||a==l.sections.length||l.sections[a+1]<0);)n=l.sections[a++],r=l.sections[a++];h(s,t,o,e,i),s=t,o=e}}}function W(t,e,r,i=!1){var s=[],o=i?[]:null;let a=new X(t),l=new X(e);for(let i=0,n=0;;)if(-1==a.ins)i+=a.len,a.next();else if(-1==l.ins&&nn&&!a.done&&i+a.leni&&n+l.lenl||0<=o.ins&&o.len>l)&&(t||h>1;return e>=t.length?d.empty:t[e]}textBit(t){let{inserted:e}=this.set,i=this.i-2>>1;return i>=e.length&&!t?d.empty:e[i].slice(this.off,null==t?void 0:this.off+t)}forward(t){t==this.len?this.next():(this.len-=t,this.off+=t)}forward2(t){-1==this.ins?this.forward(t):t==this.ins?this.next():(this.ins-=t,this.off+=t)}}class R{constructor(t,e,i){this.from=t,this.to=e,this.flags=i}get anchor(){return 16&this.flags?this.to:this.from}get head(){return 16&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 4&this.flags?-1:8&this.flags?1:0}get bidiLevel(){var t=3&this.flags;return 3==t?null:t}get goalColumn(){var t=this.flags>>5;return 33554431==t?void 0:t}map(t,e=-1){var i=t.mapPos(this.from,e),e=t.mapPos(this.to,e);return i==this.from&&e==this.to?this:new R(i,e,this.flags)}extend(t,e=t){if(t<=this.anchor&&e>=this.anchor)return _.range(t,e);e=Math.abs(t-this.anchor)>Math.abs(e-this.anchor)?t:e;return _.range(this.anchor,e)}eq(t){return this.anchor==t.anchor&&this.head==t.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(t){if(!t||"number"!=typeof t.anchor||"number"!=typeof t.head)throw new RangeError("Invalid JSON representation for SelectionRange");return _.range(t.anchor,t.head)}}class _{constructor(t,e=0){this.ranges=t,this.mainIndex=e}map(e,i=-1){return e.empty?this:_.create(this.ranges.map(t=>t.map(e,i)),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;tt.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||"number"!=typeof t.main||t.main>=t.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new _(t.ranges.map(t=>R.fromJSON(t)),t.main)}static single(t,e=t){return new _([_.range(t,e)],0)}static create(i,n=0){if(0==i.length)throw new RangeError("A selection needs at least one range");for(let t=0,e=0;et.from-e.from),i=e.indexOf(t);for(let t=1;tr.head?_.range(s,n):_.range(n,s)))}return new _(e,i)}(i.slice(),n);t=r.to}return new _(i,n)}static cursor(t,e=0,i,n){return new R(t,t,(0==e?0:e<0?4:8)|(null==i?3:Math.min(2,i))|(null!=n?n:33554431)<<5)}static range(t,e,i){i=(null!=i?i:33554431)<<5;return ee)throw new RangeError("Selection points outside of document")}let A=0;class L{constructor(t,e,i,n,r){this.combine=t,this.compareInput=e,this.compare=i,this.isStatic=n,this.extensions=r,this.id=A++,this.default=t([])}static define(t={}){return new L(t.combine||(t=>t),t.compareInput||((t,e)=>t===e),t.compare||(t.combine?(t,e)=>t===e:z),!!t.static,t.enables)}of(t){return new q([],this,0,t)}compute(t,e){if(this.isStatic)throw new Error("Can't compute a static facet");return new q(t,this,1,e)}computeN(t,e){if(this.isStatic)throw new Error("Can't compute a static facet");return new q(t,this,2,e)}from(e,i){return i=i||(t=>t),this.compute([e],t=>i(t.field(e)))}}function z(t,i){return t==i||t.length==i.length&&t.every((t,e)=>t===i[e])}class q{constructor(t,e,i,n){this.dependencies=t,this.facet=e,this.type=i,this.value=n,this.id=A++}dynamicSlot(t){var e,i;let n=this.value,r=this.facet.compareInput,s=t[this.id]>>1,o=2==this.type,a=!1,l=!1,h=[];for(i of this.dependencies)"doc"==i?a=!0:"selection"==i?l=!0:0==(1&(null!==(e=t[i.id])&&void 0!==e?e:1))&&h.push(t[i.id]);return(e,t)=>{if(!t||t.reconfigured)return e.values[s]=n(e),1;if(!(a&&t.docChanged||l&&(t.docChanged||t.selection)||h.some(t=>0<(1&G(e,t)))))return 0;var i=n(e),t=t.startState.values[s];return(o?function(e,i,n){if(e.length!=i.length)return!1;for(let t=0;t>1}const Y=L.define({static:!0});class M{constructor(t,e,i,n,r){this.id=t,this.createF=e,this.updateF=i,this.compareF=n,this.spec=r,this.provides=void 0}static define(t){let e=new M(A++,t.create,t.update,t.compare||((t,e)=>t===e),t);return t.provide&&(e.provides=t.provide(e)),e}create(t){let e=t.facet(Y).find(t=>t.field==this);return((null===e||void 0===e?void 0:e.create)||this.createF)(t)}slot(t){let r=t[this.id]>>1;return(t,e)=>{if(!e||e.reconfigured&&null==V(e.startState,this.id))return t.values[r]=this.create(t),1;let i,n=0;e.reconfigured?(i=e.startState.values[V(e.startState,this.id)],n=1):i=e.startState.values[r];e=this.updateF(i,e);return n||this.compareF(i,e)||(n=1),n&&(t.values[r]=e),n}}init(t){return[this,Y.of({field:this,create:t})]}get extension(){return this}}const Z={fallback:3,default:2,extend:1,override:0};function t(e){return t=>new j(t,e)}const E={fallback:t(Z.fallback),default:t(Z.default),extend:t(Z.extend),override:t(Z.override)};class j{constructor(t,e){this.inner=t,this.prec=e}}class D{of(t){return new H(this,t)}reconfigure(t){return D.reconfigure.of({compartment:this,extension:t})}get(t){return t.config.compartments.get(this)}}class H{constructor(t,e){this.compartment=t,this.inner=e}}class I{constructor(t,e,i,n,r){for(this.base=t,this.compartments=e,this.dynamicSlots=i,this.address=n,this.staticValues=r,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(t,e,n){let i=[],r=Object.create(null);var s,o,a=new Map;for(s of function(t,a,l){let h=[[],[],[],[]],c=new Map;return function t(e,i){var n=c.get(e);if(null!=n){if(i<=n)return;var r=h[n].indexOf(e);-1t.concat(e))}(t,e,a))(s instanceof M?i:r[s.facet.id]||(r[s.facet.id]=[])).push(s);let l=Object.create(null),h=[],c=[];for(let e of i)l[e.id]=c.length<<1,c.push(t=>e.slot(t));for(o in r){let i=r[o],e=i[0].facet;if(i.every(t=>0==t.type)){l[e.id]=h.length<<1|1;let t=e.combine(i.map(t=>t.value));var O=n?n.config.address[e.id]:null;null!=O&&(O=B(n,O),e.compare(t,O)&&(t=O)),h.push(t)}else{for(let e of i)0==e.type?(l[e.id]=h.length<<1|1,h.push(e.value)):(l[e.id]=c.length<<1,c.push(t=>e.dynamicSlot(t)));l[e.id]=c.length<<1,c.push(t=>function(e,h,t){let c=t.map(t=>e[t.id]),O=t.map(t=>t.type),d=c.filter(t=>!(1&t)),u=e[h.id]>>1;return(e,t)=>{var i,n=t?t.reconfigured?t.startState.config.address[h.id]:u<<1:null;let r=null==n;for(i of d)1&G(e,i)&&(r=!0);if(!r)return 0;let s=[];for(let t=0;tt(l)),l,h)}}function G(t,e){if(1&e)return 2;var i=e>>1,e=t.status[i];if(4==e)throw new Error("Cyclic dependency between fields and/or facets");if(2&e)return e;t.status[i]=4;e=t.config.dynamicSlots[i](t,t.applying);return t.status[i]=2|e}function B(t,e){return(1&e?t.config.staticValues:t.values)[e>>1]}const N=L.define(),U=L.define({combine:t=>t.some(t=>t),static:!0}),F=L.define({combine:t=>t.length?t[0]:void 0,static:!0}),J=L.define(),K=L.define(),tt=L.define();class et{constructor(t,e){this.type=t,this.value=e}static define(){return new it}}class it{of(t){return new et(this,t)}}class nt{constructor(t){this.map=t}of(t){return new rt(this,t)}}class rt{constructor(t,e){this.type=t,this.value=e}map(t){t=this.type.map(this.value,t);return void 0===t?void 0:t==this.value?this:new rt(this.type,t)}is(t){return this.type==t}static define(t={}){return new nt(t.map||(t=>t))}static mapEffects(t,e){if(!t.length)return t;let i=[];for(var n of t){n=n.map(e);n&&i.push(n)}return i}}rt.reconfigure=rt.define(),rt.appendConfig=rt.define();class st{constructor(t,e,i,n,r,s){this.startState=t,this.changes=e,this.selection=i,this.effects=n,this.annotations=r,this.scrollIntoView=s,this._doc=null,this._state=null,i&&C(i,e.newLength),r.some(t=>t.type==st.time)||(this.annotations=r.concat(st.time.of(Date.now())))}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(t){for(var e of this.annotations)if(e.type==t)return e.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}}function ot(t,e,i){let n,r,s;return s=i?(n=e.changes,r=k.empty(e.changes.length),t.changes.compose(e.changes)):(n=e.changes.map(t.changes),r=t.changes.mapDesc(e.changes,!0),t.changes.compose(n)),{changes:s,selection:e.selection?e.selection.map(r):null===(i=t.selection)||void 0===i?void 0:i.map(n),effects:rt.mapEffects(t.effects,n).concat(rt.mapEffects(e.effects,r)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function at(t,e,i){var n=e.selection;return{changes:e.changes instanceof k?e.changes:k.of(e.changes||[],i,t.facet(F)),selection:n&&(n instanceof _?n:_.single(n.anchor,n.head)),effects:ct(e.effects),annotations:ct(e.annotations),scrollIntoView:!!e.scrollIntoView}}function lt(e,i,n){let r=at(e,i.length?i[0]:{},e.doc.length);i.length&&!1===i[0].filter&&(n=!1);for(let t=1;t=r[i]))t=r[i++],e=r[i++];else{if(!(n{if(!/\S/.test(e))return Ot.Space;if(function(i){if(ut)return ut.test(i);for(let e=0;enull),n)for(var r in t.address){var s=t.address[r],r=n.startState.config.address[r];null!=r&&0==(1&s)&&(this.values[s>>1]=B(n.startState,r))}(this.applying=n)&&(n._state=this);for(let t=0;tn.set(e,t)),e=null),n.set(r.value.compartment,r.value.extension)):r.is(rt.reconfigure)?(e=null,i=r.value):r.is(rt.appendConfig)&&(e=null,i=ct(i).concat(r.value));new pt(e||I.resolve(i,n,this),t.newDoc,t.newSelection,t)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:_.cursor(t.from+e.length)}))}changeByRange(r){var s=this.selection,t=r(s.ranges[0]);let o=this.changes(t.changes),a=[t.range],l=ct(t.effects);for(let n=1;ne.spec.fromJSON(i,t)))}return pt.create({doc:t.doc,selection:_.fromJSON(t.selection),extensions:e.extensions?r.concat([e.extensions]):r})}static create(t={}){let e=I.resolve(t.extensions||[],new Map);var i=t.doc instanceof d?t.doc:d.of((t.doc||"").split(e.staticFacet(pt.lineSeparator)||Q));let n=t.selection?t.selection instanceof _?t.selection:_.single(t.selection.anchor,t.selection.head):_.single(0);return C(n,i.length),e.staticFacet(U)||(n=n.asSingle()),new pt(e,i,n)}get tabSize(){return this.facet(pt.tabSize)}get lineBreak(){return this.facet(pt.lineSeparator)||"\n"}phrase(t){for(var e of this.facet(pt.phrases))if(Object.prototype.hasOwnProperty.call(e,t))return e[t];return t}languageDataAt(t,e){let i=[];for(var n of this.facet(N))for(var r of n(this,e))Object.prototype.hasOwnProperty.call(r,t)&&i.push(r[t]);return i}charCategorizer(t){return ft(this.languageDataAt("wordChars",t).join(""))}wordAt(t){let{text:e,from:i,length:n}=this.doc.lineAt(t),r=this.charCategorizer(t),s=t-i,o=t-i;for(;0t.length?t[0]:4}),pt.lineSeparator=F,pt.phrases=L.define(),pt.languageData=N,pt.changeFilter=J,pt.transactionFilter=K,pt.transactionExtender=tt,D.reconfigure=rt.define();const gt="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),vt="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),Qt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class wt{constructor(t,e){this.rules=[];let{finish:c}=e||{};function O(t){return/^@/.test(t)?[t]:t.split(/,\s*/)}for(var i in t)!function t(i,e,n,r){let s=[],o=/^@(\w+)\b/.exec(i[0]),a=o&&"keyframes"==o[1];if(o&&null==e)return n.push(i[0]+";");for(var l in e){var h=e[l];if(/&/.test(l))t(l.split(/,\s*/).map(e=>i.map(t=>e.replace(/&/,t))).reduce((t,e)=>t.concat(e)),h,n);else if(h&&"object"==typeof h){if(!o)throw new RangeError("The value of a property ("+l+") should be a primitive value.");t(O(l),h,s,a)}else null!=h&&s.push(l.replace(/_.*/,"").replace(/[A-Z]/g,t=>"-"+t.toLowerCase())+": "+h+";")}(s.length||a)&&n.push((!c||o||r?i:i.map(c)).join(", ")+" {"+s.join(" ")+"}")}(O(i),t[i],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let t=Qt[gt]||1;return Qt[gt]=t+1,"ͼ"+t.toString(36)}static mount(t,e){(t[vt]||new yt(t)).mount(Array.isArray(e)?e:[e])}}let $t=null;class yt{constructor(e){if(!e.head&&e.adoptedStyleSheets&&"undefined"!=typeof CSSStyleSheet){if($t)return e.adoptedStyleSheets=[$t.sheet].concat(e.adoptedStyleSheets),e[vt]=$t;this.sheet=new CSSStyleSheet,e.adoptedStyleSheets=[this.sheet].concat(e.adoptedStyleSheets),$t=this}else{this.styleTag=(e.ownerDocument||e).createElement("style");let t=e.head||e;t.insertBefore(this.styleTag,t.firstChild)}this.modules=[],e[vt]=this}mount(n){let r=this.sheet,s=0,o=0;for(let i=0;i>1,l=o[a]-i||(n<0?this.value[a].startSide:this.value[a].endSide)-r;if(a==t)return 0<=l?t:e;0<=l?e=a:t=1+a}}between(i,n,r,s){for(let t=this.findIndex(n,-1),e=this.findIndex(r,1,void 0,t);tr||n==r&&0this.chunkEnd(o.chunkIndex)||ro.to||r500<=t.maxPoint||t!=Pt.empty&&i.indexOf(t)<0&&t.maxPoint>=r),o=i.filter(t=>500<=t.maxPoint||t!=Pt.empty&&e.indexOf(t)<0&&t.maxPoint>=r),a=function(t,e){let i=new Map;for(var n of t)for(let t=0;tCt(l,t,h,e,i,n)),t.empty&&0==t.length&&Ct(l,0,h,0,0,n)}static spans(t,e,i,n,r=-1){let s=new _t(t,null,r).goto(e),o=e,a=s.openStart;for(;;){var l=Math.min(s.to,i);if(s.point?(n.point(o,l,s.point,s.activeForPoint(s.to),a),a=s.openEnd(l)+(s.to>l?1:0)):l>o&&(n.span(o,l,s.active,a),a=s.openEnd(l)),s.to>i)break;o=s.to,s.next()}return a}static of(t,e=!1){let i=new Tt;for(var n of t instanceof xt?[t]:e?t.slice().sort(kt):t)i.add(n.from,n.to,n.value);return i.finish()}}Pt.empty=new Pt([],[],null,-1),Pt.empty.nextLayer=Pt.empty;class Tt{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}finishChunk(t){this.chunks.push(new St(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,t&&(this.from=[],this.to=[],this.value=[])}add(t,e,i){this.addInner(t,e,i)||(this.nextLayer||(this.nextLayer=new Tt)).add(t,e,i)}addInner(t,e,i){var n=t-this.lastTo||i.startSide-this.last.endSide;if(n<=0&&(t-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(n<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=t),this.from.push(t-this.chunkStart),this.to.push(e-this.chunkStart),this.last=i,this.lastFrom=t,this.lastTo=e,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,e-t)),!0)}addChunk(t,e){if((t-this.lastTo||e.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,e.maxPoint),this.chunks.push(e),this.chunkPos.push(t);var i=e.value.length-1;return this.last=e.value[i],this.lastFrom=e.from[i]+t,this.lastTo=e.to[i]+t,!0}finish(){return this.finishInner(Pt.empty)}finishInner(t){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return t;t=new Pt(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(t):t,this.setMaxPoint);return this.from=null,t}}class Wt{constructor(t,e,i,n=0){this.layer=t,this.skip=e,this.minPoint=i,this.rank=n}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(t,e=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(t,e,!1),this}gotoInner(t,e,i){for(;this.chunkIndex=this.minPoint)break}}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(t){return this.from-t.from||this.startSide-t.startSide||this.to-t.to||this.endSide-t.endSide}}class Xt{constructor(t){this.heap=t}static from(i,n=null,r=-1){let s=[];for(let e=0;e=r&&s.push(new Wt(t,n,r,e));return 1==s.length?s[0]:new Xt(s)}get startSide(){return this.value?this.value.startSide:0}goto(t,e=-1e9){for(var i of this.heap)i.goto(t,e);for(let t=this.heap.length>>1;0<=t;t--)Rt(this.heap,t);return this.next(),this}forward(t,e){for(var i of this.heap)i.forward(t,e);for(let t=this.heap.length>>1;0<=t;t--)Rt(this.heap,t);(this.to-t||this.value.endSide-e)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let t=this.heap[0];this.from=t.from,this.to=t.to,this.value=t.value,this.rank=t.rank,t.value&&t.next(),Rt(this.heap,0)}}}function Rt(n,r){for(let i=n[r];;){let t=1+(r<<1);if(t>=n.length)break;let e=n[t];if(t+1e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),i&&At(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}r=this.cursor.value;if(r.point){if(!(t&&this.cursor.to==this.to&&this.cursor.frome&&this.forward(this.to,this.endSide);break}this.cursor.next()}else this.addActive(i),this.cursor.next()}}if(i){let t=0;for(;tthis.pointRank);t++)(this.activeTo[t]>e||this.activeTo[t]==e&&this.active[t].endSide>this.point.endSide)&&i.push(this.active[t]);return i}openEnd(t){let e=0;for(;et;)e++;return e}}function Ct(t,e,i,n,r,s){t.goto(e),i.goto(n);var o=n+r;let a=n,l=n-e;for(;;){var h=t.to+l-i.to||t.endSide-i.endSide,c=h<0?t.to+l:i.to,O=Math.min(c,o);if(t.point||i.point?t.point&&i.point&&(t.point==i.point||t.point.eq(i.point))||s.comparePoint(a,O,t.point,i.point):O>a&&!function(e,i){if(e.length!=i.length)return!1;for(let t=0;t=i;t--)e[t+1]=e[t];e[i]=t}function zt(e,i){let n=-1,r=1e9;for(let t=0;t",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"',229:"Q"},Yt="undefined"!=typeof navigator&&/Chrome\/(\d+)/.exec(navigator.userAgent),Mt="undefined"!=typeof navigator&&/Apple Computer/.test(navigator.vendor),Zt="undefined"!=typeof navigator&&/Gecko\/\d+/.test(navigator.userAgent),Et="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),jt="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Dt=Yt&&(Et||+Yt[1]<57)||Zt&&Et,Ht=0;Ht<10;Ht++)qt[48+Ht]=qt[96+Ht]=String(Ht);for(Ht=1;Ht<=24;Ht++)qt[Ht+111]="F"+Ht;for(var It,Ht=65;Ht<=90;Ht++)qt[Ht]=String.fromCharCode(Ht+32),Vt[Ht]=String.fromCharCode(Ht);for(It in qt)Vt.hasOwnProperty(It)||(Vt[It]=qt[It]);function Gt(t){return(t.getSelection?t:document).getSelection()}function Bt(t,e){return!!e&&t.contains(1!=e.nodeType?e.parentNode:e)}function Nt(t,e){if(!e.anchorNode)return!1;try{return Bt(t,e.anchorNode)}catch(t){return!1}}function Ut(t){return 3==t.nodeType?ae(t,0,t.nodeValue.length).getClientRects():1==t.nodeType?t.getClientRects():[]}function Ft(t,e,i,n){return i&&(Kt(t,e,i,n,-1)||Kt(t,e,i,n,1))}function Jt(t){for(var e=0;;e++)if(!(t=t.previousSibling))return e}function Kt(t,e,i,n,r){for(;;){if(t==i&&e==n)return!0;if(e==(r<0?0:te(t))){if("DIV"==t.nodeName)return!1;var s=t.parentNode;if(!s||1!=s.nodeType)return!1;e=Jt(t)+(r<0?0:1),t=s}else{if(1!=t.nodeType)return!1;t=t.childNodes[e+(r<0?-1:0)],e=r<0?te(t):0}}}function te(t){return(3==t.nodeType?t.nodeValue:t.childNodes).length}const ee={left:0,right:0,top:0,bottom:0};function ie(t,e){e=e?t.left:t.right;return{left:e,right:e,top:t.top,bottom:t.bottom}}class ne{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(t){return this.anchorNode==t.anchorNode&&this.anchorOffset==t.anchorOffset&&this.focusNode==t.focusNode&&this.focusOffset==t.focusOffset}set(t){this.anchorNode=t.anchorNode,this.anchorOffset=t.anchorOffset,this.focusNode=t.focusNode,this.focusOffset=t.focusOffset}}let re=null;function se(e){if(e.setActive)return e.setActive();if(re)return e.focus(re);let r=[];for(let t=e;t&&(r.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(e.focus(null==re?{get preventScroll(){return re={preventScroll:!0},!0}}:void 0),!re){re=!1;for(let n=0;no&&t.dom.parentNode==this.dom){h=i,c=r;break}r=e,n=e+t.breakAfter}return{from:l,to:c<0?t+this.length:c,startDOM:(a?this.children[a-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:hthis.pos||t==this.pos&&(0t.width)||a),o?ie(a,o<0):a}class We extends ke{constructor(t,e,i){super(),this.widget=t,this.length=e,this.side=i}static create(t,e,i){return new(t.customView||We)(t,e,i)}slice(t){return We.create(this.widget,this.length-t,this.side)}sync(){this.dom&&this.widget.updateDOM(this.dom)||(this.setDOM(this.widget.toDOM(this.editorView)),this.dom.contentEditable="false")}getSide(){return this.side}merge(t,e,i,n,r){return!(i&&(!(i instanceof We&&this.widget.compare(i.widget))||0i&&st?i[r]=Math.max(i[r],e):i.push(t,e)}Ee.prototype.point=!0;class He extends ce{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(t,e,i,n,r,s){if(i){if(!(i instanceof He))return!1;this.dom||i.transferDOM(this)}return n&&this.setDeco(i?i.attrs:null),Re(this,t,e,i?i.children:Ie,r,s),!0}split(t){let e=new He;if(e.breakAfter=this.breakAfter,0==this.length)return e;let{i,off:n}=this.childPos(t);n&&(e.append(this.children[i].slice(n),0),this.children[i].merge(n,this.children[i].length,null,0,0),i++);for(let t=i;t!t.length||t[0]});class si{constructor(t,e){this.field=t,this.get=e}}class oi{from(t){return new si(this,t)}static define(){return new oi}}oi.decorations=oi.define(),oi.scrollMargins=oi.define();let ai=0;const li=L.define();class hi{constructor(t,e,i){this.id=t,this.create=e,this.fields=i,this.extension=li.of(this)}static define(t,e){let{eventHandlers:i,provide:n,decorations:r}=e||{},s=[];if(n)for(var o of Array.isArray(n)?n:[n])s.push(o);return i&&s.push(ci.from(t=>({plugin:t,handlers:i}))),r&&s.push(oi.decorations.from(r)),new hi(ai++,t,s)}static fromClass(e,t){return hi.define(t=>new e(t),t)}}const ci=oi.define();class Oi{constructor(t){this.spec=t,this.mustUpdate=null,this.value=null}takeField(t,e){for(var{field:i,get:n}of this.spec.fields)i==t&&e.push(n(this.value))}update(e){if(this.value){if(this.mustUpdate){var i=this.mustUpdate;if(this.mustUpdate=null,!this.value.update)return this;try{this.value.update(i)}catch(t){if(ni(i.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(t){}return Oi.dummy}}}else try{this.value=this.spec.create(e)}catch(t){return ni(e.state,t,"CodeMirror plugin crashed"),Oi.dummy}return this}destroy(e){var t;if(null!==(t=this.value)&&void 0!==t&&t.destroy)try{this.value.destroy()}catch(t){ni(e.state,t,"CodeMirror plugin crashed")}}}Oi.dummy=new Oi(hi.define(()=>({})));const di=L.define({combine:t=>t.reduce((t,e)=>Ae(e,t),{})}),ui=L.define({combine:t=>t.reduce((t,e)=>Ae(e,t),{})}),fi=L.define(),pi=L.define();class mi{constructor(t,e,i,n){this.fromA=t,this.toA=e,this.fromB=i,this.toB=n}join(t){return new mi(Math.min(this.fromA,t.fromA),Math.max(this.toA,t.toA),Math.min(this.fromB,t.fromB),Math.max(this.toB,t.toB))}addToSet(t){let e=t.length,i=this;for(;0i.toA)){if(n.toAr.push(new mi(t,e,i,n))),this.changedRanges=r;i=t.hasFocus;i!=t.inputState.notifiedFocused&&(t.inputState.notifiedFocused=i,this.flags|=1),this.docChanged&&(this.flags|=2)}get viewportChanged(){return 0<(4&this.flags)}get heightChanged(){return 0<(2&this.flags)}get geometryChanged(){return this.docChanged||0<(18&this.flags)}get focusChanged(){return 0<(1&this.flags)}get docChanged(){return this.transactions.some(t=>t.docChanged)}get selectionSet(){return this.transactions.some(t=>t.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}}class vi extends ce{constructor(t){super(),this.view=t,this.compositionDeco=Ye.none,this.decorations=[],this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.setDOM(t.contentDOM),this.children=[new He],this.children[0].setParent(this),this.updateInner([new mi(0,0,0,t.state.doc.length)],this.updateDeco(),0)}get root(){return this.view.root}get editorView(){return this.view}get length(){return this.view.state.doc.length}update(t){let e=t.changedRanges;0ethis.minWidthTo)?(this.minWidthFrom=t.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=t.changes.mapPos(this.minWidthTo,1)):this.minWidth=0),this.view.inputState.composing<0?this.compositionDeco=Ye.none:t.transactions.length&&(this.compositionDeco=function(t,e){var i=t.observer.selectionRange,i=i.focusNode&&$i(i.focusNode,i.focusOffset,0);if(!i)return Ye.none;let n=t.docView.nearest(i),r,s,o=i;if(n instanceof ke){for(;n.parent instanceof ke;)n=n.parent;r=n.posAtStart,s=r+n.length,o=n.dom}else{if(!(n instanceof He))return Ye.none;{for(;o.parentNode!=n.dom;)o=o.parentNode;let t=o.previousSibling;for(;t&&!ce.get(t);)t=t.previousSibling;r=s=t?ce.get(t).posAtEnd:n.posAtStart}}let a=e.mapPos(r,1),l=Math.max(a,e.mapPos(s,-1)),h=i.nodeValue,{state:c}=t;if(l-a"pointerselection"==t.annotation(st.userEvent));return 0==this.dirty&&0==e.length&&!(12&t.flags)&&t.state.selection.main.from>=this.view.viewport.from&&t.state.selection.main.to<=this.view.viewport.to?(this.updateSelection(s,o),!1):(this.updateInner(e,a,t.startState.doc.length,s,o),!0)}updateInner(t,e,i,n=!1,r=!1){this.updateChildren(t,e,i),this.view.observer.ignore(()=>{this.dom.style.height=this.view.viewState.domHeight+"px",this.dom.style.minWidth=this.minWidth?this.minWidth+"px":"";var t=be.chrome?{node:Gt(this.view.root).focusNode,written:!1}:void 0;this.sync(t),this.dirty=0,null!=t&&t.written&&(n=!0),this.updateSelection(n,r),this.dom.style.height=""})}updateChildren(e,i,t){let n=this.childCursor(t);for(let t=e.length-1;;t--){var r=0<=t?e[t]:null;if(!r)break;var{fromA:s,toA:o,fromB:a,toB:l}=r,{content:h,breakAtStart:c,openStart:O,openEnd:r}=Be.build(this.view.state.doc,a,l,i),{i:a,off:l}=n.findPos(o,1),{i:o,off:s}=n.findPos(s,-1);this.replaceRange(o,s,a,l,h,c,O,r)}}replaceRange(e,i,n,r,s,o,a,l){let h=this.children[e],c=s.length?s[s.length-1]:null;var O=c?c.breakAfter:o;if(e!=n||o||O||!(s.length<2)||!h.merge(i,r,s.length?c:null,0==i,a,l)){let t=this.children[n];for(rr.node.insertBefore(t,r.node.childNodes[r.offset]||null)),r=s=new le(t,0),e=!0}let o=this.view.observer.selectionRange;!(e||!o.focusNode||be.gecko&&n.empty&&yi(o.focusNode,o.focusOffset))&&Ft(r.node,r.offset,o.anchorNode,o.anchorOffset)&&Ft(s.node,s.offset,o.focusNode,o.focusOffset)||(this.view.observer.ignore(()=>{let e=Gt(this.root);var t,i;if(n.empty)be.gecko&&(!(t=yi(r.node,r.offset))||3==t||(i=$i(r.node,r.offset,1==t?1:-1))&&(r=new le(i,1==t?0:i.nodeValue.length))),e.collapse(r.node,r.offset),null!=n.bidiLevel&&null!=o.cursorBidiLevel&&(o.cursorBidiLevel=n.bidiLevel);else if(e.extend)e.collapse(r.node,r.offset),e.extend(s.node,s.offset);else{let t=document.createRange();n.anchor>n.head&&([r,s]=[s,r]),t.setEnd(s.node,s.offset),t.setStart(r.node,r.offset),e.removeAllRanges(),e.addRange(t)}}),this.view.observer.setSelectionRange(r,s)),this.impreciseAnchor=r.precise?null:new le(o.anchorNode,o.anchorOffset),this.impreciseHead=s.precise?null:new le(o.focusNode,o.focusOffset)}}enforceCursorAssoc(){var t,e,i=this.view.state.selection.main;let n=Gt(this.root);i.empty&&i.assoc&&n.modify&&((e=He.find(this,i.head))&&(t=e.posAtStart,i.head!=t&&i.head!=t+e.length&&(t=this.coordsAt(i.head,-1),e=this.coordsAt(i.head,1),!t||!e||t.bottom>e.top||(e=this.domAtPos(i.head+i.assoc),n.collapse(e.node,e.offset),n.modify("move",i.assoc<0?"forward":"backward","lineboundary")))))}mayControlSelection(){return this.view.state.facet(ri)?this.root.activeElement==this.dom:Nt(this.dom,this.view.observer.selectionRange)}nearest(e){for(let t=e;t;){var i=ce.get(t);if(i&&i.rootView==this)return i;t=t.parentNode}return null}posFromDOM(t,e){let i=this.nearest(t);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(t,e)+i.posAtStart}domAtPos(t){let{i:e,off:i}=this.childCursor().findPos(t,-1);for(;e=s&&(r.push(t.dom.getBoundingClientRect().height),(l=t.dom.scrollWidth)>a&&(this.minWidth=a=l,this.minWidthFrom=i,this.minWidthTo=e)),i=e+t.breakAfter}return r}measureTextSize(){for(var t of this.children)if(t instanceof He){t=t.measureTextSize();if(t)return t}let e=document.createElement("div"),i,n;return e.className="cm-line",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);var t=Ut(e.firstChild)[0];i=e.getBoundingClientRect().height,n=t?t.width/27:7,e.remove()}),{lineHeight:i,charWidth:n}}childCursor(t=this.length){let e=this.children.length;return e&&(t-=this.children[--e].length),new de(this.children,t,e)}computeBlockGapDeco(){let i=[],n=this.view.viewState;for(let t=0,e=0;;e++){var r,s=e==n.viewports.length?null:n.viewports[e],o=s?s.from-1:this.length;if(o>t&&(r=n.lineAt(o,0).bottom-n.lineAt(t,0).top,i.push(Ye.replace({widget:new Qi(r),block:!0,inclusive:!0}).range(t,o))),!s)break;t=s.to+1}return Ye.set(i)}updateDeco(){return this.decorations=[this.computeBlockGapDeco(),this.view.viewState.lineGapDeco,this.compositionDeco,...this.view.state.facet(fi),...this.view.pluginField(oi.decorations)]}scrollPosIntoView(t,r){var s,o,a,r=this.coordsAt(t,r);if(r){let t=0,e=0,i=0,n=0;for(var l of this.view.pluginField(oi.scrollMargins))l&&({left:s,right:o,top:a,bottom:l}=l,null!=s&&(t=Math.max(t,s)),null!=o&&(e=Math.max(e,o)),null!=a&&(i=Math.max(i,a)),null!=l&&(n=Math.max(n,l)));!function(t,s){let e=t.ownerDocument,o=e.defaultView;for(let r=t.parentNode;r;)if(1==r.nodeType){let t,e=r==document.body;if(e)t={left:0,right:(l=o).innerWidth,top:0,bottom:l.innerHeight};else{if(r.scrollHeight<=r.clientHeight&&r.scrollWidth<=r.clientWidth){r=r.parentNode;continue}l=r.getBoundingClientRect();t={left:l.left,right:l.left+r.clientWidth,top:l.top,bottom:l.top+r.clientHeight}}let i=0,n=0;var a;if(s.topt.bottom&&(n=s.bottom-t.bottom+5),s.leftt.right&&(i=s.right-t.right+5),(i||n)&&(e?o.scrollBy(i,n):(n&&(a=r.scrollTop,r.scrollTop+=n,n=r.scrollTop-a),i&&(a=r.scrollLeft,r.scrollLeft+=i,i=r.scrollLeft-a),s={left:s.left-i,top:s.top-n,right:s.right-i,bottom:s.bottom-n})),e)break;r=r.assignedSlot||r.parentNode}else{if(11!=r.nodeType)break;r=r.host}var l}(this.dom,{left:r.left-t,top:r.top-i,right:r.right+e,bottom:r.bottom+n})}}}class Qi extends qe{constructor(t){super(),this.height=t}toDOM(){var t=document.createElement("div");return this.updateDOM(t),t}eq(t){return t.height==this.height}updateDOM(t){return t.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}}class wi extends qe{constructor(t,e){super(),this.top=t,this.text=e}eq(t){return this.top==t.top&&this.text==t.text}toDOM(){return this.top}ignoreEvent(){return!1}get customView(){return Xe}}function $i(t,e,i){for(;;){if(3==t.nodeType)return t;if(1==t.nodeType&&0=i){if(o.level==n)return t;(s<0||(0!=r?r<0?o.fromi:e[s].level>o.level))&&(s=t)}}if(s<0)throw new RangeError("Index out of range");return s}}const qi=[];function Vi(o,t){var r,a=o.length,l=t==Si?1:2,h=t==Si?2:1;if(!o||1==l&&!Li.test(o))return Yi(a);for(let e=0,i=l,n=l;ef;){for(var m=t,g=2!=qi[--t];t>f&&g==(2!=qi[t-1]);)t--;i.push(new zi(t,m,g?2:1))}else i.push(new zi(f,e,0))}else for(let t=0;te.top+1}function Ei(t,e){return et.bottom?{top:t.top,left:t.left,right:t.right,bottom:e}:t}function Di(t,n,r){let s,o,a,l,h,c,O,d;for(let i=t.firstChild;i;i=i.nextSibling){var u=Ut(i);for(let e=0;em?p.left-m:Math.max(0,m-p.right)),p=(m=r,(p=t).top>m?p.top-m:Math.max(0,m-p.bottom));if(0==f&&0==p)return(3==i.nodeType?Hi:Di)(i,n,r);(!s||l>p||l==p&&a>f)&&(s=i,o=t,a=f,l=p),0==f?r>t.bottom&&(!O||O.bottomt.top)&&(c=i,d=t):O&&Zi(O,t)?O=ji(O,t.bottom):d&&Zi(d,t)&&(d=Ei(d,t.top))}}var m,p;if(O&&O.bottom>=r?(s=h,o=O):d&&d.top<=r&&(s=c,o=d),!s)return{node:t,offset:0};var e=Math.max(o.left,Math.min(o.right,n));return 3==s.nodeType?Hi(s,e,r):a||"true"!=s.contentEditable?{node:t,offset:Array.prototype.indexOf.call(t.childNodes,s)+(n>=(o.left+o.right)/2?1:0)}:Di(s,e,r)}function Hi(n,r,e){var t=n.nodeValue.length;let s=-1,o=1e9,a=0;for(let i=0;ie?h.top-e:e-h.bottom)-1;if(h.left-1<=r&&h.right+1>=r&&c=(h.left+h.right)/2,e=t;if((be.chrome||be.gecko)&&ae(n,i).getBoundingClientRect().left==h.right&&(e=!t),c<=0)return{node:n,offset:i+(e?1:0)};s=i+(e?1:0),o=c}}}}return{node:n,offset:-1i||s.bottom