(c=>{function o(e,t){var n;if(!(this instanceof o))return(n=new o(e,t)).open(),n;this.id=o.id++,this.setup(e,t),this.chainCallbacks(o._callbackChain)}var r;void 0===c?"console"in window&&window.console.info("Too much lightness, Featherlight needs jQuery."):(o.prototype={constructor:o,namespace:"featherlight",targetAttr:"data-featherlight",variant:null,resetCss:!(r=function(e){var t;e.isDefaultPrevented()||(t=o.current())&&t.onKeyDown(e)}),background:null,openTrigger:"click",closeTrigger:"click",filter:null,root:"body",openSpeed:250,closeSpeed:250,closeOnClick:"background",closeOnEsc:!0,closeIcon:"&#10005;",otherClose:null,beforeOpen:c.noop,beforeContent:c.noop,beforeClose:c.noop,afterOpen:c.noop,afterContent:c.noop,afterClose:c.noop,onKeyDown:c.noop,type:null,contentFilters:["jquery","image","html","ajax","text"],setup:function(e,t){"object"!=typeof e||e instanceof c!=0||t||(t=e,e=void 0);var n=c.extend(this,t,{target:e}),t=n.resetCss?n.namespace+"-reset":n.namespace,e=c(n.background||['<div class="'+t+'">','<div class="'+t+'-content">','<span class="'+t+"-close-icon "+n.namespace+'-close">',n.closeIcon,"</span>",'<div class="'+n.namespace+'-inner"></div>',"</div>","</div>"].join("")),o="."+n.namespace+"-close"+(n.otherClose?","+n.otherClose:"");return n.$instance=e.clone().addClass(n.variant),n.$instance.on(n.closeTrigger+"."+n.namespace,function(e){var t=c(e.target);("background"===n.closeOnClick&&t.is("."+n.namespace)||"anywhere"===n.closeOnClick||t.closest(o).length)&&(e.preventDefault(),n.close())}),this},getContent:function(){function e(e){return t.$currentTarget&&t.$currentTarget.attr(e)}var t=this,n=this.constructor.contentFilters,o=e(t.targetAttr),r=t.target||o||"",a=n[t.type];if(!a&&r in n&&(a=n[r],r=t.target&&o),r=r||e("href")||"",!a)for(var i in n)t[i]&&(a=n[i],r=t[i]);if(!a){var s=r,r=null;if(c.each(t.contentFilters,function(){return a=n[this],!(r=!(r=a.test?a.test(s):r)&&a.regex&&s.match&&s.match(a.regex)?s:r)}),!r)return"console"in window&&window.console.error("Featherlight: no content filter found "+(s?' for "'+s+'"':" (no target specified)")),!1}return a.process.call(t,r)},setContent:function(e){var t=this;return(e.is("iframe")||0<c("iframe",e).length)&&t.$instance.addClass(t.namespace+"-iframe"),t.$content=e.addClass(t.namespace+"-inner"),t.$instance.find("."+t.namespace+"-inner").slice(1).remove().end().replaceWith(t.$content),t},open:function(t){var n=this;if(!(t&&t.isDefaultPrevented()||!1===n.beforeOpen(t))){t&&t.preventDefault();var e=n.getContent();if(e)return n.constructor._opened.add(n._openedCallback=function(e,t){n instanceof e&&0<n.$instance.closest("body").length&&(t.currentFeatherlight=n)}),o._keyHandlerInstalled||(c(document).on("keyup."+o.prototype.namespace,r),o._keyHandlerInstalled=!0),n.$instance.appendTo(n.root).fadeIn(n.openSpeed),n.beforeContent(t),c.when(e).done(function(e){n.setContent(e),n.afterContent(t),c.when(n.$instance.promise()).done(function(){n.afterOpen(t)})}),n}return!1},close:function(e){var t=this;return!1!==t.beforeClose(e)&&(t.constructor._opened.remove(t._openedCallback),o.current()||(c(document).off("keyup."+o.namespace,r),t.constructor._keyHandlerInstalled=!1),void t.$instance.fadeOut(t.closeSpeed,function(){t.$instance.detach(),t.afterClose(e)}))},chainCallbacks:function(e){for(var t in e)this[t]=c.proxy(e[t],this,c.proxy(this[t],this))}},c.extend(o,{id:0,autoBind:"[data-featherlight]",defaults:o.prototype,contentFilters:{jquery:{regex:/^[#.]\w/,test:function(e){return e instanceof c&&e},process:function(e){return c(e).clone(!0)}},image:{regex:/\.(png|jpg|jpeg|gif|tiff|bmp)(\?\S*)?$/i,process:function(e){var t=this,n=c.Deferred(),o=new Image;return o.onload=function(){n.resolve(c('<img src="'+e+'" alt="" class="'+t.namespace+'-image" />'))},o.onerror=function(){n.reject()},o.src=e,n.promise()}},html:{regex:/^\s*<[\w!][^<]*>/,process:function(e){return c(e)}},ajax:{regex:/./,process:function(e){var n=c.Deferred(),o=c("<div></div>").load(e,function(e,t){"error"!==t&&n.resolve(o.contents()),n.fail()});return n.promise()}},text:{process:function(e){return c("<div>",{text:e})}}},functionAttributes:["beforeOpen","afterOpen","beforeContent","afterContent","beforeClose","afterClose"],readElementConfig:function(e){var n=this,o={};return e&&e.attributes&&c.each(e.attributes,function(){var e=this.name.match(/^data-featherlight-(.*)/);if(e){var t=this.value,e=c.camelCase(e[1]);if(0<=c.inArray(e,n.functionAttributes))t=new Function(t);else try{t=c.parseJSON(t)}catch(e){}o[e]=t}}),o},extend:function(e,t){function n(){this.constructor=e}return n.prototype=this.prototype,e.prototype=new n,e.__super__=this.prototype,c.extend(e,this,t),e.defaults=e.prototype,e},attach:function(n,o,r){var a=this,e=("object"!=typeof o||o instanceof c!=0||r||(r=o,o=void 0),r=c.extend({},r),c.extend({},a.defaults,a.readElementConfig(n[0]),r));return n.on(e.openTrigger+"."+e.namespace,e.filter,function(e){var t=c.extend({$source:n,$currentTarget:c(this)},a.readElementConfig(n[0]),a.readElementConfig(this),r);new a(o,t).open(e)}),n},current:function(){var e={};return this._opened.fire(this,e),e.currentFeatherlight},close:function(){var e=this.current();e&&e.close()},_onReady:function(){var e=this;e.autoBind&&(e.attach(c(document),{filter:e.autoBind}),c(e.autoBind).filter("[data-featherlight-filter]").each(function(){e.attach(c(this))}))},_callbackChain:{onKeyDown:function(e,t){return 27===t.keyCode&&this.closeOnEsc?(this.$instance.find("."+this.namespace+"-close:first").click(),void t.preventDefault()):(console.log("pass"),e(t))}},_opened:c.Callbacks()}),c.featherlight=o,c.fn.featherlight=function(e,t){return o.attach(this,e,t)},c(document).ready(function(){o._onReady()}))})(jQuery);(i=>{"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)})(function(a){var n,o=window.Slick||{};n=0,(o=function(i,e){var t,o,s=this;if(s.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:a(i),appendDots:a(i),arrows:!0,asNavFor:null,prevArrow:'<button type="button" data-role="none" class="slick-prev">Previous</button>',nextArrow:'<button type="button" data-role="none" class="slick-next">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(i,e){return'<button type="button" data-role="none">'+(e+1)+"</button>"},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",fade:!1,focusOnSelect:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",onBeforeChange:null,onAfterChange:null,onInit:null,onReInit:null,onSetPosition:null,pauseOnHover:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rtl:!1,slide:"div",slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,variableWidth:!1,vertical:!1,waitForAnimate:!0},s.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:!1,slideOffset:0,swipeLeft:null,$list:null,touchObject:{},transformsEnabled:!1},a.extend(s,s.initials),s.activeBreakpoint=null,s.animType=null,s.animProp=null,s.breakpoints=[],s.breakpointSettings=[],s.cssTransitions=!1,s.paused=!1,s.positionProp=null,s.respondTo=null,s.shouldClick=!0,s.$slider=a(i),s.$slidesCache=null,s.transformType=null,s.transitionType=null,s.windowWidth=0,s.windowTimer=null,s.options=a.extend({},s.defaults,e),s.currentSlide=s.options.initialSlide,s.originalSettings=s.options,(t=s.options.responsive||null)&&-1<t.length){for(o in s.respondTo=s.options.respondTo||"window",t)t.hasOwnProperty(o)&&(s.breakpoints.push(t[o].breakpoint),s.breakpointSettings[t[o].breakpoint]=t[o].settings);s.breakpoints.sort(function(i,e){return e-i})}s.autoPlay=a.proxy(s.autoPlay,s),s.autoPlayClear=a.proxy(s.autoPlayClear,s),s.changeSlide=a.proxy(s.changeSlide,s),s.clickHandler=a.proxy(s.clickHandler,s),s.selectHandler=a.proxy(s.selectHandler,s),s.setPosition=a.proxy(s.setPosition,s),s.swipeHandler=a.proxy(s.swipeHandler,s),s.dragHandler=a.proxy(s.dragHandler,s),s.keyHandler=a.proxy(s.keyHandler,s),s.autoPlayIterator=a.proxy(s.autoPlayIterator,s),s.instanceUid=n++,s.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,s.init(),s.checkResponsive()}).prototype.addSlide=function(i,e,t){var o=this;if("boolean"==typeof e)t=e,e=null;else if(e<0||e>=o.slideCount)return!1;o.unload(),"number"==typeof e?0===e&&0===o.$slides.length?a(i).appendTo(o.$slideTrack):t?a(i).insertBefore(o.$slides.eq(e)):a(i).insertAfter(o.$slides.eq(e)):!0===t?a(i).prependTo(o.$slideTrack):a(i).appendTo(o.$slideTrack),o.$slides=o.$slideTrack.children(this.options.slide),o.$slideTrack.children(this.options.slide).detach(),o.$slideTrack.append(o.$slides),o.$slides.each(function(i,e){a(e).attr("index",i)}),o.$slidesCache=o.$slides,o.reinit()},o.prototype.animateSlide=function(i,e){var t,o={},s=this;1===s.options.slidesToShow&&!0===s.options.adaptiveHeight&&!1===s.options.vertical&&(t=s.$slides.eq(s.currentSlide).outerHeight(!0),s.$list.animate({height:t},s.options.speed)),!0===s.options.rtl&&!1===s.options.vertical&&(i=-i),!1===s.transformsEnabled?!1===s.options.vertical?s.$slideTrack.animate({left:i},s.options.speed,s.options.easing,e):s.$slideTrack.animate({top:i},s.options.speed,s.options.easing,e):!1===s.cssTransitions?a({animStart:s.currentLeft}).animate({animStart:i},{duration:s.options.speed,easing:s.options.easing,step:function(i){!1===s.options.vertical?o[s.animType]="translate("+i+"px, 0px)":o[s.animType]="translate(0px,"+i+"px)",s.$slideTrack.css(o)},complete:function(){e&&e.call()}}):(s.applyTransition(),o[s.animType]=!1===s.options.vertical?"translate3d("+i+"px, 0px, 0px)":"translate3d(0px,"+i+"px, 0px)",s.$slideTrack.css(o),e&&setTimeout(function(){s.disableTransition(),e.call()},s.options.speed))},o.prototype.asNavFor=function(i){var e=null!=this.options.asNavFor?a(this.options.asNavFor).getSlick():null;null!=e&&e.slideHandler(i,!0)},o.prototype.applyTransition=function(i){var e=this,t={};t[e.transitionType]=!1===e.options.fade?e.transformType+" "+e.options.speed+"ms "+e.options.cssEase:"opacity "+e.options.speed+"ms "+e.options.cssEase,(!1===e.options.fade?e.$slideTrack:e.$slides.eq(i)).css(t)},o.prototype.autoPlay=function(){var i=this;i.autoPlayTimer&&clearInterval(i.autoPlayTimer),i.slideCount>i.options.slidesToShow&&!0!==i.paused&&(i.autoPlayTimer=setInterval(i.autoPlayIterator,i.options.autoplaySpeed))},o.prototype.autoPlayClear=function(){this.autoPlayTimer&&clearInterval(this.autoPlayTimer)},o.prototype.autoPlayIterator=function(){var i=this;!1===i.options.infinite?1===i.direction?(i.currentSlide+1===i.slideCount-1&&(i.direction=0),i.slideHandler(i.currentSlide+i.options.slidesToScroll)):(0==i.currentSlide-1&&(i.direction=1),i.slideHandler(i.currentSlide-i.options.slidesToScroll)):i.slideHandler(i.currentSlide+i.options.slidesToScroll)},o.prototype.buildArrows=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow=a(i.options.prevArrow),i.$nextArrow=a(i.options.nextArrow),i.htmlExpr.test(i.options.prevArrow)&&i.$prevArrow.appendTo(i.options.appendArrows),i.htmlExpr.test(i.options.nextArrow)&&i.$nextArrow.appendTo(i.options.appendArrows),!0!==i.options.infinite)&&i.$prevArrow.addClass("slick-disabled")},o.prototype.buildDots=function(){var i,e,t=this;if(!0===t.options.dots&&t.slideCount>t.options.slidesToShow){for(e='<ul class="'+t.options.dotsClass+'">',i=0;i<=t.getDotCount();i+=1)e+="<li>"+t.options.customPaging.call(this,t,i)+"</li>";t.$dots=a(e+="</ul>").appendTo(t.options.appendDots),t.$dots.find("li").first().addClass("slick-active")}},o.prototype.buildOut=function(){var i=this;i.$slides=i.$slider.children(i.options.slide+":not(.slick-cloned)").addClass("slick-slide"),i.slideCount=i.$slides.length,i.$slides.each(function(i,e){a(e).attr("index",i)}),i.$slidesCache=i.$slides,i.$slider.addClass("slick-slider"),i.$slideTrack=0===i.slideCount?a('<div class="slick-track"/>').appendTo(i.$slider):i.$slides.wrapAll('<div class="slick-track"/>').parent(),i.$list=i.$slideTrack.wrap('<div class="slick-list"/>').parent(),i.$slideTrack.css("opacity",0),!0===i.options.centerMode&&(i.options.slidesToScroll=1),a("img[data-lazy]",i.$slider).not("[src]").addClass("slick-loading"),i.setupInfinite(),i.buildArrows(),i.buildDots(),i.updateDots(),!0===i.options.accessibility&&i.$list.prop("tabIndex",0),i.setSlideClasses("number"==typeof this.currentSlide?this.currentSlide:0),!0===i.options.draggable&&i.$list.addClass("draggable")},o.prototype.checkResponsive=function(){var i,e,t,o=this,s=o.$slider.width(),n=window.innerWidth||a(window).width();if("window"===o.respondTo?t=n:"slider"===o.respondTo?t=s:"min"===o.respondTo&&(t=Math.min(n,s)),o.originalSettings.responsive&&-1<o.originalSettings.responsive.length&&null!==o.originalSettings.responsive){for(i in e=null,o.breakpoints)o.breakpoints.hasOwnProperty(i)&&t<o.breakpoints[i]&&(e=o.breakpoints[i]);null!==e?null!==o.activeBreakpoint&&e===o.activeBreakpoint||(o.activeBreakpoint=e,o.options=a.extend({},o.originalSettings,o.breakpointSettings[e]),o.refresh()):null!==o.activeBreakpoint&&(o.activeBreakpoint=null,o.options=o.originalSettings,o.refresh())}},o.prototype.changeSlide=function(i,e){var t,o,s=this;switch(a(i.target).is("a")&&i.preventDefault(),t=0!=s.slideCount%s.options.slidesToScroll?0:(s.slideCount-s.currentSlide)%s.options.slidesToScroll,i.data.message){case"previous":o=0==t?s.options.slidesToScroll:s.options.slidesToShow-t,s.slideCount>s.options.slidesToShow&&s.slideHandler(s.currentSlide-o,!1,e);break;case"next":o=0==t?s.options.slidesToScroll:t,s.slideCount>s.options.slidesToShow&&s.slideHandler(s.currentSlide+o,!1,e);break;case"index":var n,l=0===i.data.index?0:i.data.index||a(i.target).parent().index()*s.options.slidesToScroll,r=0;if((n=s.getNavigableIndexes())[l]&&n[l]===l)if(l>n[n.length-1])l=n[n.length-1];else for(var d in n){if(l<n[d]){l=r;break}r=n[d]}s.slideHandler(l,!1,e);default:return}},o.prototype.clickHandler=function(i){!1===this.shouldClick&&(i.stopImmediatePropagation(),i.stopPropagation(),i.preventDefault())},o.prototype.destroy=function(){var i=this;i.autoPlayClear(),i.touchObject={},a(".slick-cloned",i.$slider).remove(),i.$dots&&i.$dots.remove(),i.$prevArrow&&"object"!=typeof i.options.prevArrow&&i.$prevArrow.remove(),i.$nextArrow&&"object"!=typeof i.options.nextArrow&&i.$nextArrow.remove(),i.$slides.parent().hasClass("slick-track")&&i.$slides.unwrap().unwrap(),i.$slides.removeClass("slick-slide slick-active slick-center slick-visible").removeAttr("index").css({position:"",left:"",top:"",zIndex:"",opacity:"",width:""}),i.$slider.removeClass("slick-slider"),i.$slider.removeClass("slick-initialized"),i.$list.off(".slick"),a(window).off(".slick-"+i.instanceUid),a(document).off(".slick-"+i.instanceUid)},o.prototype.disableTransition=function(i){var e={};e[this.transitionType]="",(!1===this.options.fade?this.$slideTrack:this.$slides.eq(i)).css(e)},o.prototype.fadeSlide=function(i,e,t){var o=this;!1===o.cssTransitions?(o.$slides.eq(e).css({zIndex:1e3}),o.$slides.eq(e).animate({opacity:1},o.options.speed,o.options.easing,t),o.$slides.eq(i).animate({opacity:0},o.options.speed,o.options.easing)):(o.applyTransition(e),o.applyTransition(i),o.$slides.eq(e).css({opacity:1,zIndex:1e3}),o.$slides.eq(i).css({opacity:0}),t&&setTimeout(function(){o.disableTransition(e),o.disableTransition(i),t.call()},o.options.speed))},o.prototype.filterSlides=function(i){var e=this;null!==i&&(e.unload(),e.$slideTrack.children(this.options.slide).detach(),e.$slidesCache.filter(i).appendTo(e.$slideTrack),e.reinit())},o.prototype.getCurrent=function(){return this.currentSlide},o.prototype.getDotCount=function(){var i=this,e=0,t=0,o=0;if(!0===i.options.infinite)o=Math.ceil(i.slideCount/i.options.slidesToScroll);else for(;e<i.slideCount;)++o,e=t+i.options.slidesToShow,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;return o-1},o.prototype.getLeft=function(i){var e,t=this,o=0;return t.slideOffset=0,e=t.$slides.first().outerHeight(),!0===t.options.infinite?(t.slideCount>t.options.slidesToShow&&(t.slideOffset=-1*t.slideWidth*t.options.slidesToShow,o=-1*e*t.options.slidesToShow),0!=t.slideCount%t.options.slidesToScroll&&i+t.options.slidesToScroll>t.slideCount&&t.slideCount>t.options.slidesToShow&&(o=i>t.slideCount?(t.slideOffset=-1*(t.options.slidesToShow-(i-t.slideCount))*t.slideWidth,-1*(t.options.slidesToShow-(i-t.slideCount))*e):(t.slideOffset=-1*t.slideCount%t.options.slidesToScroll*t.slideWidth,-1*t.slideCount%t.options.slidesToScroll*e))):i+t.options.slidesToShow>t.slideCount&&(t.slideOffset=(i+t.options.slidesToShow-t.slideCount)*t.slideWidth,o=(i+t.options.slidesToShow-t.slideCount)*e),t.slideCount<=t.options.slidesToShow&&(o=t.slideOffset=0),!0===t.options.centerMode&&!0===t.options.infinite?t.slideOffset+=t.slideWidth*Math.floor(t.options.slidesToShow/2)-t.slideWidth:!0===t.options.centerMode&&(t.slideOffset=0,t.slideOffset+=t.slideWidth*Math.floor(t.options.slidesToShow/2)),e=!1===t.options.vertical?-1*i*t.slideWidth+t.slideOffset:-1*i*e+o,!0===t.options.variableWidth&&(e=(o=t.slideCount<=t.options.slidesToShow||!1===t.options.infinite?t.$slideTrack.children(".slick-slide").eq(i):t.$slideTrack.children(".slick-slide").eq(i+t.options.slidesToShow))[0]?-1*o[0].offsetLeft:0,!0===t.options.centerMode)&&(e=(o=!1===t.options.infinite?t.$slideTrack.children(".slick-slide").eq(i):t.$slideTrack.children(".slick-slide").eq(i+t.options.slidesToShow+1))[0]?-1*o[0].offsetLeft:0,e+=(t.$list.width()-o.outerWidth())/2),e},o.prototype.getNavigableIndexes=function(){for(var i=this,e=0,t=0,o=[];e<i.slideCount;)o.push(e),e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;return o},o.prototype.getSlideCount=function(){var t,o=this;return!0===o.options.swipeToSlide?(t=null,o.$slideTrack.find(".slick-slide").each(function(i,e){return e.offsetLeft+a(e).outerWidth()/2>-1*o.swipeLeft?(t=e,!1):void 0}),Math.abs(a(t).attr("index")-o.currentSlide)):o.options.slidesToScroll},o.prototype.init=function(){var i=this;a(i.$slider).hasClass("slick-initialized")||(a(i.$slider).addClass("slick-initialized"),i.buildOut(),i.setProps(),i.startLoad(),i.loadSlider(),i.initializeEvents(),i.updateArrows(),i.updateDots()),null!==i.options.onInit&&i.options.onInit.call(this,i)},o.prototype.initArrowEvents=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.on("click.slick",{message:"previous"},i.changeSlide),i.$nextArrow.on("click.slick",{message:"next"},i.changeSlide))},o.prototype.initDotEvents=function(){var i=this;!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&a("li",i.$dots).on("click.slick",{message:"index"},i.changeSlide),!0===i.options.dots&&!0===i.options.pauseOnDotsHover&&!0===i.options.autoplay&&a("li",i.$dots).on("mouseenter.slick",function(){i.paused=!0,i.autoPlayClear()}).on("mouseleave.slick",function(){i.paused=!1,i.autoPlay()})},o.prototype.initializeEvents=function(){var i=this;i.initArrowEvents(),i.initDotEvents(),i.$list.on("touchstart.slick mousedown.slick",{action:"start"},i.swipeHandler),i.$list.on("touchmove.slick mousemove.slick",{action:"move"},i.swipeHandler),i.$list.on("touchend.slick mouseup.slick",{action:"end"},i.swipeHandler),i.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},i.swipeHandler),i.$list.on("click.slick",i.clickHandler),!0===i.options.pauseOnHover&&!0===i.options.autoplay&&(i.$list.on("mouseenter.slick",function(){i.paused=!0,i.autoPlayClear()}),i.$list.on("mouseleave.slick",function(){i.paused=!1,i.autoPlay()})),!0===i.options.accessibility&&i.$list.on("keydown.slick",i.keyHandler),!0===i.options.focusOnSelect&&a(i.options.slide,i.$slideTrack).on("click.slick",i.selectHandler),a(window).on("orientationchange.slick.slick-"+i.instanceUid,function(){i.checkResponsive(),i.setPosition()}),a(window).on("resize.slick.slick-"+i.instanceUid,function(){a(window).width()!==i.windowWidth&&(clearTimeout(i.windowDelay),i.windowDelay=window.setTimeout(function(){i.windowWidth=a(window).width(),i.checkResponsive(),i.setPosition()},50))}),a("*[draggable!=true]",i.$slideTrack).on("dragstart",function(i){i.preventDefault()}),a(window).on("load.slick.slick-"+i.instanceUid,i.setPosition),a(document).on("ready.slick.slick-"+i.instanceUid,i.setPosition)},o.prototype.initUI=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.show(),i.$nextArrow.show()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.show(),!0===i.options.autoplay&&i.autoPlay()},o.prototype.keyHandler=function(i){37===i.keyCode&&!0===this.options.accessibility?this.changeSlide({data:{message:"previous"}}):39===i.keyCode&&!0===this.options.accessibility&&this.changeSlide({data:{message:"next"}})},o.prototype.lazyLoad=function(){function i(i){a("img[data-lazy]",i).each(function(){var i=a(this),e=a(this).attr("data-lazy");i.load(function(){i.animate({opacity:1},200)}).css({opacity:0}).attr("src",e).removeAttr("data-lazy").removeClass("slick-loading")})}var e,t,o=this;!0===o.options.centerMode?t=!0===o.options.infinite?(e=o.currentSlide+(o.options.slidesToShow/2+1))+o.options.slidesToShow+2:(e=Math.max(0,o.currentSlide-(o.options.slidesToShow/2+1)),o.options.slidesToShow/2+1+2+o.currentSlide):(t=(e=o.options.infinite?o.options.slidesToShow+o.currentSlide:o.currentSlide)+o.options.slidesToShow,!0===o.options.fade&&(0<e&&e--,t<=o.slideCount)&&t++),i(o.$slider.find(".slick-slide").slice(e,t)),o.slideCount<=o.options.slidesToShow?i(o.$slider.find(".slick-slide")):o.currentSlide>=o.slideCount-o.options.slidesToShow?i(o.$slider.find(".slick-cloned").slice(0,o.options.slidesToShow)):0===o.currentSlide&&i(o.$slider.find(".slick-cloned").slice(-1*o.options.slidesToShow))},o.prototype.loadSlider=function(){var i=this;i.setPosition(),i.$slideTrack.css({opacity:1}),i.$slider.removeClass("slick-loading"),i.initUI(),"progressive"===i.options.lazyLoad&&i.progressiveLazyLoad()},o.prototype.postSlide=function(i){var e=this;null!==e.options.onAfterChange&&e.options.onAfterChange.call(this,e,i),e.animating=!1,e.setPosition(),!(e.swipeLeft=null)===e.options.autoplay&&!1===e.paused&&e.autoPlay()},o.prototype.progressiveLazyLoad=function(){var i,e=this;0<a("img[data-lazy]",e.$slider).length&&(i=a("img[data-lazy]",e.$slider).first()).attr("src",i.attr("data-lazy")).removeClass("slick-loading").load(function(){i.removeAttr("data-lazy"),e.progressiveLazyLoad()}).error(function(){i.removeAttr("data-lazy"),e.progressiveLazyLoad()})},o.prototype.refresh=function(){var i=this,e=i.currentSlide;i.destroy(),a.extend(i,i.initials),i.init(),i.changeSlide({data:{message:"index",index:e}},!0)},o.prototype.reinit=function(){var i=this;i.$slides=i.$slideTrack.children(i.options.slide).addClass("slick-slide"),i.slideCount=i.$slides.length,i.currentSlide>=i.slideCount&&0!==i.currentSlide&&(i.currentSlide=i.currentSlide-i.options.slidesToScroll),i.slideCount<=i.options.slidesToShow&&(i.currentSlide=0),i.setProps(),i.setupInfinite(),i.buildArrows(),i.updateArrows(),i.initArrowEvents(),i.buildDots(),i.updateDots(),i.initDotEvents(),!0===i.options.focusOnSelect&&a(i.options.slide,i.$slideTrack).on("click.slick",i.selectHandler),i.setSlideClasses(0),i.setPosition(),null!==i.options.onReInit&&i.options.onReInit.call(this,i)},o.prototype.removeSlide=function(i,e,t){var o=this;return i="boolean"==typeof i?!0===(e=i)?0:o.slideCount-1:!0===e?--i:i,!(o.slideCount<1||i<0||i>o.slideCount-1)&&(o.unload(),(!0===t?o.$slideTrack.children():o.$slideTrack.children(this.options.slide).eq(i)).remove(),o.$slides=o.$slideTrack.children(this.options.slide),o.$slideTrack.children(this.options.slide).detach(),o.$slideTrack.append(o.$slides),o.$slidesCache=o.$slides,void o.reinit())},o.prototype.setCSS=function(i){var e,t,o=this,s={};!0===o.options.rtl&&(i=-i),e="left"==o.positionProp?i+"px":"0px",t="top"==o.positionProp?i+"px":"0px",s[o.positionProp]=i,!1!==o.transformsEnabled&&(!(s={})===o.cssTransitions?s[o.animType]="translate("+e+", "+t+")":s[o.animType]="translate3d("+e+", "+t+", 0px)"),o.$slideTrack.css(s)},o.prototype.setDimensions=function(){var i,e=this,t=(!1===e.options.vertical?!0===e.options.centerMode&&e.$list.css({padding:"0px "+e.options.centerPadding}):(e.$list.height(e.$slides.first().outerHeight(!0)*e.options.slidesToShow),!0===e.options.centerMode&&e.$list.css({padding:e.options.centerPadding+" 0px"})),e.listWidth=e.$list.width(),e.listHeight=e.$list.height(),!1===e.options.vertical&&!1===e.options.variableWidth?(e.slideWidth=Math.ceil(e.listWidth/e.options.slidesToShow),e.$slideTrack.width(Math.ceil(e.slideWidth*e.$slideTrack.children(".slick-slide").length))):!0===e.options.variableWidth?(i=0,e.slideWidth=Math.ceil(e.listWidth/e.options.slidesToShow),e.$slideTrack.children(".slick-slide").each(function(){i+=Math.ceil(a(this).outerWidth(!0))}),e.$slideTrack.width(Math.ceil(i)+1)):(e.slideWidth=Math.ceil(e.listWidth),e.$slideTrack.height(Math.ceil(e.$slides.first().outerHeight(!0)*e.$slideTrack.children(".slick-slide").length))),e.$slides.first().outerWidth(!0)-e.$slides.first().width());!1===e.options.variableWidth&&e.$slideTrack.children(".slick-slide").width(e.slideWidth-t)},o.prototype.setFade=function(){var t,o=this;o.$slides.each(function(i,e){t=-1*o.slideWidth*i,!0===o.options.rtl?a(e).css({position:"relative",right:t,top:0,zIndex:800,opacity:0}):a(e).css({position:"relative",left:t,top:0,zIndex:800,opacity:0})}),o.$slides.eq(o.currentSlide).css({zIndex:900,opacity:1})},o.prototype.setHeight=function(){var i,e=this;1===e.options.slidesToShow&&!0===e.options.adaptiveHeight&&!1===e.options.vertical&&(i=e.$slides.eq(e.currentSlide).outerHeight(!0),e.$list.css("height",i))},o.prototype.setPosition=function(){var i=this;i.setDimensions(),i.setHeight(),!1===i.options.fade?i.setCSS(i.getLeft(i.currentSlide)):i.setFade(),null!==i.options.onSetPosition&&i.options.onSetPosition.call(this,i)},o.prototype.setProps=function(){var i=this,e=document.body.style;i.positionProp=!0===i.options.vertical?"top":"left","top"===i.positionProp?i.$slider.addClass("slick-vertical"):i.$slider.removeClass("slick-vertical"),void 0===e.WebkitTransition&&void 0===e.MozTransition&&void 0===e.msTransition||!0!==i.options.useCSS||(i.cssTransitions=!0),void 0!==e.OTransform&&(i.animType="OTransform",i.transformType="-o-transform",i.transitionType="OTransition",void 0===e.perspectiveProperty)&&void 0===e.webkitPerspective&&(i.animType=!1),void 0!==e.MozTransform&&(i.animType="MozTransform",i.transformType="-moz-transform",i.transitionType="MozTransition",void 0===e.perspectiveProperty)&&void 0===e.MozPerspective&&(i.animType=!1),void 0!==e.webkitTransform&&(i.animType="webkitTransform",i.transformType="-webkit-transform",i.transitionType="webkitTransition",void 0===e.perspectiveProperty)&&void 0===e.webkitPerspective&&(i.animType=!1),void 0!==e.msTransform&&(i.animType="msTransform",i.transformType="-ms-transform",i.transitionType="msTransition",void 0===e.msTransform)&&(i.animType=!1),void 0!==e.transform&&!1!==i.animType&&(i.animType="transform",i.transformType="transform",i.transitionType="transition"),i.transformsEnabled=null!==i.animType&&!1!==i.animType},o.prototype.setSlideClasses=function(i){var e,t,o,s=this;s.$slider.find(".slick-slide").removeClass("slick-active").removeClass("slick-center"),e=s.$slider.find(".slick-slide"),!0===s.options.centerMode?(o=Math.floor(s.options.slidesToShow/2),!0===s.options.infinite&&((o<=i&&i<=s.slideCount-1-o?s.$slides.slice(i-o,i+o+1):(t=s.options.slidesToShow+i,e.slice(t-o+1,t+o+2))).addClass("slick-active"),0===i?e.eq(e.length-1-s.options.slidesToShow).addClass("slick-center"):i===s.slideCount-1&&e.eq(s.options.slidesToShow).addClass("slick-center")),s.$slides.eq(i).addClass("slick-center")):(0<=i&&i<=s.slideCount-s.options.slidesToShow?s.$slides.slice(i,i+s.options.slidesToShow):e.length<=s.options.slidesToShow?e:(o=s.slideCount%s.options.slidesToShow,t=!0===s.options.infinite?s.options.slidesToShow+i:i,s.options.slidesToShow==s.options.slidesToScroll&&s.slideCount-i<s.options.slidesToShow?e.slice(t-(s.options.slidesToShow-o),t+o):e.slice(t,t+s.options.slidesToShow))).addClass("slick-active"),"ondemand"===s.options.lazyLoad&&s.lazyLoad()},o.prototype.setupInfinite=function(){var i,e,t,o=this;if(!0===o.options.fade&&(o.options.centerMode=!1),!0===o.options.infinite&&!1===o.options.fade&&(e=null,o.slideCount>o.options.slidesToShow)){for(t=!0===o.options.centerMode?o.options.slidesToShow+1:o.options.slidesToShow,i=o.slideCount;i>o.slideCount-t;--i)a(o.$slides[e=i-1]).clone(!0).attr("id","").attr("index",e-o.slideCount).prependTo(o.$slideTrack).addClass("slick-cloned");for(i=0;i<t;i+=1)e=i,a(o.$slides[e]).clone(!0).attr("id","").attr("index",e+o.slideCount).appendTo(o.$slideTrack).addClass("slick-cloned");o.$slideTrack.find(".slick-cloned").find("[id]").each(function(){a(this).attr("id","")})}},o.prototype.selectHandler=function(i){var e=this,i=(i=parseInt(a(i.target).parents(".slick-slide").attr("index")))||0;return e.slideCount<=e.options.slidesToShow?(e.$slider.find(".slick-slide").removeClass("slick-active"),e.$slides.eq(i).addClass("slick-active"),!0===e.options.centerMode&&(e.$slider.find(".slick-slide").removeClass("slick-center"),e.$slides.eq(i).addClass("slick-center")),void e.asNavFor(i)):void e.slideHandler(i)},o.prototype.slideHandler=function(i,e,t){var o,s,n,l=this;return e=e||!1,!0===l.animating&&!0===l.options.waitForAnimate||!0===l.options.fade&&l.currentSlide===i||l.slideCount<=l.options.slidesToShow?void 0:(!1===e&&l.asNavFor(i),o=i,e=l.getLeft(o),n=l.getLeft(l.currentSlide),l.currentLeft=null===l.swipeLeft?n:l.swipeLeft,!1===l.options.infinite&&!1===l.options.centerMode&&(i<0||i>l.getDotCount()*l.options.slidesToScroll)||!1===l.options.infinite&&!0===l.options.centerMode&&(i<0||i>l.slideCount-l.options.slidesToScroll)?void(!1===l.options.fade&&(o=l.currentSlide,!0!==t?l.animateSlide(n,function(){l.postSlide(o)}):l.postSlide(o))):(!0===l.options.autoplay&&clearInterval(l.autoPlayTimer),s=o<0?0!=l.slideCount%l.options.slidesToScroll?l.slideCount-l.slideCount%l.options.slidesToScroll:l.slideCount+o:o>=l.slideCount?0!=l.slideCount%l.options.slidesToScroll?0:o-l.slideCount:o,l.animating=!0,null!==l.options.onBeforeChange&&i!==l.currentSlide&&l.options.onBeforeChange.call(this,l,l.currentSlide,s),n=l.currentSlide,l.currentSlide=s,l.setSlideClasses(l.currentSlide),l.updateDots(),l.updateArrows(),!0===l.options.fade?void(!0!==t?l.fadeSlide(n,s,function(){l.postSlide(s)}):l.postSlide(s)):void(!0!==t?l.animateSlide(e,function(){l.postSlide(s)}):l.postSlide(s))))},o.prototype.startLoad=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.hide(),i.$nextArrow.hide()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.hide(),i.$slider.addClass("slick-loading")},o.prototype.swipeDirection=function(){var i=this,e=i.touchObject.startX-i.touchObject.curX,t=i.touchObject.startY-i.touchObject.curY,t=Math.atan2(t,e),e=Math.round(180*t/Math.PI);return(e=e<0?360-Math.abs(e):e)<=45&&0<=e||e<=360&&315<=e?!1===i.options.rtl?"left":"right":135<=e&&e<=225?!1===i.options.rtl?"right":"left":"vertical"},o.prototype.swipeEnd=function(){var i=this;if(i.dragging=!1,i.shouldClick=!(10<i.touchObject.swipeLength),void 0===i.touchObject.curX)return!1;if(i.touchObject.swipeLength>=i.touchObject.minSwipe)switch(i.swipeDirection()){case"left":i.slideHandler(i.currentSlide+i.getSlideCount()),i.currentDirection=0,i.touchObject={};break;case"right":i.slideHandler(i.currentSlide-i.getSlideCount()),i.currentDirection=1,i.touchObject={}}else i.touchObject.startX!==i.touchObject.curX&&(i.slideHandler(i.currentSlide),i.touchObject={})},o.prototype.swipeHandler=function(i){var e=this;if(!(!1===e.options.swipe||"ontouchend"in document&&!1===e.options.swipe||!1===e.options.draggable&&-1!==i.type.indexOf("mouse")))switch(e.touchObject.fingerCount=i.originalEvent&&void 0!==i.originalEvent.touches?i.originalEvent.touches.length:1,e.touchObject.minSwipe=e.listWidth/e.options.touchThreshold,i.data.action){case"start":e.swipeStart(i);break;case"move":e.swipeMove(i);break;case"end":e.swipeEnd(i)}},o.prototype.swipeMove=function(i){var e,t=this,o=void 0!==i.originalEvent?i.originalEvent.touches:null;return!(!t.dragging||o&&1!==o.length)&&(e=t.getLeft(t.currentSlide),t.touchObject.curX=void 0!==o?o[0].pageX:i.clientX,t.touchObject.curY=void 0!==o?o[0].pageY:i.clientY,t.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(t.touchObject.curX-t.touchObject.startX,2))),"vertical"!==t.swipeDirection()?(void 0!==i.originalEvent&&4<t.touchObject.swipeLength&&i.preventDefault(),o=(!1===t.options.rtl?1:-1)*(t.touchObject.curX>t.touchObject.startX?1:-1),t.swipeLeft=!1===t.options.vertical?e+t.touchObject.swipeLength*o:e+t.touchObject.swipeLength*(t.$list.height()/t.listWidth)*o,!0!==t.options.fade&&!1!==t.options.touchMove&&(!0===t.animating?(t.swipeLeft=null,!1):void t.setCSS(t.swipeLeft))):void 0)},o.prototype.swipeStart=function(i){var e,t=this;return 1!==t.touchObject.fingerCount||t.slideCount<=t.options.slidesToShow?!(t.touchObject={}):(void 0!==i.originalEvent&&void 0!==i.originalEvent.touches&&(e=i.originalEvent.touches[0]),t.touchObject.startX=t.touchObject.curX=void 0!==e?e.pageX:i.clientX,t.touchObject.startY=t.touchObject.curY=void 0!==e?e.pageY:i.clientY,void(t.dragging=!0))},o.prototype.unfilterSlides=function(){var i=this;null!==i.$slidesCache&&(i.unload(),i.$slideTrack.children(this.options.slide).detach(),i.$slidesCache.appendTo(i.$slideTrack),i.reinit())},o.prototype.unload=function(){var i=this;a(".slick-cloned",i.$slider).remove(),i.$dots&&i.$dots.remove(),i.$prevArrow&&"object"!=typeof i.options.prevArrow&&i.$prevArrow.remove(),i.$nextArrow&&"object"!=typeof i.options.nextArrow&&i.$nextArrow.remove(),i.$slides.removeClass("slick-slide slick-active slick-visible").css("width","")},o.prototype.updateArrows=function(){var i=this,e=Math.floor(i.options.slidesToShow/2);!0===i.options.arrows&&!0!==i.options.infinite&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.removeClass("slick-disabled"),i.$nextArrow.removeClass("slick-disabled"),0===i.currentSlide?(i.$prevArrow.addClass("slick-disabled"),i.$nextArrow.removeClass("slick-disabled")):(i.currentSlide>=i.slideCount-i.options.slidesToShow&&!1===i.options.centerMode||i.currentSlide>i.slideCount-i.options.slidesToShow+e&&!0===i.options.centerMode)&&(i.$nextArrow.addClass("slick-disabled"),i.$prevArrow.removeClass("slick-disabled")))},o.prototype.updateDots=function(){var i=this;null!==i.$dots&&(i.$dots.find("li").removeClass("slick-active"),i.$dots.find("li").eq(Math.floor(i.currentSlide/i.options.slidesToScroll)).addClass("slick-active"))},a.fn.slick=function(t){return this.each(function(i,e){e.slick=new o(e,t)})},a.fn.slickAdd=function(t,o,s){return this.each(function(i,e){e.slick.addSlide(t,o,s)})},a.fn.slickCurrentSlide=function(){return this.get(0).slick.getCurrent()},a.fn.slickFilter=function(t){return this.each(function(i,e){e.slick.filterSlides(t)})},a.fn.slickGoTo=function(t,o){return this.each(function(i,e){e.slick.changeSlide({data:{message:"index",index:parseInt(t)}},o)})},a.fn.slickNext=function(){return this.each(function(i,e){e.slick.changeSlide({data:{message:"next"}})})},a.fn.slickPause=function(){return this.each(function(i,e){e.slick.autoPlayClear(),e.slick.paused=!0})},a.fn.slickPlay=function(){return this.each(function(i,e){e.slick.paused=!1,e.slick.autoPlay()})},a.fn.slickPrev=function(){return this.each(function(i,e){e.slick.changeSlide({data:{message:"previous"}})})},a.fn.slickRemove=function(t,o){return this.each(function(i,e){e.slick.removeSlide(t,o)})},a.fn.slickRemoveAll=function(){return this.each(function(i,e){e.slick.removeSlide(null,null,!0)})},a.fn.slickGetOption=function(i){return this.get(0).slick.options[i]},a.fn.slickSetOption=function(t,o,s){return this.each(function(i,e){e.slick.options[t]=o,!0===s&&(e.slick.unload(),e.slick.reinit())})},a.fn.slickUnfilter=function(){return this.each(function(i,e){e.slick.unfilterSlides()})},a.fn.unslick=function(){return this.each(function(i,e){e.slick&&e.slick.destroy()})},a.fn.getSlick=function(){var t=null;return this.each(function(i,e){t=e.slick}),t}});((e,t)=>{"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t(require):e.scrollReveal=t()})(this,function(){return window.scrollReveal=(r=window,e.prototype={defaults:{enter:"bottom",move:"8px",over:"0.6s",wait:"0s",easing:"ease",scale:{direction:"up",power:"5%"},opacity:0,mobile:!1,reset:!1,viewport:r.document.documentElement,delay:"once",vFactor:.6,complete:function(){}},init:function(e){var t;Array.prototype.slice.call(a.config.viewport.querySelectorAll("[data-sr]")).forEach(function(e){t=a.serial++,(t=a.elems[t]={domEl:e}).config=a.configFactory(t),t.styles=a.styleFactory(t),t.seen=!1,e.removeAttribute("data-sr"),e.setAttribute("style",t.styles.inline+t.styles.initial)}),a.scrolled=a.scrollY(),a.animate(e)},animate:function(e){var t,i,o,n=function(e){var t=a.elems[e];setTimeout(function(){t.domEl.setAttribute("style",t.styles.inline),t.config.complete(t.domEl),delete a.elems[e]},t.styles.duration)};for(t in a.elems)a.elems.hasOwnProperty(t)&&(i=a.elems[t],o=a.isElemInViewport(i),o&&("always"===a.config.delay||"onload"===a.config.delay&&e||"once"===a.config.delay&&!i.seen?i.domEl.setAttribute("style",i.styles.inline+i.styles.target+i.styles.transition):i.domEl.setAttribute("style",i.styles.inline+i.styles.target+i.styles.reset),i.seen=!0,i.config.reset||i.animating||(i.animating=!0,n(t))),!o)&&i.config.reset&&i.domEl.setAttribute("style",i.styles.inline+i.styles.initial+i.styles.reset);a.blocked=!1},configFactory:function(e){var i={},t={},o=e.domEl.getAttribute("data-sr").split(/[, ]+/);return(o=a.filter(o)).forEach(function(e,t){switch(e){case"enter":return void(i.enter=o[t+1]);case"wait":return void(i.wait=o[t+1]);case"move":return void(i.move=o[t+1]);case"ease":return i.move=o[t+1],void(i.ease="ease");case"ease-in":return"up"==o[t+1]||"down"==o[t+1]?(i.scale.direction=o[t+1],i.scale.power=o[t+2]):i.move=o[t+1],void(i.easing="ease-in");case"ease-in-out":return"up"==o[t+1]||"down"==o[t+1]?(i.scale.direction=o[t+1],i.scale.power=o[t+2]):i.move=o[t+1],void(i.easing="ease-in-out");case"ease-out":return"up"==o[t+1]||"down"==o[t+1]?(i.scale.direction=o[t+1],i.scale.power=o[t+2]):i.move=o[t+1],void(i.easing="ease-out");case"hustle":return"up"==o[t+1]||"down"==o[t+1]?(i.scale.direction=o[t+1],i.scale.power=o[t+2]):i.move=o[t+1],void(i.easing="cubic-bezier( 0.6, 0.2, 0.1, 1 )");case"over":return void(i.over=o[t+1]);case"reset":return void(i.reset="no"!=o[t-1]);case"scale":return i.scale={},"up"==o[t+1]||"down"==o[t+1]?(i.scale.direction=o[t+1],void(i.scale.power=o[t+2])):void(i.scale.power=o[t+1]);default:return}}),t=n(t,a.config),"top"!=(t=n(t,i)).enter&&"bottom"!=t.enter||(t.axis="Y"),"left"!=t.enter&&"right"!=t.enter||(t.axis="X"),"hustle"==t.easing&&(t.easing="cubic-bezier( 0.6, 0.2, 0.1, 1 )"),"top"!=t.enter&&"left"!=t.enter||(t.move="-"+t.move),t},styleFactory:function(e){var t=e.domEl.getAttribute("style")?e.domEl.getAttribute("style")+"; visibility: visible; ":"visibility: visible; ",i="-webkit-transition: -webkit-transform "+e.config.over+" "+e.config.easing+" "+e.config.wait+", opacity "+e.config.over+" "+e.config.easing+" "+e.config.wait+"; transition: transform "+e.config.over+" "+e.config.easing+" "+e.config.wait+", opacity "+e.config.over+" "+e.config.easing+" "+e.config.wait+"; -webkit-perspective: 1000;-webkit-backface-visibility: hidden;",o="-webkit-transition: -webkit-transform "+e.config.over+" "+e.config.easing+" 0s, opacity "+e.config.over+" "+e.config.easing+" 0s; transition: transform "+e.config.over+" "+e.config.easing+" 0s, opacity "+e.config.over+" "+e.config.easing+" 0s; -webkit-perspective: 1000; -webkit-backface-visibility: hidden; ",n=function(){0!=parseInt(e.config.move)&&(r+=" translate"+e.config.axis+"("+e.config.move+")",a+=" translate"+e.config.axis+"(0)"),0!=parseInt(e.config.scale.power)&&("up"==e.config.scale.direction&&(e.config.scale.value=1-.01*parseFloat(e.config.scale.power)),"down"==e.config.scale.direction&&(e.config.scale.value=1+.01*parseFloat(e.config.scale.power)),r+=" scale("+e.config.scale.value+")",a+=" scale(1)"),r+="; opacity: "+e.config.opacity+"; ",a+="; opacity: 1; "},r="transform:",a="transform:";return n(),r+="-webkit-transform:",a+="-webkit-transform:",n(),{transition:i,initial:r,target:a,reset:o,inline:t,duration:1e3*(parseFloat(e.config.over)+parseFloat(e.config.wait))}},filter:function(e){var t=[],i=["from","the","and","then","but","with","please"];return e.forEach(function(e){-1<i.indexOf(e)||t.push(e)}),t},getViewportH:function(){var e=a.config.viewport.clientHeight,t=r.innerHeight;return a.config.viewport==r.document.documentElement&&e<t?t:e},scrollY:function(){return a.config.viewport==r.document.documentElement?r.pageYOffset:a.config.viewport.scrollTop+a.config.viewport.offsetTop},getOffset:function(e){for(var t=0,i=0;isNaN(e.offsetTop)||(t+=e.offsetTop),isNaN(e.offsetLeft)||(i+=e.offsetLeft),e=e.offsetParent;);return{top:t,left:i}},isElemInViewport:function(e){var t=e.domEl.offsetHeight,i=a.getOffset(e.domEl).top,o=i+t,n=e.config.vFactor||0;return i+t*n<a.scrolled+a.getViewportH()&&o-t*n>a.scrolled||"fixed"==(e.domEl.currentStyle||r.getComputedStyle(e.domEl,null)).position},isMobile:function(){var e=navigator.userAgent||navigator.vendor||r.opera;return!(!/(ipad|playbook|silk|android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(e)&&!/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))},isSupported:function(){for(var e=document.createElement("sensor"),t=("transition "+"Webkit,Moz,O,".split(",").join("transition,")).split(","),i=0;i<t.length;i++)if(""===!e.style[t[i]])return!1;return!0},destroy:function(){Array.prototype.slice.call(a.config.viewport.querySelectorAll("[data-sr]")).forEach(function(e){e.removeAttribute("data-sr")})}},i=function(){a.blocked||(a.blocked=!0,a.scrolled=a.scrollY(),t(function(){a.animate()}))},n=function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e},t=r.requestAnimationFrame||r.webkitRequestAnimationFrame||r.mozRequestAnimationFrame||function(e){r.setTimeout(e,1e3/60)},e),scrollReveal;function e(e){return(a=this).elems={},a.serial=1,a.blocked=!1,a.config=n(a.defaults,e),a.isMobile()&&!a.config.mobile||!a.isSupported()?void a.destroy():(a.config.viewport==r.document.documentElement?(r.addEventListener("scroll",i,!1),r.addEventListener("resize",i,!1)):a.config.viewport.addEventListener("scroll",i,!1),void a.init(!0))}var r,t,n,i,a});!function(e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else{if("function"==typeof define&&define.amd)return define([],e);this.CodeMirror=e()}}(function(){function u(e,t){if(!(this instanceof u))return new u(e,t);this.options=t=t?Tn(t):{},Tn(Ci,t,!1),L(t);var r,o,l,n,i=t.value,e=("string"==typeof i&&(i=new d(i,t.mode)),this.doc=i,this.display=new g(e,i));C(e.wrapper.CodeMirror=this),k(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),t.autofocus&&!ni&&P(this),T(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,draggingText:!1,highlight:new kn,keySeq:null},j&&B<11&&setTimeout(An(R,this,!0),20),l=(o=this).display,Y(l.scroller,"mousedown",q(o,Ot)),Y(l.scroller,"dblclick",j&&B<11?q(o,function(e){var t;$(o,e)||!(t=Nt(o,e))||zt(o,e)||Et(o.display,e)||(X(e),e=o.findWordAt(t),Te(o.doc,e.anchor,e.head))}):function(e){$(o,e)||X(e)}),Y(l.lineSpace,"selectstart",function(e){Et(l,e)||X(e)}),ai||Y(l.scroller,"contextmenu",function(e){Vt(o,e)}),Y(l.scroller,"scroll",function(){l.scroller.clientHeight&&(Wt(o,l.scroller.scrollTop),qt(o,l.scroller.scrollLeft,!0),Z(o,"scroll",o))}),Y(l.scroller,"mousewheel",function(e){Rt(o,e)}),Y(l.scroller,"DOMMouseScroll",function(e){Rt(o,e)}),Y(l.wrapper,"scroll",function(){l.wrapper.scrollTop=l.wrapper.scrollLeft=0}),Y(l.input,"keyup",function(e){jt.call(o,e)}),Y(l.input,"input",function(){j&&9<=B&&o.display.inputHasSelection&&(o.display.inputHasSelection=null),Lt(o)}),Y(l.input,"keydown",q(o,Ft)),Y(l.input,"keypress",q(o,Bt)),Y(l.input,"focus",An(Ut,o)),Y(l.input,"blur",An(Gt,o)),o.options.dragDrop&&(Y(l.scroller,"dragstart",function(e){var t,r;t=o,e=e,j&&(!t.state.draggingText||+new Date-yi<100)?Yi(e):$(t,e)||Et(t.display,e)||(e.dataTransfer.setData("Text",t.getSelection()),!e.dataTransfer.setDragImage)||Qn||((r=F("img",null,null,"position: fixed; left: 0; top: 0;")).src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",f&&(r.width=r.height=1,t.display.wrapper.appendChild(r),r._top=r.offsetTop),e.dataTransfer.setDragImage(r,0,0),f&&r.parentNode.removeChild(r))}),Y(l.scroller,"dragenter",a),Y(l.scroller,"dragover",a),Y(l.scroller,"drop",q(o,Dt))),Y(l.scroller,"paste",function(e){Et(l,e)||(o.state.pasteIncoming=!0,P(o),St(o))}),Y(l.input,"paste",function(){var e,t;!U||o.state.fakedLastChar||new Date-o.state.lastMiddleDown<200||(e=l.input.selectionStart,t=l.input.selectionEnd,l.input.value+="$",l.input.selectionEnd=t,l.input.selectionStart=e,o.state.fakedLastChar=!0),o.state.pasteIncoming=!0,St(o)}),Y(l.input,"cut",s),Y(l.input,"copy",s),Jn&&Y(l.sizer,"mouseup",function(){Dn()==l.input&&l.input.blur(),P(o)}),mo||(Y(window,"resize",function(){null==r&&(r=setTimeout(function(){r=null,Rn(At)},100))}),Y(window,"blur",function(){Rn(Gt)}),mo=!0);function a(e){$(o,e)||Yi(e)}function s(e){if(o.somethingSelected())vi=o.getSelections(),l.inaccurateSelection&&(l.prevInput="",l.inaccurateSelection=!1,l.input.value=vi.join("\n"),oo(l.input));else{for(var t=[],r=[],n=0;n<o.doc.sel.ranges.length;n++){var i=o.doc.sel.ranges[n].head.line,i={anchor:V(i,0),head:V(i+1,0)};r.push(i),t.push(o.getRange(i.anchor,i.head))}"cut"==e.type?o.setSelections(r,null,to):(l.prevInput="",l.input.value=t.join("\n"),oo(l.input)),vi=t}"cut"==e.type&&(o.state.cutIncoming=!0)}for(n in pt(this),this.curOp.forceUpdate=!0,Jr(this,i),t.autofocus&&!ni||Dn()==e.input?setTimeout(An(Ut,this),20):Gt(this),Si)Si.hasOwnProperty(n)&&Si[n](this,t[n],Li);E(this);for(var c=0;c<Ei.length;++c)Ei[c](this);mt(this)}function g(e,t){var r=this,n=r.input=F("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em; outline: none");U?n.style.width="1000px":n.setAttribute("wrap","off"),ri&&(n.style.border="1px solid black"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck","false"),r.inputDiv=F("div",[n],null,"overflow: hidden; position: relative; width: 3px; height: 0px;"),r.scrollbarFiller=F("div",null,"CodeMirror-scrollbar-filler"),r.scrollbarFiller.setAttribute("not-content","true"),r.gutterFiller=F("div",null,"CodeMirror-gutter-filler"),r.gutterFiller.setAttribute("not-content","true"),r.lineDiv=F("div",null,"CodeMirror-code"),r.selectionDiv=F("div",null,null,"position: relative; z-index: 1"),r.cursorDiv=F("div",null,"CodeMirror-cursors"),r.measure=F("div",null,"CodeMirror-measure"),r.lineMeasure=F("div",null,"CodeMirror-measure"),r.lineSpace=F("div",[r.measure,r.lineMeasure,r.selectionDiv,r.cursorDiv,r.lineDiv],null,"position: relative; outline: none"),r.mover=F("div",[F("div",[r.lineSpace],"CodeMirror-lines")],null,"position: relative"),r.sizer=F("div",[r.mover],"CodeMirror-sizer"),r.sizerWidth=null,r.heightForcer=F("div",null,null,"position: absolute; height: "+Ji+"px; width: 1px;"),r.gutters=F("div",null,"CodeMirror-gutters"),r.lineGutter=null,r.scroller=F("div",[r.sizer,r.heightForcer,r.gutters],"CodeMirror-scroll"),r.scroller.setAttribute("tabIndex","-1"),r.wrapper=F("div",[r.inputDiv,r.scrollbarFiller,r.gutterFiller,r.scroller],"CodeMirror"),j&&B<8&&(r.gutters.style.zIndex=-1,r.scroller.style.paddingRight=0),ri&&(n.style.width="0px"),U||(r.scroller.draggable=!0),Jn&&(r.inputDiv.style.height="1px",r.inputDiv.style.position="absolute"),e&&(e.appendChild?e.appendChild(r.wrapper):e(r.wrapper)),r.viewFrom=r.viewTo=t.first,r.reportedViewFrom=r.reportedViewTo=t.first,r.view=[],r.renderedView=null,r.externalMeasured=null,r.viewOffset=0,r.lastWrapHeight=r.lastWrapWidth=0,r.updateLineNumbers=null,r.nativeBarWidth=r.barHeight=r.barWidth=0,r.scrollbarsClipped=!1,r.lineNumWidth=r.lineNumInnerWidth=r.lineNumChars=null,r.prevInput="",r.alignWidgets=!1,r.pollingFast=!1,r.poll=new kn,r.cachedCharWidth=r.cachedTextHeight=r.cachedPaddingH=null,r.inaccurateSelection=!1,r.maxLine=null,r.maxLineLength=0,r.maxLineChanged=!1,r.wheelDX=r.wheelDY=r.wheelStartX=r.wheelStartY=null,r.shift=!1,r.selForContextMenu=null}function i(e){e.doc.mode=u.getMode(e.options,e.doc.modeOption),o(e)}function o(e){e.doc.iter(function(e){e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null)}),e.doc.frontier=e.doc.first,Fe(e,100),e.state.modeGen++,e.curOp&&y(e)}function v(n){var i=ft(n.display),o=n.options.lineWrapping,l=o&&Math.max(5,n.display.scroller.clientWidth/ht(n.display)-3);return function(e){if(Ir(n.doc,e))return 0;var t=0;if(e.widgets)for(var r=0;r<e.widgets.length;r++)e.widgets[r].height&&(t+=e.widgets[r].height);return o?t+(Math.ceil(e.text.length/l)||1)*i:t+i}}function l(e){var t=e.doc,r=v(e);t.iter(function(e){var t=r(e);t!=e.height&&rn(e,t)})}function k(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),rt(e)}function a(e){C(e),y(e),setTimeout(function(){ne(e)},20)}function C(e){var t=e.display.gutters,r=e.options.gutters;In(t);for(var n=0;n<r.length;++n){var i=r[n],o=t.appendChild(F("div",null,"CodeMirror-gutter "+i));"CodeMirror-linenumbers"==i&&((e.display.lineGutter=o).style.width=(e.display.lineNumWidth||1)+"px")}t.style.display=n?"":"none",s(e)}function s(e){var t=e.display.gutters.offsetWidth;e.display.sizer.style.marginLeft=t+"px"}function S(e){if(0==e.height)return 0;for(var t,r=e.text.length,n=e;t=Tr(n);){n=(i=t.find(0,!0)).from.line;r+=i.from.ch-i.to.ch}for(n=e;t=Ar(n);)var i=t.find(0,!0),r=(r-=n.text.length-i.from.ch)+((n=i.to.line).text.length-i.to.ch);return r}function J(e){var r=e.display,e=e.doc;r.maxLine=H(e,e.first),r.maxLineLength=S(r.maxLine),r.maxLineChanged=!0,e.iter(function(e){var t=S(e);t>r.maxLineLength&&(r.maxLineLength=t,r.maxLine=e)})}function L(e){var t=w(e.gutters,"CodeMirror-linenumbers");-1==t&&e.lineNumbers?e.gutters=e.gutters.concat(["CodeMirror-linenumbers"]):-1<t&&!e.lineNumbers&&(e.gutters=e.gutters.slice(0),e.gutters.splice(t,1))}function ee(e){var t=e.display,r=t.gutters.offsetWidth,n=Math.round(e.doc.height+Ge(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?r:0,docHeight:n,scrollHeight:n+W(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:r}}function c(e,t,r){this.cm=r;var n=this.vert=F("div",[F("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=F("div",[F("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");e(n),e(i),Y(n,"scroll",function(){n.clientHeight&&t(n.scrollTop,"vertical")}),Y(i,"scroll",function(){i.clientWidth&&t(i.scrollLeft,"horizontal")}),this.checkedOverlay=!1,j&&B<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")}function M(){}function T(r){r.display.scrollbars&&(r.display.scrollbars.clear(),r.display.scrollbars.addClass)&&ho(r.display.wrapper,r.display.scrollbars.addClass),r.display.scrollbars=new u.scrollbarModel[r.options.scrollbarStyle](function(e){r.display.wrapper.insertBefore(e,r.display.scrollbarFiller),Y(e,"mousedown",function(){r.state.focused&&setTimeout(An(P,r),0)}),e.setAttribute("not-content","true")},function(e,t){("horizontal"==t?qt:Wt)(r,e)},r),r.display.scrollbars.addClass&&po(r.display.wrapper,r.display.scrollbars.addClass)}function te(e,t){t=t||ee(e);var r=e.display.barWidth,n=e.display.barHeight;A(e,t);for(var i=0;i<4&&r!=e.display.barWidth||n!=e.display.barHeight;i++)r!=e.display.barWidth&&e.options.lineWrapping&&ue(e),A(e,ee(e)),r=e.display.barWidth,n=e.display.barHeight}function A(e,t){var r=e.display,n=r.scrollbars.update(t);r.sizer.style.paddingRight=(r.barWidth=n.right)+"px",r.sizer.style.paddingBottom=(r.barHeight=n.bottom)+"px",n.right&&n.bottom?(r.scrollbarFiller.style.display="block",r.scrollbarFiller.style.height=n.bottom+"px",r.scrollbarFiller.style.width=n.right+"px"):r.scrollbarFiller.style.display="",n.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(r.gutterFiller.style.display="block",r.gutterFiller.style.height=n.bottom+"px",r.gutterFiller.style.width=t.gutterWidth+"px"):r.gutterFiller.style.display=""}function re(e,t,r){var n,i=r&&null!=r.top?Math.max(0,r.top):e.scroller.scrollTop,i=Math.floor(i-Ue(e)),o=r&&null!=r.bottom?r.bottom:i+e.wrapper.clientHeight,i=nn(t,i),o=nn(t,o);return r&&r.ensure&&(n=r.ensure.from.line,r=r.ensure.to.line,n<i?o=nn(t,on(H(t,i=n))+e.wrapper.clientHeight):Math.min(r,t.lastLine())>=o&&(i=nn(t,on(H(t,r))-e.wrapper.clientHeight),o=r)),{from:i,to:Math.max(o,i+1)}}function ne(e){var t=e.display,r=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var n=ie(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=n+"px",l=0;l<r.length;l++)if(!r[l].hidden){e.options.fixedGutter&&r[l].gutter&&(r[l].gutter.style.left=o);var a=r[l].alignable;if(a)for(var s=0;s<a.length;s++)a[s].style.left=o}e.options.fixedGutter&&(t.gutters.style.left=n+i+"px")}}function E(e){var t,r,n,i;return e.options.lineNumbers&&(t=N(e.options,(t=e.doc).first+t.size-1)).length!=(r=e.display).lineNumChars?(n=(i=r.measure.appendChild(F("div",[F("div",t)],"CodeMirror-linenumber CodeMirror-gutter-elt"))).firstChild.offsetWidth,i=i.offsetWidth-n,r.lineGutter.style.width="",r.lineNumInnerWidth=Math.max(n,r.lineGutter.offsetWidth-i),r.lineNumWidth=r.lineNumInnerWidth+i,r.lineNumChars=r.lineNumInnerWidth?t.length:-1,r.lineGutter.style.width=r.lineNumWidth+"px",s(e),1):void 0}function N(e,t){return String(e.lineNumberFormatter(t+e.firstLineNumber))}function ie(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function oe(e,t,r){var n=e.display;this.viewport=t,this.visible=re(n,e.doc,t),this.editorIsHidden=!n.wrapper.offsetWidth,this.wrapperHeight=n.wrapper.clientHeight,this.wrapperWidth=n.wrapper.clientWidth,this.oldDisplayWidth=Ke(e),this.force=r,this.dims=fe(e)}function le(e,t){var r=e.display,n=e.doc;if(t.editorIsHidden)bt(e);else if(!(!t.force&&t.visible.from>=r.viewFrom&&t.visible.to<=r.viewTo&&(null==r.updateLineNumbers||r.updateLineNumbers>=r.viewTo)&&r.renderedView==r.view&&0==kt(e))){E(e)&&(bt(e),t.dims=fe(e));var i=n.first+n.size,o=Math.max(t.visible.from-e.options.viewportMargin,n.first),l=Math.min(i,t.visible.to+e.options.viewportMargin),n=(r.viewFrom<o&&o-r.viewFrom<20&&(o=Math.max(n.first,r.viewFrom)),r.viewTo>l&&r.viewTo-l<20&&(l=Math.min(i,r.viewTo)),ci&&(o=Nr(e.doc,o),l=Or(e.doc,l)),o!=r.viewFrom||l!=r.viewTo||r.lastWrapHeight!=t.wrapperHeight||r.lastWrapWidth!=t.wrapperWidth),i=(i=o,o=l,0==(d=(l=e).display).view.length||i>=d.viewTo||o<=d.viewFrom?(d.view=yt(l,i,o),d.viewFrom=i):(d.viewFrom>i?d.view=yt(l,i,d.viewFrom).concat(d.view):d.viewFrom<i&&(d.view=d.view.slice(xt(l,i))),d.viewFrom=i,d.viewTo<o?d.view=d.view.concat(yt(l,d.viewTo,o)):d.viewTo>o&&(d.view=d.view.slice(0,xt(l,o)))),d.viewTo=o,r.viewOffset=on(H(e.doc,r.viewFrom)),e.display.mover.style.top=r.viewOffset+"px",kt(e));if(n||0!=i||t.force||r.renderedView!=r.view||!(null==r.updateLineNumbers||r.updateLineNumbers>=r.viewTo)){var l=Dn(),a=(4<i&&(r.lineDiv.style.display="none"),e),s=r.updateLineNumbers,c=t.dims;function u(e){var t=e.nextSibling;return U&&G&&a.display.currentWheelTarget==e?e.style.display="none":e.parentNode.removeChild(e),t}for(var d=a.display,f=a.options.lineNumbers,h=d.lineDiv,p=h.firstChild,m=d.view,g=d.viewFrom,v=0;v<m.length;v++){var y=m[v];if(!y.hidden)if(y.node){for(;p!=y.node;)p=u(p);var _=f&&null!=s&&s<=g&&y.lineNumber;y.changes&&(-1<w(y.changes,"gutter")&&(_=!1),he(a,y,g,c)),_&&(In(y.lineNumber),y.lineNumber.appendChild(document.createTextNode(N(a.options,g)))),p=y.node.nextSibling}else{_=((e,t,r,n)=>{var i=me(e,t);return t.text=t.node=i.pre,i.bgClass&&(t.bgClass=i.bgClass),i.textClass&&(t.textClass=i.textClass),ge(t),ve(e,t,r,n),ye(t,n),t.node})(a,y,g,c);h.insertBefore(_,p)}g+=y.size}for(;p;)p=u(p);return 4<i&&(r.lineDiv.style.display=""),r.renderedView=r.view,l&&Dn()!=l&&l.offsetHeight&&l.focus(),In(r.cursorDiv),In(r.selectionDiv),r.heightForcer.style.top=r.gutters.style.height=0,n&&(r.lastWrapHeight=t.wrapperHeight,r.lastWrapWidth=t.wrapperWidth,Fe(e,400)),!(r.updateLineNumbers=null)}}return!1}function ae(e,t){t.force;for(var r=t.viewport,n=!0;;n=!1){if(n&&e.options.lineWrapping&&t.oldDisplayWidth!=Ke(e))0;else if(r&&null!=r.top&&(r={top:Math.min(e.doc.height+Ge(e.display)-Xe(e),r.top)}),t.visible=re(e.display,e.doc,r),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!le(e,t))break;ue(e);var i=ee(e);He(e),ce(e,i),te(e,i)}b(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(b(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function se(e,t){var t=new oe(e,t);le(e,t)&&(ue(e),ae(e,t),t=ee(e),He(e),ce(e,t),te(e,t))}function ce(e,t){e.display.sizer.style.minHeight=t.docHeight+"px";var r=t.docHeight+W(e);e.display.heightForcer.style.top=r+"px",e.display.gutters.style.height=Math.max(r,t.clientHeight)+"px"}function ue(e){for(var t=e.display,r=t.lineDiv.offsetTop,n=0;n<t.view.length;n++){var i=t.view[n];if(!i.hidden){j&&B<8?(o=(l=i.node.offsetTop+i.node.offsetHeight)-r,r=l):o=(l=i.node.getBoundingClientRect()).bottom-l.top;var o,l,a=i.line.height-o;if(o<2&&(o=ft(t)),(.001<a||a<-.001)&&(rn(i.line,o),de(i.line),i.rest))for(var s=0;s<i.rest.length;s++)de(i.rest[s])}}}function de(e){if(e.widgets)for(var t=0;t<e.widgets.length;++t)e.widgets[t].height=e.widgets[t].node.offsetHeight}function fe(e){for(var t=e.display,r={},n={},i=t.gutters.clientLeft,o=t.gutters.firstChild,l=0;o;o=o.nextSibling,++l)r[e.options.gutters[l]]=o.offsetLeft+o.clientLeft+i,n[e.options.gutters[l]]=o.clientWidth;return{fixedPos:ie(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:r,gutterWidth:n,wrapperWidth:t.wrapper.clientWidth}}function he(e,t,r,n){for(var i,o,l=0;l<t.changes.length;l++){var a=t.changes[l];if("text"==a)c=e,o=void 0,o=(i=t).text.className,c=me(c,i),i.text==i.node&&(i.node=c.pre),i.text.parentNode.replaceChild(c.pre,i.text),i.text=c.pre,c.bgClass!=i.bgClass||c.textClass!=i.textClass?(i.bgClass=c.bgClass,i.textClass=c.textClass,ge(i)):o&&(i.text.className=o);else if("gutter"==a)ve(e,t,r,n);else if("class"==a)ge(t);else if("widget"==a){s=void 0;c=void 0;d=void 0;u=void 0;var s=t;var c=n;s.alignable&&(s.alignable=null);for(var u=s.node.firstChild;u;u=d){var d=u.nextSibling;"CodeMirror-linewidget"==u.className&&s.node.removeChild(u)}ye(s,c)}}t.changes=null}function pe(e){return e.node==e.text&&(e.node=F("div",null,null,"position: relative"),e.text.parentNode&&e.text.parentNode.replaceChild(e.node,e.text),e.node.appendChild(e.text),j)&&B<8&&(e.node.style.zIndex=2),e.node}function me(e,t){var r=e.display.externalMeasured;return r&&r.line==t.line?(e.display.externalMeasured=null,t.measure=r.measure,r.built):Ur(e,t)}function ge(e){(r=(n=e).bgClass?n.bgClass+" "+(n.line.bgClass||""):n.line.bgClass)&&(r+=" CodeMirror-linebackground"),n.background?r?n.background.className=r:(n.background.parentNode.removeChild(n.background),n.background=null):r&&(t=pe(n),n.background=t.insertBefore(F("div",null,r),t.firstChild)),e.line.wrapClass?pe(e).className=e.line.wrapClass:e.node!=e.text&&(e.node.className="");var t,r,n=e.textClass?e.textClass+" "+(e.line.textClass||""):e.line.textClass;e.text.className=n||""}function ve(e,t,r,n){t.gutter&&(t.node.removeChild(t.gutter),t.gutter=null);var i=t.line.gutterMarkers;if(e.options.lineNumbers||i){var o=pe(t),l=t.gutter=o.insertBefore(F("div",null,"CodeMirror-gutter-wrapper","left: "+(e.options.fixedGutter?n.fixedPos:-n.gutterTotalWidth)+"px; width: "+n.gutterTotalWidth+"px"),t.text);if(t.line.gutterClass&&(l.className+=" "+t.line.gutterClass),!e.options.lineNumbers||i&&i["CodeMirror-linenumbers"]||(t.lineNumber=l.appendChild(F("div",N(e.options,r),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+n.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+e.display.lineNumInnerWidth+"px"))),i)for(var a=0;a<e.options.gutters.length;++a){var s=e.options.gutters[a],c=i.hasOwnProperty(s)&&i[s];c&&l.appendChild(F("div",[c],"CodeMirror-gutter-elt","left: "+n.gutterLeft[s]+"px; width: "+n.gutterWidth[s]+"px"))}}}function ye(e,t){if(_e(e.line,e,t,!0),e.rest)for(var r=0;r<e.rest.length;r++)_e(e.rest[r],e,t,!1)}function _e(e,t,r,n){if(e.widgets)for(var i=pe(t),o=0,l=e.widgets;o<l.length;++o){var a=l[o],s=F("div",[a.node],"CodeMirror-linewidget"),c=(a.handleMouseEvents||s.setAttribute("cm-ignore-events","true"),f=d=u=c=void 0,a),u=s,d=t,f=r;c.noHScroll&&((d.alignable||(d.alignable=[])).push(u),d=f.wrapperWidth,u.style.left=f.fixedPos+"px",c.coverGutter||(d-=f.gutterTotalWidth,u.style.paddingLeft=f.gutterTotalWidth+"px"),u.style.width=d+"px"),c.coverGutter&&(u.style.zIndex=5,u.style.position="relative",c.noHScroll||(u.style.marginLeft=-f.gutterTotalWidth+"px")),n&&a.above?i.insertBefore(s,t.gutter||t.text):i.appendChild(s),b(a,"redraw")}}function be(e){return V(e.line,e.ch)}function xe(e,t){return K(e,t)<0?t:e}function we(e,t){return K(e,t)<0?e:t}function ke(e,t){this.ranges=e,this.primIndex=t}function O(e,t){this.anchor=e,this.head=t}function I(e,t){var r=e[t];e.sort(function(e,t){return K(e.from(),t.from())}),t=w(e,r);for(var n=1;n<e.length;n++){var i,o,l=e[n],a=e[n-1];0<=K(a.to(),l.from())&&(i=we(a.from(),l.from()),o=xe(a.to(),l.to()),l=a.empty()?l.from()==l.head:a.from()==a.head,n<=t&&--t,e.splice(--n,2,new O(l?o:i,l?i:o)))}return new ke(e,t)}function Ce(e,t){return new ke([new O(e,t||e)],0)}function Se(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function z(e,t){var r;return t.line<e.first?V(e.first,0):(r=e.first+e.size-1)<t.line?V(r,H(e,r).text.length):(e=H(e,(r=t).line).text.length,null==(t=r.ch)||e<t?V(r.line,e):t<0?V(r.line,0):r)}function Le(e,t){return t>=e.first&&t<e.first+e.size}function Me(e,t,r,n){return e.cm&&e.cm.display.shift||e.extend?(e=t.anchor,n&&((t=K(r,e)<0)!=K(n,e)<0?(e=r,r=n):t!=K(r,n)<0&&(r=n)),new O(e,r)):new O(n||r,r)}function Te(e,t,r,n){D(e,new ke([Me(e,e.sel.primary(),t,r)],0),n)}function Ae(e,t,r){for(var n=[],i=0;i<e.sel.ranges.length;i++)n[i]=Me(e,e.sel.ranges[i],t[i],null);D(e,I(n,e.sel.primIndex),r)}function Ee(e,t,r,n){var i=e.sel.ranges.slice(0);i[t]=r,D(e,I(i,e.sel.primIndex),n)}function Ne(e,t,r,n){D(e,Ce(t,r),n)}function Oe(e,t,r){var n=e.history.done,i=x(n);(i&&i.ranges?(n[n.length-1]=t,Ie):D)(e,t,r)}function D(e,t,r){var n,i,o;Ie(e,t,r),n=(t=e).sel,e=e.cm?e.cm.curOp.id:NaN,r=r,i=t.history,o=r&&r.origin,e==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||((e,t,r,n)=>"*"==(t=t.charAt(0))||"+"==t&&r.ranges.length==n.ranges.length&&r.somethingSelected()==n.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500))(t,o,x(i.done),n))?i.done[i.done.length-1]=n:dn(n,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=e,r&&!1!==r.clearRedo&&cn(i.undone)}function Ie(e,t,r){(p(e,"beforeSelectionChange")||e.cm&&p(e.cm,"beforeSelectionChange"))&&(n=e,o={ranges:(i=t).ranges,update:function(e){this.ranges=[];for(var t=0;t<e.length;t++)this.ranges[t]=new O(z(n,e[t].anchor),z(n,e[t].head))}},Z(n,"beforeSelectionChange",n,o),n.cm&&Z(n.cm,"beforeSelectionChange",n.cm,o),t=o.ranges!=i.ranges?I(o.ranges,o.ranges.length-1):i);var n,i,o=r&&r.bias||(K(t.primary().head,e.sel.primary().head)<0?-1:1);ze(e,We(e,t,o,!0)),r&&!1===r.scroll||!e.cm||lr(e.cm)}function ze(e,t){t.equals(e.sel)||(e.sel=t,e.cm&&(e.cm.curOp.updateInput=e.cm.curOp.selectionChanged=!0,xn(e.cm)),b(e,"cursorActivity",e))}function De(e){ze(e,We(e,e.sel,null,!1))}function We(e,t,r,n){for(var i,o=0;o<t.ranges.length;o++){var l=t.ranges[o],a=qe(e,l.anchor,r,n),s=qe(e,l.head,r,n);!i&&a==l.anchor&&s==l.head||((i=i||t.ranges.slice(0,o))[o]=new O(a,s))}return i?I(i,t.primIndex):t}function qe(e,t,r,n){var i=!1,o=t,l=r||1;e.cantEdit=!1;e:for(;;){var a=H(e,o.line);if(a.markedSpans)for(var s=0;s<a.markedSpans.length;++s){var c=a.markedSpans[s],u=c.marker;if((null==c.from||(u.inclusiveLeft?c.from<=o.ch:c.from<o.ch))&&(null==c.to||(u.inclusiveRight?c.to>=o.ch:c.to>o.ch))){if(n&&(Z(u,"beforeCursorEnter"),u.explicitlyCleared)){if(a.markedSpans){--s;continue}break}if(u.atomic){c=u.find(l<0?-1:1);if(0==K(c,o)&&(c.ch+=l,c.ch<0?c=c.line>e.first?z(e,V(c.line-1)):null:c.ch>a.text.length&&(c=c.line<e.first+e.size-1?V(c.line+1,0):null),!c)){if(i)return n?(e.cantEdit=!0,V(e.first,0)):qe(e,t,r,!0);i=!0,c=t,l=-l}o=c;continue e}}}return o}}function Re(e){for(var t,r,n,i,o,l,a,s=e.display,c=e.doc,u={},d=u.cursors=document.createDocumentFragment(),f=u.selection=document.createDocumentFragment(),h=0;h<c.sel.ranges.length;h++){var p=c.sel.ranges[h],m=p.empty();(m||e.options.showCursorWhenSelecting)&&(n=d,i=void 0,r=st(t=e,(r=p).head,"div",null,null,!t.options.singleCursorHeightPerLine),(i=n.appendChild(F("div"," ","CodeMirror-cursor"))).style.left=r.left+"px",i.style.top=r.top+"px",i.style.height=Math.max(0,r.bottom-r.top)*t.options.cursorHeight+"px",r.other&&((i=n.appendChild(F("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"))).style.display="",i.style.left=r.other.left+"px",i.style.top=r.other.top+"px",i.style.height=.85*(r.other.bottom-r.other.top)+"px")),m||((i,e,t)=>{function h(e,t,r,n){t<0&&(t=0),t=Math.round(t),n=Math.round(n),a.appendChild(F("div",null,"CodeMirror-selected","position: absolute; left: "+e+"px; top: "+t+"px; width: "+(null==r?m-e:r)+"px; height: "+(n-t)+"px"))}function r(r,a,s){function c(e,t){return at(i,V(r,e),"div",n,t)}var u,d,n=H(l,r),f=n.text.length;return((e,t,r,n)=>{if(!e)return n(t,r,"ltr");for(var i=!1,o=0;o<e.length;++o){var l=e[o];(l.from<r&&l.to>t||t==r&&l.to==t)&&(n(Math.max(l.from,t),Math.min(l.to,r),1==l.level?"rtl":"ltr"),i=!0)}i||n(t,r,"ltr")})(ln(n),a||0,null==s?f:s,function(e,t,r){var n,i,o,l=c(e,"left");e==t?n=i=(o=l).left:(o=c(t-1,"right"),"rtl"==r&&(r=l,l=o,o=r),n=l.left,i=o.right),null==a&&0==e&&(n=p),3<o.top-l.top&&(h(n,l.top,null,l.bottom),n=p,l.bottom<o.top)&&h(n,l.bottom,null,o.top),null==s&&t==f&&(i=m),(!u||l.top<u.top||l.top==u.top&&l.left<u.left)&&(u=l),(!d||o.bottom>d.bottom||o.bottom==d.bottom&&o.right>d.right)&&(d=o),h(n=n<p+1?p:n,o.top,i-n,o.bottom)}),{start:u,end:d}}var n,o=i.display,l=i.doc,a=document.createDocumentFragment(),p=(s=Ve(i.display)).left,m=Math.max(o.sizerWidth,Ke(i)-o.sizer.offsetLeft)-s.right,o=e.from(),s=e.to();o.line==s.line?r(o.line,o.ch,s.ch):(e=H(l,o.line),n=H(l,s.line),n=_(e)==_(n),o=r(o.line,o.ch,n?e.text.length+1:null).end,e=r(s.line,n?0:null,s.ch).start,n&&(o.top<e.top-2?(h(o.right,o.top,null,o.bottom),h(p,e.top,e.left,e.bottom)):h(o.right,o.top,e.left-o.right,o.bottom)),o.bottom<e.top&&h(p,o.bottom,null,e.top)),t.appendChild(a)})(e,p,f)}return e.options.moveInputWithCursor&&(o=st(e,c.sel.primary().head,"div"),l=s.wrapper.getBoundingClientRect(),a=s.lineDiv.getBoundingClientRect(),u.teTop=Math.max(0,Math.min(s.wrapper.clientHeight-10,o.top+a.top-l.top)),u.teLeft=Math.max(0,Math.min(s.wrapper.clientWidth-10,o.left+a.left-l.left))),u}function Pe(e,t){zn(e.display.cursorDiv,t.cursors),zn(e.display.selectionDiv,t.selection),null!=t.teTop&&(e.display.inputDiv.style.top=t.teTop+"px",e.display.inputDiv.style.left=t.teLeft+"px")}function He(e){Pe(e,Re(e))}function $e(e){var t,r;e.state.focused&&(t=e.display,clearInterval(t.blinker),r=!0,t.cursorDiv.style.visibility="",0<e.options.cursorBlinkRate?t.blinker=setInterval(function(){t.cursorDiv.style.visibility=(r=!r)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden"))}function Fe(e,t){e.doc.mode.startState&&e.doc.frontier<e.display.viewTo&&e.state.highlight.set(t,An(je,e))}function je(l){var a,s,c,u=l.doc;u.frontier<u.first&&(u.frontier=u.first),u.frontier>=l.display.viewTo||(a=+new Date+l.options.workTime,s=Oi(u.mode,Be(l,u.frontier)),c=[],u.iter(u.frontier,Math.min(u.first+u.size,l.display.viewTo+500),function(e){if(u.frontier>=l.display.viewFrom){var t=e.styles,r=$r(l,e,s,!0),n=(e.styles=r.styles,e.styleClasses),r=r.classes;r?e.styleClasses=r:n&&(e.styleClasses=null);for(var i=!t||t.length!=e.styles.length||n!=r&&(!n||!r||n.bgClass!=r.bgClass||n.textClass!=r.textClass),o=0;!i&&o<t.length;++o)i=t[o]!=e.styles[o];i&&c.push(u.frontier),e.stateAfter=Oi(u.mode,s)}else jr(l,e.text,s),e.stateAfter=0==u.frontier%5?Oi(u.mode,s):null;return++u.frontier,+new Date>a?(Fe(l,l.options.workDelay),!0):void 0}),c.length&&gt(l,function(){for(var e=0;e<c.length;e++)_t(l,c[e],"text")}))}function Be(r,n,e){var i,o,l=r.doc,a=r.display;return!l.mode.startState||(i=((e,t,r)=>{for(var n,i,o=e.doc,l=r?-1:t-(e.doc.mode.innerMode?1e3:100),a=t;l<a;--a){if(a<=o.first)return o.first;var s=H(o,a-1);if(s.stateAfter&&(!r||a<=o.frontier))return a;s=Q(s.text,null,e.options.tabSize);(null==i||s<n)&&(i=a-1,n=s)}return i})(r,n,e),o=(o=l.first<i&&H(l,i-1).stateAfter)?Oi(l.mode,o):Ii(l.mode),l.iter(i,n,function(e){jr(r,e.text,o);var t=i==n-1||0==i%5||i>=a.viewFrom&&i<a.viewTo;e.stateAfter=t?Oi(l.mode,o):null,++i}),e&&(l.frontier=i),o)}function Ue(e){return e.lineSpace.offsetTop}function Ge(e){return e.mover.offsetHeight-e.lineSpace.offsetHeight}function Ve(e){var t;return e.cachedPaddingH||(t=zn(e.measure,F("pre","x")),t=window.getComputedStyle?window.getComputedStyle(t):t.currentStyle,t={left:parseInt(t.paddingLeft),right:parseInt(t.paddingRight)},isNaN(t.left)||isNaN(t.right)||(e.cachedPaddingH=t),t)}function W(e){return Ji-e.display.nativeBarWidth}function Ke(e){return e.display.scroller.clientWidth-W(e)-e.display.barWidth}function Xe(e){return e.display.scroller.clientHeight-W(e)-e.display.barHeight}function Ye(e,t,r,n){return Je(e,Qe(e,t),r,n)}function Ze(e,t){return t>=e.display.viewFrom&&t<e.display.viewTo?e.display.view[xt(e,t)]:(e=e.display.externalMeasured)&&t>=e.lineN&&t<e.lineN+e.size?e:void 0}function Qe(e,t){var r,n,i=h(t),o=Ze(e,i),e=(o&&!o.text?o=null:o&&o.changes&&he(e,o,i,fe(e)),o||(e=e,n=h(r=_(r=t)),(r=e.display.externalMeasured=new vt(e.doc,r,n)).lineN=n,n=r.built=Ur(e,r),r.text=n.pre,zn(e.display.lineMeasure,n.pre),o=r),((e,t,r)=>{if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};for(var n=0;n<e.rest.length;n++)if(e.rest[n]==t)return{map:e.measure.maps[n],cache:e.measure.caches[n]};for(n=0;n<e.rest.length;n++)if(h(e.rest[n])>r)return{map:e.measure.maps[n],cache:e.measure.caches[n],before:!0}})(o,t,i));return{line:t,view:o,rect:null,map:e.map,cache:e.cache,before:e.before,hasHeights:!1}}function Je(e,t,r,n,i){var o,l=(r=t.before?-1:r)+(n||"");if(t.cache.hasOwnProperty(l))o=t.cache[l];else{if(t.rect||(t.rect=t.view.text.getBoundingClientRect()),!t.hasHeights){var a=e,s=t.view,c=t.rect,u=a.options.lineWrapping,a=u&&Ke(a);if(!s.measure.heights||u&&s.measure.width!=a){var d=s.measure.heights=[];if(u){s.measure.width=a;for(var f=s.text.firstChild.getClientRects(),h=0;h<f.length-1;h++){var p=f[h],m=f[h+1];2<Math.abs(p.bottom-m.bottom)&&d.push((p.bottom+m.top)/2-c.top)}}d.push(c.bottom-c.top)}t.hasHeights=!0}(o=((e,t,r,n)=>{for(var i,o,l,a,s,c=t.map,u=0;u<c.length;u+=3){var d=c[u],f=c[u+1];if(r<d?(o=0,l=1,a="left"):r<f?l=(o=r-d)+1:(u==c.length-3||r==f&&c[u+3]>r)&&(o=(l=f-d)-1,f<=r)&&(a="right"),null!=o){if(i=c[u+2],d==f&&n==(i.insertLeft?"left":"right")&&(a=n),"left"==n&&0==o)for(;u&&c[u-2]==c[u-3]&&c[u-1].insertLeft;)i=c[2+(u-=3)],a="left";if("right"==n&&o==f-d)for(;u<c.length-3&&c[u+3]==c[u+4]&&!c[u+5].insertLeft;)i=c[(u+=3)+2],a="right";break}}if(3==i.nodeType){for(var h,u=0;u<4;u++){for(;o&&On(t.line.text.charAt(d+o));)--o;for(;d+l<f&&On(t.line.text.charAt(d+l));)++l;if((s=j&&B<9&&0==o&&l==f-d?i.parentNode.getBoundingClientRect():j&&e.options.lineWrapping?(h=co(i,o,l).getClientRects()).length?h["right"==n?h.length-1:0]:pi:co(i,o,l).getBoundingClientRect()||pi).left||s.right||0==o)break;l=o,--o,a="right"}j&&B<11&&(s=((e,t)=>{var r;return window.screen&&null!=screen.logicalXDPI&&screen.logicalXDPI!=screen.deviceXDPI&&(e=>{var t;return null!=bo?bo:(e=zn(e,F("span","x")),t=e.getBoundingClientRect(),e=co(e,0,1).getBoundingClientRect(),bo=1<Math.abs(t.left-e.left))})(e)?(e=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI,{left:t.left*e,right:t.right*e,top:t.top*r,bottom:t.bottom*r}):t})(e.display.measure,s))}else 0<o&&(a=n="right"),s=e.options.lineWrapping&&1<(h=i.getClientRects()).length?h["right"==n?h.length-1:0]:i.getBoundingClientRect();!(j&&B<9)||o||s&&(s.left||s.right)||(p=i.parentNode.getClientRects()[0],s=p?{left:p.left,right:p.left+ht(e.display),top:p.top,bottom:p.bottom}:pi);for(var p=s.top-t.rect.top,m=s.bottom-t.rect.top,g=(p+m)/2,v=t.view.measure.heights,u=0;u<v.length-1&&!(g<v[u]);u++);var y=u?v[u-1]:0,_=v[u],y={left:("right"==a?s.right:s.left)-t.rect.left,right:("left"==a?s.left:s.right)-t.rect.left,top:y,bottom:_};return s.left||s.right||(y.bogus=!0),e.options.singleCursorHeightPerLine||(y.rtop=p,y.rbottom=m),y})(e,t,r,n)).bogus||(t.cache[l]=o)}return{left:o.left,right:o.right,top:i?o.rtop:o.top,bottom:i?o.rbottom:o.bottom}}function et(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t<e.rest.length;t++)e.measure.caches[t]={}}function tt(e){e.display.externalMeasure=null,In(e.display.lineMeasure);for(var t=0;t<e.display.view.length;t++)et(e.display.view[t])}function rt(e){tt(e),e.display.cachedCharWidth=e.display.cachedTextHeight=e.display.cachedPaddingH=null,e.options.lineWrapping||(e.display.maxLineChanged=!0),e.display.lineNumChars=null}function nt(){return window.pageXOffset||(document.documentElement||document.body).scrollLeft}function it(){return window.pageYOffset||(document.documentElement||document.body).scrollTop}function ot(e,t,r,n){if(t.widgets)for(var i=0;i<t.widgets.length;++i){var o;t.widgets[i].above&&(o=Dr(t.widgets[i]),r.top+=o,r.bottom+=o)}var l;return"line"!=n&&(n=n||"local",l=on(t),"local"==n?l+=Ue(e.display):l-=e.display.viewOffset,"page"!=n&&"window"!=n||(l+=(e=e.display.lineSpace.getBoundingClientRect()).top+("window"==n?0:it()),e=e.left+("window"==n?0:nt()),r.left+=e,r.right+=e),r.top+=l,r.bottom+=l),r}function lt(e,t,r){var n;return"div"==r?t:(n=t.left,t=t.top,"page"==r?(n-=nt(),t-=it()):"local"!=r&&r||(n+=(r=e.display.sizer.getBoundingClientRect()).left,t+=r.top),{left:n-(r=e.display.lineSpace.getBoundingClientRect()).left,top:t-r.top})}function at(e,t,r,n,i){return ot(e,n=n||H(e.doc,t.line),Ye(e,n,t.ch,i),r)}function st(r,e,n,i,o,l){function a(e,t){e=Je(r,o,e,t?"right":"left",l);return t?e.left=e.right:e.right=e.left,ot(r,i,e,n)}function t(e,t){var r=c[t],n=r.level%2;return e==Pn(r)&&t&&r.level<c[t-1].level?(e=Hn(r=c[--t])-(r.level%2?0:1),n=!0):e==Hn(r)&&t<c.length-1&&r.level<c[t+1].level&&(e=Pn(r=c[++t])-r.level%2,n=!1),n&&e==r.to&&e>r.from?a(e-1):a(e,n)}i=i||H(r.doc,e.line),o=o||Qe(r,i);var s,c=ln(i),e=e.ch;return c?(s=t(e,Un(c,e)),null!=wo&&(s.other=t(e,wo)),s):a(e)}function ct(e,t){var r=0,t=z(e.doc,t),t=(e.options.lineWrapping||(r=ht(e.display)*t.ch),H(e.doc,t.line)),e=on(t)+Ue(e.display);return{left:r,right:r,top:e,bottom:e+t.height}}function ut(e,t,r,n){e=V(e,t);return e.xRel=n,r&&(e.outside=!0),e}function dt(e,t,r){var n=e.doc;if((r+=e.display.viewOffset)<0)return ut(n.first,0,!0,-1);var i=nn(n,r),o=n.first+n.size-1;if(o<i)return ut(n.first+n.size-1,H(n,o).text.length,!0,1);t<0&&(t=0);for(var l=H(n,i);;){var a=((t,r,n,e,i)=>{function o(e){e=st(t,V(n,e),"line",r,c);return a=!0,l>e.bottom?e.left-s:l<e.top?e.left+s:(a=!1,e.left)}var l=i-on(r),a=!1,s=2*t.display.wrapper.clientWidth,c=Qe(t,r),u=ln(r),d=r.text.length,f=$n(r),h=Fn(r),p=o(f),m=a,g=o(h),v=a;if(g<e)return ut(n,h,v,1);for(;;){if(u?h==f||h==Vn(r,f,1):h-f<=1){for(var y=e<p||e-p<=g-e?f:h,_=e-(y==f?p:g);On(r.text.charAt(y));)++y;return ut(n,y,y==f?m:v,_<-1?-1:1<_?1:0)}var b=Math.ceil(d/2),x=f+b;if(u){x=f;for(var w=0;w<b;++w)x=Vn(r,x,1)}_=o(x);e<_?(h=x,g=_,(v=a)&&(g+=1e3),d=b):(f=x,p=_,m=a,d-=b)}})(e,l,i,t,r),s=Ar(l),c=s&&s.find(0,!0);if(!s||!(a.ch>c.from.ch||a.ch==c.from.ch&&0<a.xRel))return a;i=h(l=c.to.line)}}function ft(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==ui){ui=F("pre");for(var t=0;t<49;++t)ui.appendChild(document.createTextNode("x")),ui.appendChild(F("br"));ui.appendChild(document.createTextNode("x"))}zn(e.measure,ui);var r=ui.offsetHeight/50;return 3<r&&(e.cachedTextHeight=r),In(e.measure),r||1}function ht(e){var t,r;return null!=e.cachedCharWidth?e.cachedCharWidth:(r=F("span","xxxxxxxxxx"),t=F("pre",[r]),zn(e.measure,t),2<(r=((t=r.getBoundingClientRect()).right-t.left)/10)&&(e.cachedCharWidth=r),r||10)}function pt(e){e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,id:++gi},mi?mi.ops.push(e.curOp):e.curOp.ownsGroup=mi={ops:[e.curOp],delayedCallbacks:[]}}function mt(e){var t=e.curOp.ownsGroup;if(t)try{var r=t,n=r.delayedCallbacks,i=0;do{for(;i<n.length;i++)n[i]();for(var o=0;o<r.ops.length;o++){var l=r.ops[o];if(l.cursorActivityHandlers)for(;l.cursorActivityCalled<l.cursorActivityHandlers.length;)l.cursorActivityHandlers[l.cursorActivityCalled++](l.cm)}}while(i<n.length)}finally{mi=null;for(var a=0;a<t.ops.length;a++)t.ops[a].cm.curOp=null;for(var s,c,u=t.ops,d=0;d<u.length;d++){f=void 0;h=void 0;p=void 0;m=void 0;g=void 0;var f=u[d];var h=f.cm,p=h.display,m=h,g=m.display;!g.scrollbarsClipped&&g.scroller.offsetWidth&&(g.nativeBarWidth=g.scroller.offsetWidth-g.scroller.clientWidth,g.heightForcer.style.height=W(m)+"px",g.sizer.style.marginBottom=-g.nativeBarWidth+"px",g.sizer.style.borderRightWidth=W(m)+"px",g.scrollbarsClipped=!0),f.updateMaxLine&&J(h),f.mustUpdate=f.viewChanged||f.forceUpdate||null!=f.scrollTop||f.scrollToPos&&(f.scrollToPos.from.line<p.viewFrom||f.scrollToPos.to.line>=p.viewTo)||p.maxLineChanged&&h.options.lineWrapping,f.update=f.mustUpdate&&new oe(h,f.mustUpdate&&{top:f.scrollTop,ensure:f.scrollToPos},f.forceUpdate)}for(d=0;d<u.length;d++){v=void 0;var v=u[d];v.updatedDisplay=v.mustUpdate&&le(v.cm,v.update)}for(d=0;d<u.length;d++){y=void 0;_=void 0;b=void 0;var y=u[d];var _=y.cm,b=_.display;y.updatedDisplay&&ue(_),y.barMeasure=ee(_),b.maxLineChanged&&!_.options.lineWrapping&&(y.adjustWidthTo=Ye(_,b.maxLine,b.maxLine.text.length).left+3,_.display.sizerWidth=y.adjustWidthTo,y.barMeasure.scrollWidth=Math.max(b.scroller.clientWidth,b.sizer.offsetLeft+y.adjustWidthTo+W(_)+_.display.barWidth),y.maxScrollLeft=Math.max(0,b.sizer.offsetLeft+y.adjustWidthTo-Ke(_))),(y.updatedDisplay||y.selectionChanged)&&(y.newSelectionNodes=Re(_))}for(d=0;d<u.length;d++){x=void 0;w=void 0;var x=u[d];var w=x.cm;null!=x.adjustWidthTo&&(w.display.sizer.style.minWidth=x.adjustWidthTo+"px",x.maxScrollLeft<w.doc.scrollLeft&&qt(w,Math.min(w.display.scroller.scrollLeft,x.maxScrollLeft),!0),w.display.maxLineChanged=!1),x.newSelectionNodes&&Pe(w,x.newSelectionNodes),x.updatedDisplay&&ce(w,x.barMeasure),!x.updatedDisplay&&x.startHeight==w.doc.height||te(w,x.barMeasure),x.selectionChanged&&$e(w),w.state.focused&&x.updateInput&&R(w,x.typing)}for(d=0;d<u.length;d++){k=void 0;M=void 0;T=void 0;A=void 0;c=void 0;E=void 0;N=void 0;O=void 0;s=void 0;C=void 0;L=void 0;S=void 0;var k=u[d];var C,S,L,M=k.cm,T=M.display,A=M.doc;k.updatedDisplay&&ae(M,k.update),null==T.wheelStartX||null==k.scrollTop&&null==k.scrollLeft&&!k.scrollToPos||(T.wheelStartX=T.wheelStartY=null),null==k.scrollTop||T.scroller.scrollTop==k.scrollTop&&!k.forceScroll||(A.scrollTop=Math.max(0,Math.min(T.scroller.scrollHeight-T.scroller.clientHeight,k.scrollTop)),T.scrollbars.setScrollTop(A.scrollTop),T.scroller.scrollTop=A.scrollTop),null==k.scrollLeft||T.scroller.scrollLeft==k.scrollLeft&&!k.forceScroll||(A.scrollLeft=Math.max(0,Math.min(T.scroller.scrollWidth-Ke(M),k.scrollLeft)),T.scrollbars.setScrollLeft(A.scrollLeft),T.scroller.scrollLeft=A.scrollLeft,ne(M)),k.scrollToPos&&(c=((e,t,r,n)=>{null==n&&(n=0);for(var i=0;i<5;i++){var o=!1,l=st(e,t),a=r&&r!=t?st(e,r):l,a=ir(e,Math.min(l.left,a.left),Math.min(l.top,a.top)-n,Math.max(l.left,a.left),Math.max(l.bottom,a.bottom)+n),s=e.doc.scrollTop,c=e.doc.scrollLeft;if(null!=a.scrollTop&&(Wt(e,a.scrollTop),1<Math.abs(e.doc.scrollTop-s))&&(o=!0),!(o=null!=a.scrollLeft&&(qt(e,a.scrollLeft),1<Math.abs(e.doc.scrollLeft-c))?!0:o))break}return l})(M,z(A,k.scrollToPos.from),z(A,k.scrollToPos.to),k.scrollToPos.margin),k.scrollToPos.isCursor)&&M.state.focused&&($(s=M,"scrollCursorIntoView")||(C=s.display,L=C.sizer.getBoundingClientRect(),S=null,c.top+L.top<0?S=!0:c.bottom+L.top>(window.innerHeight||document.documentElement.clientHeight)&&(S=!1),null==S)||ti||(L=F("div","​",null,"position: absolute; top: "+(c.top-C.viewOffset-Ue(s.display))+"px; height: "+(c.bottom-c.top+W(s)+C.barHeight)+"px; left: "+c.left+"px; width: 2px;"),s.display.lineSpace.appendChild(L),L.scrollIntoView(S),s.display.lineSpace.removeChild(L)));var E=k.maybeHiddenMarkers,N=k.maybeUnhiddenMarkers;if(E)for(var O=0;O<E.length;++O)E[O].lines.length||Z(E[O],"hide");if(N)for(O=0;O<N.length;++O)N[O].lines.length&&Z(N[O],"unhide");T.wrapper.offsetHeight&&(A.scrollTop=M.display.scroller.scrollTop),k.changeObjs&&Z(M,"changes",M,k.changeObjs)}}}function gt(e,t){if(e.curOp)return t();pt(e);try{return t()}finally{mt(e)}}function q(e,t){return function(){if(e.curOp)return t.apply(e,arguments);pt(e);try{return t.apply(e,arguments)}finally{mt(e)}}}function e(e){return function(){if(this.curOp)return e.apply(this,arguments);pt(this);try{return e.apply(this,arguments)}finally{mt(this)}}}function t(t){return function(){var e=this.cm;if(!e||e.curOp)return t.apply(this,arguments);pt(e);try{return t.apply(this,arguments)}finally{mt(e)}}}function vt(e,t,r){this.line=t,this.rest=(e=>{for(var t,r;t=Ar(e);)e=t.find(1,!0).line,(r=r||[]).push(e);return r})(t),this.size=this.rest?h(x(this.rest))-r+1:1,this.node=this.text=null,this.hidden=Ir(e,t)}function yt(e,t,r){for(var n=[],i=t;i<r;i=l){var o=new vt(e.doc,H(e.doc,i),i),l=i+o.size;n.push(o)}return n}function y(e,t,r,n){null==t&&(t=e.doc.first),null==r&&(r=e.doc.first+e.doc.size);var i,o=e.display,l=((n=n||0)&&r<o.viewTo&&(null==o.updateLineNumbers||o.updateLineNumbers>t)&&(o.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=o.viewTo?ci&&Nr(e.doc,t)<o.viewTo&&bt(e):r<=o.viewFrom?ci&&Or(e.doc,r+n)>o.viewFrom?bt(e):(o.viewFrom+=n,o.viewTo+=n):t<=o.viewFrom&&r>=o.viewTo?bt(e):t<=o.viewFrom?(l=wt(e,r,r+n,1))?(o.view=o.view.slice(l.index),o.viewFrom=l.lineN,o.viewTo+=n):bt(e):r>=o.viewTo?(l=wt(e,t,t,-1))?(o.view=o.view.slice(0,l.index),o.viewTo=l.lineN):bt(e):(l=wt(e,t,t,-1),i=wt(e,r,r+n,1),l&&i?(o.view=o.view.slice(0,l.index).concat(yt(e,l.lineN,i.lineN)).concat(o.view.slice(i.index)),o.viewTo+=n):bt(e)),o.externalMeasured);l&&(r<l.lineN?l.lineN+=n:t<l.lineN+l.size&&(o.externalMeasured=null))}function _t(e,t,r){e.curOp.viewChanged=!0;var n=e.display,i=e.display.externalMeasured;i&&t>=i.lineN&&t<i.lineN+i.size&&(n.externalMeasured=null),t<n.viewFrom||t>=n.viewTo||null!=(i=n.view[xt(e,t)]).node&&-1==w(n=i.changes||(i.changes=[]),r)&&n.push(r)}function bt(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function xt(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var r=e.display.view,n=0;n<r.length;n++)if((t-=r[n].size)<0)return n}function wt(e,t,r,n){var i,o=xt(e,t),l=e.display.view;if(ci&&r!=e.doc.first+e.doc.size){for(var a=0,s=e.display.viewFrom;a<o;a++)s+=l[a].size;if(s!=t){if(0<n){if(o==l.length-1)return null;i=s+l[o].size-t,o++}else i=s-t;t+=i,r+=i}for(;Nr(e.doc,r)!=r;){if(o==(n<0?0:l.length-1))return null;r+=n*l[o-(n<0?1:0)].size,o+=n}}return{index:o,lineN:r}}function kt(e){for(var t=e.display.view,r=0,n=0;n<t.length;n++){var i=t[n];i.hidden||i.node&&!i.changes||++r}return r}function Ct(e){e.display.pollingFast||e.display.poll.set(e.options.pollInterval,function(){Lt(e),e.state.focused&&Ct(e)})}function St(t){var r=!1;t.display.pollingFast=!0,t.display.poll.set(20,function e(){Lt(t)||r?(t.display.pollingFast=!1,Ct(t)):(r=!0,t.display.poll.set(60,e))})}function Lt(e){var t=e.display.input,r=e.display.prevInput,n=e.doc;if(!e.state.focused||yo(t)&&!r||Tt(e)||e.options.disableInput||e.state.keySeq)return!1;e.state.pasteIncoming&&e.state.fakedLastChar&&(t.value=t.value.substring(0,t.value.length-1),e.state.fakedLastChar=!1);var i=t.value;if(i==r&&!e.somethingSelected())return!1;if(j&&9<=B&&e.display.inputHasSelection===i||G&&/[\uf700-\uf7ff]/.test(i))return R(e),!1;var o=!e.curOp;o&&pt(e),e.display.shift=!1,8203==i.charCodeAt(0)&&n.sel==e.display.selForContextMenu&&(r=r||"​");for(var l=0,a=Math.min(r.length,i.length);l<a&&r.charCodeAt(l)==i.charCodeAt(l);)++l;var s=i.slice(l),c=vo(s),u=null;e.state.pasteIncoming&&1<n.sel.ranges.length&&(vi&&vi.join("\n")==s?u=0==n.sel.ranges.length%vi.length&&Ln(vi,vo):c.length==n.sel.ranges.length&&(u=Ln(c,function(e){return[e]})));for(var d=n.sel.ranges.length-1;0<=d;d--){var f=n.sel.ranges[d],h=f.from(),p=f.to(),m=(l<r.length?h=V(h.line,h.ch-(r.length-l)):e.state.overwrite&&f.empty()&&!e.state.pasteIncoming&&(p=V(p.line,Math.min(H(n,p.line).text.length,p.ch+x(c).length))),e.curOp.updateInput),h={from:h,to:p,text:u?u[d%u.length]:c,origin:e.state.pasteIncoming?"paste":e.state.cutIncoming?"cut":"+input"};if(Qt(e.doc,h),b(e,"inputRead",e,h),s&&!e.state.pasteIncoming&&e.options.electricChars&&e.options.smartIndent&&f.head.ch<100&&(!d||n.sel.ranges[d-1].head.line!=f.head.line)){var g=e.getModeAt(f.head),v=ki(h);if(g.electricChars){for(var y=0;y<g.electricChars.length;y++)if(-1<s.indexOf(g.electricChars.charAt(y))){sr(e,v.line,"smart");break}}else g.electricInput&&g.electricInput.test(H(n,v.line).text.slice(0,v.ch))&&sr(e,v.line,"smart")}}return lr(e),e.curOp.updateInput=m,e.curOp.typing=!0,1e3<i.length||-1<i.indexOf("\n")?t.value=e.display.prevInput="":e.display.prevInput=i,o&&mt(e),!(e.state.pasteIncoming=e.state.cutIncoming=!1)}function R(e,t){var r,n,i;e.display.contextMenuPending||(i=e.doc,e.somethingSelected()?(e.display.prevInput="",i=i.sel.primary(),i=(n=_o&&(100<i.to().line-i.from().line||1e3<(r=e.getSelection()).length))?"-":r||e.getSelection(),e.display.input.value=i,e.state.focused&&oo(e.display.input),j&&9<=B&&(e.display.inputHasSelection=i)):t||(e.display.prevInput=e.display.input.value="",j&&9<=B&&(e.display.inputHasSelection=null)),e.display.inaccurateSelection=n)}function P(e){"nocursor"==e.options.readOnly||ni&&Dn()==e.display.input||e.display.input.focus()}function Mt(e){e.state.focused||(P(e),Ut(e))}function Tt(e){return e.options.readOnly||e.doc.cantEdit}function At(e){var t=e.display;t.lastWrapHeight==t.wrapper.clientHeight&&t.lastWrapWidth==t.wrapper.clientWidth||(t.cachedCharWidth=t.cachedTextHeight=t.cachedPaddingH=null,t.scrollbarsClipped=!1,e.setSize())}function Et(e,t){for(var r=yn(t);r!=e.wrapper;r=r.parentNode)if(!r||"true"==r.getAttribute("cm-ignore-events")||r.parentNode==e.sizer&&r!=e.mover)return 1}function Nt(e,t,r,n){var i=e.display;if(!r&&"true"==yn(t).getAttribute("not-content"))return null;var o,r=i.lineSpace.getBoundingClientRect();try{o=t.clientX-r.left,l=t.clientY-r.top}catch(t){return null}var l,i=dt(e,o,l);return n&&1==i.xRel&&(r=H(e.doc,i.line).text).length==i.ch&&(l=Q(r,r.length,e.options.tabSize)-r.length,i=V(i.line,Math.max(0,Math.round((o-Ve(e.display).left)/ht(e.display))-l))),i}function Ot(e){if(!$(this,e)){var t=this,r=t.display;if(r.shift=e.shiftKey,Et(r,e))U||(r.scroller.draggable=!1,setTimeout(function(){r.scroller.draggable=!0},100));else if(!zt(t,e)){var n=Nt(t,e);switch(window.focus(),_n(e)){case 1:if(n){d=t,p=e,m=n,setTimeout(An(Mt,d),0),A=+new Date,fi&&fi.time>A-400&&0==K(fi.pos,m)?T="triple":di&&di.time>A-400&&0==K(di.pos,m)?(T="double",fi={time:A,pos:m}):(T="single",di={time:A,pos:m}),A=d.doc.sel,N=G?p.metaKey:p.ctrlKey;if(d.options.dragDrop&&go&&!Tt(d)&&"single"==T&&-1<(E=A.contains(m))&&!A.ranges[E].empty()){var i=d;var o=p;var l=m;var a=N;var s=i.display,c=q(i,function(e){U&&(s.scroller.draggable=!1),i.state.draggingText=!1,Zi(document,"mouseup",c),Zi(s.scroller,"drop",c),Math.abs(o.clientX-e.clientX)+Math.abs(o.clientY-e.clientY)<10&&(X(e),a||Te(i.doc,l),P(i),j)&&9==B&&setTimeout(function(){document.body.focus(),P(i)},20)});U&&(s.scroller.draggable=!0),i.state.draggingText=c,s.scroller.dragDrop&&s.scroller.dragDrop(),Y(document,"mouseup",c),Y(s.scroller,"drop",c)}else{var g=d;A=p;var v=m;var y=T;E=N;function _(e){var t=++M,r=Nt(g,e,!0,"rect"==y);if(r)if(0!=K(r,S)){Mt(g);var n=r;if(0!=K(S,n))if(S=n,"rect"==y){for(var i=[],o=g.options.tabSize,l=Q(H(x,v.line).text,v.ch,o),a=Q(H(x,n.line).text,n.ch,o),s=Math.min(l,a),c=Math.max(l,a),u=Math.min(v.line,n.line),d=Math.min(g.lastLine(),Math.max(v.line,n.line));u<=d;u++){var f=H(x,u).text,h=Cn(f,s,o);s==c?i.push(new O(V(u,h),V(u,h))):f.length>h&&i.push(new O(V(u,h),V(u,Cn(f,c,o))))}i.length||i.push(new O(v,v)),D(x,I(C.ranges.slice(0,k).concat(i),k),{origin:"*mouse",scroll:!1}),g.scrollIntoView(n)}else{var l=w,a=l.anchor,p=n;"single"!=y&&(n="double"==y?g.findWordAt(n):new O(V(n.line,0),z(x,V(n.line+1,0))),a=0<K(n.anchor,a)?(p=n.head,we(l.from(),n.anchor)):(p=n.anchor,xe(l.to(),n.head))),(i=C.ranges.slice(0))[k]=new O(z(x,a),p),D(x,I(i,k),ro)}l=re(b,x);(r.line>=l.to||r.line<l.from)&&setTimeout(q(g,function(){M==t&&_(e)}),150)}else{var m=e.clientY<L.top?-20:e.clientY>L.bottom?20:0;m&&setTimeout(q(g,function(){M==t&&(b.scroller.scrollTop+=m,_(e))}),50)}}function u(e){M=1/0,X(e),P(g),Zi(document,"mousemove",f),Zi(document,"mouseup",h),x.history.lastSelOrigin=null}var b=g.display,x=g.doc;X(A);var w,k,C=x.sel,d=C.ranges,S=(w=E&&!A.shiftKey?-1<(k=x.sel.contains(v))?d[k]:new O(v,v):x.sel.primary(),A.altKey?(y="rect",E||(w=new O(v,v)),v=Nt(g,A,!0,!0),k=-1):w="double"==y?(A=g.findWordAt(v),g.display.shift||x.extend?Me(x,w,A.anchor,A.head):A):"triple"==y?(A=new O(V(v.line,0),z(x,V(v.line+1,0))),g.display.shift||x.extend?Me(x,w,A.anchor,A.head):A):Me(x,w,v),E?-1==k?(k=d.length,D(x,I(d.concat([w]),k),{scroll:!1,origin:"*mouse"})):1<d.length&&d[k].empty()&&"single"==y?(D(x,I(d.slice(0,k).concat(d.slice(k+1)),0)),C=x.sel):Ee(x,k,w,ro):(D(x,new ke([w],k=0),ro),C=x.sel),v),L=b.wrapper.getBoundingClientRect(),M=0,f=q(g,function(e){(_n(e)?_:u)(e)}),h=q(g,u);Y(document,"mousemove",f),Y(document,"mouseup",h)}}else yn(e)==r.scroller&&X(e);break;case 2:U&&(t.state.lastMiddleDown=+new Date),n&&Te(t.doc,n),setTimeout(An(P,t),20),X(e);break;case 3:ai&&Vt(t,e)}}}var d,p,m,T,A,E,N}function It(e,t,r,n,i){try{var o=t.clientX,l=t.clientY}catch(t){return!1}if(o>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;n&&X(t);var a=e.display,n=a.lineDiv.getBoundingClientRect();if(l>n.bottom||!p(e,r))return vn(t);l-=n.top-a.viewOffset;for(var s=0;s<e.options.gutters.length;++s){var c=a.gutters.childNodes[s];if(c&&c.getBoundingClientRect().right>=o)return i(e,r,e,nn(e.doc,l),e.options.gutters[s],t),vn(t)}}function zt(e,t){return It(e,t,"gutterClick",!0,b)}function Dt(e){var n=this;if(!$(n,e)&&!Et(n.display,e)){X(e),j&&(yi=+new Date);var t,i=Nt(n,e,!0),r=e.dataTransfer.files;if(i&&!Tt(n))if(r&&r.length&&window.FileReader&&window.File)for(var o=r.length,l=Array(o),a=0,s=0;s<o;++s)((e,t)=>{var r=new FileReader;r.onload=q(n,function(){var e;l[t]=r.result,++a==o&&(e={from:i=z(n.doc,i),to:i,text:vo(l.join("\n")),origin:"paste"},Qt(n.doc,e),Oe(n.doc,Ce(i,ki(e))))}),r.readAsText(e)})(r[s],s);else if(n.state.draggingText&&-1<n.doc.sel.contains(i))n.state.draggingText(e),setTimeout(An(P,n),20);else try{if(l=e.dataTransfer.getData("Text")){if(n.state.draggingText&&!(G?e.metaKey:e.ctrlKey)&&(t=n.listSelections()),Ie(n.doc,Ce(i,i)),t)for(s=0;s<t.length;++s)nr(n.doc,"",t[s].anchor,t[s].head,"drag");n.replaceSelection(l,"around","paste"),P(n)}}catch(e){}}}function Wt(e,t){Math.abs(e.doc.scrollTop-t)<2||(e.doc.scrollTop=t,Xn||se(e,{top:t}),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t),e.display.scrollbars.setScrollTop(t),Xn&&se(e),Fe(e,100))}function qt(e,t,r){(r?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)||(t=Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth),e.doc.scrollLeft=t,ne(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Rt(e,t){var r,n,i,o=bi(t),l=o.x,o=o.y,a=e.display,s=a.scroller;if(l&&s.scrollWidth>s.clientWidth||o&&s.scrollHeight>s.clientHeight){if(o&&G&&U)e:for(var c=t.target,u=a.view;c!=s;c=c.parentNode)for(var d=0;d<u.length;d++)if(u[d].node==c){e.display.currentWheelTarget=c;break e}if(l&&!Xn&&!f&&null!=m)return o&&Wt(e,Math.max(0,Math.min(s.scrollTop+o*m,s.scrollHeight-s.clientHeight))),qt(e,Math.max(0,Math.min(s.scrollLeft+l*m,s.scrollWidth-s.clientWidth))),X(t),a.wheelStartX=null;o&&null!=m&&(r=o*m,i=(n=e.doc.scrollTop)+a.wrapper.clientHeight,r<0?n=Math.max(0,n+r-50):i=Math.min(e.doc.height,i+r+50),se(e,{top:n,bottom:i})),_i<20&&(null==a.wheelStartX?(a.wheelStartX=s.scrollLeft,a.wheelStartY=s.scrollTop,a.wheelDX=l,a.wheelDY=o,setTimeout(function(){var e,t;null!=a.wheelStartX&&(e=s.scrollLeft-a.wheelStartX,t=(t=s.scrollTop-a.wheelStartY)&&a.wheelDY&&t/a.wheelDY||e&&a.wheelDX&&e/a.wheelDX,a.wheelStartX=a.wheelStartY=null,t)&&(m=(m*_i+t)/(_i+1),++_i)},200)):(a.wheelDX+=l,a.wheelDY+=o))}}function Pt(e,t,r){if("string"==typeof t&&!(t=zi[t]))return!1;e.display.pollingFast&&Lt(e)&&(e.display.pollingFast=!1);var n=e.display.shift,i=!1;try{Tt(e)&&(e.state.suppressEdits=!0),r&&(e.display.shift=!1),i=t(e)!=eo}finally{e.display.shift=n,e.state.suppressEdits=!1}return i}function Ht(e,t,r,n){var i=e.state.keySeq;if(i){if(qi(t))return"handled";xi.set(50,function(){e.state.keySeq==i&&(e.state.keySeq=null,R(e))}),t=i+" "+t}n=((e,t,r)=>{for(var n=0;n<e.state.keyMaps.length;n++){var i=Wi(t,e.state.keyMaps[n],r,e);if(i)return i}return e.options.extraKeys&&Wi(t,e.options.extraKeys,r,e)||Wi(t,e.options.keyMap,r,e)})(e,t,n);return"multi"==n&&(e.state.keySeq=t),"handled"==n&&b(e,"keyHandled",e,t,r),"handled"!=n&&"multi"!=n||(X(r),$e(e)),i&&!n&&/\'$/.test(t)?(X(r),!0):!!n}function $t(t,e){var r=Ri(e,!0);return!!r&&(e.shiftKey&&!t.state.keySeq?Ht(t,"Shift-"+r,e,function(e){return Pt(t,e,!0)})||Ht(t,r,e,function(e){return("string"==typeof e?/^go[A-Z]/.test(e):e.motion)?Pt(t,e):void 0}):Ht(t,r,e,function(e){return Pt(t,e)}))}function Ft(e){var t,r,n,i=this;function o(e){18!=e.keyCode&&e.altKey||(ho(n,"CodeMirror-crosshair"),Zi(document,"keyup",o),Zi(document,"mouseover",o))}Mt(i),$(i,e)||(j&&B<11&&27==e.keyCode&&(e.returnValue=!1),t=e.keyCode,i.display.shift=16==t||e.shiftKey,r=$t(i,e),f&&(wi=r?t:null,!r)&&88==t&&!_o&&(G?e.metaKey:e.ctrlKey)&&i.replaceSelection("",null,"cut"),18!=t)||/\bCodeMirror-crosshair\b/.test(i.display.lineDiv.className)||(n=i.display.lineDiv,po(n,"CodeMirror-crosshair"),Y(document,"keyup",o),Y(document,"mouseover",o))}function jt(e){16==e.keyCode&&(this.doc.sel.shift=!1),$(this,e)}function Bt(e){var t,r,n,i=this;$(i,e)||e.ctrlKey&&!e.altKey||G&&e.metaKey||(r=e.keyCode,t=e.charCode,f&&r==wi?(wi=null,X(e)):(f&&(!e.which||e.which<10)||Jn)&&$t(i,e)||(r=String.fromCharCode(null==t?r:t),Ht(n=i,"'"+r+"'",e,function(e){return Pt(n,e,!0)}))||(j&&9<=B&&(i.display.inputHasSelection=null),St(i)))}function Ut(e){"nocursor"!=e.options.readOnly&&(e.state.focused||(Z(e,"focus",e),e.state.focused=!0,po(e.display.wrapper,"CodeMirror-focused"),e.curOp)||e.display.selForContextMenu==e.doc.sel||(R(e),U&&setTimeout(An(R,e,!0),0)),Ct(e),$e(e))}function Gt(e){e.state.focused&&(Z(e,"blur",e),e.state.focused=!1,ho(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150)}function Vt(r,e){function n(){var e,t;null!=i.input.selectionStart&&(e=r.somethingSelected(),t=i.input.value="​"+(e?i.input.value:""),i.prevInput=e?"":"​",i.input.selectionStart=1,i.input.selectionEnd=t.length,i.selForContextMenu=r.doc.sel)}function t(){var e,t;i.contextMenuPending=!1,i.inputDiv.style.position="relative",i.input.style.cssText=l,j&&B<9&&i.scrollbars.setScrollTop(i.scroller.scrollTop=o),Ct(r),null!=i.input.selectionStart&&((!j||B<9)&&n(),e=0,t=function(){i.selForContextMenu==r.doc.sel&&0==i.input.selectionStart?q(r,zi.selectAll)(r):e++<10?i.detectingSelectAll=setTimeout(t,500):R(r)},i.detectingSelectAll=setTimeout(t,200))}var i,o,l,a,s,c,u;$(r,e,"contextmenu")||Et(i=r.display,e)||(u=e,p(c=r,"gutterContextMenu")&&It(c,u,"gutterContextMenu",!1,Z))||(c=Nt(r,e),o=i.scroller.scrollTop,c&&!f&&(r.options.resetSelectionOnContextMenu&&-1==r.doc.sel.contains(c)&&q(r,D)(r.doc,Ce(c),to),l=i.input.style.cssText,i.inputDiv.style.position="absolute",i.input.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(e.clientY-5)+"px; left: "+(e.clientX-5)+"px; z-index: 1000; background: "+(j?"rgba(255, 255, 255, .05)":"transparent")+"; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",U&&(a=window.scrollY),P(r),U&&window.scrollTo(null,a),R(r),r.somethingSelected()||(i.input.value=i.prevInput=" "),i.contextMenuPending=!0,i.selForContextMenu=r.doc.sel,clearTimeout(i.detectingSelectAll),j&&9<=B&&n(),ai?(Yi(e),s=function(){Zi(window,"mouseup",s),setTimeout(t,20)},Y(window,"mouseup",s)):setTimeout(t,50)))}function Kt(e,t){var r,n;return K(e,t.from)<0?e:K(e,t.to)<=0?ki(t):(r=e.line+t.text.length-(t.to.line-t.from.line)-1,n=e.ch,e.line==t.to.line&&(n+=ki(t).ch-t.to.ch),V(r,n))}function Xt(e,t){for(var r=[],n=0;n<e.sel.ranges.length;n++){var i=e.sel.ranges[n];r.push(new O(Kt(i.anchor,t),Kt(i.head,t)))}return I(r,e.sel.primIndex)}function Yt(e,t,r){return e.line==t.line?V(r.line,e.ch-t.ch+r.ch):V(r.line+(e.line-t.line),e.ch)}function Zt(i,e,t){e={canceled:!1,from:e.from,to:e.to,text:e.text,origin:e.origin,cancel:function(){this.canceled=!0}};return t&&(e.update=function(e,t,r,n){e&&(this.from=z(i,e)),t&&(this.to=z(i,t)),r&&(this.text=r),void 0!==n&&(this.origin=n)}),Z(i,"beforeChange",i,e),i.cm&&Z(i.cm,"beforeChange",i.cm,e),e.canceled?null:{from:e.from,to:e.to,text:e.text,origin:e.origin}}function Qt(e,t,r){if(e.cm){if(!e.cm.curOp)return q(e.cm,Qt)(e,t,r);if(e.cm.state.suppressEdits)return}if(!(p(e,"beforeChange")||e.cm&&p(e.cm,"beforeChange"))||(t=Zt(e,t,!0))){var n=si&&!r&&((e,t,r)=>{var n=null;if(e.iter(t.line,r.line+1,function(e){if(e.markedSpans)for(var t=0;t<e.markedSpans.length;++t){var r=e.markedSpans[t].marker;!r.readOnly||n&&-1!=w(n,r)||(n=n||[]).push(r)}}),!n)return null;for(var i=[{from:t,to:r}],o=0;o<n.length;++o)for(var l=n[o],a=l.find(0),s=0;s<i.length;++s){var c,u,d,f=i[s];K(f.to,a.from)<0||0<K(f.from,a.to)||(c=[s,1],u=K(f.from,a.from),d=K(f.to,a.to),(u<0||!l.inclusiveLeft&&!u)&&c.push({from:f.from,to:a.from}),(0<d||!l.inclusiveRight&&!d)&&c.push({from:a.to,to:f.to}),i.splice.apply(i,c),s+=c.length-1)}return i})(e,t.from,t.to);if(n)for(var i=n.length-1;0<=i;--i)Jt(e,{from:n[i].from,to:n[i].to,text:i?[""]:t.text});else Jt(e,t)}}function Jt(e,r){var t,n;1==r.text.length&&""==r.text[0]&&0==K(r.from,r.to)||(t=Xt(e,r),un(e,r,t,e.cm?e.cm.curOp.id:NaN),rr(e,r,t,_r(e,r)),n=[],Qr(e,function(e,t){t||-1!=w(n,e.history)||(gn(e.history,r),n.push(e.history)),rr(e,r,null,_r(e,r))}))}function er(e,t,r){if(!e.cm||!e.cm.state.suppressEdits){for(var n,i=e.history,o=e.sel,l="undo"==t?i.done:i.undone,a="undo"==t?i.undone:i.done,s=0;s<l.length&&(n=l[s],r?!n.ranges||n.equals(e.sel):n.ranges);s++);if(s!=l.length){for(i.lastOrigin=i.lastSelOrigin=null;(n=l.pop()).ranges;){if(dn(n,a),r&&!n.equals(e.sel))return D(e,n,{clearRedo:!1});o=n}var c=[];dn(o,a),a.push({changes:c,generation:i.generation}),i.generation=n.generation||++i.maxGeneration;for(var u=p(e,"beforeChange")||e.cm&&p(e.cm,"beforeChange"),s=n.changes.length-1;0<=s;--s){var d=n.changes[s];if(d.origin=t,u&&!Zt(e,d,!1))return l.length=0;c.push(sn(e,d));var f=s?Xt(e,d):x(l),h=(rr(e,d,f,xr(e,d)),!s&&e.cm&&e.cm.scrollIntoView({from:d.from,to:ki(d)}),[]);Qr(e,function(e,t){t||-1!=w(h,e.history)||(gn(e.history,d),h.push(e.history)),rr(e,d,null,xr(e,d))})}}}}function tr(e,t){if(0!=t&&(e.first+=t,e.sel=new ke(Ln(e.sel.ranges,function(e){return new O(V(e.anchor.line+t,e.anchor.ch),V(e.head.line+t,e.head.ch))}),e.sel.primIndex),e.cm)){y(e.cm,e.first,e.first-t,t);for(var r=e.cm.display,n=r.viewFrom;n<r.viewTo;n++)_t(e.cm,n,"gutter")}}function rr(e,t,r,n){if(e.cm&&!e.cm.curOp)return q(e.cm,rr)(e,t,r,n);if(t.to.line<e.first)tr(e,t.text.length-1-(t.to.line-t.from.line));else if(!(t.from.line>e.lastLine())){t.from.line<e.first&&(tr(e,i=t.text.length-1-(e.first-t.from.line)),t={from:V(e.first,0),to:V(t.to.line+i,t.to.ch),text:[x(t.text)],origin:t.origin});var i=e.lastLine();if((t=t.to.line>i?{from:t.from,to:V(i,H(e,i).text.length),text:[t.text[0]],origin:t.origin}:t).removed=en(e,t.from,t.to),r=r||Xt(e,t),e.cm){i=e.cm;var o=t;var l=n;var a=i.doc,s=i.display,c=o.from,u=o.to,d=!1,f=c.line,l=(i.options.lineWrapping||(f=h(_(H(a,c.line))),a.iter(f,u.line+1,function(e){return e==s.maxLine?d=!0:void 0})),-1<a.sel.contains(o.from,o.to)&&xn(i),Xr(a,o,l,v(i)),i.options.lineWrapping||(a.iter(f,c.line+o.text.length,function(e){var t=S(e);t>s.maxLineLength&&(s.maxLine=e,s.maxLineLength=t,s.maxLineChanged=!0,d=!1)}),d&&(i.curOp.updateMaxLine=!0)),a.frontier=Math.min(a.frontier,c.line),Fe(i,400),o.text.length-(u.line-c.line)-1),f=(c.line!=u.line||1!=o.text.length||Kr(i.doc,o)?y(i,c.line,u.line+1,l):_t(i,c.line,"text"),p(i,"changes"));((a=p(i,"change"))||f)&&(l={from:c,to:u,text:o.text,removed:o.removed,origin:o.origin},a&&b(i,"change",i,l),f)&&(i.curOp.changeObjs||(i.curOp.changeObjs=[])).push(l),i.display.selForContextMenu=null}else Xr(e,t,n);Ie(e,r,to)}}function nr(e,t,r,n,i){var o;K(n=n||r,r)<0&&(o=n,n=r,r=o),Qt(e,{from:r,to:n,text:t="string"==typeof t?vo(t):t,origin:i})}function ir(e,t,r,n,i){var o=e.display,l=ft(e.display),a=(e.curOp&&null!=e.curOp.scrollTop?e.curOp:o.scroller).scrollTop,s=Xe(e),c={},u=e.doc.height+Ge(o),d=u-l<(i=s<i-(r=r<0?0:r)?r+s:i),r=(r<a?c.scrollTop=r<l?0:r:a+s<i&&(l=Math.min(r,(d?u:i)-s))!=a&&(c.scrollTop=l),(e.curOp&&null!=e.curOp.scrollLeft?e.curOp:o.scroller).scrollLeft),d=Ke(e)-(e.options.fixedGutter?o.gutters.offsetWidth:0),u=d<n-t;return u&&(n=t+d),t<10?c.scrollLeft=0:t<r?c.scrollLeft=Math.max(0,t-(u?0:10)):d+r-3<n&&(c.scrollLeft=n+(u?0:10)-d),c}function or(e,t,r){null==t&&null==r||ar(e),null!=t&&(e.curOp.scrollLeft=(null==e.curOp.scrollLeft?e.doc:e.curOp).scrollLeft+t),null!=r&&(e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc:e.curOp).scrollTop+r)}function lr(e){ar(e);var t=e.getCursor(),r=t,n=t;e.options.lineWrapping||(r=t.ch?V(t.line,t.ch-1):t,n=V(t.line,t.ch+1)),e.curOp.scrollToPos={from:r,to:n,margin:e.options.cursorScrollMargin,isCursor:!0}}function ar(e){var t,r,n=e.curOp.scrollToPos;n&&(e.curOp.scrollToPos=null,r=ct(e,n.from),t=ct(e,n.to),r=ir(e,Math.min(r.left,t.left),Math.min(r.top,t.top)-n.margin,Math.max(r.right,t.right),Math.max(r.bottom,t.bottom)+n.margin),e.scrollTo(r.scrollLeft,r.scrollTop))}function sr(e,t,r,n){var i,o=e.doc,l=("smart"==(r=null==r?"add":r)&&(o.mode.indent?i=Be(e,t):r="prev"),e.options.tabSize),a=H(o,t),s=Q(a.text,null,l);a.stateAfter&&(a.stateAfter=null);var c=a.text.match(/^\s*/)[0];if(n||/\S/.test(a.text)){if("smart"==r&&((u=o.mode.indent(i,a.text.slice(c.length),a.text))==eo||150<u)){if(!n)return;r="prev"}}else u=0,r="not";"prev"==r?u=t>o.first?Q(H(o,t-1).text,null,l):0:"add"==r?u=s+e.options.indentUnit:"subtract"==r?u=s-e.options.indentUnit:"number"==typeof r&&(u=s+r);var u=Math.max(0,u),d="",f=0;if(e.options.indentWithTabs)for(var h=Math.floor(u/l);h;--h)f+=l,d+="\t";if(f<u&&(d+=Sn(u-f)),d!=c)nr(o,d,V(t,0),V(t,c.length),"+input");else for(h=0;h<o.sel.ranges.length;h++){var p=o.sel.ranges[h];if(p.head.line==t&&p.head.ch<c.length){Ee(o,h,new O(f=V(t,c.length),f));break}}a.stateAfter=null}function cr(e,t,r,n){var i=t,o=t;return"number"==typeof t?o=H(e,Se(e,t)):i=h(t),null==i?null:(n(o,i)&&e.cm&&_t(e.cm,i,r),o)}function ur(t,e){for(var r=t.doc.sel.ranges,n=[],i=0;i<r.length;i++){for(var o=e(r[i]);n.length&&K(o.from,x(n).to)<=0;){var l=n.pop();if(K(l.from,o.from)<0){o.from=l.from;break}}n.push(o)}gt(t,function(){for(var e=n.length-1;0<=e;e--)nr(t.doc,"",n[e].from,n[e].to,"+delete");lr(t)})}function dr(r,e,n,t,i){function o(e){var t=(i?Vn:Kn)(c,a,n,!0);if(null==t){if(e||!((e=l+n)<r.first||e>=r.first+r.size?u=!1:c=H(r,l=e)))return u=!1;a=i?(n<0?Fn:$n)(c):n<0?c.text.length:0}else a=t;return 1}var l=e.line,a=e.ch,s=n,c=H(r,l),u=!0;if("char"==t)o();else if("column"==t)o(!0);else if("word"==t||"group"==t)for(var d=null,f="group"==t,h=r.cm&&r.cm.getHelper(e,"wordChars"),p=!0;!(n<0)||o(!p);p=!1){var m=c.text.charAt(a)||"\n",m=En(m,h)?"w":f&&"\n"==m?"n":!f||/\s/.test(m)?null:"p";if(f&&!p&&(m=m||"s"),d&&d!=m){n<0&&(n=1,o());break}if(m&&(d=m),0<n&&!o(!p))break}t=qe(r,V(l,a),s,!0);return u||(t.hitSide=!0),t}function fr(e,t,r,n){var i,o,l=e.doc,a=t.left;for("page"==n?(i=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),o=t.top+r*(i-(r<0?1.5:.5)*ft(e.display))):"line"==n&&(o=0<r?t.bottom+3:t.top-3);;){var s=dt(e,a,o);if(!s.outside)break;if(r<0?o<=0:o>=l.height){s.hitSide=!0;break}o+=5*r}return s}function r(e,t,n,r){u.defaults[e]=t,n&&(Si[e]=r?function(e,t,r){r!=Li&&n(e,t,r)}:n)}function hr(e){for(var t,r,n,i,o=e.split(/-(?!$)/),e=o[o.length-1],l=0;l<o.length-1;l++){var a=o[l];if(/^(cmd|meta|m)$/i.test(a))i=!0;else if(/^a(lt)?$/i.test(a))t=!0;else if(/^(c|ctrl|control)$/i.test(a))r=!0;else{if(!/^s(hift)$/i.test(a))throw new Error("Unrecognized modifier name: "+a);n=!0}}return t&&(e="Alt-"+e),r&&(e="Ctrl-"+e),i&&(e="Cmd-"+e),e=n?"Shift-"+e:e}function pr(e){return"string"==typeof e?Di[e]:e}function mr(t,r,n,e,i){if(e&&e.shared)return h=t,o=r,l=n,s=i,(a=Tn(a=e)).shared=!1,c=[mr(h,o,l,a,s)],u=c[0],d=a.widgetNode,Qr(h,function(e){d&&(a.widgetNode=d.cloneNode(!0)),c.push(mr(e,z(e,o),z(e,l),a,s));for(var t=0;t<e.linked.length;++t)if(e.linked[t].isParent)return;u=x(c)}),new Fi(c,u);var o,l,a,s,c,u,d;if(t.cm&&!t.cm.curOp)return q(t.cm,mr)(t,r,n,e,i);var f=new Hi(t,i),h=K(r,n);if(e&&Tn(e,f,!1),!(0<h||0==h&&!1!==f.clearWhenEmpty)){if(f.replacedWith&&(f.collapsed=!0,f.widgetNode=F("span",[f.replacedWith],"CodeMirror-widget"),e.handleMouseEvents||f.widgetNode.setAttribute("cm-ignore-events","true"),e.insertLeft)&&(f.widgetNode.insertLeft=!0),f.collapsed){if(Er(t,r.line,r,n,f)||r.line!=n.line&&Er(t,n.line,r,n,f))throw new Error("Inserting collapsed marker partially overlapping an existing one");ci=!0}f.addToHistory&&un(t,{from:r,to:n,origin:"markText"},t.sel,NaN);var p,m=r.line,g=t.cm;if(t.iter(m,n.line+1,function(e){var t;g&&f.collapsed&&!g.options.lineWrapping&&_(e)==g.display.maxLine&&(p=!0),f.collapsed&&m!=r.line&&rn(e,0),e=e,t=new vr(f,m==r.line?r.ch:null,m==n.line?n.ch:null),e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],t.marker.attachLine(e),++m}),f.collapsed&&t.iter(r.line,n.line+1,function(e){Ir(t,e)&&rn(e,0)}),f.clearOnEnter&&Y(f,"beforeCursorEnter",function(){f.clear()}),f.readOnly&&(si=!0,t.history.done.length||t.history.undone.length)&&t.clearHistory(),f.collapsed&&(f.id=++$i,f.atomic=!0),g){if(p&&(g.curOp.updateMaxLine=!0),f.collapsed)y(g,r.line,n.line+1);else if(f.className||f.title||f.startStyle||f.endStyle||f.css)for(var v=r.line;v<=n.line;v++)_t(g,v,"text");f.atomic&&De(g.doc),b(g,"markerAdded",g,f)}}return f}function gr(e){return e.findMarks(V(e.first,0),e.clipPos(V(e.lastLine())),function(e){return e.parent})}function vr(e,t,r){this.marker=e,this.from=t,this.to=r}function yr(e,t){if(e)for(var r=0;r<e.length;++r){var n=e[r];if(n.marker==t)return n}}function _r(e,t){var r=Le(e,t.from.line)&&H(e,t.from.line).markedSpans,e=Le(e,t.to.line)&&H(e,t.to.line).markedSpans;if(!r&&!e)return null;var n,i,o=t.from.ch,l=t.to.ch,a=0==K(t.from,t.to),s=((e,t,r)=>{if(e)for(var n,i=0;i<e.length;++i){var o,l=e[i],a=l.marker;!(null==l.from||(a.inclusiveLeft?l.from<=t:l.from<t))&&(l.from!=t||"bookmark"!=a.type||r&&l.marker.insertLeft)||(o=null==l.to||(a.inclusiveRight?l.to>=t:l.to>t),(n=n||[]).push(new vr(a,l.from,o?null:l.to)))}return n})(r,o,a),c=((e,t,r)=>{if(e)for(var n,i=0;i<e.length;++i){var o,l=e[i],a=l.marker;!(null==l.to||(a.inclusiveRight?l.to>=t:l.to>t))&&(l.from!=t||"bookmark"!=a.type||r&&!l.marker.insertLeft)||(o=null==l.from||(a.inclusiveLeft?l.from<=t:l.from<t),(n=n||[]).push(new vr(a,o?null:l.from-t,null==l.to?null:l.to-t)))}return n})(e,l,a),u=1==t.text.length,d=x(t.text).length+(u?o:0);if(s)for(var f=0;f<s.length;++f)null==(n=s[f]).to&&((i=yr(c,n.marker))?u&&(n.to=null==i.to?null:i.to+d):n.to=o);if(c)for(f=0;f<c.length;++f)null!=(n=c[f]).to&&(n.to+=d),null==n.from?(i=yr(s,n.marker))||(n.from=d,u&&(s=s||[]).push(n)):(n.from+=d,u&&(s=s||[]).push(n));s=s&&br(s),c&&c!=s&&(c=br(c));var h=[s];if(!u){var p,m=t.text.length-2;if(0<m&&s)for(f=0;f<s.length;++f)null==s[f].to&&(p=p||[]).push(new vr(s[f].marker,null,null));for(f=0;f<m;++f)h.push(p);h.push(c)}return h}function br(e){for(var t=0;t<e.length;++t){var r=e[t];null!=r.from&&r.from==r.to&&!1!==r.marker.clearWhenEmpty&&e.splice(t--,1)}return e.length?e:null}function xr(e,t){var r=((e,t)=>{var r=t["spans_"+e.id];if(!r)return null;for(var n=0,i=[];n<t.text.length;++n)i.push((e=>{if(!e)return null;for(var t,r=0;r<e.length;++r)e[r].marker.explicitlyCleared?t=t||e.slice(0,r):t&&t.push(e[r]);return t?t.length?t:null:e})(r[n]));return i})(e,t),n=_r(e,t);if(!r)return n;if(n)for(var i=0;i<r.length;++i){var o=r[i],l=n[i];if(o&&l)e:for(var a=0;a<l.length;++a){for(var s=l[a],c=0;c<o.length;++c)if(o[c].marker==s.marker)continue e;o.push(s)}else l&&(r[i]=l)}return r}function wr(e){var t=e.markedSpans;if(t){for(var r=0;r<t.length;++r)t[r].marker.detachLine(e);e.markedSpans=null}}function kr(e,t){if(t){for(var r=0;r<t.length;++r)t[r].marker.attachLine(e);e.markedSpans=t}}function Cr(e){return e.inclusiveLeft?-1:0}function Sr(e){return e.inclusiveRight?1:0}function Lr(e,t){var r,n,i=e.lines.length-t.lines.length;return 0!=i?i:(i=e.find(),r=t.find(),(n=K(i.from,r.from)||Cr(e)-Cr(t))?-n:K(i.to,r.to)||Sr(e)-Sr(t)||t.id-e.id)}function Mr(e,t){var r,n=ci&&e.markedSpans;if(n)for(var i,o=0;o<n.length;++o)(i=n[o]).marker.collapsed&&null==(t?i.from:i.to)&&(!r||Lr(r,i.marker)<0)&&(r=i.marker);return r}function Tr(e){return Mr(e,!0)}function Ar(e){return Mr(e,!1)}function Er(e,t,r,n,i){var e=H(e,t),o=ci&&e.markedSpans;if(o)for(var l=0;l<o.length;++l){var a=o[l];if(a.marker.collapsed){var s=a.marker.find(0),c=K(s.from,r)||Cr(a.marker)-Cr(i),u=K(s.to,n)||Sr(a.marker)-Sr(i);if(!(0<=c&&u<=0||c<=0&&0<=u)&&(c<=0&&(0<K(s.to,r)||a.marker.inclusiveRight&&i.inclusiveLeft)||0<=c&&(K(s.from,n)<0||a.marker.inclusiveLeft&&i.inclusiveRight)))return 1}}}function _(e){for(var t;t=Tr(e);)e=t.find(-1,!0).line;return e}function Nr(e,t){var e=H(e,t),r=_(e);return e==r?t:h(r)}function Or(e,t){if(t>e.lastLine())return t;var r,n=H(e,t);if(!Ir(e,n))return t;for(;r=Ar(n);)n=r.find(1,!0).line;return h(n)+1}function Ir(e,t){var r=ci&&t.markedSpans;if(r)for(var n,i=0;i<r.length;++i)if((n=r[i]).marker.collapsed){if(null==n.from)return!0;if(!n.marker.widgetNode&&0==n.from&&n.marker.inclusiveLeft&&function e(t,r,n){{var i;if(null==n.to)return i=n.marker.find(1,!0),e(t,i.line,yr(i.line.markedSpans,n.marker))}if(n.marker.inclusiveRight&&n.to==r.text.length)return!0;for(var o,l=0;l<r.markedSpans.length;++l)if(o=r.markedSpans[l],o.marker.collapsed&&!o.marker.widgetNode&&o.from==n.to&&(null==o.to||o.to!=n.from)&&(o.marker.inclusiveLeft||n.marker.inclusiveRight)&&e(t,r,o))return!0}(e,t,n))return!0}}function zr(e,t,r){on(t)<(e.curOp&&e.curOp.scrollTop||e.doc.scrollTop)&&or(e,null,r)}function Dr(e){var t;return null!=e.height?e.height:(((e,t)=>{if(e.contains)return e.contains(t);for(;t=t.parentNode;)if(t==e)return 1})(document.body,e.node)||(t="position: relative;",e.coverGutter&&(t+="margin-left: -"+e.cm.getGutterElement().offsetWidth+"px;"),zn(e.cm.display.measure,F("div",[e.node],null,t))),e.height=e.node.offsetHeight)}function Wr(e,t){if(e)for(;;){var r=e.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!r)break;e=e.slice(0,r.index)+e.slice(r.index+r[0].length);var n=r[1]?"bgClass":"textClass";null==t[n]?t[n]=r[2]:new RegExp("(?:^|s)"+r[2]+"(?:$|s)").test(t[n])||(t[n]+=" "+r[2])}return e}function qr(e,t){return e.blankLine?e.blankLine(t):e.innerMode&&(e=u.innerMode(e,t)).mode.blankLine?e.mode.blankLine(e.state):void 0}function Rr(e,t,r,n){for(var i=0;i<10;i++){n&&(n[0]=u.innerMode(e,r).mode);var o=e.token(t,r);if(t.pos>t.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}function Pr(e,t,r,n){function i(e){return{start:d.start,end:d.pos,string:d.current(),type:o||null,state:e?Oi(l.mode,u):u}}var o,l=e.doc,a=l.mode;t=z(l,t);var s,c=H(l,t.line),u=Be(e,t.line,r),d=new Pi(c.text,e.options.tabSize);for(n&&(s=[]);(n||d.pos<t.ch)&&!d.eol();)d.start=d.pos,o=Rr(a,d,u),n&&s.push(i(!0));return n?s:i()}function Hr(e,t,r,n,i,o,l){var a=r.flattenSpans;null==a&&(a=e.options.flattenSpans);var s=0,c=null,u=new Pi(t,e.options.tabSize),d=e.options.addModeClass&&[null];for(""==t&&Wr(qr(r,n),o);!u.eol();){var f,h=u.pos>e.options.maxHighlightLength?(a=!1,l&&jr(e,t,n,u.pos),u.pos=t.length,null):Wr(Rr(r,u,n,d),o);if(d&&(f=d[0].name)&&(h="m-"+(h?f+" "+h:f)),!a||c!=h){for(;s<u.start;)i(s=Math.min(u.start,s+5e4),c);c=h}u.start=u.pos}for(;s<u.pos;){var p=Math.min(u.pos,s+5e4);i(p,c),s=p}}function $r(e,t,r,n){var o=[e.state.modeGen],i={};Hr(e,t.text,e.doc.mode,r,function(e,t){o.push(e,t)},i,n);for(var l=0;l<e.state.overlays.length;++l){var a=e.state.overlays[l],s=1,c=0;Hr(e,t.text,a.mode,!0,function(e,t){for(var r=s;c<e;){var n=o[s];e<n&&o.splice(s,1,e,o[s+1],n),s+=2,c=Math.min(e,n)}if(t)if(a.opaque)o.splice(r,s-r,e,"cm-overlay "+t),s=r+2;else for(;r<s;r+=2){var i=o[r+1];o[r+1]=(i?i+" ":"")+"cm-overlay "+t}},i)}return{styles:o,classes:i.bgClass||i.textClass?i:null}}function Fr(e,t,r){var n;return t.styles&&t.styles[0]==e.state.modeGen||(n=$r(e,t,t.stateAfter=Be(e,h(t))),t.styles=n.styles,n.classes?t.styleClasses=n.classes:t.styleClasses&&(t.styleClasses=null),r===e.doc.frontier&&e.doc.frontier++),t.styles}function jr(e,t,r,n){var i=e.doc.mode,o=new Pi(t,e.options.tabSize);for(o.start=o.pos=n||0,""==t&&qr(i,r);!o.eol()&&o.pos<=e.options.maxHighlightLength;)Rr(i,o,r),o.start=o.pos}function Br(e,t){return!e||/^\s*$/.test(e)?null:(t=t.addModeClass?Gi:Ui)[e]||(t[e]=e.replace(/\S+/g,"cm-$&"))}function Ur(e,t){var r=F("span",null,null,U?"padding-right: .1px":null),n={pre:F("pre",[r]),content:r,col:0,pos:0,cm:e};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o,l=i?t.rest[i-1]:t.line,a=(n.pos=0,n.addToken=Gr,(j||U)&&e.getOption("lineWrapping")&&(n.addToken=(l=>{function a(e){for(var t=" ",r=0;r<e.length-2;++r)t+=r%2?" ":" ";return t+" "}return function(e,t,r,n,i,o){l(e,t.replace(/ {3,}/g,a),r,n,i,o)}})(n.addToken)),o=e.display.measure,a=void 0,(null!=fo?fo:(o=zn(o,document.createTextNode("AخA")),!(!(a=co(o,0,1).getBoundingClientRect())||a.left==a.right)&&(o=co(o,1,2).getBoundingClientRect(),fo=o.right-a.right<3)))&&(o=ln(l))&&(n.addToken=((u,d)=>function(e,t,r,n,i,o){r=r?r+" cm-force-border":"cm-force-border";for(var l=e.pos,a=l+t.length;;){for(var s=0;s<d.length;s++){var c=d[s];if(c.to>l&&c.from<=l)break}if(c.to>=a)return u(e,t,r,n,i,o);u(e,t.slice(0,c.to-l),r,n,null,o),n=null,t=t.slice(c.to-l),l=c.to}})(n.addToken,o)),n.map=[],t!=e.display.externalMeasured&&h(l));((e,t,r)=>{var n=e.markedSpans,i=e.text,o=0;if(n)for(var l,a,s,c,u,d,f,h=i.length,p=0,m=1,g="",v=0;;){if(v==p){s=c=u=d=a="",f=null,v=1/0;for(var y=[],_=0;_<n.length;++_){var b=n[_],x=b.marker;b.from<=p&&(null==b.to||b.to>p)?(null!=b.to&&v>b.to&&(v=b.to,c=""),x.className&&(s+=" "+x.className),x.css&&(a=x.css),x.startStyle&&b.from==p&&(u+=" "+x.startStyle),x.endStyle&&b.to==v&&(c+=" "+x.endStyle),x.title&&!d&&(d=x.title),x.collapsed&&(!f||Lr(f.marker,x)<0)&&(f=b)):b.from>p&&v>b.from&&(v=b.from),"bookmark"==x.type&&b.from==p&&x.widgetNode&&y.push(x)}if(f&&(f.from||0)==p&&(Vr(t,(null==f.to?h+1:f.to)-p,f.marker,null==f.from),null==f.to))return;if(!f&&y.length)for(_=0;_<y.length;++_)Vr(t,0,y[_])}if(h<=p)break;for(var w=Math.min(h,v);;){if(g){var k,C=p+g.length;if(f||(k=w<C?g.slice(0,w-p):g,t.addToken(t,k,l?l+s:s,u,p+k.length==v?c:"",d,a)),w<=C){g=g.slice(w-p),p=w;break}p=C,u=""}g=i.slice(o,o=r[m++]),l=Br(r[m++],t.cm.options)}}else for(m=1;m<r.length;m+=2)t.addToken(t,i.slice(o,o=r[m]),Br(r[m+1],t.cm.options))})(l,n,Fr(e,l,a)),l.styleClasses&&(l.styleClasses.bgClass&&(n.bgClass=qn(l.styleClasses.bgClass,n.bgClass||"")),l.styleClasses.textClass)&&(n.textClass=qn(l.styleClasses.textClass,n.textClass||"")),0==n.map.length&&n.map.push(0,0,n.content.appendChild((e=>{var t;return(uo=null==uo&&(t=F("span","​"),zn(e,F("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight)?t.offsetWidth<=1&&2<t.offsetHeight&&!(j&&B<8):uo)?F("span","​"):F("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px")})(e.display.measure))),0==i?(t.measure.map=n.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(n.map),(t.measure.caches||(t.measure.caches=[])).push({}))}return U&&/\bcm-tab\b/.test(n.content.lastChild.className)&&(n.content.className="cm-tab-wrap-hack"),Z(e,"renderLine",e,t.line,n.pre),n.pre.className&&(n.textClass=qn(n.pre.className,n.textClass||"")),n}function Gr(e,t,r,n,i,o,l){if(t){var a=e.cm.options.specialChars,s=!1;if(a.test(t))for(var c=document.createDocumentFragment(),u=0;;){a.lastIndex=u;var d,f=a.exec(t),h=f?f.index-u:t.length-u;if(h&&(d=document.createTextNode(t.slice(u,u+h)),j&&B<9?c.appendChild(F("span",[d])):c.appendChild(d),e.map.push(e.pos,e.pos+h,d),e.col+=h,e.pos+=h),!f)break;u+=1+h,"\t"==f[0]?(h=e.cm.options.tabSize,d=c.appendChild(F("span",Sn(h=h-e.col%h),"cm-tab")),e.col+=h):(d=e.cm.options.specialCharPlaceholder(f[0]),j&&B<9?c.appendChild(F("span",[d])):c.appendChild(d),e.col+=1),e.map.push(e.pos,e.pos+1,d),e.pos++}else{e.col+=t.length;c=document.createTextNode(t);e.map.push(e.pos,e.pos+t.length,c),j&&B<9&&(s=!0),e.pos+=t.length}if(r||n||i||s||l)return s=r||"",n&&(s+=n),i&&(s+=i),r=F("span",[c],s,l),o&&(r.title=o),e.content.appendChild(r);e.content.appendChild(c)}}function Vr(e,t,r,n){n=!n&&r.widgetNode;n&&(e.map.push(e.pos,e.pos+t,n),e.content.appendChild(n)),e.pos+=t}function Kr(e,t){return 0==t.from.ch&&0==t.to.ch&&""==x(t.text)&&(!e.cm||e.cm.options.wholeLineUpdateBefore)}function Xr(e,o,t,l){function r(e){return t?t[e]:null}function n(e,t,r){var n,i;t=t,r=r,i=l,(n=e).text=t,n.stateAfter&&(n.stateAfter=null),n.styles&&(n.styles=null),null!=n.order&&(n.order=null),wr(n),kr(n,r),(t=i?i(n):1)!=n.height&&rn(n,t),b(e,"change",e,o)}var i=o.from,a=o.to,s=o.text,c=H(e,i.line),u=H(e,a.line),d=x(s),f=r(s.length-1),h=a.line-i.line;if(Kr(e,o)){for(var p=0,m=[];p<s.length-1;++p)m.push(new Bi(s[p],r(p),l));n(u,u.text,f),h&&e.remove(i.line,h),m.length&&e.insert(i.line,m)}else if(c==u)if(1==s.length)n(c,c.text.slice(0,i.ch)+d+c.text.slice(a.ch),f);else{for(m=[],p=1;p<s.length-1;++p)m.push(new Bi(s[p],r(p),l));m.push(new Bi(d+c.text.slice(a.ch),f,l)),n(c,c.text.slice(0,i.ch)+s[0],r(0)),e.insert(i.line+1,m)}else if(1==s.length)n(c,c.text.slice(0,i.ch)+s[0]+u.text.slice(a.ch),r(0)),e.remove(i.line+1,h);else{n(c,c.text.slice(0,i.ch)+s[0],r(0)),n(u,d+u.text.slice(a.ch),f);for(p=1,m=[];p<s.length-1;++p)m.push(new Bi(s[p],r(p),l));1<h&&e.remove(i.line+1,h-1),e.insert(i.line+1,m)}b(e,"change",e,o)}function Yr(e){this.lines=e,this.parent=null;for(var t=0,r=0;t<e.length;++t)e[t].parent=this,r+=e[t].height;this.height=r}function Zr(e){this.children=e;for(var t=0,r=0,n=0;n<e.length;++n){var i=e[n];t+=i.chunkSize(),r+=i.height,i.parent=this}this.size=t,this.height=r,this.parent=null}function Qr(e,a,s){!function e(t,r,n){if(t.linked)for(var i=0;i<t.linked.length;++i){var o,l=t.linked[i];l.doc!=r&&(o=n&&l.sharedHist,s&&!o||(a(l.doc,o),e(l.doc,t,o)))}}(e,null,!0)}function Jr(e,t){if(t.cm)throw new Error("This document is already in use.");l((e.doc=t).cm=e),i(e),e.options.lineWrapping||J(e),e.options.mode=t.modeOption,y(e)}function H(e,t){if((t-=e.first)<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var r=e;!r.lines;)for(var n=0;;++n){var i=r.children[n],o=i.chunkSize();if(t<o){r=i;break}t-=o}return r.lines[t]}function en(e,t,r){var n=[],i=t.line;return e.iter(t.line,r.line+1,function(e){e=e.text;i==r.line&&(e=e.slice(0,r.ch)),i==t.line&&(e=e.slice(t.ch)),n.push(e),++i}),n}function tn(e,t,r){var n=[];return e.iter(t,r,function(e){n.push(e.text)}),n}function rn(e,t){var r=t-e.height;if(r)for(var n=e;n;n=n.parent)n.height+=r}function h(e){if(null==e.parent)return null;for(var t=e.parent,r=w(t.lines,e),n=t.parent;n;n=(t=n).parent)for(var i=0;n.children[i]!=t;++i)r+=n.children[i].chunkSize();return r+t.first}function nn(e,t){var r=e.first;e:do{for(var n=0;n<e.children.length;++n){var i=e.children[n],o=i.height;if(t<o){e=i;continue e}t-=o,r+=i.chunkSize()}return r}while(!e.lines);for(n=0;n<e.lines.length;++n){var l=e.lines[n].height;if(t<l)break;t-=l}return r+n}function on(e){for(var t=0,r=(e=_(e)).parent,n=0;n<r.lines.length;++n){var i=r.lines[n];if(i==e)break;t+=i.height}for(var o=r.parent;o;o=(r=o).parent)for(n=0;n<o.children.length;++n){var l=o.children[n];if(l==r)break;t+=l.height}return t}function ln(e){var t=e.order;return t=null==t?e.order=To(e.text):t}function an(e){this.done=[],this.undone=[],this.undoDepth=1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=e||1}function sn(e,t){var r={from:be(t.from),to:ki(t),text:en(e,t.from,t.to)};return fn(e,r,t.from.line,t.to.line+1),Qr(e,function(e){fn(e,r,t.from.line,t.to.line+1)},!0),r}function cn(e){for(;e.length;){if(!x(e).ranges)break;e.pop()}}function un(e,t,r,n){var i=e.history;i.undone.length=0;var o,l=+new Date;if((i.lastOp==n||i.lastOrigin==t.origin&&t.origin&&("+"==t.origin.charAt(0)&&e.cm&&i.lastModTime>l-e.cm.options.historyEventDelay||"*"==t.origin.charAt(0)))&&(o=(o=i).lastOp==n?(cn(o.done),x(o.done)):o.done.length&&!x(o.done).ranges?x(o.done):1<o.done.length&&!o.done[o.done.length-2].ranges?(o.done.pop(),x(o.done)):void 0)){var a=x(o.changes);0==K(t.from,t.to)&&0==K(t.from,a.to)?a.to=ki(t):o.changes.push(sn(e,t))}else{var s=x(i.done);for(s&&s.ranges||dn(e.sel,i.done),o={changes:[sn(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(r),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=l,i.lastOp=i.lastSelOp=n,i.lastOrigin=i.lastSelOrigin=t.origin,a||Z(e,"historyAdded")}function dn(e,t){var r=x(t);r&&r.ranges&&r.equals(e)||t.push(e)}function fn(t,r,e,n){var i=r["spans_"+t.id],o=0;t.iter(Math.max(t.first,e),Math.min(t.first+t.size,n),function(e){e.markedSpans&&((i=i||(r["spans_"+t.id]={}))[o]=e.markedSpans),++o})}function hn(e,t,r){for(var n=0,i=[];n<e.length;++n){var o=e[n];if(o.ranges)i.push(r?ke.prototype.deepCopy.call(o):o);else{var l=o.changes,a=[];i.push({changes:a});for(var s=0;s<l.length;++s){var c,u=l[s];if(a.push({from:u.from,to:u.to,text:u.text}),t)for(var d in u)(c=d.match(/^spans_(\d+)$/))&&-1<w(t,Number(c[1]))&&(x(a)[d]=u[d],delete u[d])}}}return i}function pn(e,t,r,n){r<e.line?e.line+=n:t<e.line&&(e.line=t,e.ch=0)}function mn(e,t,r,n){for(var i=0;i<e.length;++i){var o=e[i],l=!0;if(o.ranges){o.copied||((o=e[i]=o.deepCopy()).copied=!0);for(var a=0;a<o.ranges.length;a++)pn(o.ranges[a].anchor,t,r,n),pn(o.ranges[a].head,t,r,n)}else{for(a=0;a<o.changes.length;++a){var s=o.changes[a];if(r<s.from.line)s.from=V(s.from.line+n,s.from.ch),s.to=V(s.to.line+n,s.to.ch);else if(t<=s.to.line){l=!1;break}}l||(e.splice(0,i+1),i=0)}}}function gn(e,t){var r=t.from.line,n=t.to.line,t=t.text.length-(n-r)-1;mn(e.done,r,n,t),mn(e.undone,r,n,t)}function vn(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function yn(e){return e.target||e.srcElement}function _n(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),t=G&&e.ctrlKey&&1==t?3:t}function b(e,t){var r=e._handlers&&e._handlers[t];if(r){var n,i=Array.prototype.slice.call(arguments,2);mi?n=mi.delayedCallbacks:Qi?n=Qi:(n=Qi=[],setTimeout(bn,0));for(var o=0;o<r.length;++o)n.push((e=>function(){e.apply(null,i)})(r[o]))}}function bn(){var e=Qi;Qi=null;for(var t=0;t<e.length;++t)e[t]()}function $(e,t,r){return"string"==typeof t&&(t={type:t,preventDefault:function(){this.defaultPrevented=!0}}),Z(e,r||t.type,e,t),vn(t)||t.codemirrorIgnore}function xn(e){var t=e._handlers&&e._handlers.cursorActivity;if(t)for(var r=e.curOp.cursorActivityHandlers||(e.curOp.cursorActivityHandlers=[]),n=0;n<t.length;++n)-1==w(r,t[n])&&r.push(t[n])}function p(e,t){e=e._handlers&&e._handlers[t];return e&&0<e.length}function wn(e){e.prototype.on=function(e,t){Y(this,e,t)},e.prototype.off=function(e,t){Zi(this,e,t)}}function kn(){this.id=null}function Cn(e,t,r){for(var n=0,i=0;;){var o=e.indexOf("\t",n),l=(o=-1==o?e.length:o)-n;if(o==e.length||t<=i+l)return n+Math.min(l,t-i);if(i+=o-n,n=o+1,t<=(i+=r-i%r))return n}}function Sn(e){for(;io.length<=e;)io.push(x(io)+" ");return io[e]}function x(e){return e[e.length-1]}function w(e,t){for(var r=0;r<e.length;++r)if(e[r]==t)return r;return-1}function Ln(e,t){for(var r=[],n=0;n<e.length;n++)r[n]=t(e[n],n);return r}function Mn(e,t){var r,e=Object.create?Object.create(e):((r=function(){}).prototype=e,new r);return t&&Tn(t,e),e}function Tn(e,t,r){for(var n in t=t||{},e)!e.hasOwnProperty(n)||!1===r&&t.hasOwnProperty(n)||(t[n]=e[n]);return t}function An(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,t)}}function En(e,t){return t?!!(-1<t.source.indexOf("\\w")&&ao(e))||t.test(e):ao(e)}function Nn(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return;return 1}function On(e){return 768<=e.charCodeAt(0)&&so.test(e)}function F(e,t,r,n){var i=document.createElement(e);if(r&&(i.className=r),n&&(i.style.cssText=n),"string"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o<t.length;++o)i.appendChild(t[o]);return i}function In(e){for(var t=e.childNodes.length;0<t;--t)e.removeChild(e.firstChild);return e}function zn(e,t){return In(e).appendChild(t)}function Dn(){return document.activeElement}function Wn(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}function qn(e,t){for(var r=e.split(" "),n=0;n<r.length;n++)r[n]&&!Wn(r[n]).test(t)&&(t+=" "+r[n]);return t}function Rn(e){if(document.body.getElementsByClassName)for(var t=document.body.getElementsByClassName("CodeMirror"),r=0;r<t.length;r++){var n=t[r].CodeMirror;n&&e(n)}}function Pn(e){return e.level%2?e.to:e.from}function Hn(e){return e.level%2?e.from:e.to}function $n(e){e=ln(e);return e?Pn(e[0]):0}function Fn(e){var t=ln(e);return t?Hn(x(t)):e.text.length}function jn(e,t){var e=H(e.doc,t),r=_(e),e=(r!=e&&(t=h(r)),ln(r)),e=e?(e[0].level%2?Fn:$n)(r):0;return V(t,e)}function Bn(e,t){var r=jn(e,t.line),e=H(e.doc,r.line),n=ln(e);return n&&0!=n[0].level?r:(n=Math.max(0,e.text.search(/\S/)),e=t.line==r.line&&t.ch<=n&&t.ch,V(r.line,e?0:n))}function Un(e,t){wo=null;for(var r,n,i,o,l=0;l<e.length;++l){var a=e[l];if(a.from<t&&a.to>t)return l;if(a.from==t||a.to==t){if(null!=r)return n=e,i=a.level,o=e[r].level,n=n[0].level,i==n||o!=n&&i<o?(a.from!=a.to&&(wo=r),l):(a.from!=a.to&&(wo=l),r);r=l}}return r}function Gn(e,t,r,n){if(!n)return t+r;for(;0<(t+=r)&&On(e.text.charAt(t)););return t}function Vn(e,t,r,n){var i=ln(e);if(!i)return Kn(e,t,r,n);for(var o=Un(i,t),l=i[o],a=Gn(e,t,l.level%2?-r:r,n);;){if(a>l.from&&a<l.to)return a;if(a==l.from||a==l.to)return Un(i,a)==o?a:0<r==(l=i[o+=r]).level%2?l.to:l.from;if(!(l=i[o+=r]))return null;a=0<r==l.level%2?Gn(e,l.to,-1,n):Gn(e,l.from,1,n)}}function Kn(e,t,r,n){var i=t+r;if(n)for(;0<i&&On(e.text.charAt(i));)i+=r;return i<0||i>e.text.length?null:i}var Xn=/gecko\/\d/i.test(navigator.userAgent),Yn=/MSIE \d/.test(navigator.userAgent),Zn=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),j=Yn||Zn,B=j&&(Yn?document.documentMode||6:Zn[1]),U=/WebKit\//.test(navigator.userAgent),Yn=U&&/Qt\/\d+\.\d+/.test(navigator.userAgent),Zn=/Chrome\//.test(navigator.userAgent),f=/Opera\//.test(navigator.userAgent),Qn=/Apple Computer/.test(navigator.vendor),Jn=/KHTML\//.test(navigator.userAgent),ei=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(navigator.userAgent),ti=/PhantomJS/.test(navigator.userAgent),ri=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent),ni=ri||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(navigator.userAgent),G=ri||/Mac/.test(navigator.platform),ii=/win/i.test(navigator.platform),oi=f&&navigator.userAgent.match(/Version\/(\d*\.\d*)/),li=((oi=oi&&Number(oi[1]))&&15<=oi&&(U=!(f=!1)),G&&(Yn||f&&(null==oi||oi<12.11))),ai=Xn||j&&9<=B,si=!1,ci=!1,V=(c.prototype=Tn({update:function(e){var t,r=e.scrollWidth>e.clientWidth+1,n=e.clientHeight+1<e.scrollHeight,i=e.nativeBarWidth;return n?(this.vert.style.display="block",this.vert.style.bottom=r?i+"px":"0",t=e.viewHeight-(r?i:0),this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+t)+"px"):(this.vert.style.display="",this.vert.firstChild.style.height="0"),r?(this.horiz.style.display="block",this.horiz.style.right=n?i+"px":"0",this.horiz.style.left=e.barLeft+"px",this.horiz.firstChild.style.width=e.scrollWidth-e.clientWidth+(e.viewWidth-e.barLeft-(n?i:0))+"px"):(this.horiz.style.display="",this.horiz.firstChild.style.width="0"),!this.checkedOverlay&&0<e.clientHeight&&(0==i&&this.overlayHack(),this.checkedOverlay=!0),{right:n?i:0,bottom:r?i:0}},setScrollLeft:function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e)},setScrollTop:function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e)},overlayHack:function(){function e(e){yn(e)!=t.vert&&yn(e)!=t.horiz&&q(t.cm,Ot)(e)}this.horiz.style.minHeight=this.vert.style.minWidth=G&&!ei?"12px":"18px";var t=this;Y(this.vert,"mousedown",e),Y(this.horiz,"mousedown",e)},clear:function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)}},c.prototype),M.prototype=Tn({update:function(){return{bottom:0,right:0}},setScrollLeft:function(){},setScrollTop:function(){},clear:function(){}},M.prototype),u.scrollbarModel={native:c,null:M},u.Pos=function(e,t){return this instanceof V?(this.line=e,void(this.ch=t)):new V(e,t)}),K=u.cmpPos=function(e,t){return e.line-t.line||e.ch-t.ch};ke.prototype={primary:function(){return this.ranges[this.primIndex]},equals:function(e){if(e!=this){if(e.primIndex!=this.primIndex||e.ranges.length!=this.ranges.length)return!1;for(var t=0;t<this.ranges.length;t++){var r=this.ranges[t],n=e.ranges[t];if(0!=K(r.anchor,n.anchor)||0!=K(r.head,n.head))return!1}}return!0},deepCopy:function(){for(var e=[],t=0;t<this.ranges.length;t++)e[t]=new O(be(this.ranges[t].anchor),be(this.ranges[t].head));return new ke(e,this.primIndex)},somethingSelected:function(){for(var e=0;e<this.ranges.length;e++)if(!this.ranges[e].empty())return!0;return!1},contains:function(e,t){t=t||e;for(var r=0;r<this.ranges.length;r++){var n=this.ranges[r];if(0<=K(t,n.from())&&K(e,n.to())<=0)return r}return-1}},O.prototype={from:function(){return we(this.anchor,this.head)},to:function(){return xe(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};var ui,di,fi,hi,pi={left:0,right:0,top:0,bottom:0},mi=null,gi=0,vi=null,yi=0,_i=0,m=null,bi=(j?m=-.53:Xn?m=15:Zn?m=-.7:Qn&&(m=-1/3),function(e){var t=e.wheelDeltaX,r=e.wheelDeltaY;return null==t&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),null==r&&e.detail&&e.axis==e.VERTICAL_AXIS?r=e.detail:null==r&&(r=e.wheelDelta),{x:t,y:r}}),xi=(u.wheelEventPixels=function(e){e=bi(e);return e.x*=m,e.y*=m,e},new kn),wi=null,ki=u.changeEnd=function(e){return e.text?V(e.from.line+e.text.length-1,x(e.text).length+(1==e.text.length?e.from.ch:0)):e.to},Ci=(u.prototype={constructor:u,focus:function(){window.focus(),P(this),St(this)},setOption:function(e,t){var r=this.options,n=r[e];r[e]==t&&"mode"!=e||(r[e]=t,!Si.hasOwnProperty(e))||q(this,Si[e])(this,t,n)},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](pr(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,r=0;r<t.length;++r)if(t[r]==e||t[r].name==e)return t.splice(r,1),!0},addOverlay:e(function(e,t){var r=e.token?e:u.getMode(this.options,e);if(r.startState)throw new Error("Overlays may not be stateful.");this.state.overlays.push({mode:r,modeSpec:e,opaque:t&&t.opaque}),this.state.modeGen++,y(this)}),removeOverlay:e(function(e){for(var t=this.state.overlays,r=0;r<t.length;++r){var n=t[r].modeSpec;if(n==e||"string"==typeof e&&n.name==e)return t.splice(r,1),this.state.modeGen++,void y(this)}}),indentLine:e(function(e,t,r){"string"!=typeof t&&"number"!=typeof t&&(t=null==t?this.options.smartIndent?"smart":"prev":t?"add":"subtract"),Le(this.doc,e)&&sr(this,e,t,r)}),indentSelection:e(function(e){for(var t=this.doc.sel.ranges,r=-1,n=0;n<t.length;n++){var i=t[n];if(i.empty())i.head.line>r&&(sr(this,i.head.line,e,!0),r=i.head.line,n==this.doc.sel.primIndex)&&lr(this);else{for(var o=i.from(),i=i.to(),l=Math.max(r,o.line),r=Math.min(this.lastLine(),i.line-(i.ch?0:1))+1,a=l;a<r;++a)sr(this,a,e);i=this.doc.sel.ranges;0==o.ch&&t.length==i.length&&0<i[n].from().ch&&Ee(this.doc,n,new O(o,i[n].to()),to)}}}),getTokenAt:function(e,t){return Pr(this,e,t)},getLineTokens:function(e,t){return Pr(this,V(e),t,!0)},getTokenTypeAt:function(e){e=z(this.doc,e);var t,r=Fr(this,H(this.doc,e.line)),n=0,i=(r.length-1)/2,o=e.ch;if(0==o)t=r[2];else for(;;){var l=n+i>>1;if((l?r[2*l-1]:0)>=o)i=l;else{if(!(r[2*l+1]<o)){t=r[2*l+2];break}n=1+l}}e=t?t.indexOf("cm-overlay "):-1;return e<0?t:0==e?null:t.slice(0,e-1)},getModeAt:function(e){var t=this.doc.mode;return t.innerMode?u.innerMode(t,this.getTokenAt(e).state).mode:t},getHelper:function(e,t){return this.getHelpers(e,t)[0]},getHelpers:function(e,t){var r=[];if(!Ni.hasOwnProperty(t))return Ni;var n=Ni[t],i=this.getModeAt(e);if("string"==typeof i[t])n[i[t]]&&r.push(n[i[t]]);else if(i[t])for(var o=0;o<i[t].length;o++){var l=n[i[t][o]];l&&r.push(l)}else i.helperType&&n[i.helperType]?r.push(n[i.helperType]):n[i.name]&&r.push(n[i.name]);for(o=0;o<n._global.length;o++){var a=n._global[o];a.pred(i,this)&&-1==w(r,a.val)&&r.push(a.val)}return r},getStateAfter:function(e,t){var r=this.doc;return Be(this,(e=Se(r,null==e?r.first+r.size-1:e))+1,t)},cursorCoords:function(e,t){var r=this.doc.sel.primary();return st(this,null==e?r.head:"object"==typeof e?z(this.doc,e):e?r.from():r.to(),t||"page")},charCoords:function(e,t){return at(this,z(this.doc,e),t||"page")},coordsChar:function(e,t){return dt(this,(e=lt(this,e,t||"page")).left,e.top)},lineAtHeight:function(e,t){return e=lt(this,{top:e,left:0},t||"page").top,nn(this.doc,e+this.display.viewOffset)},heightAtLine:function(e,t){var r=!1,n=this.doc.first+this.doc.size-1,n=(e<this.doc.first?e=this.doc.first:n<e&&(e=n,r=!0),H(this.doc,e));return ot(this,n,{top:0,left:0},t||"page").top+(r?this.doc.height-on(n):0)},defaultTextHeight:function(){return ft(this.display)},defaultCharWidth:function(){return ht(this.display)},setGutterMarker:e(function(e,r,n){return cr(this.doc,e,"gutter",function(e){var t=e.gutterMarkers||(e.gutterMarkers={});return!(t[r]=n)&&Nn(t)&&(e.gutterMarkers=null),1})}),clearGutter:e(function(t){var r=this,e=r.doc,n=e.first;e.iter(function(e){e.gutterMarkers&&e.gutterMarkers[t]&&(e.gutterMarkers[t]=null,_t(r,n,"gutter"),Nn(e.gutterMarkers))&&(e.gutterMarkers=null),++n})}),addLineWidget:e(function(e,t,r){return e=e,(i=new ji(n=this,t,r)).noHScroll&&(n.display.alignWidgets=!0),cr(n.doc,e,"widget",function(e){var t=e.widgets||(e.widgets=[]);return null==i.insertAt?t.push(i):t.splice(Math.min(t.length-1,Math.max(0,i.insertAt)),0,i),i.line=e,Ir(n.doc,e)||(t=on(e)<n.doc.scrollTop,rn(e,e.height+Dr(i)),t&&or(n,null,i.height),n.curOp.forceUpdate=!0),1}),i;var n,i}),removeLineWidget:function(e){e.clear()},lineInfo:function(e){if("number"==typeof e){if(!Le(this.doc,e))return null;var t=e;if(!(e=H(this.doc,e)))return null}else if(null==(t=h(e)))return null;return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,r,n,i){var o,l,a=this.display,s=(e=st(this,z(this.doc,e))).bottom,c=e.left;t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),a.sizer.appendChild(t),"over"==n?s=e.top:"above"!=n&&"near"!=n||(o=Math.max(a.wrapper.clientHeight,this.doc.height),l=Math.max(a.sizer.clientWidth,a.lineSpace.clientWidth),("above"==n||e.bottom+t.offsetHeight>o)&&e.top>t.offsetHeight?s=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=o&&(s=e.bottom),c+t.offsetWidth>l&&(c=l-t.offsetWidth)),t.style.top=s+"px",t.style.left=t.style.right="","right"==i?(c=a.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==i?c=0:"middle"==i&&(c=(a.sizer.clientWidth-t.offsetWidth)/2),t.style.left=c+"px"),r&&(n=this,o=s,l=(e=c)+t.offsetWidth,null!=(e=ir(n,e,o,l,s+t.offsetHeight)).scrollTop&&Wt(n,e.scrollTop),null!=e.scrollLeft)&&qt(n,e.scrollLeft)},triggerOnKeyDown:e(Ft),triggerOnKeyPress:e(Bt),triggerOnKeyUp:jt,execCommand:function(e){return zi.hasOwnProperty(e)?zi[e](this):void 0},findPosH:function(e,t,r,n){var i=1;t<0&&(i=-1,t=-t);for(var o=0,l=z(this.doc,e);o<t&&!(l=dr(this.doc,l,i,r,n)).hitSide;++o);return l},moveH:e(function(t,r){var n=this;n.extendSelectionsBy(function(e){return n.display.shift||n.doc.extend||e.empty()?dr(n.doc,e.head,t,r,n.options.rtlMoveVisually):t<0?e.from():e.to()},no)}),deleteH:e(function(r,n){var e=this.doc.sel,i=this.doc;e.somethingSelected()?i.replaceSelection("",null,"+delete"):ur(this,function(e){var t=dr(i,e.head,r,n,!1);return r<0?{from:t,to:e.head}:{from:e.head,to:t}})}),findPosV:function(e,t,r,n){var i=1,o=n;t<0&&(i=-1,t=-t);for(var l=0,a=z(this.doc,e);l<t;++l){var s=st(this,a,"div");if(null==o?o=s.left:s.left=o,(a=fr(this,s,i,r)).hitSide)break}return a},moveV:e(function(n,i){var o=this,l=this.doc,a=[],s=!o.display.shift&&!l.extend&&l.sel.somethingSelected();if(l.extendSelectionsBy(function(e){var t,r;return s?n<0?e.from():e.to():(t=st(o,e.head,"div"),null!=e.goalColumn&&(t.left=e.goalColumn),a.push(t.left),r=fr(o,t,n,i),"page"==i&&e==l.sel.primary()&&or(o,null,at(o,r,"div").top-t.top),r)},no),a.length)for(var e=0;e<l.sel.ranges.length;e++)l.sel.ranges[e].goalColumn=a[e]}),findWordAt:function(e){var t=H(this.doc,e.line).text,r=e.ch,n=e.ch;if(t){var i=this.getHelper(e,"wordChars");(e.xRel<0||n==t.length)&&r?--r:++n;for(var o=t.charAt(r),l=En(o,i)?function(e){return En(e,i)}:/\s/.test(o)?function(e){return/\s/.test(e)}:function(e){return!/\s/.test(e)&&!En(e)};0<r&&l(t.charAt(r-1));)--r;for(;n<t.length&&l(t.charAt(n));)++n}return new O(V(e.line,r),V(e.line,n))},toggleOverwrite:function(e){null!=e&&e==this.state.overwrite||(((this.state.overwrite=!this.state.overwrite)?po:ho)(this.display.cursorDiv,"CodeMirror-overwrite"),Z(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return Dn()==this.display.input},scrollTo:e(function(e,t){null==e&&null==t||ar(this),null!=e&&(this.curOp.scrollLeft=e),null!=t&&(this.curOp.scrollTop=t)}),getScrollInfo:function(){var e=this.display.scroller;return{left:e.scrollLeft,top:e.scrollTop,height:e.scrollHeight-W(this)-this.display.barHeight,width:e.scrollWidth-W(this)-this.display.barWidth,clientHeight:Xe(this),clientWidth:Ke(this)}},scrollIntoView:e(function(e,t){null==e?(e={from:this.doc.sel.primary().head,to:null},null==t&&(t=this.options.cursorScrollMargin)):"number"==typeof e?e={from:V(e,0),to:null}:null==e.from&&(e={from:e,to:null}),e.to||(e.to=e.from),e.margin=t||0,null!=e.from.line?(ar(this),this.curOp.scrollToPos=e):(t=ir(this,Math.min(e.from.left,e.to.left),Math.min(e.from.top,e.to.top)-e.margin,Math.max(e.from.right,e.to.right),Math.max(e.from.bottom,e.to.bottom)+e.margin),this.scrollTo(t.scrollLeft,t.scrollTop))}),setSize:e(function(e,t){function r(e){return"number"==typeof e||/^\d+$/.test(String(e))?e+"px":e}var n=this,i=(null!=e&&(n.display.wrapper.style.width=r(e)),null!=t&&(n.display.wrapper.style.height=r(t)),n.options.lineWrapping&&tt(this),n.display.viewFrom);n.doc.iter(i,n.display.viewTo,function(e){if(e.widgets)for(var t=0;t<e.widgets.length;t++)if(e.widgets[t].noHScroll){_t(n,i,"widget");break}++i}),n.curOp.forceUpdate=!0,Z(n,"refresh",this)}),operation:function(e){return gt(this,e)},refresh:e(function(){var e=this.display.cachedTextHeight;y(this),this.curOp.forceUpdate=!0,rt(this),this.scrollTo(this.doc.scrollLeft,this.doc.scrollTop),s(this),(null==e||.5<Math.abs(e-ft(this.display)))&&l(this),Z(this,"refresh",this)}),swapDoc:e(function(e){var t=this.doc;return t.cm=null,Jr(this,e),rt(this),R(this),this.scrollTo(e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,b(this,"swapDoc",this,t),t}),getInputField:function(){return this.display.input},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},wn(u),u.defaults={}),Si=u.optionHandlers={},Li=u.Init={toString:function(){return"CodeMirror.Init"}},Mi=(r("value","",function(e,t){e.setValue(t)},!0),r("mode",null,function(e,t){e.doc.modeOption=t,i(e)},!0),r("indentUnit",2,i,!0),r("indentWithTabs",!1),r("smartIndent",!0),r("tabSize",4,function(e){o(e),rt(e),y(e)},!0),r("specialChars",/[\t\u0000-\u0019\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g,function(e,t){e.options.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),e.refresh()},!0),r("specialCharPlaceholder",function(e){var t=F("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t},function(e){e.refresh()},!0),r("electricChars",!0),r("rtlMoveVisually",!ii),r("wholeLineUpdateBefore",!0),r("theme","default",function(e){k(e),a(e)},!0),r("keyMap","default",function(e,t,r){t=pr(t),r=r!=u.Init&&pr(r);r&&r.detach&&r.detach(e,t),t.attach&&t.attach(e,r||null)}),r("extraKeys",null),r("lineWrapping",!1,function(e){e.options.lineWrapping?(po(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(ho(e.display.wrapper,"CodeMirror-wrap"),J(e)),l(e),y(e),rt(e),setTimeout(function(){te(e)},100)},!0),r("gutters",[],function(e){L(e.options),a(e)},!0),r("fixedGutter",!0,function(e,t){e.display.gutters.style.left=t?ie(e.display)+"px":"0",e.refresh()},!0),r("coverGutterNextToScrollbar",!1,function(e){te(e)},!0),r("scrollbarStyle","native",function(e){T(e),te(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)},!0),r("lineNumbers",!1,function(e){L(e.options),a(e)},!0),r("firstLineNumber",1,a,!0),r("lineNumberFormatter",function(e){return e},a,!0),r("showCursorWhenSelecting",!1,He,!0),r("resetSelectionOnContextMenu",!0),r("readOnly",!1,function(e,t){"nocursor"==t?(Gt(e),e.display.input.blur(),e.display.disabled=!0):(e.display.disabled=!1,t||R(e))}),r("disableInput",!1,function(e,t){t||R(e)},!0),r("dragDrop",!0),r("cursorBlinkRate",530),r("cursorScrollMargin",0),r("cursorHeight",1,He,!0),r("singleCursorHeightPerLine",!0,He,!0),r("workTime",100),r("workDelay",100),r("flattenSpans",!0,o,!0),r("addModeClass",!1,o,!0),r("pollInterval",100),r("undoDepth",200,function(e,t){e.doc.history.undoDepth=t}),r("historyEventDelay",1250),r("viewportMargin",10,function(e){e.refresh()},!0),r("maxHighlightLength",1e4,o,!0),r("moveInputWithCursor",!0,function(e,t){t||(e.display.inputDiv.style.top=e.display.inputDiv.style.left=0)}),r("tabindex",null,function(e,t){e.display.input.tabIndex=t||""}),r("autofocus",null),u.modes={}),Ti=u.mimeModes={},Ai=(u.defineMode=function(e,t){u.defaults.mode||"null"==e||(u.defaults.mode=e),2<arguments.length&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Mi[e]=t},u.defineMIME=function(e,t){Ti[e]=t},u.resolveMode=function(e){if("string"==typeof e&&Ti.hasOwnProperty(e))e=Ti[e];else if(e&&"string"==typeof e.name&&Ti.hasOwnProperty(e.name)){var t=Ti[e.name];(e=Mn(t="string"==typeof t?{name:t}:t,e)).name=t.name}else if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return u.resolveMode("application/xml");return"string"==typeof e?{name:e}:e||{name:"null"}},u.getMode=function(e,t){var t=u.resolveMode(t),r=Mi[t.name];if(!r)return u.getMode(e,"text/plain");var n=r(e,t);if(Ai.hasOwnProperty(t.name)){var i=Ai[t.name];for(o in i)i.hasOwnProperty(o)&&(n.hasOwnProperty(o)&&(n["_"+o]=n[o]),n[o]=i[o])}if(n.name=t.name,t.helperType&&(n.helperType=t.helperType),t.modeProps)for(var o in t.modeProps)n[o]=t.modeProps[o];return n},u.defineMode("null",function(){return{token:function(e){e.skipToEnd()}}}),u.defineMIME("text/plain","null"),u.modeExtensions={}),Ei=(u.extendMode=function(e,t){Tn(t,Ai.hasOwnProperty(e)?Ai[e]:Ai[e]={})},u.defineExtension=function(e,t){u.prototype[e]=t},u.defineDocExtension=function(e,t){d.prototype[e]=t},u.defineOption=r,[]),Ni=(u.defineInitHook=function(e){Ei.push(e)},u.helpers={}),Oi=(u.registerHelper=function(e,t,r){Ni.hasOwnProperty(e)||(Ni[e]=u[e]={_global:[]}),Ni[e][t]=r},u.registerGlobalHelper=function(e,t,r,n){u.registerHelper(e,t,n),Ni[e]._global.push({pred:r,val:n})},u.copyState=function(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var r,n={};for(r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}),Ii=u.startState=function(e,t,r){return!e.startState||e.startState(t,r)},zi=(u.innerMode=function(e,t){for(;e.innerMode;){var r=e.innerMode(t);if(!r||r.mode==e)break;t=r.state,e=r.mode}return r||{mode:e,state:t}},u.commands={selectAll:function(e){e.setSelection(V(e.firstLine(),0),V(e.lastLine()),to)},singleSelection:function(e){e.setSelection(e.getCursor("anchor"),e.getCursor("head"),to)},killLine:function(r){ur(r,function(e){var t;return e.empty()?(t=H(r.doc,e.head.line).text.length,e.head.ch==t&&e.head.line<r.lastLine()?{from:e.head,to:V(e.head.line+1,0)}:{from:e.head,to:V(e.head.line,t)}):{from:e.from(),to:e.to()}})},deleteLine:function(t){ur(t,function(e){return{from:V(e.from().line,0),to:z(t.doc,V(e.to().line+1,0))}})},delLineLeft:function(e){ur(e,function(e){return{from:V(e.from().line,0),to:e.from()}})},delWrappedLineLeft:function(r){ur(r,function(e){var t=r.charCoords(e.head,"div").top+5;return{from:r.coordsChar({left:0,top:t},"div"),to:e.from()}})},delWrappedLineRight:function(r){ur(r,function(e){var t=r.charCoords(e.head,"div").top+5,t=r.coordsChar({left:r.display.lineDiv.offsetWidth+100,top:t},"div");return{from:e.from(),to:t}})},undo:function(e){e.undo()},redo:function(e){e.redo()},undoSelection:function(e){e.undoSelection()},redoSelection:function(e){e.redoSelection()},goDocStart:function(e){e.extendSelection(V(e.firstLine(),0))},goDocEnd:function(e){e.extendSelection(V(e.lastLine()))},goLineStart:function(t){t.extendSelectionsBy(function(e){return jn(t,e.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(t){t.extendSelectionsBy(function(e){return Bn(t,e.head)},{origin:"+move",bias:1})},goLineEnd:function(o){o.extendSelectionsBy(function(e){for(var t,r=o,n=e.head.line,i=H(r.doc,n);t=Ar(i);)i=t.find(1,!0).line,n=null;return r=(r=ln(i))?(r[0].level%2?$n:Fn)(i):i.text.length,V(null==n?h(i):n,r)},{origin:"+move",bias:-1})},goLineRight:function(t){t.extendSelectionsBy(function(e){e=t.charCoords(e.head,"div").top+5;return t.coordsChar({left:t.display.lineDiv.offsetWidth+100,top:e},"div")},no)},goLineLeft:function(t){t.extendSelectionsBy(function(e){e=t.charCoords(e.head,"div").top+5;return t.coordsChar({left:0,top:e},"div")},no)},goLineLeftSmart:function(r){r.extendSelectionsBy(function(e){var t=r.charCoords(e.head,"div").top+5,t=r.coordsChar({left:0,top:t},"div");return t.ch<r.getLine(t.line).search(/\S/)?Bn(r,e.head):t},no)},goLineUp:function(e){e.moveV(-1,"line")},goLineDown:function(e){e.moveV(1,"line")},goPageUp:function(e){e.moveV(-1,"page")},goPageDown:function(e){e.moveV(1,"page")},goCharLeft:function(e){e.moveH(-1,"char")},goCharRight:function(e){e.moveH(1,"char")},goColumnLeft:function(e){e.moveH(-1,"column")},goColumnRight:function(e){e.moveH(1,"column")},goWordLeft:function(e){e.moveH(-1,"word")},goGroupRight:function(e){e.moveH(1,"group")},goGroupLeft:function(e){e.moveH(-1,"group")},goWordRight:function(e){e.moveH(1,"word")},delCharBefore:function(e){e.deleteH(-1,"char")},delCharAfter:function(e){e.deleteH(1,"char")},delWordBefore:function(e){e.deleteH(-1,"word")},delWordAfter:function(e){e.deleteH(1,"word")},delGroupBefore:function(e){e.deleteH(-1,"group")},delGroupAfter:function(e){e.deleteH(1,"group")},indentAuto:function(e){e.indentSelection("smart")},indentMore:function(e){e.indentSelection("add")},indentLess:function(e){e.indentSelection("subtract")},insertTab:function(e){e.replaceSelection("\t")},insertSoftTab:function(e){for(var t=[],r=e.listSelections(),n=e.options.tabSize,i=0;i<r.length;i++){var o=r[i].from(),o=Q(e.getLine(o.line),o.ch,n);t.push(new Array(n-o%n+1).join(" "))}e.replaceSelections(t)},defaultTab:function(e){e.somethingSelected()?e.indentSelection("add"):e.execCommand("insertTab")},transposeChars:function(l){gt(l,function(){for(var e=l.listSelections(),t=[],r=0;r<e.length;r++){var n,i=e[r].head,o=H(l.doc,i.line).text;o&&(0<(i=i.ch==o.length?new V(i.line,i.ch-1):i).ch?(i=new V(i.line,i.ch+1),l.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),V(i.line,i.ch-2),i,"+transpose")):i.line>l.doc.first&&(n=H(l.doc,i.line-1).text)&&l.replaceRange(o.charAt(0)+"\n"+n.charAt(n.length-1),V(i.line-1,n.length-1),V(i.line,1),"+transpose")),t.push(new O(i,i))}l.setSelections(t)})},newlineAndIndent:function(n){gt(n,function(){for(var e=n.listSelections().length,t=0;t<e;t++){var r=n.listSelections()[t];n.replaceRange("\n",r.anchor,r.head,"+input"),n.indentLine(r.from().line+1,null,!0),lr(n)}})},toggleOverwrite:function(e){e.toggleOverwrite()}}),Di=u.keyMap={basic:{Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},pcDefault:{"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},emacsy:{"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars"},macDefault:{"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]}},Wi=(Di.default=G?Di.macDefault:Di.pcDefault,u.normalizeKeyMap=function(e){var t,r,n={};for(t in e)if(e.hasOwnProperty(t)){var i=e[t];if(/^(name|fallthrough|(de|at)tach)$/.test(t))continue;if("..."==i){delete e[t];continue}for(var o=Ln(t.split(" "),hr),l=0;l<o.length;l++){var a,s=l==o.length-1?(a=t,i):(a=o.slice(0,l+1).join(" "),"..."),c=n[a];if(c){if(c!=s)throw new Error("Inconsistent bindings for "+a)}else n[a]=s}delete e[t]}for(r in n)e[r]=n[r];return e},u.lookupKey=function(e,t,r,n){var i=(t=pr(t)).call?t.call(e,n):t[e];if(!1===i)return"nothing";if("..."===i)return"multi";if(null!=i&&r(i))return"handled";if(t.fallthrough){if("[object Array]"!=Object.prototype.toString.call(t.fallthrough))return Wi(e,t.fallthrough,r,n);for(var o=0;o<t.fallthrough.length;o++){var l=Wi(e,t.fallthrough[o],r,n);if(l)return l}}}),qi=u.isModifierKey=function(e){e="string"==typeof e?e:xo[e.keyCode];return"Ctrl"==e||"Alt"==e||"Shift"==e||"Mod"==e},Ri=u.keyName=function(e,t){var r,n;return!(f&&34==e.keyCode&&e.char||null==(n=r=xo[e.keyCode])||e.altGraphKey)&&(e.altKey&&"Alt"!=r&&(n="Alt-"+n),(li?e.metaKey:e.ctrlKey)&&"Ctrl"!=r&&(n="Ctrl-"+n),(li?e.ctrlKey:e.metaKey)&&"Cmd"!=r&&(n="Cmd-"+n),n=!t&&e.shiftKey&&"Shift"!=r?"Shift-"+n:n)},Pi=(u.fromTextArea=function(t,e){function r(){t.value=a.getValue()}var n;if((e=e||{}).value=t.value,!e.tabindex&&t.tabindex&&(e.tabindex=t.tabindex),!e.placeholder&&t.placeholder&&(e.placeholder=t.placeholder),null==e.autofocus&&(n=Dn(),e.autofocus=n==t||null!=t.getAttribute("autofocus")&&n==document.body),t.form&&(Y(t.form,"submit",r),!e.leaveSubmitMethodAlone)){var i=t.form,o=i.submit;try{var l=i.submit=function(){r(),i.submit=o,i.submit(),i.submit=l}}catch(e){}}t.style.display="none";var a=u(function(e){t.parentNode.insertBefore(e,t.nextSibling)},e);return a.save=r,a.getTextArea=function(){return t},a.toTextArea=function(){a.toTextArea=isNaN,r(),t.parentNode.removeChild(a.getWrapperElement()),t.style.display="",t.form&&(Zi(t.form,"submit",r),"function"==typeof t.form.submit)&&(t.form.submit=o)},a},u.StringStream=function(e,t){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0}),Hi=(Pi.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){return this.pos<this.string.length?this.string.charAt(this.pos++):void 0},eat:function(e){var t=this.string.charAt(this.pos);return("string"==typeof e?t==e:t&&(e.test?e.test(t):e(t)))?(++this.pos,t):void 0},eatWhile:function(e){for(var t=this.pos;this.eat(e););return this.pos>t},eatSpace:function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},skipToEnd:function(){this.pos=this.string.length},skipTo:function(e){e=this.string.indexOf(e,this.pos);return-1<e?(this.pos=e,!0):void 0},backUp:function(e){this.pos-=e},column:function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=Q(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?Q(this.string,this.lineStart,this.tabSize):0)},indentation:function(){return Q(this.string,null,this.tabSize)-(this.lineStart?Q(this.string,this.lineStart,this.tabSize):0)},match:function(e,t,r){var n;return"string"!=typeof e?(n=this.string.slice(this.pos).match(e))&&0<n.index?null:(n&&!1!==t&&(this.pos+=n[0].length),n):(n=function(e){return r?e.toLowerCase():e})(this.string.substr(this.pos,e.length))==n(e)?(!1!==t&&(this.pos+=e.length),!0):void 0},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}}},u.TextMarker=function(e,t){this.lines=[],this.type=t,this.doc=e}),$i=(wn(Hi),Hi.prototype.clear=function(){if(!this.explicitlyCleared){var e,t=this.doc.cm,r=t&&!t.curOp;r&&pt(t),p(this,"clear")&&(e=this.find())&&b(this,"clear",e.from,e.to);for(var n=null,i=null,o=0;o<this.lines.length;++o){var l=this.lines[o],a=yr(l.markedSpans,this);t&&!this.collapsed?_t(t,h(l),"text"):t&&(null!=a.to&&(i=h(l)),null!=a.from)&&(n=h(l)),l.markedSpans=((e,t)=>{for(var r,n=0;n<e.length;++n)e[n]!=t&&(r=r||[]).push(e[n]);return r})(l.markedSpans,a),null==a.from&&this.collapsed&&!Ir(this.doc,l)&&t&&rn(l,ft(t.display))}if(t&&this.collapsed&&!t.options.lineWrapping)for(o=0;o<this.lines.length;++o){var s=_(this.lines[o]),c=S(s);c>t.display.maxLineLength&&(t.display.maxLine=s,t.display.maxLineLength=c,t.display.maxLineChanged=!0)}null!=n&&t&&this.collapsed&&y(t,n,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,t)&&De(t.doc),t&&b(t,"markerCleared",t,this),r&&mt(t),this.parent&&this.parent.clear()}},Hi.prototype.find=function(e,t){null==e&&"bookmark"==this.type&&(e=1);for(var r,n,i=0;i<this.lines.length;++i){var o=this.lines[i],l=yr(o.markedSpans,this);if(null!=l.from&&(r=V(t?o:h(o),l.from),-1==e))return r;if(null!=l.to&&(n=V(t?o:h(o),l.to),1==e))return n}return r&&{from:r,to:n}},Hi.prototype.changed=function(){var r=this.find(-1,!0),n=this,i=this.doc.cm;r&&i&&gt(i,function(){var e=r.line,t=h(r.line),t=Ze(i,t);t&&(et(t),i.curOp.selectionChanged=i.curOp.forceUpdate=!0),i.curOp.updateMaxLine=!0,!Ir(n.doc,e)&&null!=n.height&&(t=n.height,n.height=null,t=Dr(n)-t)&&rn(e,e.height+t)})},Hi.prototype.attachLine=function(e){var t;this.lines.length||!this.doc.cm||(t=this.doc.cm.curOp).maybeHiddenMarkers&&-1!=w(t.maybeHiddenMarkers,this)||(t.maybeUnhiddenMarkers||(t.maybeUnhiddenMarkers=[])).push(this),this.lines.push(e)},Hi.prototype.detachLine=function(e){this.lines.splice(w(this.lines,e),1),!this.lines.length&&this.doc.cm&&((e=this.doc.cm.curOp).maybeHiddenMarkers||(e.maybeHiddenMarkers=[])).push(this)},0),Fi=u.SharedTextMarker=function(e,t){this.markers=e,this.primary=t;for(var r=0;r<e.length;++r)e[r].parent=this},ji=(wn(Fi),Fi.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var e=0;e<this.markers.length;++e)this.markers[e].clear();b(this,"clear")}},Fi.prototype.find=function(e,t){return this.primary.find(e,t)},u.LineWidget=function(e,t,r){if(r)for(var n in r)r.hasOwnProperty(n)&&(this[n]=r[n]);this.cm=e,this.node=t}),Bi=(wn(ji),ji.prototype.clear=function(){var e=this.cm,t=this.line.widgets,r=this.line,n=h(r);if(null!=n&&t){for(var i=0;i<t.length;++i)t[i]==this&&t.splice(i--,1);t.length||(r.widgets=null);var o=Dr(this);gt(e,function(){zr(e,r,-o),_t(e,n,"widget"),rn(r,Math.max(0,r.height-o))})}},ji.prototype.changed=function(){var e=this.height,t=this.cm,r=this.line,n=(this.height=null,Dr(this)-e);n&&gt(t,function(){t.curOp.forceUpdate=!0,zr(t,r,n),rn(r,r.height+n)})},u.Line=function(e,t,r){this.text=e,kr(this,t),this.height=r?r(this):1}),Ui=(wn(Bi),Bi.prototype.lineNo=function(){return h(this)},{}),Gi={},Vi=(Yr.prototype={chunkSize:function(){return this.lines.length},removeInner:function(e,t){for(var r,n=e,i=e+t;n<i;++n){var o=this.lines[n];this.height-=o.height,(r=o).parent=null,wr(r),b(o,"delete")}this.lines.splice(e,t)},collapse:function(e){e.push.apply(e,this.lines)},insertInner:function(e,t,r){this.height+=r,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var n=0;n<t.length;++n)t[n].parent=this},iterN:function(e,t,r){for(var n=e+t;e<n;++e)if(r(this.lines[e]))return!0}},Zr.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){this.size-=t;for(var r,n=0;n<this.children.length;++n){var i=this.children[n],o=i.chunkSize();if(e<o){var l=Math.min(t,o-e),a=i.height;if(i.removeInner(e,l),this.height-=a-i.height,o==l&&(this.children.splice(n--,1),i.parent=null),0==(t-=l))break;e=0}else e-=o}this.size-t<25&&(1<this.children.length||!(this.children[0]instanceof Yr))&&(this.collapse(r=[]),this.children=[new Yr(r)],this.children[0].parent=this)},collapse:function(e){for(var t=0;t<this.children.length;++t)this.children[t].collapse(e)},insertInner:function(e,t,r){this.size+=t.length,this.height+=r;for(var n=0;n<this.children.length;++n){var i=this.children[n],o=i.chunkSize();if(e<=o){if(i.insertInner(e,t,r),i.lines&&50<i.lines.length){for(;50<i.lines.length;){var l=new Yr(i.lines.splice(i.lines.length-25,25));i.height-=l.height,this.children.splice(n+1,0,l),l.parent=this}this.maybeSpill()}break}e-=o}},maybeSpill:function(){if(!(this.children.length<=10)){var e=this;do{var t,r=new Zr(e.children.splice(e.children.length-5,5))}while(e.parent?(e.size-=r.size,e.height-=r.height,t=w(e.parent.children,e),e.parent.children.splice(t+1,0,r)):(((t=new Zr(e.children)).parent=e).children=[t,r],e=t),r.parent=e.parent,10<e.children.length);e.parent.maybeSpill()}},iterN:function(e,t,r){for(var n=0;n<this.children.length;++n){var i=this.children[n],o=i.chunkSize();if(e<o){var l=Math.min(t,o-e);if(i.iterN(e,l,r))return!0;if(0==(t-=l))break;e=0}else e-=o}}},0),d=u.Doc=function(e,t,r){if(!(this instanceof d))return new d(e,t,r);null==r&&(r=0),Zr.call(this,[new Yr([new Bi("",null)])]),this.first=r,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.frontier=r;r=V(r,0);this.sel=Ce(r),this.history=new an(null),this.id=++Vi,this.modeOption=t,Xr(this,{from:r,to:r,text:e="string"==typeof e?vo(e):e}),D(this,Ce(r),to)},Ki=(d.prototype=Mn(Zr.prototype,{constructor:d,iter:function(e,t,r){r?this.iterN(e-this.first,t-e,r):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){for(var r=0,n=0;n<t.length;++n)r+=t[n].height;this.insertInner(e-this.first,t,r)},remove:function(e,t){this.removeInner(e-this.first,t)},getValue:function(e){var t=tn(this,this.first,this.first+this.size);return!1===e?t:t.join(e||"\n")},setValue:t(function(e){var t=V(this.first,0),r=this.first+this.size-1;Qt(this,{from:t,to:V(r,H(this,r).text.length),text:vo(e),origin:"setValue"},!0),D(this,Ce(t))}),replaceRange:function(e,t,r,n){nr(this,e,t=z(this,t),r=r?z(this,r):t,n)},getRange:function(e,t,r){e=en(this,z(this,e),z(this,t));return!1===r?e:e.join(r||"\n")},getLine:function(e){e=this.getLineHandle(e);return e&&e.text},getLineHandle:function(e){return Le(this,e)?H(this,e):void 0},getLineNumber:h,getLineHandleVisualStart:function(e){return _(e="number"==typeof e?H(this,e):e)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(e){return z(this,e)},getCursor:function(e){var t=this.sel.primary();return null==e||"head"==e?t.head:"anchor"==e?t.anchor:"end"==e||"to"==e||!1===e?t.to():t.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:t(function(e,t,r){Ne(this,z(this,"number"==typeof e?V(e,t||0):e),null,r)}),setSelection:t(function(e,t,r){Ne(this,z(this,e),z(this,t||e),r)}),extendSelection:t(function(e,t,r){Te(this,z(this,e),t&&z(this,t),r)}),extendSelections:t(function(e,t){Ae(this,((e,t)=>{for(var r=[],n=0;n<t.length;n++)r[n]=z(e,t[n]);return r})(this,e))}),extendSelectionsBy:t(function(e,t){Ae(this,Ln(this.sel.ranges,e),t)}),setSelections:t(function(e,t,r){if(e.length){for(var n=0,i=[];n<e.length;n++)i[n]=new O(z(this,e[n].anchor),z(this,e[n].head));D(this,I(i,t=null==t?Math.min(e.length-1,this.sel.primIndex):t),r)}}),addSelection:t(function(e,t,r){var n=this.sel.ranges.slice(0);n.push(new O(z(this,e),z(this,t||e))),D(this,I(n,n.length-1),r)}),getSelection:function(e){for(var t=this.sel.ranges,r=0;r<t.length;r++)var n=en(this,t[r].from(),t[r].to()),i=i?i.concat(n):n;return!1===e?i:i.join(e||"\n")},getSelections:function(e){for(var t=[],r=this.sel.ranges,n=0;n<r.length;n++){var i=en(this,r[n].from(),r[n].to());!1!==e&&(i=i.join(e||"\n")),t[n]=i}return t},replaceSelection:function(e,t,r){for(var n=[],i=0;i<this.sel.ranges.length;i++)n[i]=e;this.replaceSelections(n,t,r||"+input")},replaceSelections:t(function(e,t,r){for(var n=[],i=this.sel,o=0;o<i.ranges.length;o++){var l=i.ranges[o];n[o]={from:l.from(),to:l.to(),text:vo(e[o]),origin:r}}for(t=t&&"end"!=t&&((e,t,r)=>{for(var n=[],i=c=V(e.first,0),o=0;o<t.length;o++){var l=t[o],a=Yt(l.from,c,i),s=Yt(ki(l),c,i),c=l.to,i=s;"around"==r?(l=e.sel.ranges[o],l=K(l.head,l.anchor)<0,n[o]=new O(l?s:a,l?a:s)):n[o]=new O(a,a)}return new ke(n,e.sel.primIndex)})(this,n,t),o=n.length-1;0<=o;o--)Qt(this,n[o]);t?Oe(this,t):this.cm&&lr(this.cm)}),undo:t(function(){er(this,"undo")}),redo:t(function(){er(this,"redo")}),undoSelection:t(function(){er(this,"undo",!0)}),redoSelection:t(function(){er(this,"redo",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,r=0,n=0;n<e.done.length;n++)e.done[n].ranges||++t;for(n=0;n<e.undone.length;n++)e.undone[n].ranges||++r;return{undo:t,redo:r}},clearHistory:function(){this.history=new an(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(e){return e&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(e){return this.history.generation==(e||this.cleanGeneration)},getHistory:function(){return{done:hn(this.history.done),undone:hn(this.history.undone)}},setHistory:function(e){var t=this.history=new an(this.history.maxGeneration);t.done=hn(e.done.slice(0),null,!0),t.undone=hn(e.undone.slice(0),null,!0)},addLineClass:t(function(e,r,n){return cr(this,e,"gutter"==r?"gutter":"class",function(e){var t="text"==r?"textClass":"background"==r?"bgClass":"gutter"==r?"gutterClass":"wrapClass";if(e[t]){if(Wn(n).test(e[t]))return;e[t]+=" "+n}else e[t]=n;return 1})}),removeLineClass:t(function(e,o,l){return cr(this,e,"gutter"==o?"gutter":"class",function(e){var t="text"==o?"textClass":"background"==o?"bgClass":"gutter"==o?"gutterClass":"wrapClass",r=e[t];if(r){if(null==l)e[t]=null;else{var n=r.match(Wn(l));if(!n)return;var i=n.index+n[0].length;e[t]=r.slice(0,n.index)+(n.index&&i!=r.length?" ":"")+r.slice(i)||null}return 1}})}),markText:function(e,t,r){return mr(this,z(this,e),z(this,t),r,"range")},setBookmark:function(e,t){t={replacedWith:t&&(null==t.nodeType?t.widget:t),insertLeft:t&&t.insertLeft,clearWhenEmpty:!1,shared:t&&t.shared};return mr(this,e=z(this,e),e,t,"bookmark")},findMarksAt:function(e){var t=[],r=H(this,(e=z(this,e)).line).markedSpans;if(r)for(var n=0;n<r.length;++n){var i=r[n];(null==i.from||i.from<=e.ch)&&(null==i.to||i.to>=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(i,o,l){i=z(this,i),o=z(this,o);var a=[],s=i.line;return this.iter(i.line,o.line+1,function(e){var t=e.markedSpans;if(t)for(var r=0;r<t.length;r++){var n=t[r];s==i.line&&i.ch>n.to||null==n.from&&s!=i.line||s==o.line&&n.from>o.ch||l&&!l(n.marker)||a.push(n.marker.parent||n.marker)}++s}),a},getAllMarks:function(){var n=[];return this.iter(function(e){var t=e.markedSpans;if(t)for(var r=0;r<t.length;++r)null!=t[r].from&&n.push(t[r].marker)}),n},posFromIndex:function(t){var r,n=this.first;return this.iter(function(e){e=e.text.length+1;return t<e?(r=t,!0):(t-=e,void++n)}),z(this,V(n,r))},indexFromPos:function(e){var t=(e=z(this,e)).ch;return e.line<this.first||e.ch<0?0:(this.iter(this.first,e.line,function(e){t+=e.text.length+1}),t)},copy:function(e){var t=new d(tn(this,this.first,this.first+this.size),this.modeOption,this.first);return t.scrollTop=this.scrollTop,t.scrollLeft=this.scrollLeft,t.sel=this.sel,t.extend=!1,e&&(t.history.undoDepth=this.history.undoDepth,t.setHistory(this.getHistory())),t},linkedDoc:function(e){for(var t=this.first,r=this.first+this.size,r=(null!=(e=e||{}).from&&e.from>t&&(t=e.from),null!=e.to&&e.to<r&&(r=e.to),new d(tn(this,t,r),e.mode||this.modeOption,t)),n=(e.sharedHist&&(r.history=this.history),(this.linked||(this.linked=[])).push({doc:r,sharedHist:e.sharedHist}),r.linked=[{doc:this,isParent:!0,sharedHist:e.sharedHist}],r),i=gr(this),o=0;o<i.length;o++){var l=i[o],a=l.find(),s=n.clipPos(a.from),a=n.clipPos(a.to);K(s,a)&&(s=mr(n,s,a,l.primary,l.primary.type),l.markers.push(s),s.parent=l)}return r},unlinkDoc:function(e){if(e instanceof u&&(e=e.doc),this.linked)for(var t=0;t<this.linked.length;++t)if(this.linked[t].doc==e){this.linked.splice(t,1),e.unlinkDoc(this),(e=>{for(var t=0;t<e.length;t++){var r=e[t],n=[r.primary.doc];Qr(r.primary.doc,function(e){n.push(e)});for(var i=0;i<r.markers.length;i++){var o=r.markers[i];-1==w(n,o.doc)&&(o.parent=null,r.markers.splice(i--,1))}}})(gr(this));break}var r;e.history==this.history&&(r=[e.id],Qr(e,function(e){r.push(e.id)},!0),e.history=new an(null),e.history.done=hn(this.history.done,r),e.history.undone=hn(this.history.undone,r))},iterLinkedDocs:function(e){Qr(this,e)},getMode:function(){return this.mode},getEditor:function(){return this.cm}}),d.prototype.eachLine=d.prototype.iter,"iter insert remove copy getEditor".split(" "));for(hi in d.prototype)d.prototype.hasOwnProperty(hi)&&w(Ki,hi)<0&&(u.prototype[hi]=(e=>function(){return e.apply(this.doc,arguments)})(d.prototype[hi]));wn(d);var X=u.e_preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},Xi=u.e_stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},Yi=u.e_stop=function(e){X(e),Xi(e)},Y=u.on=function(e,t,r){e.addEventListener?e.addEventListener(t,r,!1):e.attachEvent?e.attachEvent("on"+t,r):((e=e._handlers||(e._handlers={}))[t]||(e[t]=[])).push(r)},Zi=u.off=function(e,t,r){if(e.removeEventListener)e.removeEventListener(t,r,!1);else if(e.detachEvent)e.detachEvent("on"+t,r);else{var n=e._handlers&&e._handlers[t];if(n)for(var i=0;i<n.length;++i)if(n[i]==r){n.splice(i,1);break}}},Z=u.signal=function(e,t){var r=e._handlers&&e._handlers[t];if(r)for(var n=Array.prototype.slice.call(arguments,2),i=0;i<r.length;++i)r[i].apply(null,n)},Qi=null,Ji=30,eo=u.Pass={toString:function(){return"CodeMirror.Pass"}},to={scroll:!1},ro={origin:"*mouse"},no={origin:"+move"},Q=(kn.prototype.set=function(e,t){clearTimeout(this.id),this.id=setTimeout(t,e)},u.countColumn=function(e,t,r,n,i){null==t&&-1==(t=e.search(/[^\s\u00a0]/))&&(t=e.length);for(var o=n||0,l=i||0;;){var a=e.indexOf("\t",o);if(a<0||t<=a)return l+(t-o);l=(l+=a-o)+(r-l%r),o=a+1}}),io=[""],oo=function(e){e.select()};ri?oo=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:j&&(oo=function(e){try{e.select()}catch(e){}}),[].indexOf&&(w=function(e,t){return e.indexOf(t)}),[].map&&(Ln=function(e,t){return e.map(t)});var lo=/[\u00df\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,ao=u.isWordChar=function(e){return/\w/.test(e)||""<e&&(e.toUpperCase()!=e.toLowerCase()||lo.test(e))},so=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/,co=document.createRange?function(e,t,r){var n=document.createRange();return n.setEnd(e,r),n.setStart(e,t),n}:function(e,t,r){var n=document.body.createTextRange();try{n.moveToElementText(e.parentNode)}catch(e){return n}return n.collapse(!0),n.moveEnd("character",r),n.moveStart("character",t),n};j&&B<11&&(Dn=function(){try{return document.activeElement}catch(e){return document.body}});var uo,fo,ho=u.rmClass=function(e,t){var r,n=e.className,t=Wn(t).exec(n);t&&(r=n.slice(t.index+t[0].length),e.className=n.slice(0,t.index)+(r?t[1]+r:""))},po=u.addClass=function(e,t){var r=e.className;Wn(t).test(r)||(e.className+=(r?" ":"")+t)},mo=!1,go=!(j&&B<9)&&("draggable"in(Yn=F("div"))||"dragDrop"in Yn),vo=u.splitLines=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,r=[],n=e.length;t<=n;){var i=e.indexOf("\n",t),o=(-1==i&&(i=e.length),e.slice(t,"\r"==e.charAt(i-1)?i-1:i)),l=o.indexOf("\r");-1!=l?(r.push(o.slice(0,l)),t+=l+1):(r.push(o),t=i+1)}return r}:function(e){return e.split(/\r\n?|\n/)},yo=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){try{var t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints("StartToEnd",t)},_o="oncopy"in(oi=F("div"))||(oi.setAttribute("oncopy","return;"),"function"==typeof oi.oncopy),bo=null,xo={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",107:"=",109:"-",127:"Delete",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"};u.keyNames=xo;for(var n=0;n<10;n++)xo[n+48]=xo[n+96]=String(n);for(n=65;n<=90;n++)xo[n]=String.fromCharCode(n);for(n=1;n<=12;n++)xo[n+111]=xo[n+63235]="F"+n;ko=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,Co=/[stwN]/,So=/[LRr]/,Lo=/[Lb1n]/,Mo=/[1n]/;var wo,ko,Co,So,Lo,Mo,To=function(e){if(!ko.test(e))return!1;for(var t,r=e.length,n=[],i=0;i<r;++i)n.push(u=(t=e.charCodeAt(i))<=247?"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN".charAt(t):1424<=t&&t<=1524?"R":1536<=t&&t<=1773?"rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm".charAt(t-1536):1774<=t&&t<=2220?"r":8192<=t&&t<=8203?"w":8204==t?"b":"L");for(var i=0,o="L";i<r;++i)"m"==(u=n[i])?n[i]=o:o=u;for(var i=0,l="L";i<r;++i)"1"==(u=n[i])&&"r"==l?n[i]="n":So.test(u)&&"r"==(l=u)&&(n[i]="R");for(i=1,o=n[0];i<r-1;++i)"+"==(u=n[i])&&"1"==o&&"1"==n[i+1]?n[i]="1":","!=u||o!=n[i+1]||"1"!=o&&"n"!=o||(n[i]=o),o=u;for(i=0;i<r;++i)if(","==(u=n[i]))n[i]="N";else if("%"==u){for(var a=i+1;a<r&&"%"==n[a];++a);for(var s=i&&"!"==n[i-1]||a<r&&"1"==n[a]?"1":"N",c=i;c<a;++c)n[c]=s;i=a-1}for(i=0,l="L";i<r;++i){var u=n[i];"L"==l&&"1"==u?n[i]="L":So.test(u)&&(l=u)}for(i=0;i<r;++i)if(Co.test(n[i])){for(a=i+1;a<r&&Co.test(n[a]);++a);for(s="L"==(i?n[i-1]:"L")||"L"==(a<r?n[a]:"L")?"L":"R",c=i;c<a;++c)n[c]=s;i=a-1}for(var d,f=[],i=0;i<r;)if(Lo.test(n[i])){var h=i;for(++i;i<r&&Lo.test(n[i]);++i);f.push(new Ao(0,h,i))}else{var p=i,m=f.length;for(++i;i<r&&"L"!=n[i];++i);for(c=p;c<i;)if(Mo.test(n[c])){p<c&&f.splice(m,0,new Ao(1,p,c));var g=c;for(++c;c<i&&Mo.test(n[c]);++c);f.splice(m,0,new Ao(2,g,c)),p=c}else++c;p<i&&f.splice(m,0,new Ao(1,p,i))}return 1==f[0].level&&(d=e.match(/^\s+/))&&(f[0].from=d[0].length,f.unshift(new Ao(0,0,d[0].length))),1==x(f).level&&(d=e.match(/\s+$/))&&(x(f).to-=d[0].length,f.push(new Ao(0,r-d[0].length,r))),f[0].level!=x(f).level&&f.push(new Ao(f[0].level,r,r)),f};function Ao(e,t,r){this.level=e,this.from=t,this.to=r}return u.version="4.10.0",u}),(e=>{"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)})(function(b){function e(e){for(var t={},r=e.split(" "),n=0;n<r.length;++n)t[r[n]]=!0;return t}function r(e,t){if(!t.startOfLine)return!1;for(;;){if(!e.skipTo("\\")){e.skipToEnd(),t.tokenize=null;break}if(e.next(),e.eol()){t.tokenize=r;break}}return"meta"}function t(e,t){var r;return e.backUp(1),e.match(/(R|u8R|uR|UR|LR)/)?!!(r=e.match(/"([^\s\\()]{0,16})\(/))&&(t.cpp11RawStringDelim=r[1],(t.tokenize=i)(e,t)):e.match(/(u8|u|U|L)/)?!!e.match(/["']/,!1)&&"string":(e.next(),!1)}function n(e,t){for(var r;null!=(r=e.next());)if('"'==r&&!e.eat('"')){t.tokenize=null;break}return"string"}function i(e,t){var r=t.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&");return e.match(new RegExp(".*?\\)"+r+'"'))?t.tokenize=null:e.skipToEnd(),"string"}function o(e,t){function r(e){if(e)for(var t in e)e.hasOwnProperty(t)&&n.push(t)}"string"==typeof e&&(e=[e]);var n=[];r(t.keywords),r(t.builtin),r(t.atoms),n.length&&(t.helperType=e[0],b.registerHelper("hintWords",e[0],n));for(var i=0;i<e.length;++i)b.defineMIME(e[i],t)}function l(e,t){for(var r=!1;!e.eol();){if(!r&&e.match('"""')){t.tokenize=null;break}r="\\"!=e.next()&&!r}return"string"}b.defineMode("clike",function(e,t){function i(e,t){var o,r=e.next();if(g[r]){var n=g[r](e,t);if(!1!==n)return n}if('"'==r||"'"==r)return t.tokenize=(o=r,function(e,t){for(var r,n=!1,i=!1;null!=(r=e.next());){if(r==o&&!n){i=!0;break}n=!n&&"\\"==r}return!i&&(n||v)||(t.tokenize=null),"string"}),t.tokenize(e,t);if(/[\[\]{}\(\),;\:\.]/.test(r))return c=r,null;if(/\d/.test(r))return e.eatWhile(/[\w\.]/),"number";if("/"==r){if(e.eat("*"))return(t.tokenize=l)(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(_.test(r))return e.eatWhile(_),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);n=e.current();return f.propertyIsEnumerable(n)?(p.propertyIsEnumerable(n)&&(c="newstatement"),"keyword"):h.propertyIsEnumerable(n)?(p.propertyIsEnumerable(n)&&(c="newstatement"),"builtin"):m.propertyIsEnumerable(n)?"atom":"variable"}function l(e,t){for(var r,n=!1;r=e.next();){if("/"==r&&n){t.tokenize=null;break}n="*"==r}return"comment"}function o(e,t,r,n,i){this.indented=e,this.column=t,this.type=r,this.align=n,this.prev=i}function a(e,t,r){var n=e.indented;e.context&&"statement"==e.context.type&&(n=e.context.indented),e.context=new o(n,t,r,null,e.context)}function s(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}var c,n=e.indentUnit,u=t.statementIndentUnit||n,d=t.dontAlignCalls,f=t.keywords||{},h=t.builtin||{},p=t.blockKeywords||{},m=t.atoms||{},g=t.hooks||{},v=t.multiLineStrings,y=!1!==t.indentStatements,_=/[+\-*&%=<>!?|\/]/;return{startState:function(e){return{tokenize:null,context:new o((e||0)-n,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var r=t.context;if(e.sol()&&(null==r.align&&(r.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;c=null;var n=(t.tokenize||i)(e,t);if("comment"!=n&&"meta"!=n){if(null==r.align&&(r.align=!0),";"!=c&&":"!=c&&","!=c||"statement"!=r.type)if("{"==c)a(t,e.column(),"}");else if("["==c)a(t,e.column(),"]");else if("("==c)a(t,e.column(),")");else if("}"==c){for(;"statement"==r.type;)r=s(t);for("}"==r.type&&(r=s(t));"statement"==r.type;)r=s(t)}else c==r.type?s(t):y&&(("}"==r.type||"top"==r.type)&&";"!=c||"statement"==r.type&&"newstatement"==c)&&a(t,e.column(),"statement");else s(t);t.startOfLine=!1}return n},indent:function(e,t){var r;return e.tokenize!=i&&null!=e.tokenize?b.Pass:(e=e.context,r=(t=t&&t.charAt(0))==(e="statement"==e.type&&"}"==t?e.prev:e).type,"statement"==e.type?e.indented+("{"==t?0:u):!e.align||d&&")"==e.type?")"!=e.type||r?e.indented+(r?0:n):e.indented+u:e.column+(r?0:1))},electricChars:"{}",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"brace"}});var a="auto if break int case long char register continue return default short do sizeof double static else struct entry switch extern typedef float union for unsigned goto while enum void const signed volatile";o(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:e(a),blockKeywords:e("case do else for if switch while struct"),atoms:e("null"),hooks:{"#":r},modeProps:{fold:["brace","include"]}}),o(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:e(a+" asm dynamic_cast namespace reinterpret_cast try bool explicit new static_cast typeid catch operator template typename class friend private this using const_cast inline public throw virtual delete mutable protected wchar_t alignas alignof constexpr decltype nullptr noexcept thread_local final static_assert override"),blockKeywords:e("catch class do else finally for if struct switch try while"),atoms:e("true false null"),hooks:{"#":r,u:t,U:t,L:t,R:t},modeProps:{fold:["brace","include"]}}),o("text/x-java",{name:"clike",keywords:e("abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while"),blockKeywords:e("catch class do else finally for if switch try while"),atoms:e("true false null"),hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"}},modeProps:{fold:["brace","import"]}}),o("text/x-csharp",{name:"clike",keywords:e("abstract as base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),blockKeywords:e("catch class do else finally for foreach if struct switch try while"),builtin:e("Boolean Byte Char DateTime DateTimeOffset Decimal Double Guid Int16 Int32 Int64 Object SByte Single String TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),atoms:e("true false null"),hooks:{"@":function(e,t){return e.eat('"')?(t.tokenize=n)(e,t):(e.eatWhile(/[\w\$_]/),"meta")}}}),o("text/x-scala",{name:"clike",keywords:e("abstract case catch class def do else extends false final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try trye type val var while with yield _ : = => <- <: <% >: # @ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector :: #:: Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:e("catch class do else finally for forSome if match switch try while"),atoms:e("true false null"),indentStatements:!1,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,t){return!!e.match('""')&&(t.tokenize=l,t.tokenize(e,t))}}}),o(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:e("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4 sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadowconst attribute uniform varying break continue discard return for while do if else struct in out inout"),blockKeywords:e("for while do if else struct"),builtin:e("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smootstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:e("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragColor gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),hooks:{"#":r},modeProps:{fold:["brace","include"]}}),o("text/x-nesc",{name:"clike",keywords:e(a+"as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),blockKeywords:e("case do else for if switch while struct"),atoms:e("null"),hooks:{"#":r},modeProps:{fold:["brace","include"]}}),o("text/x-objectivec",{name:"clike",keywords:e(a+"inline restrict _Bool _Complex _Imaginery BOOL Class bycopy byref id IMP in inout nil oneway out Protocol SEL self super atomic nonatomic retain copy readwrite readonly"),atoms:e("YES NO NULL NILL ON OFF"),hooks:{"@":function(e){return e.eatWhile(/[\w\$]/),"keyword"},"#":r},modeProps:{fold:"brace"}})}),(e=>{"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),require("../xml/xml"),require("../javascript/javascript"),require("../css/css")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../xml/xml","../javascript/javascript","../css/css"],e):e(CodeMirror)})(function(f){f.defineMode("htmlmixed",function(e,t){function r(e,t){var r=(r=t.htmlState.tagName)&&r.toLowerCase(),n=c.token(e,t.htmlState);if("script"==r&&/\btag\b/.test(n)&&">"==e.current()){var i=e.string.slice(Math.max(0,e.pos-100),e.pos).match(/\btype\s*=\s*("[^"]+"|'[^']+'|\S+)[^<]*$/i);(i=i?i[1]:"")&&/[\"\']/.test(i.charAt(0))&&(i=i.slice(1,i.length-1));for(var o=0;o<d.length;++o){var l=d[o];if("string"==typeof l.matches?i==l.matches:l.matches.test(i)){l.mode&&(t.token=a,t.localMode=l.mode,t.localState=l.mode.startState&&l.mode.startState(c.indent(t.htmlState,"")));break}}}else"style"==r&&/\btag\b/.test(n)&&">"==e.current()&&(t.token=s,t.localMode=u,t.localState=u.startState(c.indent(t.htmlState,"")));return n}function n(e,t,r){var n=e.current(),i=n.search(t);return-1<i?e.backUp(n.length-i):n.match(/<\/?$/)&&(e.backUp(n.length),e.match(t,!1)||e.match(n)),r}function a(e,t){return e.match(/^<\/\s*script\s*>/i,!1)?(t.token=r,t.localState=t.localMode=null):n(e,/<\/\s*script\s*>/,t.localMode.token(e,t.localState))}function s(e,t){return e.match(/^<\/\s*style\s*>/i,!1)?(t.token=r,t.localState=t.localMode=null):n(e,/<\/\s*style\s*>/,u.token(e,t.localState))}var c=f.getMode(e,{name:"xml",htmlMode:!0,multilineTagIndentFactor:t.multilineTagIndentFactor,multilineTagIndentPastTag:t.multilineTagIndentPastTag}),u=f.getMode(e,"css"),d=[],i=t&&t.scriptTypes;if(d.push({matches:/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^$/i,mode:f.getMode(e,"javascript")}),i)for(var o=0;o<i.length;++o){var l=i[o];d.push({matches:l.matches,mode:l.mode&&f.getMode(e,l.mode)})}return d.push({matches:/./,mode:f.getMode(e,"text/plain")}),{startState:function(){return{token:r,localMode:null,localState:null,htmlState:c.startState()}},copyState:function(e){var t;return e.localState&&(t=f.copyState(e.localMode,e.localState)),{token:e.token,localMode:e.localMode,localState:t,htmlState:f.copyState(c,e.htmlState)}},token:function(e,t){return t.token(e,t)},indent:function(e,t){return!e.localMode||/^\s*<\//.test(t)?c.indent(e.htmlState,t):e.localMode.indent?e.localMode.indent(e.localState,t):f.Pass},innerMode:function(e){return{state:e.localState||e.htmlState,mode:e.localMode||c}}}},"xml","javascript","css"),f.defineMIME("text/html","htmlmixed")}),(e=>{"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)})(function(Se){Se.defineMode("javascript",function(e,s){function o(e,t,r){return O=e,I=r,t}function c(e,t){var i,r=e.next();return'"'==r||"'"==r?(t.tokenize=(i=r,function(e,t){var r,n=!1;if(D&&"@"==e.peek()&&e.match(xe))return t.tokenize=c,o("jsonld-keyword","meta");for(;null!=(r=e.next())&&(r!=i||n);)n=!n&&"\\"==r;return n||(t.tokenize=c),o("string","string")}),t.tokenize(e,t)):"."==r&&e.match(/^\d+(?:[eE][+\-]?\d+)?/)?o("number","number"):"."==r&&e.match("..")?o("spread","meta"):/[\[\]{}\(\),;\:\.]/.test(r)?o(r):"="==r&&e.eat(">")?o("=>","operator"):"0"==r&&e.eat(/x/i)?(e.eatWhile(/[\da-f]/i),o("number","number")):/\d/.test(r)?(e.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),o("number","number")):"/"==r?e.eat("*")?(t.tokenize=u)(e,t):e.eat("/")?(e.skipToEnd(),o("comment","comment")):"operator"==t.lastType||"keyword c"==t.lastType||"sof"==t.lastType||/^[\[{}\(,;:]$/.test(t.lastType)?((e=>{for(var t,r=!1,n=!1;null!=(t=e.next());){if(!r){if("/"==t&&!n)return;"["==t?n=!0:n&&"]"==t&&(n=!1)}r=!r&&"\\"==t}})(e),e.eatWhile(/[gimy]/),o("regexp","string-2")):(e.eatWhile(be),o("operator","operator",e.current())):"`"==r?(t.tokenize=R)(e,t):"#"==r?(e.skipToEnd(),o("error","error")):be.test(r)?(e.eatWhile(be),o("operator","operator",e.current())):ye.test(r)?(e.eatWhile(ye),r=e.current(),(e=_e.propertyIsEnumerable(r)&&_e[r])&&"."!=t.lastType?o(e.type,e.style,r):o("variable","variable",r)):void 0}function u(e,t){for(var r,n=!1;r=e.next();){if("/"==r&&n){t.tokenize=c;break}n="*"==r}return o("comment","comment")}function R(e,t){for(var r,n=!1;null!=(r=e.next());){if(!n&&("`"==r||"$"==r&&e.eat("{"))){t.tokenize=c;break}n=!n&&"\\"==r}return o("quasi","string-2",e.current())}function n(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var r=e.string.indexOf("=>",e.start);if(!(r<0)){for(var n=0,i=!1,o=r-1;0<=o;--o){var l=e.string.charAt(o),a=we.indexOf(l);if(0<=a&&a<3){if(!n){++o;break}if(0==--n)break}else if(3<=a&&a<6)++n;else if(ye.test(l))i=!0;else{if(/["'\/]/.test(l))return;if(i&&!n){++o;break}}}i&&!n&&(t.fatArrowAt=o)}}function P(e,t,r,n,i,o){this.indented=e,this.column=t,this.type=r,this.prev=i,this.info=o,null!=n&&(this.align=n)}function H(e,t,r,n,i){var o=e.cc;for(q.state=e,q.stream=i,q.marked=null,q.cc=o,q.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;)if((o.length?o.pop():W?v:g)(r,n)){for(;o.length&&o[o.length-1].lex;)o.pop()();return q.marked||("variable"==r&&((e,t)=>{for(var r=e.localVars;r;r=r.next)if(r.name==t)return 1;for(var n=e.context;n;n=n.prev)for(r=n.vars;r;r=r.next)if(r.name==t)return 1})(e,n)?"variable-2":t)}}function l(){for(var e=arguments.length-1;0<=e;e--)q.cc.push(arguments[e])}function a(){return l.apply(null,arguments),!0}function r(r){function e(e){for(var t=e;t;t=t.next)if(t.name==r)return 1}var t=q.state;t.context?(q.marked="def",e(t.localVars)||(t.localVars={name:r,next:t.localVars})):e(t.globalVars)||s.globalVars&&(t.globalVars={name:r,next:t.globalVars})}function d(){q.state.context={prev:q.state.context,vars:q.state.localVars},q.state.localVars=Ce}function f(){q.state.localVars=q.state.context.vars,q.state.context=q.state.context.prev}function h(n,i){function e(){var e=q.state,t=e.indented;if("stat"==e.lexical.type)t=e.lexical.indented;else for(var r=e.lexical;r&&")"==r.type&&r.align;r=r.prev)t=r.indented;e.lexical=new P(t,q.stream.column(),n,null,e.lexical,i)}return e.lex=!0,e}function p(){var e=q.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function m(r){return function e(t){return t==r?a():";"==r?l():a(e)}}function g(e,t){return"var"==e?a(h("vardef",t.length),L,m(";"),p):"keyword a"==e?a(h("form"),v,g,p):"keyword b"==e?a(h("form"),g,p):"{"==e?a(h("}"),S,p):";"==e?a():"if"==e?("else"==q.state.lexical.info&&q.state.cc[q.state.cc.length-1]==p&&q.state.cc.pop()(),a(h("form"),v,g,p,ee)):"function"==e?a(A):"for"==e?a(h("form"),te,g,p):"variable"==e?a(h("stat"),U):"switch"==e?a(h("form"),v,h("}","switch"),m("{"),S,p,p):"case"==e?a(v,m(":")):"default"==e?a(m(":")):"catch"==e?a(h("form"),d,m("("),oe,m(")"),g,p,f):"module"==e?a(h("form"),d,ce,f,p):"class"==e?a(h("form"),le,p):"export"==e?a(h("form"),ue,p):"import"==e?a(h("form"),de,p):l(h("stat"),v,m(";"),p)}function v(e){return t(e,!1)}function y(e){return t(e,!0)}function t(e,t){if(q.state.fatArrowAt==q.stream.start){var r=t?B:j;if("("==e)return a(d,h(")"),k(M,")"),p,m("=>"),r,f);if("variable"==e)return l(d,M,m("=>"),r,f)}r=t?x:b;return ke.hasOwnProperty(e)?a(r):"function"==e?a(A,r):"keyword c"==e?a(t?$:_):"("==e?a(h(")"),_,N,m(")"),p,r):"operator"==e||"spread"==e?a(t?y:v):"["==e?a(h("]"),pe,p,r):"{"==e?C(V,"}",null,r):"quasi"==e?l(w,r):a()}function _(e){return e.match(/[;\}\)\],]/)?l():l(v)}function $(e){return e.match(/[;\}\)\],]/)?l():l(y)}function b(e,t){return","==e?a(v):x(e,t,!1)}function x(e,t,r){var n=0==r?b:x,i=0==r?v:y;return"=>"==e?a(d,r?B:j,f):"operator"==e?/\+\+|--/.test(t)?a(n):"?"==t?a(v,m(":"),i):a(i):"quasi"==e?l(w,n):";"!=e?"("==e?C(y,")","call",n):"."==e?a(G,n):"["==e?a(h("]"),_,m("]"),p,n):void 0:void 0}function w(e,t){return"quasi"!=e?l():"${"!=t.slice(t.length-2)?a(w):a(v,F)}function F(e){return"}"==e?(q.marked="string-2",q.state.tokenize=R,a(w)):void 0}function j(e){return n(q.stream,q.state),l("{"==e?g:v)}function B(e){return n(q.stream,q.state),l("{"==e?g:y)}function U(e){return":"==e?a(p,g):l(b,m(";"),p)}function G(e){return"variable"==e?(q.marked="property",a()):void 0}function V(e,t){return"variable"==e||"keyword"==q.style?(q.marked="property",a("get"==t||"set"==t?K:i)):"number"==e||"string"==e?(q.marked=D?"property":q.style+" property",a(i)):"jsonld-keyword"==e?a(i):"["==e?a(v,m("]"),i):void 0}function K(e){return"variable"!=e?l(i):(q.marked="property",a(A))}function i(e){return":"==e?a(y):"("==e?l(A):void 0}function k(r,n){function i(e){var t;return","==e?("call"==(t=q.state.lexical).info&&(t.pos=(t.pos||0)+1),a(r,i)):e==n?a():a(m(n))}return function(e){return e==n?a():l(r,i)}}function C(e,t,r){for(var n=3;n<arguments.length;n++)q.cc.push(arguments[n]);return a(h(t,r),k(e,t),p)}function S(e){return"}"==e?a():l(g,S)}function X(e){return ve&&":"==e?a(Y):void 0}function Y(e){return"variable"==e?(q.marked="variable-3",a()):void 0}function L(){return l(M,X,Q,J)}function M(e,t){return"variable"==e?(r(t),a()):"["==e?C(M,"]"):"{"==e?C(Z,"}"):void 0}function Z(e,t){return"variable"!=e||q.stream.match(/^\s*:/,!1)?("variable"==e&&(q.marked="property"),a(m(":"),M,Q)):(r(t),a(Q))}function Q(e,t){return"="==t?a(y):void 0}function J(e){return","==e?a(L):void 0}function ee(e,t){return"keyword b"==e&&"else"==t?a(h("form","else"),g,p):void 0}function te(e){return"("==e?a(h(")"),re,m(")"),p):void 0}function re(e){return"var"==e?a(L,m(";"),T):";"==e?a(T):"variable"==e?a(ne):l(v,m(";"),T)}function ne(e,t){return"in"==t||"of"==t?(q.marked="keyword",a(v)):a(b,T)}function T(e,t){return";"==e?a(ie):"in"==t||"of"==t?(q.marked="keyword",a(v)):l(v,m(";"),ie)}function ie(e){")"!=e&&a(v)}function A(e,t){return"*"==t?(q.marked="keyword",a(A)):"variable"==e?(r(t),a(A)):"("==e?a(d,h(")"),k(oe,")"),p,g,f):void 0}function oe(e){return"spread"==e?a(oe):l(M,X)}function le(e,t){return"variable"==e?(r(t),a(ae)):void 0}function ae(e,t){return"extends"==t?a(v,ae):"{"==e?a(h("}"),E,p):void 0}function E(e,t){return"variable"==e||"keyword"==q.style?(q.marked="property","get"==t||"set"==t?a(se,A,E):a(A,E)):"*"==t?(q.marked="keyword",a(E)):";"==e?a(E):"}"==e?a():void 0}function se(e){return("variable"!=e?l:(q.marked="property",a))()}function ce(e,t){return"string"==e?a(g):"variable"==e?(r(t),a(he)):void 0}function ue(e,t){return"*"==t?(q.marked="keyword",a(he,m(";"))):"default"==t?(q.marked="keyword",a(v,m(";"))):l(g)}function de(e){return"string"==e?a():l(fe,he)}function fe(e,t){return"{"==e?C(fe,"}"):("variable"==e&&r(t),a())}function he(e,t){return"from"==t?(q.marked="keyword",a(v)):void 0}function pe(e){return"]"==e?a():l(y,me)}function me(e){return"for"==e?l(N,m("]")):","==e?a(k($,"]")):l(k(y,"]"))}function N(e){return"for"==e?a(te,N):"if"==e?a(v,N):void 0}var O,I,z=e.indentUnit,ge=s.statementIndent,D=s.jsonld,W=s.json||D,ve=s.typescript,ye=s.wordCharacters||/[\w$\xa1-\uffff]/,_e=(()=>{function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),r=e("keyword b"),n=e("keyword c"),i=e("operator"),o={type:"atom",style:"atom"},l={if:e("if"),while:t,with:t,else:r,do:r,try:r,finally:r,return:n,break:n,continue:n,new:n,delete:n,throw:n,debugger:n,var:e("var"),const:e("var"),let:e("var"),function:e("function"),catch:e("catch"),for:e("for"),switch:e("switch"),case:e("case"),default:e("default"),in:i,typeof:i,instanceof:i,true:o,false:o,null:o,undefined:o,NaN:o,Infinity:o,this:e("this"),module:e("module"),class:e("class"),super:e("atom"),yield:n,export:e("export"),import:e("import"),extends:n};if(ve){var a,t={type:"variable",style:"variable-3"},s={interface:e("interface"),extends:e("extends"),constructor:e("constructor"),public:e("public"),private:e("private"),protected:e("protected"),static:e("static"),string:t,number:t,bool:t,any:t};for(a in s)l[a]=s[a]}return l})(),be=/[+\-*&%=<>!?|~^]/,xe=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,we="([{}])",ke={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0},q={state:null,column:null,marked:null,cc:null},Ce={name:"this",next:{name:"arguments"}};return p.lex=!0,{startState:function(e){e={tokenize:c,lastType:"sof",cc:[],lexical:new P((e||0)-z,0,"block",!1),localVars:s.localVars,context:s.localVars&&{vars:s.localVars},indented:0};return s.globalVars&&"object"==typeof s.globalVars&&(e.globalVars=s.globalVars),e},token:function(e,t){var r;return e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),n(e,t)),t.tokenize!=u&&e.eatSpace()?null:(r=t.tokenize(e,t),"comment"==O?r:(t.lastType="operator"!=O||"++"!=I&&"--"!=I?O:"incdec",H(t,r,O,I,e)))},indent:function(e,t){if(e.tokenize==u)return Se.Pass;if(e.tokenize!=c)return 0;var r=t&&t.charAt(0),n=e.lexical;if(!/^\s*else\b/.test(t))for(var i=e.cc.length-1;0<=i;--i){var o=e.cc[i];if(o==p)n=n.prev;else if(o!=ee)break}"stat"==n.type&&"}"==r&&(n=n.prev);var l=(n=ge&&")"==n.type&&"stat"==n.prev.type?n.prev:n).type,a=r==l;return"vardef"==l?n.indented+("operator"==e.lastType||","==e.lastType?n.info+1:0):"form"==l&&"{"==r?n.indented:"form"==l?n.indented+z:"stat"==l?n.indented+("operator"==e.lastType||","==e.lastType?ge||z:0):"switch"!=n.info||a||0==s.doubleIndentSwitch?n.align?n.column+(a?0:1):n.indented+(a?0:z):n.indented+(/^(?:case|default)\b/.test(t)?z:2*z)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:W?null:"/*",blockCommentEnd:W?null:"*/",lineComment:W?null:"//",fold:"brace",helperType:W?"json":"javascript",jsonldMode:D,jsonMode:W}}),Se.registerHelper("wordChars","javascript",/[\w$]/),Se.defineMIME("text/javascript","javascript"),Se.defineMIME("text/ecmascript","javascript"),Se.defineMIME("application/javascript","javascript"),Se.defineMIME("application/x-javascript","javascript"),Se.defineMIME("application/ecmascript","javascript"),Se.defineMIME("application/json",{name:"javascript",json:!0}),Se.defineMIME("application/x-json",{name:"javascript",json:!0}),Se.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),Se.defineMIME("text/typescript",{name:"javascript",typescript:!0}),Se.defineMIME("application/typescript",{name:"javascript",typescript:!0})}),(e=>{"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)})(function(e){function h(e,t){return e.string.charAt(e.pos+(t||0))}function p(e,t){var r;return t?(r=e.pos-t,e.string.substr(0<=r?r:0,t)):e.string.substr(0,e.pos-1)}function m(e,t){var r=e.string.length;return e.string.substr(e.pos,t&&t<r?t:r-e.pos+1)}function g(e,t){t=e.pos+t;e.pos=t<=0?0:t>=(e=e.string.length-1)?e:t}e.defineMode("perl",function(){function a(e,t,o,l,a){return t.chain=null,t.style=null,t.tail=null,t.tokenize=function(e,t){for(var r,n=!1,i=0;r=e.next();){if(r===o[i]&&!n)return void 0!==o[++i]?(t.chain=o[i],t.style=l,t.tail=a):a&&e.eatWhile(a),t.tokenize=c,l;n=!n&&"\\"==r}return l},t.tokenize(e,t)}function s(e,t,r){return t.tokenize=function(e,t){return e.string==r&&(t.tokenize=c),e.skipToEnd(),"string"},t.tokenize(e,t)}function c(e,t){if(e.eatSpace())return null;if(t.chain)return a(e,t,t.chain,t.style,t.tail);if(e.match(/^\-?[\d\.]/,!1)&&e.match(/^(\-?(\d*\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F]+|0b[01]+|\d+(e[+-]?\d+)?)/))return"number";if(e.match(/^<<(?=\w)/))return e.eatWhile(/\w/),s(e,t,e.current().substr(2));if(e.sol()&&e.match(/^\=item(?!\w)/))return s(e,t,"=cut");var r=e.next();if('"'==r||"'"==r){if(p(e,3)=="<<"+r){var n=e.pos,i=(e.eatWhile(/\w/),e.current().substr(1));if(i&&e.eat(r))return s(e,t,i);e.pos=n}return a(e,t,[r],"string")}if("q"==r&&(!(o=h(e,-2))||!/\w/.test(o)))if("x"==(o=h(e,0))){if("("==(o=h(e,1)))return g(e,2),a(e,t,[")"],d,f);if("["==o)return g(e,2),a(e,t,["]"],d,f);if("{"==o)return g(e,2),a(e,t,["}"],d,f);if("<"==o)return g(e,2),a(e,t,[">"],d,f);if(/[\^'"!~\/]/.test(o))return g(e,1),a(e,t,[e.eat(o)],d,f)}else if("q"==o){if("("==(o=h(e,1)))return g(e,2),a(e,t,[")"],"string");if("["==o)return g(e,2),a(e,t,["]"],"string");if("{"==o)return g(e,2),a(e,t,["}"],"string");if("<"==o)return g(e,2),a(e,t,[">"],"string");if(/[\^'"!~\/]/.test(o))return g(e,1),a(e,t,[e.eat(o)],"string")}else if("w"==o){if("("==(o=h(e,1)))return g(e,2),a(e,t,[")"],"bracket");if("["==o)return g(e,2),a(e,t,["]"],"bracket");if("{"==o)return g(e,2),a(e,t,["}"],"bracket");if("<"==o)return g(e,2),a(e,t,[">"],"bracket");if(/[\^'"!~\/]/.test(o))return g(e,1),a(e,t,[e.eat(o)],"bracket")}else if("r"==o){if("("==(o=h(e,1)))return g(e,2),a(e,t,[")"],d,f);if("["==o)return g(e,2),a(e,t,["]"],d,f);if("{"==o)return g(e,2),a(e,t,["}"],d,f);if("<"==o)return g(e,2),a(e,t,[">"],d,f);if(/[\^'"!~\/]/.test(o))return g(e,1),a(e,t,[e.eat(o)],d,f)}else if(/[\^'"!~\/(\[{<]/.test(o)){if("("==o)return g(e,1),a(e,t,[")"],"string");if("["==o)return g(e,1),a(e,t,["]"],"string");if("{"==o)return g(e,1),a(e,t,["}"],"string");if("<"==o)return g(e,1),a(e,t,[">"],"string");if(/[\^'"!~\/]/.test(o))return a(e,t,[e.eat(o)],"string")}if("m"==r&&((!(o=h(e,-2))||!/\w/.test(o))&&(o=e.eat(/[(\[{<\^'"!~\/]/)))){if(/[\^'"!~\/]/.test(o))return a(e,t,[o],d,f);if("("==o)return a(e,t,[")"],d,f);if("["==o)return a(e,t,["]"],d,f);if("{"==o)return a(e,t,["}"],d,f);if("<"==o)return a(e,t,[">"],d,f)}if("s"==r&&(!(o=/[\/>\]})\w]/.test(h(e,-2)))&&(o=e.eat(/[(\[{<\^'"!~\/]/))))return a(e,t,"["==o?["]","]"]:"{"==o?["}","}"]:"<"==o?[">",">"]:"("==o?[")",")"]:[o,o],d,f);if("y"==r&&(!(o=/[\/>\]})\w]/.test(h(e,-2)))&&(o=e.eat(/[(\[{<\^'"!~\/]/))))return a(e,t,"["==o?["]","]"]:"{"==o?["}","}"]:"<"==o?[">",">"]:"("==o?[")",")"]:[o,o],d,f);if("t"==r&&(!(o=/[\/>\]})\w]/.test(h(e,-2)))&&(o=(o=e.eat("r"))&&e.eat(/[(\[{<\^'"!~\/]/))))return a(e,t,"["==o?["]","]"]:"{"==o?["}","}"]:"<"==o?[">",">"]:"("==o?[")",")"]:[o,o],d,f);if("`"==r)return a(e,t,[r],"variable-2");if("/"==r)return/~\s*$/.test(p(e))?a(e,t,[r],d,f):"operator";if("$"==r){n=e.pos;if(e.eatWhile(/\d/)||e.eat("{")&&e.eatWhile(/\d/)&&e.eat("}"))return"variable-2";e.pos=n}if(/[$@%]/.test(r)){n=e.pos;if(e.eat("^")&&e.eat(/[A-Z]/)||!/[@$%&]/.test(h(e,-2))&&e.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){var o=e.current();if(u[o])return"variable-2"}e.pos=n}if(/[$@%&]/.test(r)&&(e.eatWhile(/[\w$\[\]]/)||e.eat("{")&&e.eatWhile(/[\w$\[\]]/)&&e.eat("}")))return o=e.current(),u[o]?"variable-2":"variable";if("#"==r&&"$"!=h(e,-2))return e.skipToEnd(),"comment";if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(r)){n=e.pos;if(e.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/),u[e.current()])return"operator";e.pos=n}if("_"==r&&1==e.pos){if("_END__"==m(e,6))return a(e,t,["\0"],"comment");if("_DATA__"==m(e,7))return a(e,t,["\0"],"variable-2");if("_C__"==m(e,7))return a(e,t,["\0"],"string")}if(/\w/.test(r)){n=e.pos;if("{"==h(e,-2)&&("}"==h(e,0)||e.eatWhile(/\w/)&&"}"==h(e,0)))return"string";e.pos=n}if(/[A-Z]/.test(r)){var l=h(e,-2),n=e.pos;if(e.eatWhile(/[A-Z_]/),!/[\da-z]/.test(h(e,0)))return(o=u[e.current()])&&(o[1]&&(o=o[0]),":"!=l)?1==o?"keyword":2==o?"def":3==o?"atom":4==o?"operator":5==o?"variable-2":"meta":"meta";e.pos=n}return/[a-zA-Z_]/.test(r)?(l=h(e,-2),e.eatWhile(/\w/),(o=u[e.current()])&&(o[1]&&(o=o[0]),":"!=l)?1==o?"keyword":2==o?"def":3==o?"atom":4==o?"operator":5==o?"variable-2":"meta":"meta"):null}var u={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,if:[1,1],elsif:[1,1],else:[1,1],while:[1,1],unless:[1,1],for:[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,break:1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,continue:[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,default:1,defined:1,delete:1,die:1,do:1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,goto:1,grep:1,hex:1,import:1,index:1,int:1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,new:1,next:1,no:1,oct:1,open:1,opendir:1,ord:1,our:2,pack:1,package:1,pipe:1,pop:1,pos:1,print:1,printf:1,prototype:1,push:1,q:null,qq:null,qr:null,quotemeta:null,qw:null,qx:null,rand:1,read:1,readdir:1,readline:1,readlink:1,readpipe:1,recv:1,redo:1,ref:1,rename:1,require:1,reset:1,return:1,reverse:1,rewinddir:1,rindex:1,rmdir:1,s:null,say:1,scalar:1,seek:1,seekdir:1,select:1,semctl:1,semget:1,semop:1,send:1,setgrent:1,sethostent:1,setnetent:1,setpgrp:1,setpriority:1,setprotoent:1,setpwent:1,setservent:1,setsockopt:1,shift:1,shmctl:1,shmget:1,shmread:1,shmwrite:1,shutdown:1,sin:1,sleep:1,socket:1,socketpair:1,sort:1,splice:1,split:1,sprintf:1,sqrt:1,srand:1,stat:1,state:1,study:1,sub:1,substr:1,symlink:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,tell:1,telldir:1,tie:1,tied:1,time:1,times:1,tr:null,truncate:1,uc:1,ucfirst:1,umask:1,undef:1,unlink:1,unpack:1,unshift:1,untie:1,use:1,utime:1,values:1,vec:1,wait:1,waitpid:1,wantarray:1,warn:1,when:1,write:1,y:null},d="string-2",f=/[goseximacplud]/;return{startState:function(){return{tokenize:c,chain:null,style:null,tail:null}},token:function(e,t){return(t.tokenize||c)(e,t)}}}),e.registerHelper("wordChars","perl",/[\w$]/),e.defineMIME("text/x-perl","perl")}),(e=>{"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),require("../htmlmixed/htmlmixed"),require("../clike/clike")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed","../clike/clike"],e):e(CodeMirror)})(function(i){function e(e){for(var t={},r=e.split(" "),n=0;n<r.length;++n)t[r[n]]=!0;return t}function a(i,o){return 0==i.length?l(o):function(e,t){for(var r=i[0],n=0;n<r.length;n++)if(e.match(r[n][0]))return t.tokenize=a(i.slice(1),o),r[n][1];return t.tokenize=l(o),"string"}}function l(l){return function(e,t){var r=e,n=t,i=l;if(r.match("${",!1)||r.match("{$",!1))n.tokenize=null;else{if(r.match(/^\$[a-zA-Z_][a-zA-Z0-9_]*/))return r.match("[",!1)&&(n.tokenize=a([[["[",null]],[[/\d[\w\.]*/,"number"],[/\$[a-zA-Z_][a-zA-Z0-9_]*/,"variable-2"],[/[\w\$]+/,"variable"]],[["]",null]]],i)),r.match(/\-\>\w/,!1)&&(n.tokenize=a([[["->",null]],[[/[\w]+/,"variable"]]],i)),"variable-2";for(var o=!1;!r.eol()&&(o||!r.match("{$",!1)&&!r.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*|\$\{)/,!1));){if(!o&&r.match(i)){n.tokenize=null,n.tokStack.pop(),n.tokStack.pop();break}o="\\"==r.next()&&!o}}return"string"}}var t="abstract and array as break case catch class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw trait try use var while xor die echo empty exit eval include include_once isset list require require_once return print unset __halt_compiler self static parent yield insteadof finally",r="true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__",n="func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport http_response_code get_declared_traits getimagesizefromstring socket_import_stream stream_set_chunk_size trait_exists header_register_callback class_uses session_status session_register_shutdown echo print global static exit array empty eval isset unset die include require include_once require_once json_decode json_encode json_last_error json_last_error_msg curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt_array curl_setopt curl_share_close curl_share_init curl_share_setopt curl_strerror curl_unescape curl_version mysqli_affected_rows mysqli_autocommit mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect_errno mysqli_connect_error mysqli_connect mysqli_data_seek mysqli_debug mysqli_dump_debug_info mysqli_errno mysqli_error_list mysqli_error mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_charset mysqli_get_client_info mysqli_get_client_stats mysqli_get_client_version mysqli_get_connection_stats mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_prepare mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_refresh mysqli_rollback mysqli_select_db mysqli_set_charset mysqli_set_local_infile_default mysqli_set_local_infile_handler mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_stmt_init mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count",o=(i.registerHelper("hintWords","php",[t,r,n].join(" ").split(" ")),i.registerHelper("wordChars","php",/[\w$]/),{name:"clike",helperType:"php",keywords:e(t),blockKeywords:e("catch do else elseif for foreach if switch try while finally"),atoms:e(r),builtin:e(n),multiLineStrings:!0,hooks:{$:function(e){return e.eatWhile(/[\w\$_]/),"variable-2"},"<":function(e,t){if(e.match(/<</)){e.eatWhile(/[\w\.]/);e=e.current().slice(3);if(e)return(t.tokStack||(t.tokStack=[])).push(e,0),t.tokenize=l(e),"string"}return!1},"#":function(e){for(;!e.eol()&&!e.match("?>",!1);)e.next();return"comment"},"/":function(e){if(e.eat("/")){for(;!e.eol()&&!e.match("?>",!1);)e.next();return"comment"}return!1},'"':function(e,t){return(t.tokStack||(t.tokStack=[])).push('"',0),t.tokenize=l('"'),"string"},"{":function(e,t){return t.tokStack&&t.tokStack.length&&t.tokStack[t.tokStack.length-1]++,!1},"}":function(e,t){return t.tokStack&&0<t.tokStack.length&&!--t.tokStack[t.tokStack.length-1]&&(t.tokenize=l(t.tokStack[t.tokStack.length-2])),!1}}});i.defineMode("php",function(e,r){var l=i.getMode(e,"text/html"),a=i.getMode(e,o);return{startState:function(){var e=i.startState(l),t=i.startState(a);return{html:e,php:t,curMode:r.startOpen?a:l,curState:r.startOpen?t:e,pending:null}},copyState:function(e){var t=e.html,t=i.copyState(l,t),r=e.php,r=i.copyState(a,r),n=e.curMode==l?t:r;return{html:t,php:r,curMode:e.curMode,curState:n,pending:e.pending}},token:function(e,t){var r=t.curMode==a;if(e.sol()&&t.pending&&'"'!=t.pending&&"'"!=t.pending&&(t.pending=null),r)return r&&null==t.php.tokenize&&e.match("?>")?(t.curMode=l,t.curState=t.html,"meta"):a.token(e,t.curState);if(e.match(/^<\?\w*/))return t.curMode=a,t.curState=t.php,"meta";if('"'==t.pending||"'"==t.pending){for(;!e.eol()&&e.next()!=t.pending;);var n="string"}else n=t.pending&&e.pos<t.pending.end?(e.pos=t.pending.end,t.pending.style):l.token(e,t.curState);t.pending&&(t.pending=null);var i,o=(r=e.current()).search(/<\?/);return-1!=o&&(t.pending="string"==n&&(i=r.match(/[\'\"]$/))&&!/\?>/.test(r)?i[0]:{end:e.pos,style:n},e.backUp(r.length-o)),n},indent:function(e,t){return e.curMode!=a&&/^\s*<\//.test(t)||e.curMode==a&&/^\?>/.test(t)?l.indent(e.html,t):e.curMode.indent(e.curState,t)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",innerMode:function(e){return{state:e.curState,mode:e.curMode}}}},"htmlmixed","clike"),i.defineMIME("application/x-httpd-php","php"),i.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:!0}),i.defineMIME("text/x-php",o)}),(e=>{"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)})(function(b){function r(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}function x(e){return e.scopes[e.scopes.length-1]}var w=r(["and","or","not","is"]),k=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in"],C=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"],S=["apply","basestring","buffer","cmp","coerce","execfile","file","intern","long","raw_input","reduce","reload","unichr","unicode","xrange","False","True","None"],L=["exec","print"],M=["ascii","bytes","exec","print"],T=["nonlocal","False","True","None"];b.registerHelper("hintWords","python",k.concat(C)),b.defineMode("python",function(o,l){function a(e,t){var r,n;return e.sol()&&"py"==x(t).type?(r=x(t).offset,e.eatSpace()?(r<(n=e.indentation())?s(e,t,"py"):n<r&&c(e,t)&&(t.errorToken=!0),null):(n=i(e,t),0<r&&c(e,t)&&(n+=" "+f),n)):i(e,t)}function i(e,t){if(e.eatSpace())return null;if("#"==e.peek())return e.skipToEnd(),"comment";if(e.match(/^[0-9\.]/,!1)){var r=!1;if(e.match(/^\d*\.\d+(e[\+\-]?\d+)?/i)&&(r=!0),e.match(/^\d+\.\d*/)&&(r=!0),r=e.match(/^\.\d+/)?!0:r)return e.eat(/J/i),"number";r=!1;if(e.match(/^0x[0-9a-f]+/i)&&(r=!0),e.match(/^0b[01]+/i)&&(r=!0),e.match(/^0o[0-7]+/i)&&(r=!0),e.match(/^[1-9]\d*(e[\+\-]?\d+)?/)&&(e.eat(/J/i),r=!0),r=e.match(/^0(?![\dx])/i)?!0:r)return e.eat(/L/i),"number"}return e.match(d)?(t.tokenize=(r=>{function e(e,t){for(;!e.eol();)if(e.eatWhile(/[^'"\\]/),e.eat("\\")){if(e.next(),n&&e.eol())return i}else{if(e.match(r))return t.tokenize=a,i;e.eat(/['"]/)}if(n){if(l.singleLineStringErrors)return f;t.tokenize=a}return i}for(;0<="rub".indexOf(r.charAt(0).toLowerCase());)r=r.substr(1);var n=1==r.length,i="string";return e.isString=!0,e})(e.current()),t.tokenize(e,t)):e.match(g)||e.match(m)?null:e.match(p)||e.match(n)||e.match(w)?"operator":e.match(h)?null:e.match(y)?"keyword":e.match(_)?"builtin":e.match(/^(self|cls)\b/)?"variable-2":e.match(u)?"def"==t.lastToken||"class"==t.lastToken?"def":"variable":(e.next(),f)}function s(e,t,r){var n,i=null;if("py"==r)for(;"py"!=x(t).type;)t.scopes.pop();n=x(t).offset+("py"==r?o.indentUnit:v),"py"==r||e.match(/^(\s|#.*)*$/,!1)||(i=e.column()+1),t.scopes.push({offset:n,type:r,align:i})}function c(e,t){for(var r=e.indentation();x(t).offset>r;){if("py"!=x(t).type)return 1;t.scopes.pop()}return x(t).offset!=r}var n,u,d,f="error",h=l.singleDelimiters||new RegExp("^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]"),p=l.doubleOperators||new RegExp("^((==)|(!=)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))"),m=l.doubleDelimiters||new RegExp("^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))"),g=l.tripleDelimiters||new RegExp("^((//=)|(>>=)|(<<=)|(\\*\\*=))"),v=(u=l.version&&3==parseInt(l.version,10)?(n=l.singleOperators||new RegExp("^[\\+\\-\\*/%&|\\^~<>!@]"),l.identifiers||new RegExp("^[_A-Za-z¡-￿][_A-Za-z0-9¡-￿]*")):(n=l.singleOperators||new RegExp("^[\\+\\-\\*/%&|\\^~<>!]"),l.identifiers||new RegExp("^[_A-Za-z][_A-Za-z0-9]*")),l.hangingIndent||o.indentUnit),e=k,t=C,y=(null!=l.extra_keywords&&(e=e.concat(l.extra_keywords)),null!=l.extra_builtins&&(t=t.concat(l.extra_builtins)),d=l.version&&3==parseInt(l.version,10)?(e=e.concat(T),t=t.concat(M),new RegExp("^(([rb]|(br))?('{3}|\"{3}|['\"]))","i")):(e=e.concat(L),t=t.concat(S),new RegExp("^(([rub]|(ur)|(br))?('{3}|\"{3}|['\"]))","i")),r(e)),_=r(t);return{startState:function(e){return{tokenize:a,scopes:[{offset:e||0,type:"py",align:null}],lastStyle:null,lastToken:null,lambda:!1,dedent:0}},token:function(e,t){var r=t.errorToken,n=(r&&(t.errorToken=!1),((e,t)=>{var r=t.tokenize(e,t),n=e.current();if("."==n)null==(r=e.match(u,!1)?null:f)&&"meta"==t.lastStyle&&(r="meta");else{if("@"==n)return l.version&&3==parseInt(l.version,10)?e.match(u,!1)?"meta":"operator":e.match(u,!1)?"meta":f;"variable"!=r&&"builtin"!=r||"meta"!=t.lastStyle||(r="meta"),"pass"!=n&&"return"!=n||(t.dedent+=1),"lambda"==n&&(t.lambda=!0),":"!=n||t.lambda||"py"!=x(t).type||s(e,t,"py");var i=1==n.length?"[({".indexOf(n):-1;if(-1!=i&&s(e,t,"])}".slice(i,i+1)),-1!="])}".indexOf(n)){if(x(t).type!=n)return f;t.scopes.pop()}0<t.dedent&&e.eol()&&"py"==x(t).type&&(1<t.scopes.length&&t.scopes.pop(),--t.dedent)}return r})(e,t)),i=(t.lastStyle=n,e.current());return i&&n&&(t.lastToken=i),e.eol()&&t.lambda&&(t.lambda=!1),r?n+" "+f:n},indent:function(e,t){var r;return e.tokenize!=a?e.tokenize.isString?b.Pass:0:(r=x(e),t=t&&t.charAt(0)==r.type,null!=r.align?r.align-(t?1:0):(t&&1<e.scopes.length?e.scopes[e.scopes.length-2]:r).offset)},lineComment:"#",fold:"indent"}}),b.defineMIME("text/x-python","python");b.defineMIME("text/x-cython",{name:"python",extra_keywords:"by cdef cimport cpdef ctypedef enum exceptextern gil include nogil property publicreadonly struct union DEF IF ELIF ELSE".split(" ")})}),(e=>{"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)})(function(e){e.defineMode("ruby",function(i){function e(e){for(var t={},r=0,n=e.length;r<n;++r)t[e[r]]=!0;return t}function u(e,t,r){return r.tokenize.push(e),e(t,r)}function s(e,t){if(h=null,e.sol()&&e.match("=begin")&&e.eol())return t.tokenize.push(f),"comment";if(e.eatSpace())return null;var r,n,i,o=e.next();if("`"==o||"'"==o||'"'==o)return u(d(o,"string",'"'==o||"`"==o),e,t);if("/"==o){var l=e.current().length;if(e.skipTo("/")){var a=e.current().length;e.backUp(e.current().length-l);for(var s=0;e.current().length<a;){var c=e.next();if("("==c?s+=1:")"==c&&--s,s<0)break}if(e.backUp(e.current().length-l),0==s)return u(d(o,"string-2",!0),e,t)}return"operator"}if("%"==o)return l="string",r=!0,e.eat("s")?l="atom":e.eat(/[WQ]/)?l="string":e.eat(/[r]/)?l="string-2":e.eat(/[wxq]/)&&(r=!(l="string")),(n=e.eat(/[^\w\s=]/))?u(d(n=p.propertyIsEnumerable(n)?p[n]:n,l,r,!0),e,t):"operator";if("#"==o)return e.skipToEnd(),"comment";if("<"==o&&(n=e.match(/^<-?[\`\"\']?([a-zA-Z_?]\w*)[\`\"\']?(?:;|$)/)))return u((i=n[1],function(e,t){return e.match(i)?t.tokenize.pop():e.skipToEnd(),"string"}),e,t);if("0"==o)return e.eat("x")?e.eatWhile(/[\da-fA-F]/):e.eat("b")?e.eatWhile(/[01]/):e.eatWhile(/[0-7]/),"number";if(/\d/.test(o))return e.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+\-]?[\d_]+)?/),"number";if("?"!=o)return":"==o?e.eat("'")?u(d("'","atom",!1),e,t):e.eat('"')?u(d('"',"atom",!0),e,t):e.eat(/[\<\>]/)?(e.eat(/[\<\>]/),"atom"):e.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":e.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(e.eatWhile(/[\w$\xa1-\uffff]/),e.eat(/[\?\!\=]/),"atom"):"operator":"@"==o&&e.match(/^@?[a-zA-Z_\xa1-\uffff]/)?(e.eat("@"),e.eatWhile(/[\w\xa1-\uffff]/),"variable-2"):"$"==o?(e.eat(/[a-zA-Z_]/)?e.eatWhile(/[\w]/):e.eat(/\d/)?e.eat(/\d/):e.next(),"variable-3"):/[a-zA-Z_\xa1-\uffff]/.test(o)?(e.eatWhile(/[\w\xa1-\uffff]/),e.eat(/[\?\!]/),e.eat(":")?"atom":"ident"):"|"!=o||!t.varList&&"{"!=t.lastTok&&"do"!=t.lastTok?/[\(\)\[\]{}\\;]/.test(o)?(h=o,null):"-"==o&&e.eat(">")?"arrow":/[=+\-\/*:\.^%<>~|]/.test(o)?(l=e.eatWhile(/[=+\-\/*:\.^%<>~|]/),"."!=o||l||(h="."),"operator"):null:(h="|",null);for(;e.match(/^\\[CM]-/););return e.eat("\\")?e.eatWhile(/\w/):e.next(),"string"}function d(i,o,l,a){return function(e,t){var r,n=!1;for("read-quoted-paused"===t.context.type&&(t.context=t.context.prev,e.eat("}"));null!=(r=e.next());){if(r==i&&(a||!n)){t.tokenize.pop();break}if(l&&"#"==r&&!n){if(e.eat("{")){"}"==i&&(t.context={prev:t.context,type:"read-quoted-paused"}),t.tokenize.push(function r(n){return n=n||1,function(e,t){if("}"==e.peek()){if(1==n)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=r(n-1)}else"{"==e.peek()&&(t.tokenize[t.tokenize.length-1]=r(n+1));return s(e,t)}}());break}if(/[@\$]/.test(e.peek())){t.tokenize.push((()=>{var r=!1;return function(e,t){return r?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(r=!0,s(e,t))}})());break}}n=!n&&"\\"==r}return o}}function f(e,t){return e.sol()&&e.match("=end")&&e.eol()&&t.tokenize.pop(),e.skipToEnd(),"comment"}var h,l=e(["alias","and","BEGIN","begin","break","case","class","def","defined?","do","else","elsif","END","end","ensure","false","for","if","in","module","next","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield","nil","raise","throw","catch","fail","loop","callcc","caller","lambda","proc","public","protected","private","require","load","require_relative","extend","autoload","__END__","__FILE__","__LINE__","__dir__"]),a=e(["def","class","case","for","while","module","then","catch","loop","proc","begin"]),c=e(["end","until"]),p={"[":"]","{":"}","(":")"};return{startState:function(){return{tokenize:[s],indented:0,context:{type:"top",indented:-i.indentUnit},continuedLine:!1,lastTok:null,varList:!1}},token:function(e,t){e.sol()&&(t.indented=e.indentation());var r,n,i=t.tokenize[t.tokenize.length-1](e,t),o=h;return"ident"==i&&(n=e.current(),"keyword"==(i="."==t.lastTok?"property":l.propertyIsEnumerable(e.current())?"keyword":/^[A-Z]/.test(n)?"tag":"def"==t.lastTok||"class"==t.lastTok||t.varList?"def":"variable"))&&(a.propertyIsEnumerable(o=n)?r="indent":c.propertyIsEnumerable(n)?r="dedent":(("if"==n||"unless"==n)&&e.column()==e.indentation()||"do"==n&&t.context.indented<t.indented)&&(r="indent")),(h||i&&"comment"!=i)&&(t.lastTok=o),"|"==h&&(t.varList=!t.varList),"indent"==r||/[\(\[\{]/.test(h)?t.context={prev:t.context,type:h||i,indented:t.indented}:("dedent"==r||/[\)\]\}]/.test(h))&&t.context.prev&&(t.context=t.context.prev),e.eol()&&(t.continuedLine="\\"==h||"operator"==i),i},indent:function(e,t){var r,n;return e.tokenize[e.tokenize.length-1]!=s?0:(n=t&&t.charAt(0),n=(r=e.context).type==p[n]||"keyword"==r.type&&/^(?:end|until|else|elsif|when|rescue)\b/.test(t),r.indented+(n?0:i.indentUnit)+(e.continuedLine?i.indentUnit:0))},electricChars:"}de",lineComment:"#"}}),e.defineMIME("text/x-ruby","ruby")}),(e=>{"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)})(function(S){S.defineMode("xml",function(e,t){function l(t,r){function e(e){return(r.tokenize=e)(t,r)}var n=t.next();return"<"==n?t.eat("!")?t.eat("[")?t.match("CDATA[")?e(i("atom","]]>")):null:t.match("--")?e(i("comment","--\x3e")):t.match("DOCTYPE",!0,!0)?(t.eatWhile(/[\w\._\-]/),e(function n(i){return function(e,t){for(var r;null!=(r=e.next());){if("<"==r)return t.tokenize=n(i+1),t.tokenize(e,t);if(">"==r){if(1!=i)return t.tokenize=n(i-1),t.tokenize(e,t);t.tokenize=l;break}}return"meta"}}(1))):null:t.eat("?")?(t.eatWhile(/[\w\._\-]/),r.tokenize=i("meta","?>"),"meta"):(x=t.eat("/")?"closeTag":"openTag",r.tokenize=a,"tag bracket"):"&"==n?(t.eat("#")?t.eat("x")?t.eatWhile(/[a-fA-F\d]/)&&t.eat(";"):t.eatWhile(/[\d]/)&&t.eat(";"):t.eatWhile(/[\w\.\-:]/)&&t.eat(";"))?"atom":"error":(t.eatWhile(/[^&<]/),null)}function a(e,t){var r,n,i=e.next();return">"==i||"/"==i&&e.eat(">")?(t.tokenize=l,x=">"==i?"endTag":"selfcloseTag","tag bracket"):"="==i?(x="equals",null):"<"==i?(t.tokenize=l,t.state=c,t.tagName=t.tagStart=null,(r=t.tokenize(e,t))?r+" tag error":"tag error"):/[\'\"]/.test(i)?(t.tokenize=(n=i,o.isInAttribute=!0,o),t.stringStartCol=e.column(),t.tokenize(e,t)):(e.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word");function o(e,t){for(;!e.eol();)if(e.next()==n){t.tokenize=a;break}return"string"}}function i(r,n){return function(e,t){for(;!e.eol();){if(e.match(n)){t.tokenize=l;break}e.next()}return r}}function o(e,t,r){this.prev=e.context,this.tagName=t,this.indent=e.indented,this.startOfLine=r,(k.doNotIndent.hasOwnProperty(t)||e.context&&e.context.noIndent)&&(this.noIndent=!0)}function n(e){e.context&&(e.context=e.context.prev)}function s(e,t){for(var r;;){if(!e.context)return;if(r=e.context.tagName,!k.contextGrabbers.hasOwnProperty(r)||!k.contextGrabbers[r].hasOwnProperty(t))return;n(e)}}function c(e,t,r){return"openTag"==e?(r.tagStart=t.column(),u):"closeTag"==e?d:c}function u(e,t,r){return"word"==e?(r.tagName=t.current(),w="tag",p):(w="error",u)}function d(e,t,r){return"word"==e?(e=t.current(),r.context&&r.context.tagName!=e&&k.implicitlyClosed.hasOwnProperty(r.context.tagName)&&n(r),r.context&&r.context.tagName==e?(w="tag",f):(w="tag error",h)):(w="error",h)}function f(e,t,r){return"endTag"!=e?(w="error",f):(n(r),c)}function h(e,t,r){return w="error",f(e,0,r)}function p(e,t,r){var n,i;return"word"==e?(w="attribute",m):"endTag"==e||"selfcloseTag"==e?(n=r.tagName,i=r.tagStart,r.tagName=r.tagStart=null,"selfcloseTag"==e||k.autoSelfClosers.hasOwnProperty(n)?s(r,n):(s(r,n),r.context=new o(r,n,i==r.indented)),c):(w="error",p)}function m(e,t,r){return"equals"==e?g:(k.allowMissing||(w="error"),p(e,0,r))}function g(e,t,r){return"string"==e?v:"word"==e&&k.allowUnquoted?(w="string",p):(w="error",p(e,0,r))}function v(e,t,r){return"string"==e?v:p(e,0,r)}var y=e.indentUnit,_=t.multilineTagIndentFactor||1,b=t.multilineTagIndentPastTag;null==b&&(b=!0);var x,w,k=t.htmlMode?{autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0}:{autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,caseFold:!1},C=t.alignCDATA;return{startState:function(){return{tokenize:l,state:c,indented:0,tagName:null,tagStart:null,context:null}},token:function(e,t){if(!t.tagName&&e.sol()&&(t.indented=e.indentation()),e.eatSpace())return null;x=null;var r=t.tokenize(e,t);return r=(r||x)&&"comment"!=r&&(w=null,t.state=t.state(x||r,e,t),w)?"error"==w?r+" error":w:r},indent:function(e,t,r){var n=e.context;if(e.tokenize.isInAttribute)return e.tagStart==e.indented?e.stringStartCol+1:e.indented+y;if(n&&n.noIndent)return S.Pass;if(e.tokenize!=a&&e.tokenize!=l)return r?r.match(/^(\s*)/)[0].length:0;if(e.tagName)return b?e.tagStart+e.tagName.length+2:e.tagStart+y*_;if(C&&/<!\[CDATA\[/.test(t))return 0;var i=t&&/^<(\/)?([\w_:\.-]*)/.exec(t);if(i&&i[1])for(;n;){if(n.tagName==i[2]){n=n.prev;break}if(!k.implicitlyClosed.hasOwnProperty(n.tagName))break;n=n.prev}else if(i)for(;n;){var o=k.contextGrabbers[n.tagName];if(!o||!o.hasOwnProperty(i[2]))break;n=n.prev}for(;n&&!n.startOfLine;)n=n.prev;return n?n.indent+y:0},electricInput:/<\/[\s\w:]+>$/,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",configuration:t.htmlMode?"html":"xml",helperType:t.htmlMode?"html":"xml"}}),S.defineMIME("text/xml","xml"),S.defineMIME("application/xml","xml"),S.mimeModes.hasOwnProperty("text/html")||S.defineMIME("text/html",{name:"xml",htmlMode:!0})});