/*! For license information please see main.ce359d10.js.LICENSE.txt */ (()=>{var A={5539:(A,g,I)=>{A=I.nmd(A),ace.define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"],(function(A,g,I){"use strict";var C=A("./lib/dom"),B=A("./lib/oop"),Q=A("./lib/event_emitter").EventEmitter,i=A("./lib/lang"),o=A("./range").Range,e=A("./range_list").RangeList,E=A("./keyboard/hash_handler").HashHandler,t=A("./tokenizer").Tokenizer,n=A("./clipboard"),a={CURRENT_WORD:function(A){return A.session.getTextRange(A.session.getWordRange())},SELECTION:function(A,g,I){var C=A.session.getTextRange();return I?C.replace(/\n\r?([ \t]*\S)/g,"\n"+I+"$1"):C},CURRENT_LINE:function(A){return A.session.getLine(A.getCursorPosition().row)},PREV_LINE:function(A){return A.session.getLine(A.getCursorPosition().row-1)},LINE_INDEX:function(A){return A.getCursorPosition().row},LINE_NUMBER:function(A){return A.getCursorPosition().row+1},SOFT_TABS:function(A){return A.session.getUseSoftTabs()?"YES":"NO"},TAB_SIZE:function(A){return A.session.getTabSize()},CLIPBOARD:function(A){return n.getText&&n.getText()},FILENAME:function(A){return/[^/\\]*$/.exec(this.FILEPATH(A))[0]},FILENAME_BASE:function(A){return/[^/\\]*$/.exec(this.FILEPATH(A))[0].replace(/\.[^.]*$/,"")},DIRECTORY:function(A){return this.FILEPATH(A).replace(/[^/\\]*$/,"")},FILEPATH:function(A){return"/not implemented.txt"},WORKSPACE_NAME:function(){return"Unknown"},FULLNAME:function(){return"Unknown"},BLOCK_COMMENT_START:function(A){var g=A.session.$mode||{};return g.blockComment&&g.blockComment.start||""},BLOCK_COMMENT_END:function(A){var g=A.session.$mode||{};return g.blockComment&&g.blockComment.end||""},LINE_COMMENT:function(A){return(A.session.$mode||{}).lineCommentStart||""},CURRENT_YEAR:s.bind(null,{year:"numeric"}),CURRENT_YEAR_SHORT:s.bind(null,{year:"2-digit"}),CURRENT_MONTH:s.bind(null,{month:"numeric"}),CURRENT_MONTH_NAME:s.bind(null,{month:"long"}),CURRENT_MONTH_NAME_SHORT:s.bind(null,{month:"short"}),CURRENT_DATE:s.bind(null,{day:"2-digit"}),CURRENT_DAY_NAME:s.bind(null,{weekday:"long"}),CURRENT_DAY_NAME_SHORT:s.bind(null,{weekday:"short"}),CURRENT_HOUR:s.bind(null,{hour:"2-digit",hour12:!1}),CURRENT_MINUTE:s.bind(null,{minute:"2-digit"}),CURRENT_SECOND:s.bind(null,{second:"2-digit"})};function s(A){var g=(new Date).toLocaleString("en-us",A);return 1==g.length?"0"+g:g}a.SELECTED_TEXT=a.SELECTION;var c=function(){function A(){this.snippetMap={},this.snippetNameMap={},this.variables=a}return A.prototype.getTokenizer=function(){return A.$tokenizer||this.createTokenizer()},A.prototype.createTokenizer=function(){function g(A){return A=A.substr(1),/^\d+$/.test(A)?[{tabstopId:parseInt(A,10)}]:[{text:A}]}function I(A){return"(?:[^\\\\"+A+"]|\\\\.)"}var C={regex:"/("+I("/")+"+)/",onMatch:function(A,g,I){var C=I[0];return C.fmtString=!0,C.guard=A.slice(1,-1),C.flag="",""},next:"formatString"};return A.$tokenizer=new t({start:[{regex:/\\./,onMatch:function(A,g,I){var C=A[1];return("}"==C&&I.length||-1!="`$\\".indexOf(C))&&(A=C),[A]}},{regex:/}/,onMatch:function(A,g,I){return[I.length?I.shift():A]}},{regex:/\$(?:\d+|\w+)/,onMatch:g},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(A,I,C){var B=g(A.substr(1));return C.unshift(B[0]),B},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+I("\\|")+"*\\|",onMatch:function(A,g,I){var C=A.slice(1,-1).replace(/\\[,|\\]|,/g,(function(A){return 2==A.length?A[1]:"\0"})).split("\0").map((function(A){return{value:A}}));return I[0].choices=C,[C[0]]},next:"start"},C,{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:/:/,onMatch:function(A,g,I){return I.length&&I[0].expectElse?(I[0].expectElse=!1,I[0].ifEnd={elseEnd:I[0]},[I[0].ifEnd]):":"}},{regex:/\\./,onMatch:function(A,g,I){var C=A[1];return"}"==C&&I.length||-1!="`$\\".indexOf(C)?A=C:"n"==C?A="\n":"t"==C?A="\t":-1!="ulULE".indexOf(C)&&(A={changeCase:C,local:C>"a"}),[A]}},{regex:"/\\w*}",onMatch:function(A,g,I){var C=I.shift();return C&&(C.flag=A.slice(1,-1)),this.next=C&&C.tabstopId?"start":"",[C||A]},next:"start"},{regex:/\$(?:\d+|\w+)/,onMatch:function(A,g,I){return[{text:A.slice(1)}]}},{regex:/\${\w+/,onMatch:function(A,g,I){var C={text:A.slice(2)};return I.unshift(C),[C]},next:"formatStringVar"},{regex:/\n/,token:"newline",merge:!1},{regex:/}/,onMatch:function(A,g,I){var C=I.shift();return this.next=C&&C.tabstopId?"start":"",[C||A]},next:"start"}],formatStringVar:[{regex:/:\/\w+}/,onMatch:function(A,g,I){return I[0].formatFunction=A.slice(2,-1),[I.shift()]},next:"formatString"},C,{regex:/:[\?\-+]?/,onMatch:function(A,g,I){"+"==A[1]&&(I[0].ifEnd=I[0]),"?"==A[1]&&(I[0].expectElse=!0)},next:"formatString"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"formatString"}]}),A.$tokenizer},A.prototype.tokenizeTmSnippet=function(A,g){return this.getTokenizer().getLineTokens(A,g).tokens.map((function(A){return A.value||A}))},A.prototype.getVariableValue=function(A,g,I){if(/^\d+$/.test(g))return(this.variables.__||{})[g]||"";if(/^[A-Z]\d+$/.test(g))return(this.variables[g[0]+"__"]||{})[g.substr(1)]||"";if(g=g.replace(/^TM_/,""),!this.variables.hasOwnProperty(g))return"";var C=this.variables[g];return"function"==typeof C&&(C=this.variables[g](A,g,I)),null==C?"":C},A.prototype.tmStrFormat=function(A,g,I){if(!g.fmt)return A;var C=g.flag||"",B=g.guard;B=new RegExp(B,C.replace(/[^gim]/g,""));var Q="string"==typeof g.fmt?this.tokenizeTmSnippet(g.fmt,"formatString"):g.fmt,i=this,o=A.replace(B,(function(){var A=i.variables.__;i.variables.__=[].slice.call(arguments);for(var g=i.resolveVariables(Q,I),C="E",B=0;B=0&&Q.splice(i,1)}}A.content?B(A):Array.isArray(A)&&A.forEach(B)},A.prototype.parseSnippetFile=function(A){A=A.replace(/\r/g,"");for(var g,I=[],C={},B=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm;g=B.exec(A);){if(g[1])try{C=JSON.parse(g[1]),I.push(C)}catch(e){}if(g[4])C.content=g[4].replace(/^\t/gm,""),I.push(C),C={};else{var Q=g[2],i=g[3];if("regex"==Q){var o=/\/((?:[^\/\\]|\\.)*)|$/g;C.guard=o.exec(i)[1],C.trigger=o.exec(i)[1],C.endTrigger=o.exec(i)[1],C.endGuard=o.exec(i)[1]}else"snippet"==Q?(C.tabTrigger=i.match(/^\S*/)[0],C.name||(C.name=i)):Q&&(C[Q]=i)}}return I},A.prototype.getSnippetByName=function(A,g){var I,C=this.snippetNameMap;return this.getActiveScopes(g).some((function(g){var B=C[g];return B&&(I=B[A]),!!I}),this),I},A}();B.implement(c.prototype,Q);var r=function(A,g,I){void 0===I&&(I={});var C=A.getCursorPosition(),B=A.session.getLine(C.row),Q=A.session.getTabString(),i=B.match(/^\s*/)[0];C.column1?(d=g[g.length-1].length,h+=g.length-1):d+=A.length,G+=A}else A&&(A.start?A.end={row:h,column:d}:A.start={row:h,column:d})})),{text:G,tabstops:e,tokens:o}},l=function(){function A(A){if(this.index=0,this.ranges=[],this.tabstops=[],A.tabstopManager)return A.tabstopManager;A.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=i.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(A)}return A.prototype.attach=function(A){this.$openTabstops=null,this.selectedTabstop=null,this.editor=A,this.session=A.session,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},A.prototype.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges.length=0,this.tabstops.length=0,this.selectedTabstop=null,this.editor.off("change",this.$onChange),this.editor.off("changeSelection",this.$onChangeSelection),this.editor.off("changeSession",this.$onChangeSession),this.editor.commands.off("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.session=null,this.editor=null},A.prototype.onChange=function(A){for(var g="r"==A.action[0],I=this.selectedTabstop||{},C=I.parents||{},B=this.tabstops.slice(),Q=0;Q2&&(this.tabstops.length&&Q.push(Q.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,Q))},A.prototype.addTabstopMarkers=function(A){var g=this.session;A.forEach((function(A){A.markerId||(A.markerId=g.addMarker(A,"ace_snippet-marker","text"))}))},A.prototype.removeTabstopMarkers=function(A){var g=this.session;A.forEach((function(A){g.removeMarker(A.markerId),A.markerId=null}))},A.prototype.updateTabstopMarkers=function(){if(this.selectedTabstop){var A=this.selectedTabstop.snippetId;0===this.selectedTabstop.index&&A--,this.tabstops.forEach((function(g){g.snippetId===A?this.addTabstopMarkers(g):this.removeTabstopMarkers(g)}),this)}},A.prototype.removeRange=function(A){var g=A.tabstop.indexOf(A);-1!=g&&A.tabstop.splice(g,1),-1!=(g=this.ranges.indexOf(A))&&this.ranges.splice(g,1),-1!=(g=A.tabstop.rangeList.ranges.indexOf(A))&&A.tabstop.splice(g,1),this.session.removeMarker(A.markerId),A.tabstop.length||(-1!=(g=this.tabstops.indexOf(A.tabstop))&&this.tabstops.splice(g,1),this.tabstops.length||this.detach())},A}();l.prototype.keyboardHandler=new E,l.prototype.keyboardHandler.bindKeys({Tab:function(A){g.snippetManager&&g.snippetManager.expandWithTab(A)||(A.tabstopManager.tabNext(1),A.renderer.scrollCursorIntoView())},"Shift-Tab":function(A){A.tabstopManager.tabNext(-1),A.renderer.scrollCursorIntoView()},Esc:function(A){A.tabstopManager.detach()}});var h=function(A,g){0==A.row&&(A.column+=g.column),A.row+=g.row},d=function(A,g){A.row==g.row&&(A.column-=g.column),A.row-=g.row};C.importCssString("\n.ace_snippet-marker {\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n background: rgba(194, 193, 208, 0.09);\n border: 1px dotted rgba(211, 208, 235, 0.62);\n position: absolute;\n}","snippets.css",!1),g.snippetManager=new c;var G=A("./editor").Editor;(function(){this.insertSnippet=function(A,I){return g.snippetManager.insertSnippet(this,A,I)},this.expandSnippet=function(A){return g.snippetManager.expandWithTab(this,A)}}).call(G.prototype)})),ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/config","ace/lib/useragent"],(function(A,g,I){"use strict";var C=A("../virtual_renderer").VirtualRenderer,B=A("../editor").Editor,Q=A("../range").Range,i=A("../lib/event"),o=A("../lib/lang"),e=A("../lib/dom"),E=A("../config").nls,t=A("./../lib/useragent"),n=function(A){return"suggest-aria-id:".concat(A)},a=t.isSafari?"menu":"listbox",s=t.isSafari?"menuitem":"option",c=t.isSafari?"aria-current":"aria-selected",r=function(A){var g=new C(A);g.$maxLines=4;var I=new B(g);return I.setHighlightActiveLine(!1),I.setShowPrintMargin(!1),I.renderer.setShowGutter(!1),I.renderer.setHighlightGutterLine(!1),I.$mouseHandler.$focusTimeout=0,I.$highlightTagPending=!0,I},l=function(A){var g=e.createElement("div"),I=r(g);A&&A.appendChild(g),g.style.display="none",I.renderer.content.style.cursor="default",I.renderer.setStyle("ace_autocomplete"),I.renderer.$textLayer.element.setAttribute("role",a),I.renderer.$textLayer.element.setAttribute("aria-roledescription",E("autocomplete.popup.aria-roledescription","Autocomplete suggestions")),I.renderer.$textLayer.element.setAttribute("aria-label",E("autocomplete.popup.aria-label","Autocomplete suggestions")),I.renderer.textarea.setAttribute("aria-hidden","true"),I.setOption("displayIndentGuides",!1),I.setOption("dragDelay",150);var C,B=function(){};I.focus=B,I.$isFocused=!0,I.renderer.$cursorLayer.restartTimer=B,I.renderer.$cursorLayer.element.style.opacity="0",I.renderer.$maxLines=8,I.renderer.$keepTextAreaAtCursor=!1,I.setHighlightActiveLine(!1),I.session.highlight(""),I.session.$searchHighlight.clazz="ace_highlight-marker",I.on("mousedown",(function(A){var g=A.getDocumentPosition();I.selection.moveToPosition(g),l.start.row=l.end.row=g.row,A.stop()}));var t=new Q(-1,0,-1,1/0),l=new Q(-1,0,-1,1/0);l.id=I.session.addMarker(l,"ace_active-line","fullLine"),I.setSelectOnHover=function(A){A?t.id&&(I.session.removeMarker(t.id),t.id=null):t.id=I.session.addMarker(t,"ace_line-hover","fullLine")},I.setSelectOnHover(!1),I.on("mousemove",(function(A){if(C){if(C.x!=A.x||C.y!=A.y){(C=A).scrollTop=I.renderer.scrollTop,I.isMouseOver=!0;var g=C.getDocumentPosition().row;t.start.row!=g&&(t.id||I.setRow(g),d(g))}}else C=A})),I.renderer.on("beforeRender",(function(){if(C&&-1!=t.start.row){C.$pos=null;var A=C.getDocumentPosition().row;t.id||I.setRow(A),d(A,!0)}})),I.renderer.on("afterRender",(function(){var A=I.getRow(),g=I.renderer.$textLayer,C=g.element.childNodes[A-g.config.firstRow],B=document.activeElement;if(C!==I.selectedNode&&I.selectedNode&&(e.removeCssClass(I.selectedNode,"ace_selected"),B.removeAttribute("aria-activedescendant"),I.selectedNode.removeAttribute(c),I.selectedNode.removeAttribute("id")),I.selectedNode=C,C){e.addCssClass(C,"ace_selected");var Q=n(A);C.id=Q,g.element.setAttribute("aria-activedescendant",Q),B.setAttribute("aria-activedescendant",Q),C.setAttribute("role",s),C.setAttribute("aria-roledescription",E("autocomplete.popup.item.aria-roledescription","item")),C.setAttribute("aria-label",I.getData(A).caption||I.getData(A).value),C.setAttribute("aria-setsize",I.data.length),C.setAttribute("aria-posinset",A+1),C.setAttribute("aria-describedby","doc-tooltip"),C.setAttribute(c,"true")}}));var h=function(){d(-1)},d=function(A,g){A!==t.start.row&&(t.start.row=t.end.row=A,g||I.session._emit("changeBackMarker"),I._emit("changeHoverMarker"))};I.getHoveredRow=function(){return t.start.row},i.addListener(I.container,"mouseout",(function(){I.isMouseOver=!1,h()})),I.on("hide",h),I.on("changeSelection",h),I.session.doc.getLength=function(){return I.data.length},I.session.doc.getLine=function(A){var g=I.data[A];return"string"==typeof g?g:g&&g.value||""};var G=I.session.bgTokenizer;return G.$tokenizeRow=function(A){var g=I.data[A],C=[];if(!g)return C;"string"==typeof g&&(g={value:g});var B=g.caption||g.value||g.name;function Q(A,I){A&&C.push({type:(g.className||"")+(I||""),value:A})}for(var i=B.toLowerCase(),o=(I.filterText||"").toLowerCase(),e=0,E=0,t=0;t<=o.length;t++)if(t!=E&&(g.matchMask&1<=t?"bottom":"top"),"top"===B?(n.bottom=A.top-this.$borderSize,n.top=n.bottom-t):"bottom"===B&&(n.top=A.top+g+this.$borderSize,n.bottom=n.top+t);var c=n.top>=0&&n.bottom<=o;if(!Q&&!c)return!1;E.$maxPixelHeight=c?null:"top"===B?s:a,"top"===B?(i.style.top="",i.style.bottom=o-n.bottom+"px",I.isTopdown=!1):(i.style.top=n.top+"px",i.style.bottom="",I.isTopdown=!0),i.style.display="";var r=A.left;return r+i.offsetWidth>e&&(r=e-i.offsetWidth),i.style.left=r+"px",i.style.right="",I.isOpen||(I.isOpen=!0,this._signal("show"),C=null),I.anchorPos=A,I.anchor=B,!0},I.show=function(A,g,I){this.tryShow(A,g,I?"bottom":void 0,!0)},I.goTo=function(A){var g=this.getRow(),I=this.session.getLength()-1;switch(A){case"up":g=g<=0?I:g-1;break;case"down":g=g>=I?-1:g+1;break;case"start":g=0;break;case"end":g=I}this.setRow(g)},I.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},I.$imageSize=0,I.$borderSize=1,I};e.importCssString('\n.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\n background-color: #CAD6FA;\n z-index: 1;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\n background-color: #3a674e;\n}\n.ace_editor.ace_autocomplete .ace_line-hover {\n border: 1px solid #abbffe;\n margin-top: -1px;\n background: rgba(233,233,253,0.4);\n position: absolute;\n z-index: 2;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_line-hover {\n border: 1px solid rgba(109, 150, 13, 0.8);\n background: rgba(58, 103, 78, 0.62);\n}\n.ace_completion-meta {\n opacity: 0.5;\n margin-left: 0.9em;\n}\n.ace_completion-message {\n margin-left: 0.9em;\n color: blue;\n}\n.ace_editor.ace_autocomplete .ace_completion-highlight{\n color: #2d69c7;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{\n color: #93ca12;\n}\n.ace_editor.ace_autocomplete {\n width: 300px;\n z-index: 200000;\n border: 1px lightgray solid;\n position: fixed;\n box-shadow: 2px 3px 5px rgba(0,0,0,.2);\n line-height: 1.4;\n background: #fefefe;\n color: #111;\n}\n.ace_dark.ace_editor.ace_autocomplete {\n border: 1px #484747 solid;\n box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51);\n line-height: 1.4;\n background: #25282c;\n color: #c1c1c1;\n}\n.ace_autocomplete .ace_text-layer {\n width: calc(100% - 8px);\n}\n.ace_autocomplete .ace_line {\n display: flex;\n align-items: center;\n}\n.ace_autocomplete .ace_line > * {\n min-width: 0;\n flex: 0 0 auto;\n}\n.ace_autocomplete .ace_line .ace_ {\n flex: 0 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ace_autocomplete .ace_completion-spacer {\n flex: 1;\n}\n.ace_autocomplete.ace_loading:after {\n content: "";\n position: absolute;\n top: 0px;\n height: 2px;\n width: 8%;\n background: blue;\n z-index: 100;\n animation: ace_progress 3s infinite linear;\n animation-delay: 300ms;\n transform: translateX(-100%) scaleX(1);\n}\n@keyframes ace_progress {\n 0% { transform: translateX(-100%) scaleX(1) }\n 50% { transform: translateX(625%) scaleX(2) } \n 100% { transform: translateX(1500%) scaleX(3) } \n}\n@media (prefers-reduced-motion) {\n .ace_autocomplete.ace_loading:after {\n transform: translateX(625%) scaleX(2);\n animation: none;\n }\n}\n',"autocompletion.css",!1),g.AcePopup=l,g.$singleLineEditor=r,g.getAriaId=n})),ace.define("ace/autocomplete/inline_screenreader",["require","exports","module"],(function(A,g,I){"use strict";var C=function(){function A(A){this.editor=A,this.screenReaderDiv=document.createElement("div"),this.screenReaderDiv.classList.add("ace_screenreader-only"),this.editor.container.appendChild(this.screenReaderDiv)}return A.prototype.setScreenReaderContent=function(A){for(!this.popup&&this.editor.completer&&this.editor.completer.popup&&(this.popup=this.editor.completer.popup,this.popup.renderer.on("afterRender",function(){var A=this.popup.getRow(),g=this.popup.renderer.$textLayer,I=g.element.childNodes[A-g.config.firstRow];if(I){for(var C="doc-tooltip ",B=0;B=0&&I.test(A[Q]);Q--)B.push(A[Q]);return B.reverse().join("")},g.retrieveFollowingIdentifier=function(A,g,I){I=I||C;for(var B=[],Q=g;Q0)for(var g=this.popup.getFirstVisibleRow();g<=this.popup.getLastVisibleRow();g++){var I=this.popup.getData(g);!I||A&&!I.hideInlinePreview||this.$seen(I)}},A.prototype.$onPopupShow=function(A){this.$onPopupChange(A),this.stickySelection=!1,this.stickySelectionDelay>=0&&this.stickySelectionTimer.schedule(this.stickySelectionDelay)},A.prototype.observeLayoutChanges=function(){if(!this.$elements&&this.editor){window.addEventListener("resize",this.onLayoutChange,{passive:!0}),window.addEventListener("wheel",this.mousewheelListener);for(var A=this.editor.container.parentNode,g=[];A;)g.push(A),A.addEventListener("scroll",this.onLayoutChange,{passive:!0}),A=A.parentNode;this.$elements=g}},A.prototype.unObserveLayoutChanges=function(){var A=this;window.removeEventListener("resize",this.onLayoutChange,{passive:!0}),window.removeEventListener("wheel",this.mousewheelListener),this.$elements&&this.$elements.forEach((function(g){g.removeEventListener("scroll",A.onLayoutChange,{passive:!0})})),this.$elements=null},A.prototype.onLayoutChange=function(){if(!this.popup.isOpen)return this.unObserveLayoutChanges();this.$updatePopupPosition(),this.updateDocTooltip()},A.prototype.$updatePopupPosition=function(){var A=this.editor,g=A.renderer,I=g.layerConfig.lineHeight,C=g.$cursorLayer.getPixelPosition(this.base,!0);C.left-=this.popup.getTextLeftOffset();var B=A.container.getBoundingClientRect();C.top+=B.top-g.layerConfig.offset,C.left+=B.left-A.renderer.scrollLeft,C.left+=g.gutterWidth;var Q={top:C.top,left:C.left};g.$ghostText&&g.$ghostTextWidget&&this.base.row===g.$ghostText.position.row&&(Q.top+=g.$ghostTextWidget.el.offsetHeight);var i=A.container.getBoundingClientRect().bottom-I,o=ithis.filterText&&0===A.lastIndexOf(this.filterText,0))var g=this.filtered;else g=this.all;this.filterText=A,g=(g=this.filterCompletions(g,this.filterText)).sort((function(A,g){return g.exactMatch-A.exactMatch||g.$score-A.$score||(A.caption||A.value).localeCompare(g.caption||g.value)}));var I=null;g=g.filter((function(A){var g=A.snippet||A.caption||A.value;return g!==I&&(I=g,!0)})),this.filtered=g},A.prototype.filterCompletions=function(A,g){var I=[],C=g.toUpperCase(),B=g.toLowerCase();A:for(var Q,i=0;Q=A[i];i++){var o=!this.ignoreCaption&&Q.caption||Q.value||Q.snippet;if(o){var e,E,t=-1,n=0,a=0;if(this.exactMatch){if(g!==o.substr(0,g.length))continue A}else{var s=o.toLowerCase().indexOf(B);if(s>-1)a=s;else for(var c=0;c=0&&(l<0||r0&&(-1===t&&(a+=10),a+=E,n|=1<",i.escapeHTML(A.caption),"","
",i.escapeHTML(t(A.snippet))].join(""))},id:"snippetCompleter"},a=[n,e,E];g.setCompleters=function(A){a.length=0,A&&a.push.apply(a,A)},g.addCompleter=function(A){a.push(A)},g.textCompleter=e,g.keyWordCompleter=E,g.snippetCompleter=n;var s,c={name:"expandSnippet",exec:function(A){return C.expandWithTab(A)},bindKey:"Tab"},r=function(A,g){l(g.session.$mode)},l=function(A){"string"==typeof A&&(A=Q.$modes[A]),A&&(C.files||(C.files={}),h(A.$id,A.snippetFileId),A.modes&&A.modes.forEach(l))},h=function(A,g){g&&A&&!C.files[A]&&(C.files[A]={},Q.loadModule(g,(function(g){g&&(C.files[A]=g,!g.snippets&&g.snippetText&&(g.snippets=C.parseSnippetFile(g.snippetText)),C.register(g.snippets||[],g.scope),g.includeScopes&&(C.snippetMap[g.scope].includeScopes=g.includeScopes,g.includeScopes.forEach((function(A){l("ace/mode/"+A)}))))})))},d=function(A){var g=A.editor,I=g.completer&&g.completer.activated;if("backspace"===A.command.name)I&&!o.getCompletionPrefix(g)&&g.completer.detach();else if("insertstring"===A.command.name&&!I){s=A;var C=A.editor.$liveAutocompletionDelay;C?G.delay(C):D(A)}},G=i.delayedCall((function(){D(s)}),0),D=function(A){var g=A.editor,I=o.getCompletionPrefix(g),C=A.args,Q=o.triggerAutocomplete(g,C);if(I&&I.length>=g.$liveAutocompletionThreshold||Q){var i=B.for(g);i.autoShown=!0,i.showPopup(g)}},y=A("../editor").Editor;A("../config").defineOptions(y.prototype,"editor",{enableBasicAutocompletion:{set:function(A){A?(this.completers||(this.completers=Array.isArray(A)?A:a),this.commands.addCommand(B.startCommand)):this.commands.removeCommand(B.startCommand)},value:!1},enableLiveAutocompletion:{set:function(A){A?(this.completers||(this.completers=Array.isArray(A)?A:a),this.commands.on("afterExec",d)):this.commands.off("afterExec",d)},value:!1},liveAutocompletionDelay:{initialValue:0},liveAutocompletionThreshold:{initialValue:0},enableSnippets:{set:function(A){A?(this.commands.addCommand(c),this.on("changeMode",r),r(0,this)):(this.commands.removeCommand(c),this.off("changeMode",r))},value:!1}})})),ace.require(["ace/ext/language_tools"],(function(g){A&&(A.exports=g)}))},3896:(A,g,I)=>{A=I.nmd(A),ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(A,g,I){"use strict";var C=A("../lib/oop"),B=A("./text_highlight_rules").TextHighlightRules,Q=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"text",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"comment",regex:"\\/\\/.*$"},{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"punctuation.operator",regex:/[,]/},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]}};C.inherits(Q,B),g.JsonHighlightRules=Q})),ace.define("ace/mode/json5_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/json_highlight_rules"],(function(A,g,I){"use strict";var C=A("../lib/oop"),B=A("./json_highlight_rules").JsonHighlightRules,Q=function(){B.call(this);var A=[{token:"variable",regex:/[a-zA-Z$_\u00a1-\uffff][\w$\u00a1-\uffff]*\s*(?=:)/},{token:"variable",regex:/['](?:(?:\\.)|(?:[^'\\]))*?[']\s*(?=:)/},{token:"constant.language.boolean",regex:/(?:null)\b/},{token:"string",regex:/'/,next:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\/bfnrt]|$)/,consumeLineEnd:!0},{token:"string",regex:/'|$/,next:"start"},{defaultToken:"string"}]},{token:"string",regex:/"(?![^"]*":)/,next:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\/bfnrt]|$)/,consumeLineEnd:!0},{token:"string",regex:/"|$/,next:"start"},{defaultToken:"string"}]},{token:"constant.numeric",regex:/[+-]?(?:Infinity|NaN)\b/}];for(var g in this.$rules)this.$rules[g].unshift.apply(this.$rules[g],A);this.normalizeRules()};C.inherits(Q,B),g.Json5HighlightRules=Q})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(A,g,I){"use strict";var C=A("../range").Range,B=function(){};(function(){this.checkOutdent=function(A,g){return!!/^\s+$/.test(A)&&/^\s*\}/.test(g)},this.autoOutdent=function(A,g){var I=A.getLine(g).match(/^(\s*\})/);if(!I)return 0;var B=I[1].length,Q=A.findMatchingBracket({row:g,column:B});if(!Q||Q.row==g)return 0;var i=this.$getIndent(A.getLine(Q.row));A.replace(new C(g,0,g,B-1),i)},this.$getIndent=function(A){return A.match(/^\s*/)[0]}}).call(B.prototype),g.MatchingBraceOutdent=B})),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(A,g,I){"use strict";var C=A("../../lib/oop"),B=A("../../range").Range,Q=A("./fold_mode").FoldMode,i=g.FoldMode=function(A){A&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+A.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+A.end)))};C.inherits(i,Q),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(A,g,I){var C=A.getLine(I);if(this.singleLineBlockCommentRe.test(C)&&!this.startRegionRe.test(C)&&!this.tripleStarBlockCommentRe.test(C))return"";var B=this._getFoldWidgetBase(A,g,I);return!B&&this.startRegionRe.test(C)?"start":B},this.getFoldWidgetRange=function(A,g,I,C){var B,Q=A.getLine(I);if(this.startRegionRe.test(Q))return this.getCommentRegionBlock(A,Q,I);if(B=Q.match(this.foldingStartMarker)){var i=B.index;if(B[1])return this.openingBracketBlock(A,B[1],I,i);var o=A.getCommentFoldRange(I,i+B[0].length,1);return o&&!o.isMultiLine()&&(C?o=this.getSectionRange(A,I):"all"!=g&&(o=null)),o}if("markbegin"!==g&&(B=Q.match(this.foldingStopMarker))){i=B.index+B[0].length;return B[1]?this.closingBracketBlock(A,B[1],I,i):A.getCommentFoldRange(I,i,-1)}},this.getSectionRange=function(A,g){for(var I=A.getLine(g),C=I.search(/\S/),Q=g,i=I.length,o=g+=1,e=A.getLength();++gE)break;var t=this.getFoldWidgetRange(A,"all",g);if(t){if(t.start.row<=Q)break;if(t.isMultiLine())g=t.end.row;else if(C==E)break}o=g}}return new B(Q,i,o,A.getLine(o).length)},this.getCommentRegionBlock=function(A,g,I){for(var C=g.search(/\s*$/),Q=A.getLength(),i=I,o=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,e=1;++Ii)return new B(i,C,I,g.length)}}.call(i.prototype)})),ace.define("ace/mode/json5",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json5_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/cstyle"],(function(A,g,I){"use strict";var C=A("../lib/oop"),B=A("./text").Mode,Q=A("./json5_highlight_rules").Json5HighlightRules,i=A("./matching_brace_outdent").MatchingBraceOutdent,o=A("./folding/cstyle").FoldMode,e=function(){this.HighlightRules=Q,this.$outdent=new i,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new o};C.inherits(e,B),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.checkOutdent=function(A,g,I){return this.$outdent.checkOutdent(g,I)},this.autoOutdent=function(A,g,I){this.$outdent.autoOutdent(g,I)},this.$id="ace/mode/json5"}.call(e.prototype),g.Mode=e})),ace.require(["ace/mode/json5"],(function(g){A&&(A.exports=g)}))},5202:(A,g,I)=>{A=I.nmd(A),ace.define("ace/mode/yaml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(A,g,I){"use strict";var C=A("../lib/oop"),B=A("./text_highlight_rules").TextHighlightRules,Q=function(){this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"list.markup",regex:/^(?:-{3}|\.{3})\s*(?=#|$)/},{token:"list.markup",regex:/^\s*[\-?](?:$|\s)/},{token:"constant",regex:"!![\\w//]+"},{token:"constant.language",regex:"[&\\*][a-zA-Z0-9-_]+"},{token:["meta.tag","keyword"],regex:/^(\s*\w[^\s:]*?)(:(?=\s|$))/},{token:["meta.tag","keyword"],regex:/(\w[^\s:]*?)(\s*:(?=\s|$))/},{token:"keyword.operator",regex:"<<\\w*:\\w*"},{token:"keyword.operator",regex:"-\\s*(?=[{])"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:/[|>][-+\d]*(?:$|\s+(?:$|#))/,onMatch:function(A,g,I,C){C=C.replace(/ #.*/,"");var B=/^ *((:\s*)?-(\s*[^|>])?)?/.exec(C)[0].replace(/\S\s*$/,"").length,Q=parseInt(/\d+[\s+-]*$/.exec(C));return Q?(B+=Q-1,this.next="mlString"):this.next="mlStringPre",I.length?(I[0]=this.next,I[1]=B):(I.push(this.next),I.push(B)),this.token},next:"mlString"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:/(\b|[+\-\.])[\d_]+(?:(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)(?=[^\d-\w]|$)$/},{token:"constant.numeric",regex:/[+\-]?\.inf\b|NaN\b|0x[\dA-Fa-f_]+|0b[10_]+/},{token:"constant.language.boolean",regex:"\\b(?:true|false|TRUE|FALSE|True|False|yes|no)\\b"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:/[^\s,:\[\]\{\}]+/}],mlStringPre:[{token:"indent",regex:/^ *$/},{token:"indent",regex:/^ */,onMatch:function(A,g,I){return I[1]>=A.length?(this.next="start",I.shift(),I.shift()):(I[1]=A.length-1,this.next=I[0]="mlString"),this.token},next:"mlString"},{defaultToken:"string"}],mlString:[{token:"indent",regex:/^ *$/},{token:"indent",regex:/^ */,onMatch:function(A,g,I){return I[1]>=A.length?(this.next="start",I.splice(0)):this.next="mlString",this.token},next:"mlString"},{token:"string",regex:".+"}]},this.normalizeRules()};C.inherits(Q,B),g.YamlHighlightRules=Q})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(A,g,I){"use strict";var C=A("../range").Range,B=function(){};(function(){this.checkOutdent=function(A,g){return!!/^\s+$/.test(A)&&/^\s*\}/.test(g)},this.autoOutdent=function(A,g){var I=A.getLine(g).match(/^(\s*\})/);if(!I)return 0;var B=I[1].length,Q=A.findMatchingBracket({row:g,column:B});if(!Q||Q.row==g)return 0;var i=this.$getIndent(A.getLine(Q.row));A.replace(new C(g,0,g,B-1),i)},this.$getIndent=function(A){return A.match(/^\s*/)[0]}}).call(B.prototype),g.MatchingBraceOutdent=B})),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],(function(A,g,I){"use strict";var C=A("../../lib/oop"),B=A("./fold_mode").FoldMode,Q=A("../../range").Range,i=g.FoldMode=function(){};C.inherits(i,B),function(){this.commentBlock=function(A,g){var I=/\S/,C=A.getLine(g),B=C.search(I);if(-1!=B&&"#"==C[B]){for(var i=C.length,o=A.getLength(),e=g,E=g;++ge){var n=A.getLine(E).length;return new Q(e,i,E,n)}}},this.getFoldWidgetRange=function(A,g,I){var C=this.indentationBlock(A,I);return C||((C=this.commentBlock(A,I))||void 0)},this.getFoldWidget=function(A,g,I){var C=A.getLine(I),B=C.search(/\S/),Q=A.getLine(I+1),i=A.getLine(I-1),o=i.search(/\S/),e=Q.search(/\S/);if(-1==B)return A.foldWidgets[I-1]=-1!=o&&ot){var l=A.getLine(n).length;return new Q(t,e,n,l)}}},this.getFoldWidget=function(A,g,I){var C=A.getLine(I),B=C.search(/\S/),Q=A.getLine(I+1),i=A.getLine(I-1),o=i.search(/\S/),e=Q.search(/\S/),E="-"===C[B];if(-1==B)return A.foldWidgets[I-1]=-1!=o&&o{A=I.nmd(A),ace.define("ace/mode/zencode_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(A,g,I){var C=A("../lib/oop"),B=A("./text_highlight_rules").TextHighlightRules,Q=function(){var A="keyword",g="constant.language",I="variable.languae",C="constant.numeric",B="keyword.operator",Q="'\\s*(url64|base64|base58|mnemonic|hex|binary|number|string|array|keypair)\\s*'";this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"constant.language",regex:"scenario",next:"scenario_start"},{token:"support.function",regex:"rule check version"},{token:"support.function",regex:"Rule unknown ignore"},{token:"support.function",regex:"Rule caller restroom-mw"},{token:"support.function",regex:"rule (input|output) \\S+ \\S+"},{token:"constant.numeric",regex:"\\d\\.\\d\\.\\d"},{include:"scenario",caseInsensitive:!0}],scenario:[{token:A,regex:"^\\s*given ",next:"given"},{token:g,regex:"^\\s*when ",next:"when"},{token:I,regex:"^\\s*then ",next:"then"},{token:C,regex:"^\\s*if ",next:"if"},{token:B,regex:"^\\s*foreach ",next:"foreach"},{token:C,regex:"^\\s*endif\\s*$"},{token:B,regex:"^\\s*endforeach\\s*$"},{caseInsensitive:!0}],scenario_error:[{token:"invalid",regex:"given "},{token:"invalid",regex:"then "},{token:"invalid",regex:"when "}],given:[{token:"support.function",regex:Q},{token:"string",regex:"'",next:"given_string"},{regex:"^\\s*and +",token:A},{defaultToken:A,caseInsensitive:!0},{include:"comment"},{token:"string",regex:"$",next:"given"},{include:"scenario"},{include:"scenario_error"},{token:"none",regex:"^.*"}],then:[{token:"support.function",regex:Q},{token:"string",regex:"'",next:"then_string"},{regex:"^\\s*and +",token:I},{defaultToken:I,caseInsensitive:!0},{include:"comment"},{token:"string",regex:"$",next:"then"},{include:"scenario"},{include:"scenario_error"},{token:"none",regex:"^.*"}],when:[{token:"support.function",regex:Q},{token:"string",regex:"'",next:"when_string"},{regex:"^\\s*and +",token:g},{defaultToken:g,caseInsensitive:!0},{include:"comment"},{token:"string",regex:"$",next:"when"},{include:"scenario"},{include:"scenario_error"},{token:"none",regex:"^.*"}],if:[{token:"support.function",regex:Q},{token:"string",regex:"'",next:"if_string"},{regex:"^\\s*and +",token:C},{defaultToken:C,caseInsensitive:!0},{include:"comment"},{token:"string",regex:"$",next:"if"},{include:"scenario"},{include:"scenario_error"},{token:"none",regex:"^.*"}],foreach:[{token:"support.function",regex:Q},{token:"string",regex:"'",next:"foreach_string"},{regex:"^\\s*and +",token:B},{defaultToken:B,caseInsensitive:!0},{include:"comment"},{token:"string",regex:"$",next:"foreach"},{include:"scenario"},{include:"scenario_error"},{token:"none",regex:"^.*"}],comment:[{token:"comment",regex:"\\s*#.*$"}],scenario_start:[{token:"string",regex:"[A-Za-z]+"},{token:"keyword",regex:":",next:"scenario_continue"},{token:"string",regex:"'",next:"scenario_string"},{include:"comment"}],scenario_string:[{token:"string",regex:"'",next:"scenario_puntuaction"},{defaultToken:"string"},{include:"comment"}],given_string:[{token:"string",regex:"'",next:"given"},{defaultToken:"string"}],then_string:[{token:"string",regex:"'",next:"then"},{defaultToken:"string"}],when_string:[{token:"string",regex:"'",next:"when"},{defaultToken:"string"}],if_string:[{token:"string",regex:"'",next:"if"},{defaultToken:"string"}],foreach_string:[{token:"string",regex:"'",next:"foreach"},{defaultToken:"string"}],scenario_puntuaction:[{token:"keyword",regex:":",next:"scenario_continue"},{include:"comment"}],scenario_continue:[{token:"string",regex:"( *\\S*)+$",next:"start"},{include:"comment"}]},this.normalizeRules()};C.inherits(Q,B),g.ZencodeHighlightRules=Q})),ace.define("ace/mode/zencode",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/zencode_highlight_rules"],(function(A,g,I){var C=A("../lib/oop"),B=A("./text").Mode,Q=A("./zencode_highlight_rules").ZencodeHighlightRules,i=function(){this.HighlightRules=Q,this.$behaviour=this.$defaultBehaviour};C.inherits(i,B),function(){this.lineCommentStart="#",this.$id="ace/mode/zencode"}.call(i.prototype),g.Mode=i})),ace.require(["ace/mode/zencode"],(function(g){A&&(A.exports=g)}))},4571:(A,g,I)=>{A=I.nmd(A),ace.define("ace/theme/ambiance-css",["require","exports","module"],(function(A,g,I){I.exports=".ace-ambiance .ace_gutter {\n background-color: #3d3d3d;\n background-image: linear-gradient(left, #3D3D3D, #333);\n background-repeat: repeat-x;\n border-right: 1px solid #4d4d4d;\n text-shadow: 0px 1px 1px #4d4d4d;\n color: #222;\n}\n\n.ace-ambiance .ace_gutter-layer {\n background: repeat left top;\n}\n\n.ace-ambiance .ace_gutter-active-line {\n background-color: #3F3F3F;\n}\n\n.ace-ambiance .ace_fold-widget {\n text-align: center;\n}\n\n.ace-ambiance .ace_fold-widget:hover {\n color: #777;\n}\n\n.ace-ambiance .ace_fold-widget.ace_start,\n.ace-ambiance .ace_fold-widget.ace_end,\n.ace-ambiance .ace_fold-widget.ace_closed{\n background: none !important;\n border: none;\n box-shadow: none;\n}\n\n.ace-ambiance .ace_fold-widget.ace_start:after {\n content: '\u25be'\n}\n\n.ace-ambiance .ace_fold-widget.ace_end:after {\n content: '\u25b4'\n}\n\n.ace-ambiance .ace_fold-widget.ace_closed:after {\n content: '\u2023'\n}\n\n.ace-ambiance .ace_print-margin {\n border-left: 1px dotted #2D2D2D;\n right: 0;\n background: #262626;\n}\n\n.ace-ambiance .ace_scroller {\n -webkit-box-shadow: inset 0 0 10px black;\n -moz-box-shadow: inset 0 0 10px black;\n -o-box-shadow: inset 0 0 10px black;\n box-shadow: inset 0 0 10px black;\n}\n\n.ace-ambiance {\n color: #E6E1DC;\n background-color: #202020;\n}\n\n.ace-ambiance .ace_cursor {\n border-left: 1px solid #7991E8;\n}\n\n.ace-ambiance .ace_overwrite-cursors .ace_cursor {\n border: 1px solid #FFE300;\n background: #766B13;\n}\n\n.ace-ambiance.normal-mode .ace_cursor-layer {\n z-index: 0;\n}\n \n.ace-ambiance .ace_marker-layer .ace_selection {\n background: rgba(221, 240, 255, 0.20);\n}\n\n.ace-ambiance .ace_marker-layer .ace_selected-word {\n border-radius: 4px;\n border: 8px solid #3f475d;\n box-shadow: 0 0 4px black;\n}\n\n.ace-ambiance .ace_marker-layer .ace_step {\n background: rgb(198, 219, 174);\n}\n\n.ace-ambiance .ace_marker-layer .ace_bracket {\n margin: -1px 0 0 -1px;\n border: 1px solid rgba(255, 255, 255, 0.25);\n}\n\n.ace-ambiance .ace_marker-layer .ace_active-line {\n background: rgba(255, 255, 255, 0.031);\n}\n\n.ace-ambiance .ace_invisible {\n color: #333;\n}\n\n.ace-ambiance .ace_paren {\n color: #24C2C7;\n}\n\n.ace-ambiance .ace_keyword {\n color: #cda869;\n}\n\n.ace-ambiance .ace_keyword.ace_operator {\n color: #fa8d6a;\n}\n\n.ace-ambiance .ace_punctuation.ace_operator {\n color: #fa8d6a;\n}\n\n.ace-ambiance .ace_identifier {\n}\n\n.ace-ambiance .ace-statement {\n color: #cda869;\n}\n\n.ace-ambiance .ace_constant {\n color: #CF7EA9;\n}\n\n.ace-ambiance .ace_constant.ace_language {\n color: #CF7EA9;\n}\n\n.ace-ambiance .ace_constant.ace_library {\n \n}\n\n.ace-ambiance .ace_constant.ace_numeric {\n color: #78CF8A;\n}\n\n.ace-ambiance .ace_invalid {\n text-decoration: underline;\n}\n\n.ace-ambiance .ace_invalid.ace_illegal {\n color:#F8F8F8;\n background-color: rgba(86, 45, 86, 0.75);\n}\n\n.ace-ambiance .ace_invalid,\n.ace-ambiance .ace_deprecated {\n text-decoration: underline;\n font-style: italic;\n color: #D2A8A1;\n}\n\n.ace-ambiance .ace_support {\n color: #9B859D;\n}\n\n.ace-ambiance .ace_support.ace_function {\n color: #DAD085;\n}\n\n.ace-ambiance .ace_function.ace_buildin {\n color: #9b859d;\n}\n\n.ace-ambiance .ace_string {\n color: #8f9d6a;\n}\n\n.ace-ambiance .ace_string.ace_regexp {\n color: #DAD085;\n}\n\n.ace-ambiance .ace_comment {\n font-style: italic;\n color: #555;\n}\n\n.ace-ambiance .ace_comment.ace_doc {\n}\n\n.ace-ambiance .ace_comment.ace_doc.ace_tag {\n color: #666;\n font-style: normal;\n}\n\n.ace-ambiance .ace_definition,\n.ace-ambiance .ace_type {\n color: #aac6e3;\n}\n\n.ace-ambiance .ace_variable {\n color: #9999cc;\n}\n\n.ace-ambiance .ace_variable.ace_language {\n color: #9b859d;\n}\n\n.ace-ambiance .ace_xml-pe {\n color: #494949;\n}\n\n.ace-ambiance .ace_gutter-layer,\n.ace-ambiance .ace_text-layer {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAQAAAAHUWYVAABFFUlEQVQYGbzBCeDVU/74/6fj9HIcx/FRHx9JCFmzMyGRURhLZIkUsoeRfUjS2FNDtr6WkMhO9sm+S8maJfu+Jcsg+/o/c+Z4z/t97/vezy3z+z8ekGlnYICG/o7gdk+wmSHZ1z4pJItqapjoKXWahm8NmV6eOTbWUOp6/6a/XIg6GQqmenJ2lDHyvCFZ2cBDbmtHA043VFhHwXxClWmeYAdLhV00Bd85go8VmaFCkbVkzlQENzfBDZ5gtN7HwF0KDrTwJ0dypSOzpaKCMwQHKTIreYIxlmhXTzTWkVm+LTynZhiSBT3RZQ7aGfjGEd3qyXQ1FDymqbKxpspERQN2MiRjNZlFFQXfCNFm9nM1zpAsoYjmtRTc5ajwuaXc5xrWskT97RaKzAGe5ARHhVUsDbjKklziiX5WROcJwSNCNI+9w1Jwv4Zb2r7lCMZ4oq5C0EdTx+2GzNuKpJ+iFf38JEWkHJn9DNF7mmBDITrWEg0VWL3pHU20tSZnuqWu+R3BtYa8XxV1HO7GyD32UkOpL/yDloINFTmvtId+nmAjxRw40VMwVKiwrKLE4bK5UOVntYwhOcSSXKrJHKPJedocpGjVz/ZMIbnYUPB10/eKCrs5apqpgVmWzBYWpmtKHecJPjaUuEgRDDaU0oZghCJ6zNMQ5ZhDYx05r5v2muQdM0EILtXUsaKiQX9WMEUotagQzFbUNN6NUPC2nm5pxEWGCjMc3GdJHjSU2kORLK/JGSrkfGEIjncU/CYUnOipoYemwj8tST9NsJmB7TUVXtbUtXATJVZXBMvYeTXJfobgJUPmGMP/yFaWonaa6BcFO3nqcIqCozSZoZoSr1g4zJOzuyGnxTEX3lUEJ7WcZgme8ddaWvWJo2AJR9DZU3CUIbhCSG6ybSwN6qtJVnCU2svDTP2ZInOw2cBTrqtQahtNZn9NcJ4l2NaSmSkkP1noZWnVwkLmdUPOwLZEwy2Z3S3R+4rIG9hcbpPXHFVWcQdZkn2FOta3cKWQnNRC5g1LsJah4GCzSVsKnCOY5OAFRTBekyyryeyilhFKva75r4Mc0aWanGEaThcy31s439KKxTzJYY5WTHPU1FtIHjQU3Oip4xlNzj/lBw23dYZVliQa7WAXf4shetcQfatI+jWRDBPmyNeW6A1P5kdDgyYJlba0BIM8BZu1JfrFwItyjcAMR3K0BWOIrtMEXyhyrlVEx3ui5dUBjmB/Q3CXW85R4mBD0s7B+4q5tKUjOlb9qqmhi5AZ6GFIC5HXtOobdYGlVdMVbNJ8toNTFcHxnoL+muBagcctjWnbNMuR00uI7nQESwg5q2qqrKWIfrNUmeQocY6HuyxJV02wj36w00yhpmUFenv4p6fUkZYqLyuinx2RGOjhCXYyJF84oiU00YMOOhhquNdfbOB7gU88pY4xJO8LVdp6/q2voeB4R04vIdhSE40xZObx1HGGJ/ja0LBthFInKaLPPFzuCaYaoj8JjPME8yoyxo6zlBqkiUZYgq00OYMswbWO5NGmq+xhipxHLRW29ARjNKXO0wRnear8XSg4XFPLKEPUS1GqvyLwiuBUoa7zpZ0l5xxFwWmWZC1H5h5FwU8eQ7K+g8UcVY6TMQreVQT/8uQ8Z+ALIXnSEa2pYZQneE9RZbSBNYXfWYJzW/h/4j4Dp1tYVcFIC5019Vyi4ThPqSFCzjGWaHQTBU8q6vrVwgxP9Lkm840imWKpcLCjYTtrKuwvsKSnrvHCXGkSMk9p6lhckfRpIeis+N2PiszT+mFLspyGleUhDwcLrZqmyeylxwjBcKHEapqkmyangyLZRVOijwOtCY5SsG5zL0OwlCJ4y5KznF3EUNDDrinwiyLZRzOXtlBbK5ITHFGLp8Q0R6ab6mS7enI2cFrxOyHvOCFaT1HThS1krjCwqWeurCkk+willhCC+RSZnRXBiZaC5RXRIZYKp2lyfrHwiKPKR0JDzrdU2EFgpidawlFDR6FgXUMNa+g1FY3bUQh2cLCwosRdnuQTS/S+JVrGLeWIvtQUvONJxlqSQYYKpwoN2kaocLjdVsis4Mk80ESF2YpSkzwldjHkjFCUutI/r+EHDU8oCs6yzL3PhWiEooZdFMkymlas4AcI3KmoMMNSQ3tHzjGWCrcJJdYyZC7QFGwjRL9p+MrRkAGWzIaWCn9W0F3TsK01c2ZvQw0byvxuQU0r1lM0qJO7wW0kRIMdDTtXEdzi4VIh+EoIHm0mWtAtpCixlabgn83fKTI7anJe9ST7WIK1DMGpQmYeA58ImV6ezOGOzK2Kgq01pd60cKWiUi9Lievb/0vIDPHQ05Kzt4ddPckQBQtoaurjyHnek/nKzpQLrVgKPjIkh2v4uyezpv+Xoo7fPFXaGFp1vaLKxQ4uUpQQS5VuQs7BCq4xRJv7fwpVvvFEB3j+620haOuocqMhWd6TTPAEx+mdFNGHdranFe95WrWmIvlY4F1Dle2ECgc6cto7SryuqGGGha0tFQ5V53migUKmg6XKAo4qS3mik+0OZpAhOLeZKicacgaYcyx5hypYQE02ZA4xi/pNhOQxR4klNKyqacj+mpxnLTnnGSo85++3ZCZq6lrZkXlGEX3o+C9FieccJbZWVFjC0Yo1FZnJhoYMFoI1hEZ9r6hwg75HwzBNhbZCdJEfJwTPGzJvaKImw1yYX1HDAmpXR+ZJQ/SmgqMNVQb5vgamGwLtt7VwvP7Qk1xpiM5x5Cyv93E06MZmgs0Nya2azIKOYKCGBQQW97RmhKNKF02JZqHEJ4o58qp7X5EcZmc56trXEqzjCBZ1MFGR87Ql2tSTs6CGxS05PTzRQorkbw7aKoKXFDXsYW42VJih/q+FP2BdTzDTwVqOYB13liM50vG7wy28qagyuIXMeQI/Oqq8bcn5wJI50xH00CRntyfpL1T4hydYpoXgNiFzoIUTDZnLNRzh4TBHwbYGDvZkxmlyJloyr6tRihpeUG94GnKtIznREF0tzJG/OOr73JBcrSh1k6WuTprgLU+mnSGnv6Zge0NNz+kTDdH8nuAuTdJDCNb21LCiIuqlYbqGzT3RAoZofQfjFazkqeNWdYaGvYTM001EW2oKPvVk1ldUGSgUtHFwjKM1h9jnFcmy5lChoLNaQMGGDsYbKixlaMBmmsx1QjCfflwTfO/gckW0ruZ3jugKR3R5W9hGUWqCgxuFgsuaCHorotGKzGaeZB9DMsaTnKCpMtwTvOzhYk0rdrArKCqcaWmVk1+F372ur1YkKxgatI8Qfe1gIX9wE9FgS8ESmuABIXnRUbCapcKe+nO7slClSZFzpV/LkLncEb1qiO42fS3R855Su2mCLh62t1SYZZYVmKwIHjREF2uihTzB20JOkz7dkxzYQnK0UOU494wh+VWRc6Un2kpTaVgLDFEkJ/uhzRcI0YKGgpGWOlocBU/a4fKoJ/pEaNV6jip3+Es9VXY078rGnmAdf7t9ylPXS34RBSuYPs1UecZTU78WanhBCHpZ5sAoTz0LGZKjPf9TRypqWEiTvOFglL1fCEY3wY/++rbk7C8bWebA6p6om6PgOL2kp44TFJlVNBXae2rqqdZztOJpT87GQsE9jqCPIe9VReZuQ/CIgacsyZdCpIScSYqcZk8r+nsyCzhyfhOqHGOIvrLknC8wTpFcaYiGC/RU1NRbUeUpocQOnkRpGOrIOcNRx+1uA0UrzhSSt+VyS3SJpnFWkzNDqOFGIWcfR86DnmARTQ1HKIL33ExPiemeOhYSSjzlSUZZuE4TveoJLnBUOFof6KiysCbnAEcZgcUNTDOwkqWu3RWtmGpZwlHhJENdZ3miGz0lJlsKnjbwqSHQjpxnFDlTLLwqJPMZMjd7KrzkSG7VsxXBZE+F8YZkb01Oe00yyRK9psh5SYh29ySPKBo2ylNht7ZkZnsKenjKNJu9PNEyZpaCHv4Kt6RQsLvAVp7M9kIimmCUwGeWqLMmGuIotYMmWNpSahkhZw9FqZsVnKJhsjAHvtHMsTM9fCI06Dx/u3vfUXCqfsKRc4oFY2jMsoo/7DJDwZ1CsIKnJu+J9ldkpmiCxQx1rWjI+T9FwcWWzOuaYH0Hj7klNRVWEQpmaqosakiGNTFHdjS/qnUdmf0NJW5xsL0HhimCCZZSRzmSPTXJQ4aaztAwtZnoabebJ+htCaZ7Cm535ByoqXKbX1WRc4Eh2MkRXWzImVc96Cj4VdOKVxR84VdQsIUM8Psoou2byVHyZFuq7O8otbSQ2UAoeEWTudATLGSpZzVLlXVkPU2Jc+27lsw2jmg5T5VhbeE3BT083K9WsTTkFU/Osi0rC5lRlpwRHUiesNS0sOvmqGML1aRbPAxTJD9ZKtxuob+hhl8cwYGWpJ8nub7t5p6coYbMovZ1BTdaKn1jYD6h4GFDNFyT/Kqe1XCXphXHOKLZmuRSRdBPEfVUXQzJm5YGPGGJdvAEr7hHNdGZnuBvrpciGmopOLf5N0uVMy0FfYToJk90uUCbJupaVpO53UJXR2bVpoU00V2KOo4zMFrBd0Jtz2pa0clT5Q5L8IpQ177mWQejPMEJhuQjS10ref6HHjdEhy1P1EYR7GtO0uSsKJQYLiTnG1rVScj5lyazpqWGl5uBbRWl7m6ixGOOnEsMJR7z8J0n6KMnCdxhiNYQCoZ6CmYLnO8omC3MkW3bktlPmEt/VQQHejL3+dOE5FlPdK/Mq8hZxxJtLyRrepLThYKbLZxkSb5W52vYxNOaOxUF0yxMUPwBTYqCzy01XayYK0sJyWBLqX0MwU5CzoymRzV0EjjeUeLgDpTo6ij42ZAzvD01dHUUTPLU96MdLbBME8nFBn7zJCMtJcZokn8YoqU0FS5WFKyniHobguMcmW8N0XkWZjkyN3hqOMtS08r+/xTBwpZSZ3qiVRX8SzMHHjfUNFjgHEPmY9PL3ykEzxkSre/1ZD6z/NuznuB0RcE1TWTm9zRgfUWVJiG6yrzgmWPXC8EAR4Wxhlad0ZbgQyEz3pG5RVEwwDJH2mgKpjcTiCOzn1lfUWANFbZ2BA8balnEweJC9J0iuaeZoI+ippFCztEKVvckR2iice1JvhVytrQwUAZpgsubCPaU7xUe9vWnaOpaSBEspalykhC9bUlOMpT42ZHca6hyrqKmw/wMR8H5ZmdFoBVJb03O4UL0tSNnvIeRmkrLWqrs78gcrEn2tpcboh0UPOW3UUR9PMk4T4nnNKWmCjlrefhCwxRNztfmIQVdDElvS4m1/WuOujoZCs5XVOjtKPGokJzsYCtFYoWonSPT21DheU/wWhM19FcElwqNGOsp9Q8N/cwXaiND1MmeL1Q5XROtYYgGeFq1aTMsoMmcrKjQrOFQTQ1fmBYhmW6o8Jkjc7iDJRTBIo5kgJD5yMEYA3srCg7VFKwiVJkmRCc5ohGOKhsYMn/XBLdo5taZjlb9YAlGWRimqbCsoY7HFAXLa5I1HPRxMMsQDHFkWtRNniqT9UEeNjcE7RUlrCJ4R2CSJuqlKHWvJXjAUNcITYkenuBRB84TbeepcqTj3zZyFJzgYQdHnqfgI0ddUwS6GqWpsKWhjq9cV0vBAEMN2znq+EBfIWT+pClYw5xsTlJU6GeIBsjGmmANTzJZiIYpgrM0Oa8ZMjd7NP87jxhqGOhJlnQtjuQpB+8aEE00wZFznSJPyHxgH3HkPOsJFvYk8zqCHzTs1BYOa4J3PFU+UVRZxlHDM4YavlNUuMoRveiZA2d7grMNc2g+RbSCEKzmgYsUmWmazFJyoiOZ4KnyhKOGRzWJa0+moyV4TVHDzn51Awtqaphfk/lRQ08FX1iiqxTB/kLwd0VynKfEvI6cd4XMV5bMhZ7gZUWVzYQ6Nm2BYzxJbw3bGthEUUMfgbGeorae6DxHtJoZ6alhZ0+ytiVoK1R4z5PTrOECT/SugseEOlb1MMNR4VRNcJy+V1Hg9ONClSZFZjdHlc6W6FBLdJja2MC5hhpu0DBYEY1TFGwiFAxRRCsYkiM9JRb0JNMVkW6CZYT/2EiTGWmo8k+h4FhDNE7BvppoTSFnmCV5xZKzvcCdDo7VVPnIU+I+Rc68juApC90MwcFCsJ5hDqxgScYKreruyQwTqrzoqDCmhWi4IbhB0Yrt3RGa6GfDv52rKXWhh28dyZaWUvcZeMTBaZoSGyiCtRU5J8iviioHaErs7Jkj61syVzTTgOcUOQ8buFBTYWdL5g3T4qlpe0+wvD63heAXRfCCIed9RbCsp2CiI7raUOYOTU13N8PNHvpaGvayo4a3LLT1lDrVEPT2zLUlheB1R+ZTRfKWJ+dcocLJfi11vyJ51lLqJ0WD7tRwryezjiV5W28uJO9qykzX8JDe2lHl/9oyBwa2UMfOngpXCixvKdXTk3wrsKmiVYdZIqsoWEERjbcUNDuiaQomGoIbFdEHmsyWnuR+IeriKDVLnlawlyNHKwKlSU631PKep8J4Q+ayjkSLKYLhalNHlYvttb6fHm0p6OApsZ4l2VfdqZkjuysy6ysKLlckf1KUutCTs39bmCgEyyoasIWlVaMF7mgmWtBT8Kol5xpH9IGllo8cJdopcvZ2sImlDmMIbtDk3KIpeNiS08lQw11NFPTwVFlPP6pJ2gvRfI7gQUfmNAtf6Gs0wQxDsKGlVBdF8rCa3jzdwMaGHOsItrZk7hAyOzpK9VS06j5F49b0VNGOOfKs3lDToMsMBe9ZWtHFEgxTJLs7qrygKZjUnmCYoeAqeU6jqWuLJup4WghOdvCYJnrSkSzoyRkm5M2StQwVltPkfCAk58tET/CSg+8MUecmotMEnhBKfWBIZsg2ihruMJQaoIm+tkTLKEqspMh00w95gvFCQRtDwTT1gVDDSEVdlwqZfxoQRbK0g+tbiBZxzKlpnpypejdDwTaeOvorMk/IJE10h9CqRe28hhLbe0pMsdSwv4ZbhKivo2BjDWfL8UKJgeavwlwb5KlwhyE4u4XkGE2ytZCznKLCDZZq42VzT8HLCrpruFbIfOIINmh/qCdZ1ZBc65kLHR1Bkyf5zn6pN3SvGKIlFNGplhrO9QSXanLOMQTLCa0YJCRrCZm/CZmrLTm7WzCK4GJDiWUdFeYx1LCFg3NMd0XmCuF3Y5rITLDUsYS9zoHVzwnJoYpSTQoObyEzr4cFBNqYTopoaU/wkyLZ2lPhX/5Y95ulxGTV7KjhWrOZgl8MyUUafjYraNjNU1N3IWcjT5WzWqjwtoarHSUObGYO3GCJZpsBlnJGPd6ZYLyl1GdCA2625IwwJDP8GUKymbzuyPlZlvTUsaUh5zFDhRWFzPKKZLAlWdcQbObgF9tOqOsmB1dqcqYJmWstFbZRRI9poolmqiLnU0POvxScpah2iSL5UJNzgScY5+AuIbpO0YD3NCW+dLMszFSdFCWGqG6eVq2uYVNDdICGD6W7EPRWZEY5gpsE9rUkS3mijzzJnm6UpUFXG1hCUeVoS5WfNcFpblELL2qqrCvMvRfd45oalvKU2tiQ6ePJOVMRXase9iTtLJztPxJKLWpo2CRDcJwn2sWSLKIO1WQWNTCvpVUvOZhgSC40JD0dOctaSqzkCRbXsKlb11Oip6PCJ0IwSJM31j3akRxlP7Rwn6aGaUL0qiLnJkvB3xWZ2+Q1TfCwpQH3G0o92UzmX4o/oJNQMMSQc547wVHhdk+VCw01DFYEnTxzZKAm74QmeNNR1w6WzEhNK15VJzuCdxQ53dRUDws5KvwgBMOEgpcVNe0hZI6RXT1Jd0cyj5nsaEAHgVmGaJIlWdsc5Ui2ElrRR6jrRAttNMEAIWrTDFubkZaok7/AkzfIwfuWVq0jHzuCK4QabtLUMVPB3kJ0oyHTSVFlqMALilJf2Rf8k5aaHtMfayocLBS8L89oKoxpJvnAkDPa0qp5DAUTHKWmCcnthlou8iCKaFFLHWcINd1nyIwXqrSxMNmSs6KmoL2QrKuWtlQ5V0120xQ5vRyZS1rgFkWwhiOwiuQbR0OOVhQM9iS3tiXp4RawRPMp5tDletOOBL95MpM01dZTBM9pkn5qF010rIeHFcFZhmSGpYpTsI6nwhqe5C9ynhlpp5ophuRb6WcJFldkVnVEwwxVfrVkvnWUuNLCg5bgboFHPDlDPDmnK7hUrWiIbjadDclujlZcaokOFup4Ri1kacV6jmrrK1hN9bGwpKEBQ4Q6DvIUXOmo6U5LqQM6EPyiKNjVkPnJkDPNEaxhiFay5ExW1NXVUGqcpYYdPcGiCq7z/TSlbhL4pplWXKd7NZO5QQFrefhRQW/NHOsqcIglc4UhWklR8K0QzbAw08CBDnpbgqXdeD/QUsM4RZXDFBW6WJKe/mFPdH0LtBgiq57wFLzlyQzz82qYx5D5WJP5yVJDW01BfyHnS6HKO/reZqId1WGa4Hkh2kWodJ8i6KoIPlAj2hPt76CzXsVR6koPRzWTfKqIentatYpQw2me4AA3y1Kind3SwoOKZDcFXTwl9tWU6mfgRk9d71sKtlNwrjnYw5tC5n5LdKiGry3JKNlHEd3oaMCFHrazBPMp/uNJ+V7IudcSbeOIdjUEdwl0VHCOZo5t6YluEuaC9mQeMgSfOyKnYGFHcIeQ84yQWbuJYJpZw5CzglDH7gKnWqqM9ZTaXcN0TeYhR84eQtJT76JJ1lREe7WnnvsMmRc9FQ7SBBM9mV3lCUdmHk/S2RAMt0QjFNFqQpWjDPQ01DXWUdDBkXziKPjGEP3VP+zIWU2t7im41FOloyWzn/L6dkUy3VLDaZ6appgDLHPjJEsyvJngWEPUyVBiAaHCTEXwrLvSEbV1e1gKJniicWorC1MUrVjB3uDhJE/wgSOzk1DXpk0k73qCM8xw2UvD5kJmDUfOomqMpWCkJRlvKXGmoeBm18USjVIk04SClxTB6YrgLAPLWYK9HLUt5cmc0vYES8GnTeRc6skZbQkWdxRsIcyBRzx1DbTk9FbU0caTPOgJHhJKnOGIVhQqvKmo0llRw9sabrZkDtdg3PqaKi9oatjY8B+G371paMg6+mZFNNtQ04mWBq3rYLOmtWWQp8KJnpy9DdFensyjdqZ+yY40VJlH8wcdLzC8PZnvHMFUTZUrDTkLyQaGus5X5LzpYAf3i+e/ZlhqGqWhh6Ou6xTR9Z6oi5AZZtp7Mj2EEm8oSpxiYZCHU/1fbGdNNNRRoZMhmilEb2gqHOEJDtXkHK/JnG6IrvbPCwV3NhONVdS1thBMs1T4QOBcTWa2IzhMk2nW5Kyn9tXUtpv9RsG2msxk+ZsQzRQacJncpgke0+T8y5Fzj8BiGo7XlJjaTIlpQs7KFjpqGnKuoyEPeIKnFMkZHvopgh81ySxNFWvJWcKRs70j2FOT012IllEEO1n4pD1513Yg2ssQPOThOkvyrqHUdEXOSEsihmBbTbKX1kLBPWqWkLOqJbjB3GBIZmoa8qWl4CG/iZ7oiA72ZL7TJNeZUY7kFQftDcHHluBzRbCegzMtrRjVQpX2lgoPKKLJAkcbMl01XK2p7yhL8pCBbQ3BN2avJgKvttcrWDK3CiUOVxQ8ZP+pqXKyIxnmBymCg5vJjNfkPK4+c8cIfK8ocVt7kmfd/I5SR1hKvCzUtb+lhgc00ZaO6CyhIQP1Uv4yIZjload72PXX0OIJvnFU+0Zf6MhsJwTfW0r0UwQfW4LNLZl5HK261JCZ4qnBaAreVAS3WrjV0LBnNDUNNDToCEeFfwgcb4gOEqLRhirWkexrCEYKVV711DLYEE1XBEsp5tpTGjorkomKYF9FDXv7fR3BGwbettSxnyL53MBPjsxDZjMh+VUW9NRxq1DhVk+FSxQcaGjV9Pawv6eGByw5qzoy7xk4RsOShqjJwWKe/1pEEfzkobeD/dQJmpqedcyBTy2sr4nGNRH0c0SPWTLrqAc0OQcb/gemKgqucQT7ySWKCn2EUotoCvpZct7RO2sy/QW0IWcXd7pQRQyZVwT2USRO87uhjioTLKV2brpMUcMQRbKH/N2T+UlTpaMls6cmc6CCNy3JdYYSUzzJQ4oSD3oKLncULOiJvjBEC2oqnCJkJluCYy2ZQ5so9YYlZ1VLlQU1mXEW1jZERwj/MUSRc24TdexlqLKfQBtDTScJUV8FszXBEY5ktpD5Ur9hYB4Nb1iikw3JoYpkKX+RodRKFt53MMuRnKSpY31PwYaGaILh3wxJGz9TkTPEETxoCWZrgvOlmyMzxFEwVJE5xZKzvyJ4WxEc16Gd4Xe3Weq4XH2jKRikqOkGQ87hQnC7wBmGYLAnesX3M+S87eFATauuN+Qcrh7xIxXJbUIdMw3JGE3ylCWzrieaqCn4zhGM19TQ3z1oH1AX+pWEqIc7wNGAkULBo/ZxRaV9NNyh4Br3rCHZzbzmSfawBL0dNRwpW1kK9mxPXR9povcdrGSZK9c2k0xwFGzjuniCtRSZCZ6ccZ7gaktmgAOtKbG/JnOkJrjcQTdFMsxRQ2cLY3WTIrlCw1eWKn8R6pvt4GFDso3QoL4a3nLk3G6JrtME3dSenpx7PNFTmga0EaJTLQ061sEeQoWXhSo9LTXsaSjoJQRXeZLtDclbCrYzfzHHeaKjHCVOUkQHO3JeEepr56mhiyaYYKjjNU+Fed1wS5VlhWSqI/hYUdDOkaxiKehoyOnrCV5yBHtbWFqTHCCwtpDcYolesVR5yUzTZBb3RNMd0d6WP+SvhuBmRcGxnuQzT95IC285cr41cLGQ6aJJhmi4TMGempxeimBRQw1tFKV+8jd6KuzoSTqqDxzRtpZkurvKEHxlqXKRIjjfUNNXQsNOsRScoWFLT+YeRZVD3GRN0MdQcKqQjHDMrdGGVu3iYJpQx3WGUvfbmxwFfR20WBq0oYY7LMFhhgYtr8jpaEnaOzjawWWaTP8mMr0t/EPDPoqcnxTBI5o58L7uoWnMrpoqPwgVrlAUWE+V+TQl9rawoyP6QGAlQw2TPRX+YSkxyBC8Z6jhHkXBgQL7WII3DVFnRfCrBfxewv9D6xsyjys4VkhWb9pUU627JllV0YDNHMku/ldNMMXDEo4aFnAkk4U6frNEU4XgZUPmEKHUl44KrzmYamjAbh0JFvGnaTLPu1s9jPCwjFpYiN7z1DTOk/nc07CfDFzmCf7i+bfNHXhDtLeBXzTBT5rkMvWOIxpl4EMh2LGJBu2syDnAEx2naEhHDWMMzPZEhygyS1mS5RTJr5ZkoKbEUoYqr2kqdDUE8ztK7OaIntJkFrIECwv8LJTaVx5XJE86go8dFeZ3FN3rjabCAYpoYEeC9zzJVULBbmZhDyd7ko09ydpNZ3nm2Kee4FPPXHnYEF1nqOFEC08LUVcDvYXkJHW8gTaKCk9YGOeIJhqiE4ToPEepdp7IWFjdwnWaufGMwJJCMtUTTBBK9BGCOy2tGGrJTHIwyEOzp6aPzNMOtlZkDvcEWpP5SVNhfkvDxhmSazTJXYrM9U1E0xwFVwqZQwzJxw6+kGGGUj2FglGGmnb1/G51udRSMNlTw6GGnCcUwVcOpmsqTHa06o72sw1RL02p9z0VbnMLOaIX3QKaYKSCFQzBKEUNHTSc48k53RH9wxGMtpQa5KjjW0W0n6XCCCG4yxNNdhQ4R4l1Ff+2sSd6UFHiIEOyqqFgT01mEUMD+joy75jPhOA+oVVLm309FR4yVOlp4RhLiScNmSmaYF5Pw0STrOIoWMSR2UkRXOMp+M4SHW8o8Zoi6OZgjKOaFar8zZDzkWzvKOjkKBjmCXby8JahhjXULY4KlzgKLvAwxVGhvyd4zxB1d9T0piazmKLCVZY5sKiD0y2ZSYrkUEPUbIk+dlQ4SJHTR50k1DPaUWIdTZW9NJwnJMOECgd7ou/MnppMJ02O1VT4Wsh85MnZzcFTngpXGKo84qmwgKbCL/orR/SzJ2crA+t6Mp94KvxJUeIbT3CQu1uIdlQEOzlKfS3UMcrTiFmOuroocrZrT2AcmamOKg8YomeEKm/rlT2sociMaybaUlFhuqHCM2qIJ+rg4EcDFymiDSxzaHdPcpE62pD5kyM5SBMoA1PaUtfIthS85ig1VPiPPYXgYEMNk4Qq7TXBgo7oT57gPUdwgCHzhIVFPFU6OYJzHAX9m5oNrVjeE61miDrqQ4VSa1oiURTsKHC0IfjNwU2WzK6eqK8jWln4g15TVBnqmDteCJ501PGAocJhhqjZdtBEB6lnhLreFJKxmlKbeGrqLiSThVIbCdGzloasa6lpMQXHCME2boLpJgT7yWaemu6wBONbqGNVRS0PKIL7LckbjmQtR7K8I5qtqel+T/ChJTNIKLjdUMNIRyvOEko9YYl2cwQveBikCNawJKcLBbc7+JM92mysNvd/Fqp8a0k6CNEe7cnZrxlW0wQXaXjaktnRwNOGZKYiONwS7a1JVheq3WgJHlQUGKHKmp4KAxXR/ULURcNgoa4zhKSLpZR3kxRRb0NmD0OFn+UCS7CzI1nbP6+o4x47QZE5xRCt3ZagnYcvmpYQktXdk5YKXTzBC57kKEe0VVuiSYqapssMS3C9p2CKkHOg8B8Pa8p5atrIw3qezIWanMGa5HRDNF6RM9wcacl0N+Q8Z8hsIkSnaIIdHRUOEebAPy1zbCkhM062FCJtif7PU+UtoVXzWKqM1PxXO8cfdruhFQ/a6x3JKYagvVDhQEtNiyiiSQ7OsuRsZUku0CRNDs4Sog6KKjsZgk2bYJqijgsEenoKeniinRXBn/U3lgpPdyDZynQx8IiioMnCep5Ky8mjGs6Wty0l1hUQTcNWswS3WRp2kCNZwJG8omG8JphPUaFbC8lEfabwP7VtM9yoaNCAjpR41VNhrD9LkbN722v0CoZMByFzhaW+MyzRYEWFDQwN2M4/JiT76PuljT3VU/A36eaIThb+R9oZGOAJ9tewkgGvqOMNRWYjT/Cwu99Q8LqDE4TgbLWxJ1jaDDAERsFOFrobgjUsBScaguXU8kKm2RL19tRypSHnHNlHiIZqgufs4opgQdVdwxBNNFBR6kVFqb8ogimOzB6a6HTzrlDHEpYaxjiiA4TMQobkDg2vejjfwJGWmnbVFAw3H3hq2NyQfG7hz4aC+w3BbwbesG0swYayvpAs6++Ri1Vfzx93mFChvyN5xVHTS+0p9aqCAxyZ6ZacZyw5+7uuQkFPR9DDk9NOiE7X1PCYJVjVUqq7JlrHwWALF5nfHNGjApdpqgzx5OwilDhCiDYTgnc9waGW4BdLNNUQvOtpzDOWHDH8D7TR/A/85KljEQu3NREc4Pl/6B1Hhc8Umb5CsKMmGC9EPcxoT2amwHNCmeOEnOPbklnMkbOgIvO5UMOpQrS9UGVdt6iH/fURjhI/WOpaW9OKLYRod6HCUEdOX000wpDZQ6hwg6LgZfOqo1RfT/CrJzjekXOGhpc1VW71ZLbXyyp+93ILbC1kPtIEYx0FIx1VDrLoVzXRKRYWk809yYlC9ImcrinxtabKnzRJk3lAU1OLEN1j2zrYzr2myHRXJFf4h4QKT1qSTzTB5+ZNTzTRkAxX8FcLV2uS8eoQQ2aAkFzvCM72sJIcJET3WPjRk5wi32uSS9rfZajpWEvj9hW42F4o5NytSXYy8IKHay10VYdrcl4SkqscrXpMwyGOgtkajheSxdQqmpxP1L3t4R5PqasFnrQEjytq6qgp9Y09Qx9o4S1FzhUCn1kyHSzBWLemoSGvOqLNhZyBjmCaAUYpMgt4Ck7wBBMMwWKWgjsUwTaGVsxWC1mYoKiyqqeGKYqonSIRQ3KIkHO0pmAxTdBHkbOvfllfr+AA+7gnc50huVKYK393FOyg7rbPO/izI7hE4CnHHHnJ0ogNPRUGeUpsrZZTBJcrovUcJe51BPsr6GkJdhCCsZ6aTtMEb2pqWkqeVtDXE/QVggsU/Nl86d9RMF3DxvZTA58agu810RWawCiSzzXBeU3MMW9oyJUedvNEvQyNu1f10BSMddR1vaLCYpYa/mGocLSiYDcLbQz8aMn5iyF4xBNMs1P0QEOV7o5gaWGuzSeLue4tt3ro7y4Tgm4G/mopdZgl6q0o6KzJWE3mMksNr3r+a6CbT8g5wZNzT9O7fi/zpaOmnz3BRoqos+tv9zMbdpxsqDBOEewtJLt7cg5wtKKbvldpSzRRCD43VFheCI7yZLppggMVBS/KMAdHODJvOwq2NQSbKKKPLdFWQs7Fqo+mpl01JXYRgq8dnGLhTiFzqmWsUMdpllZdbKlyvSdYxhI9YghOtxR8LgSLWHK62mGGVoxzBE8LNWzqH9CUesQzFy5RQzTc56mhi6fgXEWwpKfE5Z7M05ZgZUPmo6auiv8YKzDYwWBLMErIbKHJvOwIrvEdhOBcQ9JdU1NHQ7CXn2XIDFBKU2WAgcX9UAUzDXWd5alwuyJ41Z9rjKLCL4aCp4WarhPm2rH+SaHUYE001JDZ2ZAzXPjdMpZWvC9wmqIB2lLhQ01D5jO06hghWMndbM7yRJMsoCj1vYbnFQVrW9jak3OlEJ3s/96+p33dEPRV5GxiqaGjIthUU6FFEZyqCa5qJrpBdzSw95IUnOPIrCUUjRZQFrbw5PR0R1qiYx3cb6nrWUMrBmmiBQxVHtTew5ICP/ip6g4hed/Akob/32wvBHsIOX83cI8hGeNeNPCIkPmXe8fPKx84OMSRM1MTdXSwjCZ4S30jVGhvqTRak/OVhgGazHuOCud5onEO1lJr6ecVyaOK6H7zqlBlIaHE0oroCgfvGJIdPcmfLNGLjpz7hZwZQpUbFME0A1cIJa7VNORkgfsMBatbKgwwJM9bSvQXeNOvbIjelg6WWvo5kvbKaJJNHexkKNHL9xRyFlH8Ti2riB5wVPhUk7nGkJnoCe428LR/wRGdYIlmWebCyxou1rCk4g/ShugBDX0V0ZQWkh0dOVsagkM0yV6OoLd5ye+pRlsCr0n+KiQrGuq5yJDzrTAXHtLUMduTDBVKrSm3eHL+6ijxhFDX9Z5gVU/wliHYTMiMFpKLNMEywu80wd3meoFmt6VbRMPenhrOc6DVe4pgXU8DnnHakLOIIrlF4FZPIw6R+zxBP0dyq6OOZ4Q5sLKCcz084ok+VsMMyQhNZmmBgX5xIXOEJTmi7VsGTvMTNdHHhpzdbE8Du2oKxgvBqQKdDDnTFOylCFaxR1syz2iqrOI/FEpNc3C6f11/7+ASS6l2inq2ciTrCCzgyemrCL5SVPjQkdPZUmGy2c9Sw9FtR1sS30RmsKPCS4rkIC/2U0MduwucYolGaPjKEyhzmiPYXagyWbYz8LWBDdzRimAXzxx4z8K9hpzlhLq+NiQ97HuKorMUfK/OVvC2JfiHUPCQI/q7J2gjK+tTDNxkCc4TMssqCs4TGtLVwQihyoAWgj9bosU80XGW6Ac9TJGziaUh5+hnFcHOnlaM1iRn29NaqGENTTTSUHCH2tWTeV0osUhH6psuVLjRUmGWhm6OZEshGeNowABHcJ2Bpy2ZszRcKkRXd2QuKVEeXnbfaEq825FguqfgfE2whlChSRMdron+LATTPQ2Z369t4B9C5gs/ylzv+CMmepIDPclFQl13W0rspPd1JOcbghGOEutqCv5qacURQl3dDKyvyJlqKXGPgcM9FfawJAMVmdcspcYKOZc4GjDYkFlK05olNMHyHn4zFNykyOxt99RkHlfwmiHo60l2EKI+mhreEKp080Tbug08BVPcgoqC5zWt+NLDTZ7oNSF51N1qie7Va3uCCwyZbkINf/NED6jzOsBdZjFN8oqG3wxVunqCSYYKf3EdhJyf9YWGf7tRU2oH3VHgPr1fe5J9hOgHd7xQ0y7qBwXr23aGErP0cm64JVjZwsOGqL+mhNgZmhJLW2oY4UhedsyBgzrCKrq7BmcpNVhR6jBPq64Vgi+kn6XE68pp8J5/+0wRHGOpsKenQn9DZntPzjRLZpDAdD2fnSgkG9tmIXnUwQ6WVighs7Yi2MxQ0N3CqYaCXkJ0oyOztMDJjmSSpcpvlrk0RMMOjmArQ04PRV1DO1FwhCVaUVPpKUM03JK5SxPsIWRu8/CGHi8UHChiqGFDTbSRJWeYUDDcH6vJWUxR4k1FXbMUwV6e4AJFXS8oMqsZKqzvYQ9DDQdZckY4aGsIhtlubbd2r3j4QBMoTamdPZk7O/Bf62lacZwneNjQoGcdVU7zJOd7ghsUHOkosagic6cnWc8+4gg285R6zZP5s1/LUbCKIznTwK36PkdwlOrl4U1LwfdCCa+IrvFkmgw1PCAUXKWo0sURXWcI2muKJlgyFzhynCY4RBOsqCjoI1R5zREco0n2Vt09BQtYSizgKNHfUmUrQ5UOCh51BFcLmY7umhYqXKQomOop8bUnWNNQcIiBcYaC6xzMNOS8JQQfeqKBmmglB+97ok/lfk3ygaHSyZaCRTzRxQo6GzLfa2jWBPepw+UmT7SQEJyiyRkhBLMVOfcoMjcK0eZChfUNzFAUzCsEN5vP/X1uP/n/aoMX+K+nw/Hjr/9xOo7j7Pju61tLcgvJpTWXNbfN5jLpi6VfCOviTktKlFusQixdEKWmEBUKNaIpjZRSSOXSgzaaKLdabrm1/9nZ+/f+vd/vz/v9+Xy+zZ7PRorYoZqyLrCwQdEAixxVOEXNNnjX2nUSRlkqGmWowk8lxR50JPy9Bo6qJXaXwNvREBvnThPEPrewryLhcAnj5WE15Fqi8W7R1sAuEu86S4ENikItFN4xkv9Af4nXSnUVcLiA9xzesFpivRRVeFKtsMRaKBhuSbjOELnAUtlSQUpXgdfB4Z1oSbnFEetbQ0IrAe+Y+pqnDcEJFj6S8LDZzZHwY4e3XONNlARraomNEt2bkvGsosA3ioyHm+6jCMbI59wqt4eeara28IzEmyPgoRaUOEDhTVdEJhmCoTWfC0p8aNkCp0oYqih2iqGi4yXeMkOsn4LdLLnmKfh/YogjNsPebeFGR4m9BJHLzB61XQ3BtpISfS2FugsK9FAtLWX1dCRcrCnUp44CNzuCowUZmxSRgYaE6Za0W2u/E7CVXCiI/UOR8aAm1+OSyE3mOUcwyc1zBBeoX1kiKy0Zfxck1Gsyulti11i83QTBF5Kg3pDQThFMVHiPSlK+0cSedng/VaS8bOZbtsBcTcZAR8JP5KeqQ1OYKAi20njdNNRpgnsU//K+JnaXJaGTomr7aYIphoRn9aeShJWKEq9LcozSF7QleEfDI5LYm5bgVkFkRwVDBCVu0DDIkGupo8TZBq+/pMQURYErJQmPKGKjNDkWOLx7Jd5QizdUweIaKrlP7SwJDhZvONjLkOsBBX9UpGxnydhXkfBLQ8IxgojQbLFnJf81JytSljclYYyEFyx0kVBvKWOFJmONpshGAcsduQY5giVNCV51eOdJYo/pLhbvM0uDHSevNKRcrKZIqnCtJeEsO95RoqcgGK4ocZcho1tTYtcZvH41pNQ7vA0WrhIfOSraIIntIAi+NXWCErdbkvrWwjRLrt0NKUdL6KSOscTOdMSOUtBHwL6OLA0vNSdynaWQEnCpIvKaIrJJEbvHkmuNhn6OjM8VkSGSqn1uYJCGHnq9I3aLhNME3t6GjIkO7xrNFumpyTNX/NrwX7CrIRiqqWijI9JO4d1iieykyfiposQIQ8YjjsjlBh6oHWbwRjgYJQn2NgSnNycmJAk3NiXhx44Sxykihxm8ybUwT1OVKySc7vi3OXVkdBJ4AyXBeksDXG0IhgtYY0lY5ahCD0ehborIk5aUWRJviMA7Xt5kyRjonrXENkm8yYqgs8VzgrJmClK20uMM3jRJ0FiQICQF9hdETlLQWRIb5ki6WDfWRPobvO6a4GP5mcOrNzDFELtTkONLh9dXE8xypEg7z8A9jkhrQ6Fhjlg/QVktJXxt4WXzT/03Q8IaQWSqIuEvloQ2mqC9Jfi7wRul4RX3pSPlzpoVlmCtI2jvKHCFhjcM3sN6lqF6HxnKelLjXWbwrpR4xzuCrTUZx2qq9oAh8p6ixCUGr78g8oyjRAtB5CZFwi80VerVpI0h+IeBxa6Zg6kWvpDHaioYYuEsRbDC3eOmC2JvGYLeioxGknL2UATNJN6hmtj1DlpLvDVmocYbrGCVJKOrg4X6DgddLA203BKMFngdJJFtFd7vJLm6KEpc5yjQrkk7M80SGe34X24nSex1Ra5Omgb71JKyg8SrU3i/kARKwWpH0kOGhKkObyfd0ZGjvyXlAkVZ4xRbYJ2irFMkFY1SwyWxr2oo4zlNiV+7zmaweFpT4kR3kaDAFW6xpSqzJay05FtYR4HmZhc9UxKbbfF2V8RG1MBmSaE+kmC6JnaRXK9gsiXhJHl/U0qM0WTcbyhwkYIvFGwjSbjfwhiJt8ZSQU+Bd5+marPMOkVkD0muxYLIfEuhh60x/J92itguihJSEMySVPQnTewnEm+620rTQEMsOfo4/kP/0ARvWjitlpSX7GxBgcMEsd3EEeYWvdytd+Saawi6aCIj1CkGb6Aj9rwhx16Cf3vAwFy5pyLhVonXzy51FDpdEblbkdJbUcEPDEFzQ8qNmhzzLTmmKWKbFCXeEuRabp6rxbvAtLF442QjQ+wEA9eL1xSR7Q0JXzlSHjJ4exq89yR0laScJ/FW6z4a73pFMEfDiRZvuvijIt86RaSFOl01riV2mD1UEvxGk/Geg5aWwGki1zgKPG9J2U8PEg8qYvMsZeytiTRXBMslCU8JSlxi8EabjwUldlDNLfzTUmCgxWsjqWCOHavYAqsknKFIO0yQ61VL5AVFxk6WhEaCAkdJgt9aSkzXlKNX2jEa79waYuc7gq0N3GDJGCBhoiTXUEPsdknCUE1CK0fwsiaylSF2uiDyO4XX3pFhNd7R4itFGc0k/ElBZwWvq+GC6szVeEoS/MZ+qylwpKNKv9Z469UOjqCjwlusicyTxG6VpNxcQ8IncoR4RhLbR+NdpGGmJWOcIzJGUuKPGpQg8rrG21dOMqQssJQ4RxH5jaUqnZuQ0F4Q+cjxLwPtpZbIAk3QTJHQWBE5S1BokoVtDd6lhqr9UpHSUxMcIYl9pojsb8h4SBOsMQcqvOWC2E8EVehqiJ1hrrAEbQxeK0NGZ0Gkq+guSRgniM23bIHVkqwx4hiHd7smaOyglyIyQuM978j4VS08J/A2G1KeMBRo4fBaSNhKUEZfQewVQ/C1I+MgfbEleEzCUw7mKXI0M3hd1EESVji8x5uQ41nxs1q4RMJCCXs7Iq9acpxn22oSDnQ/sJTxsCbHIYZiLyhY05TY0ZLIOQrGaSJDDN4t8pVaIrsqqFdEegtizc1iTew5Q4ayBDMUsQMkXocaYkc0hZua412siZ1rSXlR460zRJ5SlHGe5j801RLMlJTxtaOM3Q1pvxJ45zUlWFD7rsAbpfEm1JHxG0eh8w2R7QQVzBUw28FhFp5QZzq8t2rx2joqulYTWSuJdTYfWwqMFMcovFmSyJPNyLhE4E10pHzYjOC3huArRa571ZsGajQpQx38SBP5pyZB6lMU3khDnp0MBV51BE9o2E+TY5Ml2E8S7C0o6w1xvCZjf0HkVEHCzFoyNmqC+9wdcqN+Tp7jSDheE9ws8Y5V0NJCn2bk2tqSY4okdrEhx1iDN8cSudwepWmAGXKcJXK65H9to8jYQRH7SBF01ESUJdd0TayVInaWhLkOjlXE5irKGOnI6GSWGCJa482zBI9rCr0jyTVcEuzriC1vcr6mwFGSiqy5zMwxBH/TJHwjSPhL8+01kaaSUuMFKTcLEvaUePcrSmwn8DZrgikWb7CGPxkSjhQwrRk57tctmxLsb9sZvL9LSlyuSLlWkqOjwduo8b6Uv1DkmudIeFF2dHCgxVtk8dpIvHpBxhEOdhKk7OLIUSdJ+cSRY57B+0DgGUUlNfpthTfGkauzxrvTsUUaCVhlKeteTXCoJDCa2NOKhOmC4G1H8JBd4OBZReSRGkqcb/CO1PyLJTLB4j1q8JYaIutEjSLX8YKM+a6phdMsdLFUoV5RTm9JSkuDN8WcIon0NZMNZWh1q8C7SJEwV5HxrmnnTrf3KoJBlmCYI2ilSLlfEvlE4011NNgjgthzEua0oKK7JLE7HZHlEl60BLMVFewg4EWNt0ThrVNEVkkiTwpKXSWJzdRENgvKGq4IhjsiezgSFtsfCUq8qki5S1LRQeYQQ4nemmCkImWMw3tFUoUBZk4NOeZYEp4XRKTGa6wJjrWNHBVJR4m3FCnbuD6aak2WsMTh3SZImGCIPKNgsDpVwnsa70K31lCFJZYcwwSMFcQulGTsZuEaSdBXkPGZhu0FsdUO73RHjq8MPGGIfaGIbVTk6iuI3GFgucHrIQkmWSJdBd7BBu+uOryWAhY7+Lki9rK5wtEQzWwvtbqGhIMFwWRJsElsY4m9IIg9L6lCX0VklaPAYkfkZEGDnOWowlBJjtMUkcGK4Lg6EtoZInMUBVYLgn0UsdmCyCz7gIGHFfk+k1QwTh5We7A9x+IdJ6CvIkEagms0hR50eH9UnTQJ+2oiKyVlLFUE+8gBGu8MQ3CppUHesnjTHN4QB/UGPhCTHLFPHMFrCqa73gqObUJGa03wgbhHkrCfpEpzNLE7JDS25FMKhlhKKWKfCgqstLCPu1zBXy0J2ztwjtixBu8UTRn9LVtkmCN2iyFhtME70JHRQ1KVZXqKI/KNIKYMCYs1GUMEKbM1bKOI9LDXC7zbHS+bt+1MTWS9odA9DtrYtpbImQJ2VHh/lisEwaHqUk1kjKTAKknkBEXkbkdMGwq0dnhzLJF3NJH3JVwrqOB4Sca2hti75nmJN0WzxS6UxDYoEpxpa4htVlRjkYE7DZGzJVU72uC9IyhQL4i8YfGWSYLLNcHXloyz7QhNifmKSE9JgfGmuyLhc403Xm9vqcp6gXe3xuuv8F6VJNxkyTHEkHG2g0aKXL0MsXc1bGfgas2//dCONXiNLCX+5mB7eZIl1kHh7ajwpikyzlUUWOVOsjSQlsS+M0R+pPje/dzBXRZGO0rMtgQrLLG9VSu9n6CMXS3BhwYmSoIBhsjNBmZbgusE9BCPCP5triU4VhNbJfE+swSP27aayE8tuTpYYjtrYjMVGZdp2NpS1s6aBnKSHDsbKuplKbHM4a0wMFd/5/DmGyKrJSUaW4IBrqUhx0vyfzTBBLPIUcnZdrAkNsKR0sWRspumSns6Ch0v/qqIbBYUWKvPU/CFoyrDJGwSNFhbA/MlzKqjrO80hRbpKx0Jewsi/STftwGSlKc1JZyAzx05dhLEdnfQvhZOqiHWWEAHC7+30FuRcZUgaO5gpaIK+xsiHRUsqaPElTV40xQZQ107Q9BZE1nryDVGU9ZSQ47bmhBpLcYpUt7S+xuK/FiT8qKjwXYw5ypS2iuCv7q1gtgjhuBuB8LCFY5cUuCNtsQOFcT+4Ih9JX+k8Ea6v0iCIRZOtCT0Et00JW5UeC85Cg0ScK0k411HcG1zKtre3SeITBRk7WfwDhEvaYLTHP9le0m8By0JDwn4TlLW/aJOvGHxdjYUes+ScZigCkYQdNdEOhkiezgShqkx8ueKjI8lDfK2oNiOFvrZH1hS+tk7NV7nOmLHicGWEgubkXKdwdtZknCLJXaCpkrjZBtLZFsDP9CdxWsSr05Sxl6CMmoFbCOgryX40uDtamB7SVmXW4Ihlgpmq+00tBKUUa83WbjLUNkzDmY7cow1JDygyPGlhgGKYKz4vcV7QBNbJIgM11TUqZaMdwTeSguH6rOaw1JRKzaaGyxVm2EJ/uCIrVWUcZUkcp2grMsEjK+DMwS59jQk3Kd6SEq1d0S6uVmO4Bc1lDXTUcHjluCXEq+1OlBDj1pi9zgiXxnKuE0SqTXwhqbETW6RggMEnGl/q49UT2iCzgJvRwVXS2K/d6+ZkyUl7jawSVLit46EwxVljDZwoSQ20sDBihztHfk2yA8NVZghiXwrYHQdfKAOtzsayjhY9bY0yE2CWEeJ9xfzO423xhL5syS2TFJofO2pboHob0nY4GiAgRrvGQEDa/FWSsoaaYl0syRsEt3kWoH3B01shCXhTUWe9w3Bt44SC9QCh3eShQctwbaK2ApLroGCMlZrYqvlY3qYhM0aXpFkPOuoqJ3Dm6fxXrGwVF9gCWZagjPqznfkuMKQ8DPTQRO8ZqG1hPGKEm9IgpGW4DZDgTNriTxvFiq+Lz+0cKfp4wj6OCK9JSnzNSn9LFU7UhKZZMnYwcJ8s8yRsECScK4j5UOB95HFO0CzhY4xJxuCix0lDlEUeMdS6EZBkTsUkZ4K74dugyTXS7aNgL8aqjDfkCE0ZbwkCXpaWCKhl8P7VD5jxykivSyxyZrYERbe168LYu9ZYh86IkscgVLE7tWPKmJv11CgoyJltMEbrohtVAQfO4ImltiHEroYEs7RxAarVpY8AwXMcMReFOTYWe5iiLRQxJ5Q8DtJ8LQhWOhIeFESPGsILhbNDRljNbHzNRlTFbk2S3L0NOS6V1KFJYKUbSTcIIhM0wQ/s2TM0SRMNcQmSap3jCH4yhJZKSkwyRHpYYgsFeQ4U7xoCB7VVOExhXepo9ABBsYbvGWKXPME3lyH95YioZ0gssQRWWbI+FaSMkXijZXwgiTlYdPdkNLaETxlyDVIwqeaEus0aTcYcg0RVOkpR3CSJqIddK+90JCxzsDVloyrFd5ZAr4TBKfaWa6boEA7C7s6EpYaeFPjveooY72mjIccLHJ9HUwVlDhKkmutJDJBwnp1rvulJZggKDRfbXAkvC/4l3ozQOG9a8lxjx0i7nV4jSXc7vhe3OwIxjgSHjdEhhsif9YkPGlus3iLFDnWOFhtCZbJg0UbQcIaR67JjthoCyMEZRwhiXWyxO5QxI6w5NhT4U1WsJvDO60J34fW9hwzwlKij6ZAW9ne4L0s8C6XeBMEkd/LQy1VucBRot6QMlbivaBhoBgjqGiCJNhsqVp/S2SsG6DIONCR0dXhvWbJ+MRRZJkkuEjgDXJjFQW6SSL7GXK8Z2CZg7cVsbWGoKmEpzQ5elpiy8Ryg7dMkLLUEauzeO86CuwlSOlgYLojZWeJ9xM3S1PWfEfKl5ISLQ0MEKR8YOB2QfCxJBjrKPCN4f9MkaSsqoVXJBmP7EpFZ9UQfOoOFwSzBN4MQ8LsGrymlipcJQhmy0GaQjPqCHaXRwuCZwRbqK2Fg9wlClZqYicrIgMdZfxTQ0c7TBIbrChxmuzoKG8XRaSrIhhiyNFJkrC7oIAWMEOQa5aBekPCRknCo4IKPrYkvCDI8aYmY7WFtprgekcJZ3oLIqssCSMtFbQTJKwXYy3BY5oCh2iKPCpJOE+zRdpYgi6O2KmOAgvVCYaU4ySRek1sgyFhJ403QFHiVEmJHwtybO1gs8Hr5+BETQX3War0qZngYGgtVZtoqd6vFSk/UwdZElYqyjrF4HXUeFspIi9IGKf4j92pKGAdCYMVsbcV3kRF0N+R8LUd5PCsIGWoxDtBkCI0nKofdJQxT+LtZflvuc8Q3CjwWkq8KwUpHzkK/NmSsclCL0nseQdj5FRH5CNHSgtLiW80Of5HU9Hhlsga9bnBq3fEVltKfO5IaSTmGjjc4J0otcP7QsJUSQM8pEj5/wCuUuC2DWz8AAAAAElFTkSuQmCC\");\n}\n\n.ace-ambiance .ace_indent-guide {\n background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQUFD4z6Crq/sfAAuYAuYl+7lfAAAAAElFTkSuQmCC\") right repeat-y;\n}\n\n.ace-ambiance .ace_indent-guide-active {\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQIW2PQ1dX9zzBz5sz/ABCcBFFentLlAAAAAElFTkSuQmCC) right repeat-y;\n}\n"})),ace.define("ace/theme/ambiance",["require","exports","module","ace/theme/ambiance-css","ace/lib/dom"],(function(A,g,I){g.isDark=!0,g.cssClass="ace-ambiance",g.cssText=A("./ambiance-css"),A("../lib/dom").importCssString(g.cssText,g.cssClass,!1)})),ace.require(["ace/theme/ambiance"],(function(g){A&&(A.exports=g)}))},4498:(A,g,I)=>{A.exports={graphlib:I(4475),layout:I(5286),debug:I(9585),util:{time:I(7736).time,notime:I(7736).notime},version:I(3010)}},6450:(A,g,I)=>{"use strict";var C=I(3117),B=I(7195);A.exports={run:function(A){var g="greedy"===A.graph().acyclicer?B(A,function(A){return function(g){return A.edge(g).weight}}(A)):function(A){var g=[],I={},B={};function Q(i){C.has(B,i)||(B[i]=!0,I[i]=!0,C.forEach(A.outEdges(i),(function(A){C.has(I,A.w)?g.push(A):Q(A.w)})),delete I[i])}return C.forEach(A.nodes(),Q),g}(A);C.forEach(g,(function(g){var I=A.edge(g);A.removeEdge(g),I.forwardName=g.name,I.reversed=!0,A.setEdge(g.w,g.v,I,C.uniqueId("rev"))}))},undo:function(A){C.forEach(A.edges(),(function(g){var I=A.edge(g);if(I.reversed){A.removeEdge(g);var C=I.forwardName;delete I.reversed,delete I.forwardName,A.setEdge(g.w,g.v,I,C)}}))}}},547:(A,g,I)=>{var C=I(3117),B=I(7736);function Q(A,g,I,C,Q,i){var o={width:0,height:0,rank:i,borderType:g},e=Q[g][i-1],E=B.addDummyNode(A,"border",o,I);Q[g][i]=E,A.setParent(E,C),e&&A.setEdge(e,E,{weight:1})}A.exports=function(A){C.forEach(A.children(),(function g(I){var B=A.children(I),i=A.node(I);if(B.length&&C.forEach(B,g),C.has(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var o=i.minRank,e=i.maxRank+1;o{"use strict";var C=I(3117);function B(A){C.forEach(A.nodes(),(function(g){Q(A.node(g))})),C.forEach(A.edges(),(function(g){Q(A.edge(g))}))}function Q(A){var g=A.width;A.width=A.height,A.height=g}function i(A){A.y=-A.y}function o(A){var g=A.x;A.x=A.y,A.y=g}A.exports={adjust:function(A){var g=A.graph().rankdir.toLowerCase();"lr"!==g&&"rl"!==g||B(A)},undo:function(A){var g=A.graph().rankdir.toLowerCase();"bt"!==g&&"rl"!==g||function(A){C.forEach(A.nodes(),(function(g){i(A.node(g))})),C.forEach(A.edges(),(function(g){var I=A.edge(g);C.forEach(I.points,i),C.has(I,"y")&&i(I)}))}(A);"lr"!==g&&"rl"!==g||(!function(A){C.forEach(A.nodes(),(function(g){o(A.node(g))})),C.forEach(A.edges(),(function(g){var I=A.edge(g);C.forEach(I.points,o),C.has(I,"x")&&o(I)}))}(A),B(A))}}},9055:A=>{function g(){var A={};A._next=A._prev=A,this._sentinel=A}function I(A){A._prev._next=A._next,A._next._prev=A._prev,delete A._next,delete A._prev}function C(A,g){if("_next"!==A&&"_prev"!==A)return g}A.exports=g,g.prototype.dequeue=function(){var A=this._sentinel,g=A._prev;if(g!==A)return I(g),g},g.prototype.enqueue=function(A){var g=this._sentinel;A._prev&&A._next&&I(A),A._next=g._next,g._next._prev=A,g._next=A,A._prev=g},g.prototype.toString=function(){for(var A=[],g=this._sentinel,I=g._prev;I!==g;)A.push(JSON.stringify(I,C)),I=I._prev;return"["+A.join(", ")+"]"}},9585:(A,g,I)=>{var C=I(3117),B=I(7736),Q=I(4475).Graph;A.exports={debugOrdering:function(A){var g=B.buildLayerMatrix(A),I=new Q({compound:!0,multigraph:!0}).setGraph({});return C.forEach(A.nodes(),(function(g){I.setNode(g,{label:g}),I.setParent(g,"layer"+A.node(g).rank)})),C.forEach(A.edges(),(function(A){I.setEdge(A.v,A.w,{},A.name)})),C.forEach(g,(function(A,g){var B="layer"+g;I.setNode(B,{rank:"same"}),C.reduce(A,(function(A,g){return I.setEdge(A,g,{style:"invis"}),g}))})),I}}},4475:(A,g,I)=>{var C;try{C=I(3334)}catch(B){}C||(C=window.graphlib),A.exports=C},7195:(A,g,I)=>{var C=I(3117),B=I(4475).Graph,Q=I(9055);A.exports=function(A,g){if(A.nodeCount()<=1)return[];var I=function(A,g){var I=new B,i=0,o=0;C.forEach(A.nodes(),(function(A){I.setNode(A,{v:A,in:0,out:0})})),C.forEach(A.edges(),(function(A){var C=I.edge(A.v,A.w)||0,B=g(A),Q=C+B;I.setEdge(A.v,A.w,Q),o=Math.max(o,I.node(A.v).out+=B),i=Math.max(i,I.node(A.w).in+=B)}));var E=C.range(o+i+3).map((function(){return new Q})),t=i+1;return C.forEach(I.nodes(),(function(A){e(E,t,I.node(A))})),{graph:I,buckets:E,zeroIdx:t}}(A,g||i),E=function(A,g,I){var C,B=[],Q=g[g.length-1],i=g[0];for(;A.nodeCount();){for(;C=i.dequeue();)o(A,g,I,C);for(;C=Q.dequeue();)o(A,g,I,C);if(A.nodeCount())for(var e=g.length-2;e>0;--e)if(C=g[e].dequeue()){B=B.concat(o(A,g,I,C,!0));break}}return B}(I.graph,I.buckets,I.zeroIdx);return C.flatten(C.map(E,(function(g){return A.outEdges(g.v,g.w)})),!0)};var i=C.constant(1);function o(A,g,I,B,Q){var i=Q?[]:void 0;return C.forEach(A.inEdges(B.v),(function(C){var B=A.edge(C),o=A.node(C.v);Q&&i.push({v:C.v,w:C.w}),o.out-=B,e(g,I,o)})),C.forEach(A.outEdges(B.v),(function(C){var B=A.edge(C),Q=C.w,i=A.node(Q);i.in-=B,e(g,I,i)})),A.removeNode(B.v),i}function e(A,g,I){I.out?I.in?A[I.out-I.in+g].enqueue(I):A[A.length-1].enqueue(I):A[0].enqueue(I)}},5286:(A,g,I)=>{"use strict";var C=I(3117),B=I(6450),Q=I(5453),i=I(3909),o=I(7736).normalizeRanks,e=I(9496),E=I(7736).removeEmptyRanks,t=I(3517),n=I(547),a=I(3846),s=I(4985),c=I(4092),r=I(7736),l=I(4475).Graph;A.exports=function(A,g){var I=g&&g.debugTiming?r.time:r.notime;I("layout",(function(){var g=I(" buildLayoutGraph",(function(){return function(A){var g=new l({multigraph:!0,compound:!0}),I=m(A.graph());return g.setGraph(C.merge({},d,N(I,h),C.pick(I,G))),C.forEach(A.nodes(),(function(I){var B=m(A.node(I));g.setNode(I,C.defaults(N(B,D),y)),g.setParent(I,A.parent(I))})),C.forEach(A.edges(),(function(I){var B=m(A.edge(I));g.setEdge(I,C.merge({},u,N(B,w),C.pick(B,S)))})),g}(A)}));I(" runLayout",(function(){!function(A,g){g(" makeSpaceForEdgeLabels",(function(){!function(A){var g=A.graph();g.ranksep/=2,C.forEach(A.edges(),(function(I){var C=A.edge(I);C.minlen*=2,"c"!==C.labelpos.toLowerCase()&&("TB"===g.rankdir||"BT"===g.rankdir?C.width+=C.labeloffset:C.height+=C.labeloffset)}))}(A)})),g(" removeSelfEdges",(function(){!function(A){C.forEach(A.edges(),(function(g){if(g.v===g.w){var I=A.node(g.v);I.selfEdges||(I.selfEdges=[]),I.selfEdges.push({e:g,label:A.edge(g)}),A.removeEdge(g)}}))}(A)})),g(" acyclic",(function(){B.run(A)})),g(" nestingGraph.run",(function(){t.run(A)})),g(" rank",(function(){i(r.asNonCompoundGraph(A))})),g(" injectEdgeLabelProxies",(function(){!function(A){C.forEach(A.edges(),(function(g){var I=A.edge(g);if(I.width&&I.height){var C=A.node(g.v),B={rank:(A.node(g.w).rank-C.rank)/2+C.rank,e:g};r.addDummyNode(A,"edge-proxy",B,"_ep")}}))}(A)})),g(" removeEmptyRanks",(function(){E(A)})),g(" nestingGraph.cleanup",(function(){t.cleanup(A)})),g(" normalizeRanks",(function(){o(A)})),g(" assignRankMinMax",(function(){!function(A){var g=0;C.forEach(A.nodes(),(function(I){var B=A.node(I);B.borderTop&&(B.minRank=A.node(B.borderTop).rank,B.maxRank=A.node(B.borderBottom).rank,g=C.max(g,B.maxRank))})),A.graph().maxRank=g}(A)})),g(" removeEdgeLabelProxies",(function(){!function(A){C.forEach(A.nodes(),(function(g){var I=A.node(g);"edge-proxy"===I.dummy&&(A.edge(I.e).labelRank=I.rank,A.removeNode(g))}))}(A)})),g(" normalize.run",(function(){Q.run(A)})),g(" parentDummyChains",(function(){e(A)})),g(" addBorderSegments",(function(){n(A)})),g(" order",(function(){s(A)})),g(" insertSelfEdges",(function(){!function(A){var g=r.buildLayerMatrix(A);C.forEach(g,(function(g){var I=0;C.forEach(g,(function(g,B){var Q=A.node(g);Q.order=B+I,C.forEach(Q.selfEdges,(function(g){r.addDummyNode(A,"selfedge",{width:g.label.width,height:g.label.height,rank:Q.rank,order:B+ ++I,e:g.e,label:g.label},"_se")})),delete Q.selfEdges}))}))}(A)})),g(" adjustCoordinateSystem",(function(){a.adjust(A)})),g(" position",(function(){c(A)})),g(" positionSelfEdges",(function(){!function(A){C.forEach(A.nodes(),(function(g){var I=A.node(g);if("selfedge"===I.dummy){var C=A.node(I.e.v),B=C.x+C.width/2,Q=C.y,i=I.x-B,o=C.height/2;A.setEdge(I.e,I.label),A.removeNode(g),I.label.points=[{x:B+2*i/3,y:Q-o},{x:B+5*i/6,y:Q-o},{x:B+i,y:Q},{x:B+5*i/6,y:Q+o},{x:B+2*i/3,y:Q+o}],I.label.x=I.x,I.label.y=I.y}}))}(A)})),g(" removeBorderNodes",(function(){!function(A){C.forEach(A.nodes(),(function(g){if(A.children(g).length){var I=A.node(g),B=A.node(I.borderTop),Q=A.node(I.borderBottom),i=A.node(C.last(I.borderLeft)),o=A.node(C.last(I.borderRight));I.width=Math.abs(o.x-i.x),I.height=Math.abs(Q.y-B.y),I.x=i.x+I.width/2,I.y=B.y+I.height/2}})),C.forEach(A.nodes(),(function(g){"border"===A.node(g).dummy&&A.removeNode(g)}))}(A)})),g(" normalize.undo",(function(){Q.undo(A)})),g(" fixupEdgeLabelCoords",(function(){!function(A){C.forEach(A.edges(),(function(g){var I=A.edge(g);if(C.has(I,"x"))switch("l"!==I.labelpos&&"r"!==I.labelpos||(I.width-=I.labeloffset),I.labelpos){case"l":I.x-=I.width/2+I.labeloffset;break;case"r":I.x+=I.width/2+I.labeloffset}}))}(A)})),g(" undoCoordinateSystem",(function(){a.undo(A)})),g(" translateGraph",(function(){!function(A){var g=Number.POSITIVE_INFINITY,I=0,B=Number.POSITIVE_INFINITY,Q=0,i=A.graph(),o=i.marginx||0,e=i.marginy||0;function E(A){var C=A.x,i=A.y,o=A.width,e=A.height;g=Math.min(g,C-o/2),I=Math.max(I,C+o/2),B=Math.min(B,i-e/2),Q=Math.max(Q,i+e/2)}C.forEach(A.nodes(),(function(g){E(A.node(g))})),C.forEach(A.edges(),(function(g){var I=A.edge(g);C.has(I,"x")&&E(I)})),g-=o,B-=e,C.forEach(A.nodes(),(function(I){var C=A.node(I);C.x-=g,C.y-=B})),C.forEach(A.edges(),(function(I){var Q=A.edge(I);C.forEach(Q.points,(function(A){A.x-=g,A.y-=B})),C.has(Q,"x")&&(Q.x-=g),C.has(Q,"y")&&(Q.y-=B)})),i.width=I-g+o,i.height=Q-B+e}(A)})),g(" assignNodeIntersects",(function(){!function(A){C.forEach(A.edges(),(function(g){var I,C,B=A.edge(g),Q=A.node(g.v),i=A.node(g.w);B.points?(I=B.points[0],C=B.points[B.points.length-1]):(B.points=[],I=i,C=Q),B.points.unshift(r.intersectRect(Q,I)),B.points.push(r.intersectRect(i,C))}))}(A)})),g(" reversePoints",(function(){!function(A){C.forEach(A.edges(),(function(g){var I=A.edge(g);I.reversed&&I.points.reverse()}))}(A)})),g(" acyclic.undo",(function(){B.undo(A)}))}(g,I)})),I(" updateInputGraph",(function(){!function(A,g){C.forEach(A.nodes(),(function(I){var C=A.node(I),B=g.node(I);C&&(C.x=B.x,C.y=B.y,g.children(I).length&&(C.width=B.width,C.height=B.height))})),C.forEach(A.edges(),(function(I){var B=A.edge(I),Q=g.edge(I);B.points=Q.points,C.has(Q,"x")&&(B.x=Q.x,B.y=Q.y)})),A.graph().width=g.graph().width,A.graph().height=g.graph().height}(A,g)}))}))};var h=["nodesep","edgesep","ranksep","marginx","marginy"],d={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},G=["acyclicer","ranker","rankdir","align"],D=["width","height"],y={width:0,height:0},w=["minlen","weight","width","height","labeloffset"],u={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},S=["labelpos"];function N(A,g){return C.mapValues(C.pick(A,g),Number)}function m(A){var g={};return C.forEach(A,(function(A,I){g[I.toLowerCase()]=A})),g}},3117:(A,g,I)=>{var C;try{C={cloneDeep:I(8475),constant:I(8178),defaults:I(2672),each:I(3027),filter:I(1120),find:I(5929),flatten:I(7198),forEach:I(6782),forIn:I(3752),has:I(2436),isUndefined:I(6804),last:I(6638),map:I(8262),mapValues:I(6096),max:I(350),merge:I(1824),min:I(304),minBy:I(5505),now:I(2320),pick:I(9235),range:I(8497),reduce:I(9392),sortBy:I(4283),uniqueId:I(8524),values:I(7196),zipObject:I(6996)}}catch(B){}C||(C=window._),A.exports=C},3517:(A,g,I)=>{var C=I(3117),B=I(7736);function Q(A,g,I,i,o,e,E){var t=A.children(E);if(t.length){var n=B.addBorderNode(A,"_bt"),a=B.addBorderNode(A,"_bb"),s=A.node(E);A.setParent(n,E),s.borderTop=n,A.setParent(a,E),s.borderBottom=a,C.forEach(t,(function(C){Q(A,g,I,i,o,e,C);var B=A.node(C),t=B.borderTop?B.borderTop:C,s=B.borderBottom?B.borderBottom:C,c=B.borderTop?i:2*i,r=t!==s?1:o-e[E]+1;A.setEdge(n,t,{weight:c,minlen:r,nestingEdge:!0}),A.setEdge(s,a,{weight:c,minlen:r,nestingEdge:!0})})),A.parent(E)||A.setEdge(g,n,{weight:0,minlen:o+e[E]})}else E!==g&&A.setEdge(g,E,{weight:0,minlen:I})}A.exports={run:function(A){var g=B.addDummyNode(A,"root",{},"_root"),I=function(A){var g={};function I(B,Q){var i=A.children(B);i&&i.length&&C.forEach(i,(function(A){I(A,Q+1)})),g[B]=Q}return C.forEach(A.children(),(function(A){I(A,1)})),g}(A),i=C.max(C.values(I))-1,o=2*i+1;A.graph().nestingRoot=g,C.forEach(A.edges(),(function(g){A.edge(g).minlen*=o}));var e=function(A){return C.reduce(A.edges(),(function(g,I){return g+A.edge(I).weight}),0)}(A)+1;C.forEach(A.children(),(function(C){Q(A,g,o,e,i,I,C)})),A.graph().nodeRankFactor=o},cleanup:function(A){var g=A.graph();A.removeNode(g.nestingRoot),delete g.nestingRoot,C.forEach(A.edges(),(function(g){A.edge(g).nestingEdge&&A.removeEdge(g)}))}}},5453:(A,g,I)=>{"use strict";var C=I(3117),B=I(7736);A.exports={run:function(A){A.graph().dummyChains=[],C.forEach(A.edges(),(function(g){!function(A,g){var I,C,Q,i=g.v,o=A.node(i).rank,e=g.w,E=A.node(e).rank,t=g.name,n=A.edge(g),a=n.labelRank;if(E===o+1)return;for(A.removeEdge(g),Q=0,++o;o{var C=I(3117);A.exports=function(A,g,I){var B,Q={};C.forEach(I,(function(I){for(var C,i,o=A.parent(I);o;){if((C=A.parent(o))?(i=Q[C],Q[C]=o):(i=B,B=o),i&&i!==o)return void g.setEdge(i,o);o=C}}))}},9939:(A,g,I)=>{var C=I(3117);A.exports=function(A,g){return C.map(g,(function(g){var I=A.inEdges(g);if(I.length){var B=C.reduce(I,(function(g,I){var C=A.edge(I),B=A.node(I.v);return{sum:g.sum+C.weight*B.order,weight:g.weight+C.weight}}),{sum:0,weight:0});return{v:g,barycenter:B.sum/B.weight,weight:B.weight}}return{v:g}}))}},5064:(A,g,I)=>{var C=I(3117),B=I(4475).Graph;A.exports=function(A,g,I){var Q=function(A){var g;for(;A.hasNode(g=C.uniqueId("_root")););return g}(A),i=new B({compound:!0}).setGraph({root:Q}).setDefaultNodeLabel((function(g){return A.node(g)}));return C.forEach(A.nodes(),(function(B){var o=A.node(B),e=A.parent(B);(o.rank===g||o.minRank<=g&&g<=o.maxRank)&&(i.setNode(B),i.setParent(B,e||Q),C.forEach(A[I](B),(function(g){var I=g.v===B?g.w:g.v,Q=i.edge(I,B),o=C.isUndefined(Q)?0:Q.weight;i.setEdge(I,B,{weight:A.edge(g).weight+o})})),C.has(o,"minRank")&&i.setNode(B,{borderLeft:o.borderLeft[g],borderRight:o.borderRight[g]}))})),i}},6579:(A,g,I)=>{"use strict";var C=I(3117);function B(A,g,I){for(var B=C.zipObject(I,C.map(I,(function(A,g){return g}))),Q=C.flatten(C.map(g,(function(g){return C.sortBy(C.map(A.outEdges(g),(function(g){return{pos:B[g.w],weight:A.edge(g).weight}})),"pos")})),!0),i=1;i0;)g%2&&(I+=e[g+1]),e[g=g-1>>1]+=A.weight;E+=A.weight*I}))),E}A.exports=function(A,g){for(var I=0,C=1;C{"use strict";var C=I(3117),B=I(5797),Q=I(6579),i=I(7428),o=I(5064),e=I(8900),E=I(4475).Graph,t=I(7736);function n(A,g,I){return C.map(g,(function(g){return o(A,g,I)}))}function a(A,g){var I=new E;C.forEach(A,(function(A){var B=A.graph().root,Q=i(A,B,I,g);C.forEach(Q.vs,(function(g,I){A.node(g).order=I})),e(A,I,Q.vs)}))}function s(A,g){C.forEach(g,(function(g){C.forEach(g,(function(g,I){A.node(g).order=I}))}))}A.exports=function(A){var g=t.maxRank(A),I=n(A,C.range(1,g+1),"inEdges"),i=n(A,C.range(g-1,-1,-1),"outEdges"),o=B(A);s(A,o);for(var e,E=Number.POSITIVE_INFINITY,c=0,r=0;r<4;++c,++r){a(c%2?I:i,c%4>=2),o=t.buildLayerMatrix(A);var l=Q(A,o);l{"use strict";var C=I(3117);A.exports=function(A){var g={},I=C.filter(A.nodes(),(function(g){return!A.children(g).length})),B=C.max(C.map(I,(function(g){return A.node(g).rank}))),Q=C.map(C.range(B+1),(function(){return[]}));var i=C.sortBy(I,(function(g){return A.node(g).rank}));return C.forEach(i,(function I(B){if(C.has(g,B))return;g[B]=!0;var i=A.node(B);Q[i.rank].push(B),C.forEach(A.successors(B),I)})),Q}},8395:(A,g,I)=>{"use strict";var C=I(3117);A.exports=function(A,g){var I={};return C.forEach(A,(function(A,g){var B=I[A.v]={indegree:0,in:[],out:[],vs:[A.v],i:g};C.isUndefined(A.barycenter)||(B.barycenter=A.barycenter,B.weight=A.weight)})),C.forEach(g.edges(),(function(A){var g=I[A.v],B=I[A.w];C.isUndefined(g)||C.isUndefined(B)||(B.indegree++,g.out.push(I[A.w]))})),function(A){var g=[];function I(A){return function(g){g.merged||(C.isUndefined(g.barycenter)||C.isUndefined(A.barycenter)||g.barycenter>=A.barycenter)&&function(A,g){var I=0,C=0;A.weight&&(I+=A.barycenter*A.weight,C+=A.weight);g.weight&&(I+=g.barycenter*g.weight,C+=g.weight);A.vs=g.vs.concat(A.vs),A.barycenter=I/C,A.weight=C,A.i=Math.min(g.i,A.i),g.merged=!0}(A,g)}}function B(g){return function(I){I.in.push(g),0===--I.indegree&&A.push(I)}}for(;A.length;){var Q=A.pop();g.push(Q),C.forEach(Q.in.reverse(),I(Q)),C.forEach(Q.out,B(Q))}return C.map(C.filter(g,(function(A){return!A.merged})),(function(A){return C.pick(A,["vs","i","barycenter","weight"])}))}(C.filter(I,(function(A){return!A.indegree})))}},7428:(A,g,I)=>{var C=I(3117),B=I(9939),Q=I(8395),i=I(8365);A.exports=function A(g,I,o,e){var E=g.children(I),t=g.node(I),n=t?t.borderLeft:void 0,a=t?t.borderRight:void 0,s={};n&&(E=C.filter(E,(function(A){return A!==n&&A!==a})));var c=B(g,E);C.forEach(c,(function(I){if(g.children(I.v).length){var B=A(g,I.v,o,e);s[I.v]=B,C.has(B,"barycenter")&&(Q=I,i=B,C.isUndefined(Q.barycenter)?(Q.barycenter=i.barycenter,Q.weight=i.weight):(Q.barycenter=(Q.barycenter*Q.weight+i.barycenter*i.weight)/(Q.weight+i.weight),Q.weight+=i.weight))}var Q,i}));var r=Q(c,o);!function(A,g){C.forEach(A,(function(A){A.vs=C.flatten(A.vs.map((function(A){return g[A]?g[A].vs:A})),!0)}))}(r,s);var l=i(r,e);if(n&&(l.vs=C.flatten([n,l.vs,a],!0),g.predecessors(n).length)){var h=g.node(g.predecessors(n)[0]),d=g.node(g.predecessors(a)[0]);C.has(l,"barycenter")||(l.barycenter=0,l.weight=0),l.barycenter=(l.barycenter*l.weight+h.order+d.order)/(l.weight+2),l.weight+=2}return l}},8365:(A,g,I)=>{var C=I(3117),B=I(7736);function Q(A,g,I){for(var B;g.length&&(B=C.last(g)).i<=I;)g.pop(),A.push(B.vs),I++;return I}A.exports=function(A,g){var I=B.partition(A,(function(A){return C.has(A,"barycenter")})),i=I.lhs,o=C.sortBy(I.rhs,(function(A){return-A.i})),e=[],E=0,t=0,n=0;i.sort((a=!!g,function(A,g){return A.barycenterg.barycenter?1:a?g.i-A.i:A.i-g.i})),n=Q(e,o,n),C.forEach(i,(function(A){n+=A.vs.length,e.push(A.vs),E+=A.barycenter*A.weight,t+=A.weight,n=Q(e,o,n)}));var a;var s={vs:C.flatten(e,!0)};t&&(s.barycenter=E/t,s.weight=t);return s}},9496:(A,g,I)=>{var C=I(3117);A.exports=function(A){var g=function(A){var g={},I=0;function B(Q){var i=I;C.forEach(A.children(Q),B),g[Q]={low:i,lim:I++}}return C.forEach(A.children(),B),g}(A);C.forEach(A.graph().dummyChains,(function(I){for(var C=A.node(I),B=C.edgeObj,Q=function(A,g,I,C){var B,Q,i=[],o=[],e=Math.min(g[I].low,g[C].low),E=Math.max(g[I].lim,g[C].lim);B=I;do{B=A.parent(B),i.push(B)}while(B&&(g[B].low>e||E>g[B].lim));Q=B,B=C;for(;(B=A.parent(B))!==Q;)o.push(B);return{path:i.concat(o.reverse()),lca:Q}}(A,g,B.v,B.w),i=Q.path,o=Q.lca,e=0,E=i[e],t=!0;I!==B.w;){if(C=A.node(I),t){for(;(E=i[e])!==o&&A.node(E).maxRank{"use strict";var C=I(3117),B=I(4475).Graph,Q=I(7736);function i(A,g){var I={};return C.reduce(g,(function(g,B){var Q=0,i=0,o=g.length,E=C.last(B);return C.forEach(B,(function(g,t){var n=function(A,g){if(A.node(g).dummy)return C.find(A.predecessors(g),(function(g){return A.node(g).dummy}))}(A,g),a=n?A.node(n).order:o;(n||g===E)&&(C.forEach(B.slice(i,t+1),(function(g){C.forEach(A.predecessors(g),(function(C){var B=A.node(C),i=B.order;!(io)&&e(I,g,E)}))}))}return C.reduce(g,(function(g,I){var Q,i=-1,o=0;return C.forEach(I,(function(C,e){if("border"===A.node(C).dummy){var E=A.predecessors(C);E.length&&(Q=A.node(E[0]).order,B(I,o,e,i,Q),o=e,i=Q)}B(I,o,I.length,Q,g.length)})),I})),I}function e(A,g,I){if(g>I){var C=g;g=I,I=C}var B=A[g];B||(A[g]=B={}),B[I]=!0}function E(A,g,I){if(g>I){var B=g;g=I,I=B}return C.has(A[g],I)}function t(A,g,I,B){var Q={},i={},o={};return C.forEach(g,(function(A){C.forEach(A,(function(A,g){Q[A]=A,i[A]=A,o[A]=g}))})),C.forEach(g,(function(A){var g=-1;C.forEach(A,(function(A){var e=B(A);if(e.length){e=C.sortBy(e,(function(A){return o[A]}));for(var t=(e.length-1)/2,n=Math.floor(t),a=Math.ceil(t);n<=a;++n){var s=e[n];i[A]===A&&g{"use strict";var C=I(3117),B=I(7736),Q=I(9145).positionX;A.exports=function(A){(function(A){var g=B.buildLayerMatrix(A),I=A.graph().ranksep,Q=0;C.forEach(g,(function(g){var B=C.max(C.map(g,(function(g){return A.node(g).height})));C.forEach(g,(function(g){A.node(g).y=Q+B/2})),Q+=B+I}))})(A=B.asNonCompoundGraph(A)),C.forEach(Q(A),(function(g,I){A.node(I).x=g}))}},2461:(A,g,I)=>{"use strict";var C=I(3117),B=I(4475).Graph,Q=I(6869).slack;function i(A,g){return C.forEach(A.nodes(),(function I(B){C.forEach(g.nodeEdges(B),(function(C){var i=C.v,o=B===i?C.w:i;A.hasNode(o)||Q(g,C)||(A.setNode(o,{}),A.setEdge(B,o,{}),I(o))}))})),A.nodeCount()}function o(A,g){return C.minBy(g.edges(),(function(I){if(A.hasNode(I.v)!==A.hasNode(I.w))return Q(g,I)}))}function e(A,g,I){C.forEach(A.nodes(),(function(A){g.node(A).rank+=I}))}A.exports=function(A){var g,I,C=new B({directed:!1}),E=A.nodes()[0],t=A.nodeCount();C.setNode(E,{});for(;i(C,A){"use strict";var C=I(6869).longestPath,B=I(2461),Q=I(5072);A.exports=function(A){switch(A.graph().ranker){case"network-simplex":default:o(A);break;case"tight-tree":!function(A){C(A),B(A)}(A);break;case"longest-path":i(A)}};var i=C;function o(A){Q(A)}},5072:(A,g,I)=>{"use strict";var C=I(3117),B=I(2461),Q=I(6869).slack,i=I(6869).longestPath,o=I(4475).alg.preorder,e=I(4475).alg.postorder,E=I(7736).simplify;function t(A){A=E(A),i(A);var g,I=B(A);for(s(I),n(I,A);g=r(I);)h(I,A,g,l(I,A,g))}function n(A,g){var I=e(A,A.nodes());I=I.slice(0,I.length-1),C.forEach(I,(function(I){!function(A,g,I){var C=A.node(I),B=C.parent;A.edge(I,B).cutvalue=a(A,g,I)}(A,g,I)}))}function a(A,g,I){var B=A.node(I).parent,Q=!0,i=g.edge(I,B),o=0;return i||(Q=!1,i=g.edge(B,I)),o=i.weight,C.forEach(g.nodeEdges(I),(function(C){var i,e,E=C.v===I,t=E?C.w:C.v;if(t!==B){var n=E===Q,a=g.edge(C).weight;if(o+=n?a:-a,i=I,e=t,A.hasEdge(i,e)){var s=A.edge(I,t).cutvalue;o+=n?-s:s}}})),o}function s(A,g){arguments.length<2&&(g=A.nodes()[0]),c(A,{},1,g)}function c(A,g,I,B,Q){var i=I,o=A.node(B);return g[B]=!0,C.forEach(A.neighbors(B),(function(Q){C.has(g,Q)||(I=c(A,g,I,Q,B))})),o.low=i,o.lim=I++,Q?o.parent=Q:delete o.parent,I}function r(A){return C.find(A.edges(),(function(g){return A.edge(g).cutvalue<0}))}function l(A,g,I){var B=I.v,i=I.w;g.hasEdge(B,i)||(B=I.w,i=I.v);var o=A.node(B),e=A.node(i),E=o,t=!1;o.lim>e.lim&&(E=e,t=!0);var n=C.filter(g.edges(),(function(g){return t===d(A,A.node(g.v),E)&&t!==d(A,A.node(g.w),E)}));return C.minBy(n,(function(A){return Q(g,A)}))}function h(A,g,I,B){var Q=I.v,i=I.w;A.removeEdge(Q,i),A.setEdge(B.v,B.w,{}),s(A),n(A,g),function(A,g){var I=C.find(A.nodes(),(function(A){return!g.node(A).parent})),B=o(A,I);B=B.slice(1),C.forEach(B,(function(I){var C=A.node(I).parent,B=g.edge(I,C),Q=!1;B||(B=g.edge(C,I),Q=!0),g.node(I).rank=g.node(C).rank+(Q?B.minlen:-B.minlen)}))}(A,g)}function d(A,g,I){return I.low<=g.lim&&g.lim<=I.lim}A.exports=t,t.initLowLimValues=s,t.initCutValues=n,t.calcCutValue=a,t.leaveEdge=r,t.enterEdge=l,t.exchangeEdges=h},6869:(A,g,I)=>{"use strict";var C=I(3117);A.exports={longestPath:function(A){var g={};C.forEach(A.sources(),(function I(B){var Q=A.node(B);if(C.has(g,B))return Q.rank;g[B]=!0;var i=C.min(C.map(A.outEdges(B),(function(g){return I(g.w)-A.edge(g).minlen})));return i!==Number.POSITIVE_INFINITY&&void 0!==i&&null!==i||(i=0),Q.rank=i}))},slack:function(A,g){return A.node(g.w).rank-A.node(g.v).rank-A.edge(g).minlen}}},7736:(A,g,I)=>{"use strict";var C=I(3117),B=I(4475).Graph;function Q(A,g,I,B){var Q;do{Q=C.uniqueId(B)}while(A.hasNode(Q));return I.dummy=g,A.setNode(Q,I),Q}function i(A){return C.max(C.map(A.nodes(),(function(g){var I=A.node(g).rank;if(!C.isUndefined(I))return I})))}A.exports={addDummyNode:Q,simplify:function(A){var g=(new B).setGraph(A.graph());return C.forEach(A.nodes(),(function(I){g.setNode(I,A.node(I))})),C.forEach(A.edges(),(function(I){var C=g.edge(I.v,I.w)||{weight:0,minlen:1},B=A.edge(I);g.setEdge(I.v,I.w,{weight:C.weight+B.weight,minlen:Math.max(C.minlen,B.minlen)})})),g},asNonCompoundGraph:function(A){var g=new B({multigraph:A.isMultigraph()}).setGraph(A.graph());return C.forEach(A.nodes(),(function(I){A.children(I).length||g.setNode(I,A.node(I))})),C.forEach(A.edges(),(function(I){g.setEdge(I,A.edge(I))})),g},successorWeights:function(A){var g=C.map(A.nodes(),(function(g){var I={};return C.forEach(A.outEdges(g),(function(g){I[g.w]=(I[g.w]||0)+A.edge(g).weight})),I}));return C.zipObject(A.nodes(),g)},predecessorWeights:function(A){var g=C.map(A.nodes(),(function(g){var I={};return C.forEach(A.inEdges(g),(function(g){I[g.v]=(I[g.v]||0)+A.edge(g).weight})),I}));return C.zipObject(A.nodes(),g)},intersectRect:function(A,g){var I,C,B=A.x,Q=A.y,i=g.x-B,o=g.y-Q,e=A.width/2,E=A.height/2;if(!i&&!o)throw new Error("Not possible to find intersection inside of the rectangle");Math.abs(o)*e>Math.abs(i)*E?(o<0&&(E=-E),I=E*i/o,C=E):(i<0&&(e=-e),I=e,C=e*o/i);return{x:B+I,y:Q+C}},buildLayerMatrix:function(A){var g=C.map(C.range(i(A)+1),(function(){return[]}));return C.forEach(A.nodes(),(function(I){var B=A.node(I),Q=B.rank;C.isUndefined(Q)||(g[Q][B.order]=I)})),g},normalizeRanks:function(A){var g=C.min(C.map(A.nodes(),(function(g){return A.node(g).rank})));C.forEach(A.nodes(),(function(I){var B=A.node(I);C.has(B,"rank")&&(B.rank-=g)}))},removeEmptyRanks:function(A){var g=C.min(C.map(A.nodes(),(function(g){return A.node(g).rank}))),I=[];C.forEach(A.nodes(),(function(C){var B=A.node(C).rank-g;I[B]||(I[B]=[]),I[B].push(C)}));var B=0,Q=A.graph().nodeRankFactor;C.forEach(I,(function(g,I){C.isUndefined(g)&&I%Q!==0?--B:B&&C.forEach(g,(function(g){A.node(g).rank+=B}))}))},addBorderNode:function(A,g,I,C){var B={width:0,height:0};arguments.length>=4&&(B.rank=I,B.order=C);return Q(A,"border",B,g)},maxRank:i,partition:function(A,g){var I={lhs:[],rhs:[]};return C.forEach(A,(function(A){g(A)?I.lhs.push(A):I.rhs.push(A)})),I},time:function(A,g){var I=C.now();try{return g()}finally{console.log(A+" time: "+(C.now()-I)+"ms")}},notime:function(A,g){return g()}}},3010:A=>{A.exports="0.8.5"},6537:A=>{var g=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32},I=-1;g.Diff=function(A,g){return[A,g]},g.prototype.diff_main=function(A,I,C,B){"undefined"==typeof B&&(B=this.Diff_Timeout<=0?Number.MAX_VALUE:(new Date).getTime()+1e3*this.Diff_Timeout);var Q=B;if(null==A||null==I)throw new Error("Null input. (diff_main)");if(A==I)return A?[new g.Diff(0,A)]:[];"undefined"==typeof C&&(C=!0);var i=C,o=this.diff_commonPrefix(A,I),e=A.substring(0,o);A=A.substring(o),I=I.substring(o),o=this.diff_commonSuffix(A,I);var E=A.substring(A.length-o);A=A.substring(0,A.length-o),I=I.substring(0,I.length-o);var t=this.diff_compute_(A,I,i,Q);return e&&t.unshift(new g.Diff(0,e)),E&&t.push(new g.Diff(0,E)),this.diff_cleanupMerge(t),t},g.prototype.diff_compute_=function(A,C,B,Q){var i;if(!A)return[new g.Diff(1,C)];if(!C)return[new g.Diff(I,A)];var o=A.length>C.length?A:C,e=A.length>C.length?C:A,E=o.indexOf(e);if(-1!=E)return i=[new g.Diff(1,o.substring(0,E)),new g.Diff(0,e),new g.Diff(1,o.substring(E+e.length))],A.length>C.length&&(i[0][0]=i[2][0]=I),i;if(1==e.length)return[new g.Diff(I,A),new g.Diff(1,C)];var t=this.diff_halfMatch_(A,C);if(t){var n=t[0],a=t[1],s=t[2],c=t[3],r=t[4],l=this.diff_main(n,s,B,Q),h=this.diff_main(a,c,B,Q);return l.concat([new g.Diff(0,r)],h)}return B&&A.length>100&&C.length>100?this.diff_lineMode_(A,C,Q):this.diff_bisect_(A,C,Q)},g.prototype.diff_lineMode_=function(A,C,B){var Q=this.diff_linesToChars_(A,C);A=Q.chars1,C=Q.chars2;var i=Q.lineArray,o=this.diff_main(A,C,!1,B);this.diff_charsToLines_(o,i),this.diff_cleanupSemantic(o),o.push(new g.Diff(0,""));for(var e=0,E=0,t=0,n="",a="";e=1&&t>=1){o.splice(e-E-t,E+t),e=e-E-t;for(var s=this.diff_main(n,a,!1,B),c=s.length-1;c>=0;c--)o.splice(e,0,s[c]);e+=s.length}t=0,E=0,n="",a=""}e++}return o.pop(),o},g.prototype.diff_bisect_=function(A,C,B){for(var Q=A.length,i=C.length,o=Math.ceil((Q+i)/2),e=o,E=2*o,t=new Array(E),n=new Array(E),a=0;aB);G++){for(var D=-G+r;D<=G-l;D+=2){for(var y=e+D,w=(F=D==-G||D!=G&&t[y-1]Q)l+=2;else if(w>i)r+=2;else if(c){if((N=e+s-D)>=0&&N=(S=Q-n[N]))return this.diff_bisectSplit_(A,C,F,w,B)}}for(var u=-G+h;u<=G-d;u+=2){for(var S,N=e+u,m=(S=u==-G||u!=G&&n[N-1]Q)d+=2;else if(m>i)h+=2;else if(!c){if((y=e+s-u)>=0&&y=(S=Q-S))return this.diff_bisectSplit_(A,C,F,w,B)}}}}return[new g.Diff(I,A),new g.Diff(1,C)]},g.prototype.diff_bisectSplit_=function(A,g,I,C,B){var Q=A.substring(0,I),i=g.substring(0,C),o=A.substring(I),e=g.substring(C),E=this.diff_main(Q,i,!1,B),t=this.diff_main(o,e,!1,B);return E.concat(t)},g.prototype.diff_linesToChars_=function(A,g){var I=[],C={};function B(A){for(var g="",B=0,i=-1,o=I.length;iC?A=A.substring(I-C):Ig.length?A:g,C=A.length>g.length?g:A;if(I.length<4||2*C.length=A.length?[C,Q,i,o,t]:null}var i,o,e,E,t,n=Q(I,C,Math.ceil(I.length/4)),a=Q(I,C,Math.ceil(I.length/2));return n||a?(i=a?n&&n[4].length>a[4].length?n:a:n,A.length>g.length?(o=i[0],e=i[1],E=i[2],t=i[3]):(E=i[0],t=i[1],o=i[2],e=i[3]),[o,e,E,t,i[4]]):null},g.prototype.diff_cleanupSemantic=function(A){for(var C=!1,B=[],Q=0,i=null,o=0,e=0,E=0,t=0,n=0;o0?B[Q-1]:-1,e=0,E=0,t=0,n=0,i=null,C=!0)),o++;for(C&&this.diff_cleanupMerge(A),this.diff_cleanupSemanticLossless(A),o=1;o=r?(c>=a.length/2||c>=s.length/2)&&(A.splice(o,0,new g.Diff(0,s.substring(0,c))),A[o-1][1]=a.substring(0,a.length-c),A[o+1][1]=s.substring(c),o++):(r>=a.length/2||r>=s.length/2)&&(A.splice(o,0,new g.Diff(0,a.substring(0,r))),A[o-1][0]=1,A[o-1][1]=s.substring(0,s.length-r),A[o+1][0]=I,A[o+1][1]=a.substring(r),o++),o++}o++}},g.prototype.diff_cleanupSemanticLossless=function(A){function I(A,I){if(!A||!I)return 6;var C=A.charAt(A.length-1),B=I.charAt(0),Q=C.match(g.nonAlphaNumericRegex_),i=B.match(g.nonAlphaNumericRegex_),o=Q&&C.match(g.whitespaceRegex_),e=i&&B.match(g.whitespaceRegex_),E=o&&C.match(g.linebreakRegex_),t=e&&B.match(g.linebreakRegex_),n=E&&A.match(g.blanklineEndRegex_),a=t&&I.match(g.blanklineStartRegex_);return n||a?5:E||t?4:Q&&!o&&e?3:o||e?2:Q||i?1:0}for(var C=1;C=a&&(a=s,E=B,t=Q,n=i)}A[C-1][1]!=E&&(E?A[C-1][1]=E:(A.splice(C-1,1),C--),A[C][1]=t,n?A[C+1][1]=n:(A.splice(C+1,1),C--))}C++}},g.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,g.whitespaceRegex_=/\s/,g.linebreakRegex_=/[\r\n]/,g.blanklineEndRegex_=/\n\r?\n$/,g.blanklineStartRegex_=/^\r?\n\r?\n/,g.prototype.diff_cleanupEfficiency=function(A){for(var C=!1,B=[],Q=0,i=null,o=0,e=!1,E=!1,t=!1,n=!1;o0?B[Q-1]:-1,t=n=!1),C=!0)),o++;C&&this.diff_cleanupMerge(A)},g.prototype.diff_cleanupMerge=function(A){A.push(new g.Diff(0,""));for(var C,B=0,Q=0,i=0,o="",e="";B1?(0!==Q&&0!==i&&(0!==(C=this.diff_commonPrefix(e,o))&&(B-Q-i>0&&0==A[B-Q-i-1][0]?A[B-Q-i-1][1]+=e.substring(0,C):(A.splice(0,0,new g.Diff(0,e.substring(0,C))),B++),e=e.substring(C),o=o.substring(C)),0!==(C=this.diff_commonSuffix(e,o))&&(A[B][1]=e.substring(e.length-C)+A[B][1],e=e.substring(0,e.length-C),o=o.substring(0,o.length-C))),B-=Q+i,A.splice(B,Q+i),o.length&&(A.splice(B,0,new g.Diff(I,o)),B++),e.length&&(A.splice(B,0,new g.Diff(1,e)),B++),B++):0!==B&&0==A[B-1][0]?(A[B-1][1]+=A[B][1],A.splice(B,1)):B++,i=0,Q=0,o="",e=""}""===A[A.length-1][1]&&A.pop();var E=!1;for(B=1;Bg));C++)i=B,o=Q;return A.length!=C&&A[C][0]===I?o:o+(g-i)},g.prototype.diff_prettyHtml=function(A){for(var g=[],C=/&/g,B=//g,i=/\n/g,o=0;o");switch(e){case 1:g[o]=''+E+"";break;case I:g[o]=''+E+"";break;case 0:g[o]=""+E+""}}return g.join("")},g.prototype.diff_text1=function(A){for(var g=[],I=0;Ithis.Match_MaxBits)throw new Error("Pattern too long for this browser.");var C=this.match_alphabet_(g),B=this;function Q(A,C){var Q=A/g.length,i=Math.abs(I-C);return B.Match_Distance?Q+i/B.Match_Distance:i?1:Q}var i=this.Match_Threshold,o=A.indexOf(g,I);-1!=o&&(i=Math.min(Q(0,o),i),-1!=(o=A.lastIndexOf(g,I+g.length))&&(i=Math.min(Q(0,o),i)));var e,E,t=1<=c;h--){var d=C[A.charAt(h-1)];if(l[h]=0===s?(l[h+1]<<1|1)&d:(l[h+1]<<1|1)&d|(n[h+1]|n[h])<<1|1|n[h+1],l[h]&t){var G=Q(s,h-1);if(G<=i){if(i=G,!((o=h-1)>I))break;c=Math.max(1,2*I-o)}}}if(Q(s+1,I)>i)break;n=l}return o},g.prototype.match_alphabet_=function(A){for(var g={},I=0;I2&&(this.diff_cleanupSemantic(i),this.diff_cleanupEfficiency(i));else if(A&&"object"==typeof A&&"undefined"==typeof C&&"undefined"==typeof B)i=A,Q=this.diff_text1(i);else if("string"==typeof A&&C&&"object"==typeof C&&"undefined"==typeof B)Q=A,i=C;else{if("string"!=typeof A||"string"!=typeof C||!B||"object"!=typeof B)throw new Error("Unknown call format to patch_make.");Q=A,i=B}if(0===i.length)return[];for(var o=[],e=new g.patch_obj,E=0,t=0,n=0,a=Q,s=Q,c=0;c=2*this.Patch_Margin&&E&&(this.patch_addContext_(e,a),o.push(e),e=new g.patch_obj,E=0,a=s,t=n)}1!==r&&(t+=l.length),r!==I&&(n+=l.length)}return E&&(this.patch_addContext_(e,a),o.push(e)),o},g.prototype.patch_deepCopy=function(A){for(var I=[],C=0;Cthis.Match_MaxBits?-1!=(o=this.match_main(g,t.substring(0,this.Match_MaxBits),E))&&(-1==(n=this.match_main(g,t.substring(t.length-this.Match_MaxBits),E+t.length-this.Match_MaxBits))||o>=n)&&(o=-1):o=this.match_main(g,t,E),-1==o)Q[i]=!1,B-=A[i].length2-A[i].length1;else if(Q[i]=!0,B=o-E,t==(e=-1==n?g.substring(o,o+t.length):g.substring(o,n+this.Match_MaxBits)))g=g.substring(0,o)+this.diff_text2(A[i].diffs)+g.substring(o+t.length);else{var a=this.diff_main(t,e,!1);if(t.length>this.Match_MaxBits&&this.diff_levenshtein(a)/t.length>this.Patch_DeleteThreshold)Q[i]=!1;else{this.diff_cleanupSemanticLossless(a);for(var s,c=0,r=0;ri[0][1].length){var o=I-i[0][1].length;i[0][1]=C.substring(i[0][1].length)+i[0][1],Q.start1-=o,Q.start2-=o,Q.length1+=o,Q.length2+=o}if(0==(i=(Q=A[A.length-1]).diffs).length||0!=i[i.length-1][0])i.push(new g.Diff(0,C)),Q.length1+=I,Q.length2+=I;else if(I>i[i.length-1][1].length){o=I-i[i.length-1][1].length;i[i.length-1][1]+=C.substring(0,o),Q.length1+=o,Q.length2+=o}return C},g.prototype.patch_splitMax=function(A){for(var C=this.Match_MaxBits,B=0;B2*C?(E.length1+=a.length,i+=a.length,t=!1,E.diffs.push(new g.Diff(n,a)),Q.diffs.shift()):(a=a.substring(0,C-E.length1-this.Patch_Margin),E.length1+=a.length,i+=a.length,0===n?(E.length2+=a.length,o+=a.length):t=!1,E.diffs.push(new g.Diff(n,a)),a==Q.diffs[0][1]?Q.diffs.shift():Q.diffs[0][1]=Q.diffs[0][1].substring(a.length))}e=(e=this.diff_text2(E.diffs)).substring(e.length-this.Patch_Margin);var s=this.diff_text1(Q.diffs).substring(0,this.Patch_Margin);""!==s&&(E.length1+=s.length,E.length2+=s.length,0!==E.diffs.length&&0===E.diffs[E.diffs.length-1][0]?E.diffs[E.diffs.length-1][1]+=s:E.diffs.push(new g.Diff(0,s))),t||A.splice(++B,0,E)}}},g.prototype.patch_toText=function(A){for(var g=[],I=0;I{var C=I(6906);A.exports={Graph:C.Graph,json:I(2322),alg:I(3767),version:C.version}},4879:(A,g,I)=>{var C=I(681);A.exports=function(A){var g,I={},B=[];function Q(B){C.has(I,B)||(I[B]=!0,g.push(B),C.each(A.successors(B),Q),C.each(A.predecessors(B),Q))}return C.each(A.nodes(),(function(A){g=[],Q(A),g.length&&B.push(g)})),B}},1112:(A,g,I)=>{var C=I(681);function B(A,g,I,Q,i,o){C.has(Q,g)||(Q[g]=!0,I||o.push(g),C.each(i(g),(function(g){B(A,g,I,Q,i,o)})),I&&o.push(g))}A.exports=function(A,g,I){C.isArray(g)||(g=[g]);var Q=(A.isDirected()?A.successors:A.neighbors).bind(A),i=[],o={};return C.each(g,(function(g){if(!A.hasNode(g))throw new Error("Graph does not have node: "+g);B(A,g,"post"===I,o,Q,i)})),i}},979:(A,g,I)=>{var C=I(9885),B=I(681);A.exports=function(A,g,I){return B.transform(A.nodes(),(function(B,Q){B[Q]=C(A,Q,g,I)}),{})}},9885:(A,g,I)=>{var C=I(681),B=I(1965);A.exports=function(A,g,I,C){return function(A,g,I,C){var Q,i,o={},e=new B,E=function(A){var g=A.v!==Q?A.v:A.w,C=o[g],B=I(A),E=i.distance+B;if(B<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+A+" Weight: "+B);E0&&(Q=e.removeMin(),(i=o[Q]).distance!==Number.POSITIVE_INFINITY);)C(Q).forEach(E);return o}(A,String(g),I||Q,C||function(g){return A.outEdges(g)})};var Q=C.constant(1)},9282:(A,g,I)=>{var C=I(681),B=I(2791);A.exports=function(A){return C.filter(B(A),(function(g){return g.length>1||1===g.length&&A.hasEdge(g[0],g[0])}))}},6314:(A,g,I)=>{var C=I(681);A.exports=function(A,g,I){return function(A,g,I){var C={},B=A.nodes();return B.forEach((function(A){C[A]={},C[A][A]={distance:0},B.forEach((function(g){A!==g&&(C[A][g]={distance:Number.POSITIVE_INFINITY})})),I(A).forEach((function(I){var B=I.v===A?I.w:I.v,Q=g(I);C[A][B]={distance:Q,predecessor:A}}))})),B.forEach((function(A){var g=C[A];B.forEach((function(I){var Q=C[I];B.forEach((function(I){var C=Q[A],B=g[I],i=Q[I],o=C.distance+B.distance;o{A.exports={components:I(4879),dijkstra:I(9885),dijkstraAll:I(979),findCycles:I(9282),floydWarshall:I(6314),isAcyclic:I(7638),postorder:I(4441),preorder:I(3860),prim:I(4179),tarjan:I(2791),topsort:I(4956)}},7638:(A,g,I)=>{var C=I(4956);A.exports=function(A){try{C(A)}catch(g){if(g instanceof C.CycleException)return!1;throw g}return!0}},4441:(A,g,I)=>{var C=I(1112);A.exports=function(A,g){return C(A,g,"post")}},3860:(A,g,I)=>{var C=I(1112);A.exports=function(A,g){return C(A,g,"pre")}},4179:(A,g,I)=>{var C=I(681),B=I(322),Q=I(1965);A.exports=function(A,g){var I,i=new B,o={},e=new Q;function E(A){var C=A.v===I?A.w:A.v,B=e.priority(C);if(void 0!==B){var Q=g(A);Q0;){if(I=e.removeMin(),C.has(o,I))i.setEdge(I,o[I]);else{if(t)throw new Error("Input graph is not connected: "+A);t=!0}A.nodeEdges(I).forEach(E)}return i}},2791:(A,g,I)=>{var C=I(681);A.exports=function(A){var g=0,I=[],B={},Q=[];function i(o){var e=B[o]={onStack:!0,lowlink:g,index:g++};if(I.push(o),A.successors(o).forEach((function(A){C.has(B,A)?B[A].onStack&&(e.lowlink=Math.min(e.lowlink,B[A].index)):(i(A),e.lowlink=Math.min(e.lowlink,B[A].lowlink))})),e.lowlink===e.index){var E,t=[];do{E=I.pop(),B[E].onStack=!1,t.push(E)}while(o!==E);Q.push(t)}}return A.nodes().forEach((function(A){C.has(B,A)||i(A)})),Q}},4956:(A,g,I)=>{var C=I(681);function B(A){var g={},I={},B=[];if(C.each(A.sinks(),(function i(o){if(C.has(I,o))throw new Q;C.has(g,o)||(I[o]=!0,g[o]=!0,C.each(A.predecessors(o),i),delete I[o],B.push(o))})),C.size(g)!==A.nodeCount())throw new Q;return B}function Q(){}A.exports=B,B.CycleException=Q,Q.prototype=new Error},1965:(A,g,I)=>{var C=I(681);function B(){this._arr=[],this._keyIndices={}}A.exports=B,B.prototype.size=function(){return this._arr.length},B.prototype.keys=function(){return this._arr.map((function(A){return A.key}))},B.prototype.has=function(A){return C.has(this._keyIndices,A)},B.prototype.priority=function(A){var g=this._keyIndices[A];if(void 0!==g)return this._arr[g].priority},B.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},B.prototype.add=function(A,g){var I=this._keyIndices;if(A=String(A),!C.has(I,A)){var B=this._arr,Q=B.length;return I[A]=Q,B.push({key:A,priority:g}),this._decrease(Q),!0}return!1},B.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var A=this._arr.pop();return delete this._keyIndices[A.key],this._heapify(0),A.key},B.prototype.decrease=function(A,g){var I=this._keyIndices[A];if(g>this._arr[I].priority)throw new Error("New priority is greater than current priority. Key: "+A+" Old: "+this._arr[I].priority+" New: "+g);this._arr[I].priority=g,this._decrease(I)},B.prototype._heapify=function(A){var g=this._arr,I=2*A,C=I+1,B=A;I>1].priority{"use strict";var C=I(681);A.exports=o;var B="\0",Q="\0",i="\x01";function o(A){this._isDirected=!C.has(A,"directed")||A.directed,this._isMultigraph=!!C.has(A,"multigraph")&&A.multigraph,this._isCompound=!!C.has(A,"compound")&&A.compound,this._label=void 0,this._defaultNodeLabelFn=C.constant(void 0),this._defaultEdgeLabelFn=C.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[Q]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function e(A,g){A[g]?A[g]++:A[g]=1}function E(A,g){--A[g]||delete A[g]}function t(A,g,I,Q){var o=""+g,e=""+I;if(!A&&o>e){var E=o;o=e,e=E}return o+i+e+i+(C.isUndefined(Q)?B:Q)}function n(A,g){return t(A,g.v,g.w,g.name)}o.prototype._nodeCount=0,o.prototype._edgeCount=0,o.prototype.isDirected=function(){return this._isDirected},o.prototype.isMultigraph=function(){return this._isMultigraph},o.prototype.isCompound=function(){return this._isCompound},o.prototype.setGraph=function(A){return this._label=A,this},o.prototype.graph=function(){return this._label},o.prototype.setDefaultNodeLabel=function(A){return C.isFunction(A)||(A=C.constant(A)),this._defaultNodeLabelFn=A,this},o.prototype.nodeCount=function(){return this._nodeCount},o.prototype.nodes=function(){return C.keys(this._nodes)},o.prototype.sources=function(){var A=this;return C.filter(this.nodes(),(function(g){return C.isEmpty(A._in[g])}))},o.prototype.sinks=function(){var A=this;return C.filter(this.nodes(),(function(g){return C.isEmpty(A._out[g])}))},o.prototype.setNodes=function(A,g){var I=arguments,B=this;return C.each(A,(function(A){I.length>1?B.setNode(A,g):B.setNode(A)})),this},o.prototype.setNode=function(A,g){return C.has(this._nodes,A)?(arguments.length>1&&(this._nodes[A]=g),this):(this._nodes[A]=arguments.length>1?g:this._defaultNodeLabelFn(A),this._isCompound&&(this._parent[A]=Q,this._children[A]={},this._children[Q][A]=!0),this._in[A]={},this._preds[A]={},this._out[A]={},this._sucs[A]={},++this._nodeCount,this)},o.prototype.node=function(A){return this._nodes[A]},o.prototype.hasNode=function(A){return C.has(this._nodes,A)},o.prototype.removeNode=function(A){var g=this;if(C.has(this._nodes,A)){var I=function(A){g.removeEdge(g._edgeObjs[A])};delete this._nodes[A],this._isCompound&&(this._removeFromParentsChildList(A),delete this._parent[A],C.each(this.children(A),(function(A){g.setParent(A)})),delete this._children[A]),C.each(C.keys(this._in[A]),I),delete this._in[A],delete this._preds[A],C.each(C.keys(this._out[A]),I),delete this._out[A],delete this._sucs[A],--this._nodeCount}return this},o.prototype.setParent=function(A,g){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(C.isUndefined(g))g=Q;else{for(var I=g+="";!C.isUndefined(I);I=this.parent(I))if(I===A)throw new Error("Setting "+g+" as parent of "+A+" would create a cycle");this.setNode(g)}return this.setNode(A),this._removeFromParentsChildList(A),this._parent[A]=g,this._children[g][A]=!0,this},o.prototype._removeFromParentsChildList=function(A){delete this._children[this._parent[A]][A]},o.prototype.parent=function(A){if(this._isCompound){var g=this._parent[A];if(g!==Q)return g}},o.prototype.children=function(A){if(C.isUndefined(A)&&(A=Q),this._isCompound){var g=this._children[A];if(g)return C.keys(g)}else{if(A===Q)return this.nodes();if(this.hasNode(A))return[]}},o.prototype.predecessors=function(A){var g=this._preds[A];if(g)return C.keys(g)},o.prototype.successors=function(A){var g=this._sucs[A];if(g)return C.keys(g)},o.prototype.neighbors=function(A){var g=this.predecessors(A);if(g)return C.union(g,this.successors(A))},o.prototype.isLeaf=function(A){return 0===(this.isDirected()?this.successors(A):this.neighbors(A)).length},o.prototype.filterNodes=function(A){var g=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});g.setGraph(this.graph());var I=this;C.each(this._nodes,(function(I,C){A(C)&&g.setNode(C,I)})),C.each(this._edgeObjs,(function(A){g.hasNode(A.v)&&g.hasNode(A.w)&&g.setEdge(A,I.edge(A))}));var B={};function Q(A){var C=I.parent(A);return void 0===C||g.hasNode(C)?(B[A]=C,C):C in B?B[C]:Q(C)}return this._isCompound&&C.each(g.nodes(),(function(A){g.setParent(A,Q(A))})),g},o.prototype.setDefaultEdgeLabel=function(A){return C.isFunction(A)||(A=C.constant(A)),this._defaultEdgeLabelFn=A,this},o.prototype.edgeCount=function(){return this._edgeCount},o.prototype.edges=function(){return C.values(this._edgeObjs)},o.prototype.setPath=function(A,g){var I=this,B=arguments;return C.reduce(A,(function(A,C){return B.length>1?I.setEdge(A,C,g):I.setEdge(A,C),C})),this},o.prototype.setEdge=function(){var A,g,I,B,Q=!1,i=arguments[0];"object"===typeof i&&null!==i&&"v"in i?(A=i.v,g=i.w,I=i.name,2===arguments.length&&(B=arguments[1],Q=!0)):(A=i,g=arguments[1],I=arguments[3],arguments.length>2&&(B=arguments[2],Q=!0)),A=""+A,g=""+g,C.isUndefined(I)||(I=""+I);var o=t(this._isDirected,A,g,I);if(C.has(this._edgeLabels,o))return Q&&(this._edgeLabels[o]=B),this;if(!C.isUndefined(I)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(A),this.setNode(g),this._edgeLabels[o]=Q?B:this._defaultEdgeLabelFn(A,g,I);var E=function(A,g,I,C){var B=""+g,Q=""+I;if(!A&&B>Q){var i=B;B=Q,Q=i}var o={v:B,w:Q};C&&(o.name=C);return o}(this._isDirected,A,g,I);return A=E.v,g=E.w,Object.freeze(E),this._edgeObjs[o]=E,e(this._preds[g],A),e(this._sucs[A],g),this._in[g][o]=E,this._out[A][o]=E,this._edgeCount++,this},o.prototype.edge=function(A,g,I){var C=1===arguments.length?n(this._isDirected,arguments[0]):t(this._isDirected,A,g,I);return this._edgeLabels[C]},o.prototype.hasEdge=function(A,g,I){var B=1===arguments.length?n(this._isDirected,arguments[0]):t(this._isDirected,A,g,I);return C.has(this._edgeLabels,B)},o.prototype.removeEdge=function(A,g,I){var C=1===arguments.length?n(this._isDirected,arguments[0]):t(this._isDirected,A,g,I),B=this._edgeObjs[C];return B&&(A=B.v,g=B.w,delete this._edgeLabels[C],delete this._edgeObjs[C],E(this._preds[g],A),E(this._sucs[A],g),delete this._in[g][C],delete this._out[A][C],this._edgeCount--),this},o.prototype.inEdges=function(A,g){var I=this._in[A];if(I){var B=C.values(I);return g?C.filter(B,(function(A){return A.v===g})):B}},o.prototype.outEdges=function(A,g){var I=this._out[A];if(I){var B=C.values(I);return g?C.filter(B,(function(A){return A.w===g})):B}},o.prototype.nodeEdges=function(A,g){var I=this.inEdges(A,g);if(I)return I.concat(this.outEdges(A,g))}},6906:(A,g,I)=>{A.exports={Graph:I(322),version:I(2734)}},2322:(A,g,I)=>{var C=I(681),B=I(322);function Q(A){return C.map(A.nodes(),(function(g){var I=A.node(g),B=A.parent(g),Q={v:g};return C.isUndefined(I)||(Q.value=I),C.isUndefined(B)||(Q.parent=B),Q}))}function i(A){return C.map(A.edges(),(function(g){var I=A.edge(g),B={v:g.v,w:g.w};return C.isUndefined(g.name)||(B.name=g.name),C.isUndefined(I)||(B.value=I),B}))}A.exports={write:function(A){var g={options:{directed:A.isDirected(),multigraph:A.isMultigraph(),compound:A.isCompound()},nodes:Q(A),edges:i(A)};C.isUndefined(A.graph())||(g.value=C.clone(A.graph()));return g},read:function(A){var g=new B(A.options).setGraph(A.value);return C.each(A.nodes,(function(A){g.setNode(A.v,A.value),A.parent&&g.setParent(A.v,A.parent)})),C.each(A.edges,(function(A){g.setEdge({v:A.v,w:A.w,name:A.name},A.value)})),g}}},681:(A,g,I)=>{var C;try{C={clone:I(1073),constant:I(8178),each:I(3027),filter:I(1120),has:I(2436),isArray:I(9165),isEmpty:I(8898),isFunction:I(1854),isUndefined:I(6804),keys:I(5482),map:I(8262),reduce:I(9392),size:I(2703),transform:I(3804),union:I(8935),values:I(7196)}}catch(B){}C||(C=window._),A.exports=C},2734:A=>{A.exports="2.1.8"},4134:(A,g,I)=>{"use strict";var C=I(1663),B={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},Q={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},o={};function e(A){return C.isMemo(A)?i:o[A.$$typeof]||B}o[C.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},o[C.Memo]=i;var E=Object.defineProperty,t=Object.getOwnPropertyNames,n=Object.getOwnPropertySymbols,a=Object.getOwnPropertyDescriptor,s=Object.getPrototypeOf,c=Object.prototype;A.exports=function A(g,I,C){if("string"!==typeof I){if(c){var B=s(I);B&&B!==c&&A(g,B,C)}var i=t(I);n&&(i=i.concat(n(I)));for(var o=e(g),r=e(I),l=0;l{"use strict";A.exports=function(A,g,I,C,B,Q,i,o){if(!A){var e;if(void 0===g)e=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var E=[I,C,B,Q,i,o],t=0;(e=new Error(g.replace(/%s/g,(function(){return E[t++]})))).name="Invariant Violation"}throw e.framesToPop=1,e}}},2:(A,g,I)=>{A.exports=function A(g,I,C){function B(i,o){if(!I[i]){if(!g[i]){if(Q)return Q(i,!0);var e=new Error("Cannot find module '"+i+"'");throw e.code="MODULE_NOT_FOUND",e}var E=I[i]={exports:{}};g[i][0].call(E.exports,(function(A){return B(g[i][1][A]||A)}),E,E.exports,A,g,I,C)}return I[i].exports}for(var Q=void 0,i=0;i>2,o=(3&g)<<4|I>>4,e=1>6:64,E=2>4,I=(15&i)<<4|(o=Q.indexOf(A.charAt(E++)))>>2,C=(3&o)<<6|(e=Q.indexOf(A.charAt(E++))),a[t++]=g,64!==o&&(a[t++]=I),64!==e&&(a[t++]=C);return a}},{"./support":30,"./utils":32}],2:[function(A,g,I){"use strict";var C=A("./external"),B=A("./stream/DataWorker"),Q=A("./stream/Crc32Probe"),i=A("./stream/DataLengthProbe");function o(A,g,I,C,B){this.compressedSize=A,this.uncompressedSize=g,this.crc32=I,this.compression=C,this.compressedContent=B}o.prototype={getContentWorker:function(){var A=new B(C.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new i("data_length")),g=this;return A.on("end",(function(){if(this.streamInfo.data_length!==g.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")})),A},getCompressedWorker:function(){return new B(C.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(A,g,I){return A.pipe(new Q).pipe(new i("uncompressedSize")).pipe(g.compressWorker(I)).pipe(new i("compressedSize")).withStreamInfo("compression",g)},g.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(A,g,I){"use strict";var C=A("./stream/GenericWorker");I.STORE={magic:"\0\0",compressWorker:function(){return new C("STORE compression")},uncompressWorker:function(){return new C("STORE decompression")}},I.DEFLATE=A("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(A,g,I){"use strict";var C=A("./utils"),B=function(){for(var A,g=[],I=0;I<256;I++){A=I;for(var C=0;C<8;C++)A=1&A?3988292384^A>>>1:A>>>1;g[I]=A}return g}();g.exports=function(A,g){return void 0!==A&&A.length?"string"!==C.getTypeOf(A)?function(A,g,I,C){var Q=B,i=C+I;A^=-1;for(var o=C;o>>8^Q[255&(A^g[o])];return~A}(0|g,A,A.length,0):function(A,g,I,C){var Q=B,i=C+I;A^=-1;for(var o=C;o>>8^Q[255&(A^g.charCodeAt(o))];return~A}(0|g,A,A.length,0):0}},{"./utils":32}],5:[function(A,g,I){"use strict";I.base64=!1,I.binary=!1,I.dir=!1,I.createFolders=!0,I.date=null,I.compression=null,I.compressionOptions=null,I.comment=null,I.unixPermissions=null,I.dosPermissions=null},{}],6:[function(A,g,I){"use strict";var C=null;C="undefined"!=typeof Promise?Promise:A("lie"),g.exports={Promise:C}},{lie:37}],7:[function(A,g,I){"use strict";var C="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,B=A("pako"),Q=A("./utils"),i=A("./stream/GenericWorker"),o=C?"uint8array":"array";function e(A,g){i.call(this,"FlateWorker/"+A),this._pako=null,this._pakoAction=A,this._pakoOptions=g,this.meta={}}I.magic="\b\0",Q.inherits(e,i),e.prototype.processChunk=function(A){this.meta=A.meta,null===this._pako&&this._createPako(),this._pako.push(Q.transformTo(o,A.data),!1)},e.prototype.flush=function(){i.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},e.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this._pako=null},e.prototype._createPako=function(){this._pako=new B[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var A=this;this._pako.onData=function(g){A.push({data:g,meta:A.meta})}},I.compressWorker=function(A){return new e("Deflate",A)},I.uncompressWorker=function(){return new e("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(A,g,I){"use strict";function C(A,g){var I,C="";for(I=0;I>>=8;return C}function B(A,g,I,B,i,t){var n,a,s=A.file,c=A.compression,r=t!==o.utf8encode,l=Q.transformTo("string",t(s.name)),h=Q.transformTo("string",o.utf8encode(s.name)),d=s.comment,G=Q.transformTo("string",t(d)),D=Q.transformTo("string",o.utf8encode(d)),y=h.length!==s.name.length,w=D.length!==d.length,u="",S="",N="",m=s.dir,F=s.date,K={crc32:0,compressedSize:0,uncompressedSize:0};g&&!I||(K.crc32=A.crc32,K.compressedSize=A.compressedSize,K.uncompressedSize=A.uncompressedSize);var p=0;g&&(p|=8),r||!y&&!w||(p|=2048);var b=0,Y=0;m&&(b|=16),"UNIX"===i?(Y=798,b|=function(A,g){var I=A;return A||(I=g?16893:33204),(65535&I)<<16}(s.unixPermissions,m)):(Y=20,b|=function(A){return 63&(A||0)}(s.dosPermissions)),n=F.getUTCHours(),n<<=6,n|=F.getUTCMinutes(),n<<=5,n|=F.getUTCSeconds()/2,a=F.getUTCFullYear()-1980,a<<=4,a|=F.getUTCMonth()+1,a<<=5,a|=F.getUTCDate(),y&&(S=C(1,1)+C(e(l),4)+h,u+="up"+C(S.length,2)+S),w&&(N=C(1,1)+C(e(G),4)+D,u+="uc"+C(N.length,2)+N);var k="";return k+="\n\0",k+=C(p,2),k+=c.magic,k+=C(n,2),k+=C(a,2),k+=C(K.crc32,4),k+=C(K.compressedSize,4),k+=C(K.uncompressedSize,4),k+=C(l.length,2),k+=C(u.length,2),{fileRecord:E.LOCAL_FILE_HEADER+k+l+u,dirRecord:E.CENTRAL_FILE_HEADER+C(Y,2)+k+C(G.length,2)+"\0\0\0\0"+C(b,4)+C(B,4)+l+u+G}}var Q=A("../utils"),i=A("../stream/GenericWorker"),o=A("../utf8"),e=A("../crc32"),E=A("../signature");function t(A,g,I,C){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=g,this.zipPlatform=I,this.encodeFileName=C,this.streamFiles=A,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}Q.inherits(t,i),t.prototype.push=function(A){var g=A.meta.percent||0,I=this.entriesCount,C=this._sources.length;this.accumulate?this.contentBuffer.push(A):(this.bytesWritten+=A.data.length,i.prototype.push.call(this,{data:A.data,meta:{currentFile:this.currentFile,percent:I?(g+100*(I-C-1))/I:100}}))},t.prototype.openedSource=function(A){this.currentSourceOffset=this.bytesWritten,this.currentFile=A.file.name;var g=this.streamFiles&&!A.file.dir;if(g){var I=B(A,g,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:I.fileRecord,meta:{percent:0}})}else this.accumulate=!0},t.prototype.closedSource=function(A){this.accumulate=!1;var g=this.streamFiles&&!A.file.dir,I=B(A,g,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(I.dirRecord),g)this.push({data:function(A){return E.DATA_DESCRIPTOR+C(A.crc32,4)+C(A.compressedSize,4)+C(A.uncompressedSize,4)}(A),meta:{percent:100}});else for(this.push({data:I.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},t.prototype.flush=function(){for(var A=this.bytesWritten,g=0;g=this.index;g--)I=(I<<8)+this.byteAt(g);return this.index+=A,I},readString:function(A){return C.transformTo("string",this.readData(A))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var A=this.readInt(4);return new Date(Date.UTC(1980+(A>>25&127),(A>>21&15)-1,A>>16&31,A>>11&31,A>>5&63,(31&A)<<1))}},g.exports=B},{"../utils":32}],19:[function(A,g,I){"use strict";var C=A("./Uint8ArrayReader");function B(A){C.call(this,A)}A("../utils").inherits(B,C),B.prototype.readData=function(A){this.checkOffset(A);var g=this.data.slice(this.zero+this.index,this.zero+this.index+A);return this.index+=A,g},g.exports=B},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(A,g,I){"use strict";var C=A("./DataReader");function B(A){C.call(this,A)}A("../utils").inherits(B,C),B.prototype.byteAt=function(A){return this.data.charCodeAt(this.zero+A)},B.prototype.lastIndexOfSignature=function(A){return this.data.lastIndexOf(A)-this.zero},B.prototype.readAndCheckSignature=function(A){return A===this.readData(4)},B.prototype.readData=function(A){this.checkOffset(A);var g=this.data.slice(this.zero+this.index,this.zero+this.index+A);return this.index+=A,g},g.exports=B},{"../utils":32,"./DataReader":18}],21:[function(A,g,I){"use strict";var C=A("./ArrayReader");function B(A){C.call(this,A)}A("../utils").inherits(B,C),B.prototype.readData=function(A){if(this.checkOffset(A),0===A)return new Uint8Array(0);var g=this.data.subarray(this.zero+this.index,this.zero+this.index+A);return this.index+=A,g},g.exports=B},{"../utils":32,"./ArrayReader":17}],22:[function(A,g,I){"use strict";var C=A("../utils"),B=A("../support"),Q=A("./ArrayReader"),i=A("./StringReader"),o=A("./NodeBufferReader"),e=A("./Uint8ArrayReader");g.exports=function(A){var g=C.getTypeOf(A);return C.checkSupport(g),"string"!==g||B.uint8array?"nodebuffer"===g?new o(A):B.uint8array?new e(C.transformTo("uint8array",A)):new Q(C.transformTo("array",A)):new i(A)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(A,g,I){"use strict";I.LOCAL_FILE_HEADER="PK\x03\x04",I.CENTRAL_FILE_HEADER="PK\x01\x02",I.CENTRAL_DIRECTORY_END="PK\x05\x06",I.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x06\x07",I.ZIP64_CENTRAL_DIRECTORY_END="PK\x06\x06",I.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(A,g,I){"use strict";var C=A("./GenericWorker"),B=A("../utils");function Q(A){C.call(this,"ConvertWorker to "+A),this.destType=A}B.inherits(Q,C),Q.prototype.processChunk=function(A){this.push({data:B.transformTo(this.destType,A.data),meta:A.meta})},g.exports=Q},{"../utils":32,"./GenericWorker":28}],25:[function(A,g,I){"use strict";var C=A("./GenericWorker"),B=A("../crc32");function Q(){C.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}A("../utils").inherits(Q,C),Q.prototype.processChunk=function(A){this.streamInfo.crc32=B(A.data,this.streamInfo.crc32||0),this.push(A)},g.exports=Q},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(A,g,I){"use strict";var C=A("../utils"),B=A("./GenericWorker");function Q(A){B.call(this,"DataLengthProbe for "+A),this.propName=A,this.withStreamInfo(A,0)}C.inherits(Q,B),Q.prototype.processChunk=function(A){if(A){var g=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=g+A.data.length}B.prototype.processChunk.call(this,A)},g.exports=Q},{"../utils":32,"./GenericWorker":28}],27:[function(A,g,I){"use strict";var C=A("../utils"),B=A("./GenericWorker");function Q(A){B.call(this,"DataWorker");var g=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,A.then((function(A){g.dataIsReady=!0,g.data=A,g.max=A&&A.length||0,g.type=C.getTypeOf(A),g.isPaused||g._tickAndRepeat()}),(function(A){g.error(A)}))}C.inherits(Q,B),Q.prototype.cleanUp=function(){B.prototype.cleanUp.call(this),this.data=null},Q.prototype.resume=function(){return!!B.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,C.delay(this._tickAndRepeat,[],this)),!0)},Q.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(C.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},Q.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var A=null,g=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":A=this.data.substring(this.index,g);break;case"uint8array":A=this.data.subarray(this.index,g);break;case"array":case"nodebuffer":A=this.data.slice(this.index,g)}return this.index=g,this.push({data:A,meta:{percent:this.max?this.index/this.max*100:0}})},g.exports=Q},{"../utils":32,"./GenericWorker":28}],28:[function(A,g,I){"use strict";function C(A){this.name=A||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}C.prototype={push:function(A){this.emit("data",A)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(A){this.emit("error",A)}return!0},error:function(A){return!this.isFinished&&(this.isPaused?this.generatedError=A:(this.isFinished=!0,this.emit("error",A),this.previous&&this.previous.error(A),this.cleanUp()),!0)},on:function(A,g){return this._listeners[A].push(g),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(A,g){if(this._listeners[A])for(var I=0;I "+A:A}},g.exports=C},{}],29:[function(A,g,I){"use strict";var C=A("../utils"),B=A("./ConvertWorker"),Q=A("./GenericWorker"),i=A("../base64"),o=A("../support"),e=A("../external"),E=null;if(o.nodestream)try{E=A("../nodejs/NodejsStreamOutputAdapter")}catch(A){}function t(A,g){return new e.Promise((function(I,B){var Q=[],o=A._internalType,e=A._outputType,E=A._mimeType;A.on("data",(function(A,I){Q.push(A),g&&g(I)})).on("error",(function(A){Q=[],B(A)})).on("end",(function(){try{var A=function(A,g,I){switch(A){case"blob":return C.newBlob(C.transformTo("arraybuffer",g),I);case"base64":return i.encode(g);default:return C.transformTo(A,g)}}(e,function(A,g){var I,C=0,B=null,Q=0;for(I=0;I>>6:(I<65536?g[i++]=224|I>>>12:(g[i++]=240|I>>>18,g[i++]=128|I>>>12&63),g[i++]=128|I>>>6&63),g[i++]=128|63&I);return g}(A)},I.utf8decode=function(A){return B.nodebuffer?C.transformTo("nodebuffer",A).toString("utf-8"):function(A){var g,I,B,Q,i=A.length,e=new Array(2*i);for(g=I=0;g>10&1023,e[I++]=56320|1023&B)}return e.length!==I&&(e.subarray?e=e.subarray(0,I):e.length=I),C.applyFromCharCode(e)}(A=C.transformTo(B.uint8array?"uint8array":"array",A))},C.inherits(E,i),E.prototype.processChunk=function(A){var g=C.transformTo(B.uint8array?"uint8array":"array",A.data);if(this.leftOver&&this.leftOver.length){if(B.uint8array){var Q=g;(g=new Uint8Array(Q.length+this.leftOver.length)).set(this.leftOver,0),g.set(Q,this.leftOver.length)}else g=this.leftOver.concat(g);this.leftOver=null}var i=function(A,g){var I;for((g=g||A.length)>A.length&&(g=A.length),I=g-1;0<=I&&128==(192&A[I]);)I--;return I<0||0===I?g:I+o[A[I]]>g?I:g}(g),e=g;i!==g.length&&(B.uint8array?(e=g.subarray(0,i),this.leftOver=g.subarray(i,g.length)):(e=g.slice(0,i),this.leftOver=g.slice(i,g.length))),this.push({data:I.utf8decode(e),meta:A.meta})},E.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:I.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},I.Utf8DecodeWorker=E,C.inherits(t,i),t.prototype.processChunk=function(A){this.push({data:I.utf8encode(A.data),meta:A.meta})},I.Utf8EncodeWorker=t},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(A,g,I){"use strict";var C=A("./support"),B=A("./base64"),Q=A("./nodejsUtils"),i=A("./external");function o(A){return A}function e(A,g){for(var I=0;I>8;this.dir=!!(16&this.externalFileAttributes),0==A&&(this.dosPermissions=63&this.externalFileAttributes),3==A&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var A=C(this.extraFields[1].value);this.uncompressedSize===B.MAX_VALUE_32BITS&&(this.uncompressedSize=A.readInt(8)),this.compressedSize===B.MAX_VALUE_32BITS&&(this.compressedSize=A.readInt(8)),this.localHeaderOffset===B.MAX_VALUE_32BITS&&(this.localHeaderOffset=A.readInt(8)),this.diskNumberStart===B.MAX_VALUE_32BITS&&(this.diskNumberStart=A.readInt(4))}},readExtraFields:function(A){var g,I,C,B=A.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});A.index+4>>6:(I<65536?g[i++]=224|I>>>12:(g[i++]=240|I>>>18,g[i++]=128|I>>>12&63),g[i++]=128|I>>>6&63),g[i++]=128|63&I);return g},I.buf2binstring=function(A){return e(A,A.length)},I.binstring2buf=function(A){for(var g=new C.Buf8(A.length),I=0,B=g.length;I>10&1023,E[C++]=56320|1023&B)}return e(E,C)},I.utf8border=function(A,g){var I;for((g=g||A.length)>A.length&&(g=A.length),I=g-1;0<=I&&128==(192&A[I]);)I--;return I<0||0===I?g:I+i[A[I]]>g?I:g}},{"./common":41}],43:[function(A,g,I){"use strict";g.exports=function(A,g,I,C){for(var B=65535&A,Q=A>>>16&65535,i=0;0!==I;){for(I-=i=2e3>>1:A>>>1;g[I]=A}return g}();g.exports=function(A,g,I,B){var Q=C,i=B+I;A^=-1;for(var o=B;o>>8^Q[255&(A^g[o])];return~A}},{}],46:[function(A,g,I){"use strict";var C,B=A("../utils/common"),Q=A("./trees"),i=A("./adler32"),o=A("./crc32"),e=A("./messages"),E=0,t=4,n=0,a=-2,s=-1,c=4,r=2,l=8,h=9,d=286,G=30,D=19,y=2*d+1,w=15,u=3,S=258,N=S+u+1,m=42,F=113,K=1,p=2,b=3,Y=4;function k(A,g){return A.msg=e[g],g}function R(A){return(A<<1)-(4A.avail_out&&(I=A.avail_out),0!==I&&(B.arraySet(A.output,g.pending_buf,g.pending_out,I,A.next_out),A.next_out+=I,g.pending_out+=I,A.total_out+=I,A.avail_out-=I,g.pending-=I,0===g.pending&&(g.pending_out=0))}function J(A,g){Q._tr_flush_block(A,0<=A.block_start?A.block_start:-1,A.strstart-A.block_start,g),A.block_start=A.strstart,H(A.strm)}function Z(A,g){A.pending_buf[A.pending++]=g}function L(A,g){A.pending_buf[A.pending++]=g>>>8&255,A.pending_buf[A.pending++]=255&g}function M(A,g){var I,C,B=A.max_chain_length,Q=A.strstart,i=A.prev_length,o=A.nice_match,e=A.strstart>A.w_size-N?A.strstart-(A.w_size-N):0,E=A.window,t=A.w_mask,n=A.prev,a=A.strstart+S,s=E[Q+i-1],c=E[Q+i];A.prev_length>=A.good_match&&(B>>=2),o>A.lookahead&&(o=A.lookahead);do{if(E[(I=g)+i]===c&&E[I+i-1]===s&&E[I]===E[Q]&&E[++I]===E[Q+1]){Q+=2,I++;do{}while(E[++Q]===E[++I]&&E[++Q]===E[++I]&&E[++Q]===E[++I]&&E[++Q]===E[++I]&&E[++Q]===E[++I]&&E[++Q]===E[++I]&&E[++Q]===E[++I]&&E[++Q]===E[++I]&&Qe&&0!=--B);return i<=A.lookahead?i:A.lookahead}function U(A){var g,I,C,Q,e,E,t,n,a,s,c=A.w_size;do{if(Q=A.window_size-A.lookahead-A.strstart,A.strstart>=c+(c-N)){for(B.arraySet(A.window,A.window,c,c,0),A.match_start-=c,A.strstart-=c,A.block_start-=c,g=I=A.hash_size;C=A.head[--g],A.head[g]=c<=C?C-c:0,--I;);for(g=I=c;C=A.prev[--g],A.prev[g]=c<=C?C-c:0,--I;);Q+=c}if(0===A.strm.avail_in)break;if(E=A.strm,t=A.window,n=A.strstart+A.lookahead,s=void 0,(a=Q)<(s=E.avail_in)&&(s=a),I=0===s?0:(E.avail_in-=s,B.arraySet(t,E.input,E.next_in,s,n),1===E.state.wrap?E.adler=i(E.adler,t,s,n):2===E.state.wrap&&(E.adler=o(E.adler,t,s,n)),E.next_in+=s,E.total_in+=s,s),A.lookahead+=I,A.lookahead+A.insert>=u)for(e=A.strstart-A.insert,A.ins_h=A.window[e],A.ins_h=(A.ins_h<=u&&(A.ins_h=(A.ins_h<=u)if(C=Q._tr_tally(A,A.strstart-A.match_start,A.match_length-u),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=u){for(A.match_length--;A.strstart++,A.ins_h=(A.ins_h<=u&&(A.ins_h=(A.ins_h<=u&&A.match_length<=A.prev_length){for(B=A.strstart+A.lookahead-u,C=Q._tr_tally(A,A.strstart-1-A.prev_match,A.prev_length-u),A.lookahead-=A.prev_length-1,A.prev_length-=2;++A.strstart<=B&&(A.ins_h=(A.ins_h<A.pending_buf_size-5&&(I=A.pending_buf_size-5);;){if(A.lookahead<=1){if(U(A),0===A.lookahead&&g===E)return K;if(0===A.lookahead)break}A.strstart+=A.lookahead,A.lookahead=0;var C=A.block_start+I;if((0===A.strstart||A.strstart>=C)&&(A.lookahead=A.strstart-C,A.strstart=C,J(A,!1),0===A.strm.avail_out))return K;if(A.strstart-A.block_start>=A.w_size-N&&(J(A,!1),0===A.strm.avail_out))return K}return A.insert=0,g===t?(J(A,!0),0===A.strm.avail_out?b:Y):(A.strstart>A.block_start&&(J(A,!1),A.strm.avail_out),K)})),new v(4,4,8,4,W),new v(4,5,16,8,W),new v(4,6,32,32,W),new v(4,4,16,16,V),new v(8,16,32,32,V),new v(8,16,128,128,V),new v(8,32,128,256,V),new v(32,128,258,1024,V),new v(32,258,258,4096,V)],I.deflateInit=function(A,g){return j(A,g,l,15,8,0)},I.deflateInit2=j,I.deflateReset=q,I.deflateResetKeep=x,I.deflateSetHeader=function(A,g){return A&&A.state?2!==A.state.wrap?a:(A.state.gzhead=g,n):a},I.deflate=function(A,g){var I,B,i,e;if(!A||!A.state||5>8&255),Z(B,B.gzhead.time>>16&255),Z(B,B.gzhead.time>>24&255),Z(B,9===B.level?2:2<=B.strategy||B.level<2?4:0),Z(B,255&B.gzhead.os),B.gzhead.extra&&B.gzhead.extra.length&&(Z(B,255&B.gzhead.extra.length),Z(B,B.gzhead.extra.length>>8&255)),B.gzhead.hcrc&&(A.adler=o(A.adler,B.pending_buf,B.pending,0)),B.gzindex=0,B.status=69):(Z(B,0),Z(B,0),Z(B,0),Z(B,0),Z(B,0),Z(B,9===B.level?2:2<=B.strategy||B.level<2?4:0),Z(B,3),B.status=F);else{var s=l+(B.w_bits-8<<4)<<8;s|=(2<=B.strategy||B.level<2?0:B.level<6?1:6===B.level?2:3)<<6,0!==B.strstart&&(s|=32),s+=31-s%31,B.status=F,L(B,s),0!==B.strstart&&(L(B,A.adler>>>16),L(B,65535&A.adler)),A.adler=1}if(69===B.status)if(B.gzhead.extra){for(i=B.pending;B.gzindex<(65535&B.gzhead.extra.length)&&(B.pending!==B.pending_buf_size||(B.gzhead.hcrc&&B.pending>i&&(A.adler=o(A.adler,B.pending_buf,B.pending-i,i)),H(A),i=B.pending,B.pending!==B.pending_buf_size));)Z(B,255&B.gzhead.extra[B.gzindex]),B.gzindex++;B.gzhead.hcrc&&B.pending>i&&(A.adler=o(A.adler,B.pending_buf,B.pending-i,i)),B.gzindex===B.gzhead.extra.length&&(B.gzindex=0,B.status=73)}else B.status=73;if(73===B.status)if(B.gzhead.name){i=B.pending;do{if(B.pending===B.pending_buf_size&&(B.gzhead.hcrc&&B.pending>i&&(A.adler=o(A.adler,B.pending_buf,B.pending-i,i)),H(A),i=B.pending,B.pending===B.pending_buf_size)){e=1;break}e=B.gzindexi&&(A.adler=o(A.adler,B.pending_buf,B.pending-i,i)),0===e&&(B.gzindex=0,B.status=91)}else B.status=91;if(91===B.status)if(B.gzhead.comment){i=B.pending;do{if(B.pending===B.pending_buf_size&&(B.gzhead.hcrc&&B.pending>i&&(A.adler=o(A.adler,B.pending_buf,B.pending-i,i)),H(A),i=B.pending,B.pending===B.pending_buf_size)){e=1;break}e=B.gzindexi&&(A.adler=o(A.adler,B.pending_buf,B.pending-i,i)),0===e&&(B.status=103)}else B.status=103;if(103===B.status&&(B.gzhead.hcrc?(B.pending+2>B.pending_buf_size&&H(A),B.pending+2<=B.pending_buf_size&&(Z(B,255&A.adler),Z(B,A.adler>>8&255),A.adler=0,B.status=F)):B.status=F),0!==B.pending){if(H(A),0===A.avail_out)return B.last_flush=-1,n}else if(0===A.avail_in&&R(g)<=R(I)&&g!==t)return k(A,-5);if(666===B.status&&0!==A.avail_in)return k(A,-5);if(0!==A.avail_in||0!==B.lookahead||g!==E&&666!==B.status){var c=2===B.strategy?function(A,g){for(var I;;){if(0===A.lookahead&&(U(A),0===A.lookahead)){if(g===E)return K;break}if(A.match_length=0,I=Q._tr_tally(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,I&&(J(A,!1),0===A.strm.avail_out))return K}return A.insert=0,g===t?(J(A,!0),0===A.strm.avail_out?b:Y):A.last_lit&&(J(A,!1),0===A.strm.avail_out)?K:p}(B,g):3===B.strategy?function(A,g){for(var I,C,B,i,o=A.window;;){if(A.lookahead<=S){if(U(A),A.lookahead<=S&&g===E)return K;if(0===A.lookahead)break}if(A.match_length=0,A.lookahead>=u&&0A.lookahead&&(A.match_length=A.lookahead)}if(A.match_length>=u?(I=Q._tr_tally(A,1,A.match_length-u),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0):(I=Q._tr_tally(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++),I&&(J(A,!1),0===A.strm.avail_out))return K}return A.insert=0,g===t?(J(A,!0),0===A.strm.avail_out?b:Y):A.last_lit&&(J(A,!1),0===A.strm.avail_out)?K:p}(B,g):C[B.level].func(B,g);if(c!==b&&c!==Y||(B.status=666),c===K||c===b)return 0===A.avail_out&&(B.last_flush=-1),n;if(c===p&&(1===g?Q._tr_align(B):5!==g&&(Q._tr_stored_block(B,0,0,!1),3===g&&(f(B.head),0===B.lookahead&&(B.strstart=0,B.block_start=0,B.insert=0))),H(A),0===A.avail_out))return B.last_flush=-1,n}return g!==t?n:B.wrap<=0?1:(2===B.wrap?(Z(B,255&A.adler),Z(B,A.adler>>8&255),Z(B,A.adler>>16&255),Z(B,A.adler>>24&255),Z(B,255&A.total_in),Z(B,A.total_in>>8&255),Z(B,A.total_in>>16&255),Z(B,A.total_in>>24&255)):(L(B,A.adler>>>16),L(B,65535&A.adler)),H(A),0=I.w_size&&(0===o&&(f(I.head),I.strstart=0,I.block_start=0,I.insert=0),s=new B.Buf8(I.w_size),B.arraySet(s,g,c-I.w_size,I.w_size,0),g=s,c=I.w_size),e=A.avail_in,E=A.next_in,t=A.input,A.avail_in=c,A.next_in=0,A.input=g,U(I);I.lookahead>=u;){for(C=I.strstart,Q=I.lookahead-(u-1);I.ins_h=(I.ins_h<>>=D=G>>>24,c-=D,0===(D=G>>>16&255))m[Q++]=65535&G;else{if(!(16&D)){if(0==(64&D)){G=r[(65535&G)+(s&(1<>>=D,c-=D),c<15&&(s+=N[C++]<>>=D=G>>>24,c-=D,!(16&(D=G>>>16&255))){if(0==(64&D)){G=l[(65535&G)+(s&(1<>>=D,c-=D,(D=Q-i)>3,s&=(1<<(c-=y<<3))-1,A.next_in=C,A.next_out=Q,A.avail_in=C>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24)}function l(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new C.Buf16(320),this.work=new C.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function h(A){var g;return A&&A.state?(g=A.state,A.total_in=A.total_out=g.total=0,A.msg="",g.wrap&&(A.adler=1&g.wrap),g.mode=a,g.last=0,g.havedict=0,g.dmax=32768,g.head=null,g.hold=0,g.bits=0,g.lencode=g.lendyn=new C.Buf32(s),g.distcode=g.distdyn=new C.Buf32(c),g.sane=1,g.back=-1,t):n}function d(A){var g;return A&&A.state?((g=A.state).wsize=0,g.whave=0,g.wnext=0,h(A)):n}function G(A,g){var I,C;return A&&A.state?(C=A.state,g<0?(I=0,g=-g):(I=1+(g>>4),g<48&&(g&=15)),g&&(g<8||15=i.wsize?(C.arraySet(i.window,g,I-i.wsize,i.wsize,0),i.wnext=0,i.whave=i.wsize):(B<(Q=i.wsize-i.wnext)&&(Q=B),C.arraySet(i.window,g,I-B,Q,i.wnext),(B-=Q)?(C.arraySet(i.window,g,I-B,B,0),i.wnext=B,i.whave=i.wsize):(i.wnext+=Q,i.wnext===i.wsize&&(i.wnext=0),i.whave>>8&255,I.check=Q(I.check,U,2,0),y=D=0,I.mode=2;break}if(I.flags=0,I.head&&(I.head.done=!1),!(1&I.wrap)||(((255&D)<<8)+(D>>8))%31){A.msg="incorrect header check",I.mode=30;break}if(8!=(15&D)){A.msg="unknown compression method",I.mode=30;break}if(y-=4,H=8+(15&(D>>>=4)),0===I.wbits)I.wbits=H;else if(H>I.wbits){A.msg="invalid window size",I.mode=30;break}I.dmax=1<>8&1),512&I.flags&&(U[0]=255&D,U[1]=D>>>8&255,I.check=Q(I.check,U,2,0)),y=D=0,I.mode=3;case 3:for(;y<32;){if(0===d)break A;d--,D+=s[l++]<>>8&255,U[2]=D>>>16&255,U[3]=D>>>24&255,I.check=Q(I.check,U,4,0)),y=D=0,I.mode=4;case 4:for(;y<16;){if(0===d)break A;d--,D+=s[l++]<>8),512&I.flags&&(U[0]=255&D,U[1]=D>>>8&255,I.check=Q(I.check,U,2,0)),y=D=0,I.mode=5;case 5:if(1024&I.flags){for(;y<16;){if(0===d)break A;d--,D+=s[l++]<>>8&255,I.check=Q(I.check,U,2,0)),y=D=0}else I.head&&(I.head.extra=null);I.mode=6;case 6:if(1024&I.flags&&(d<(m=I.length)&&(m=d),m&&(I.head&&(H=I.head.extra_len-I.length,I.head.extra||(I.head.extra=new Array(I.head.extra_len)),C.arraySet(I.head.extra,s,l,m,H)),512&I.flags&&(I.check=Q(I.check,s,m,l)),d-=m,l+=m,I.length-=m),I.length))break A;I.length=0,I.mode=7;case 7:if(2048&I.flags){if(0===d)break A;for(m=0;H=s[l+m++],I.head&&H&&I.length<65536&&(I.head.name+=String.fromCharCode(H)),H&&m>9&1,I.head.done=!0),A.adler=I.check=0,I.mode=12;break;case 10:for(;y<32;){if(0===d)break A;d--,D+=s[l++]<>>=7&y,y-=7&y,I.mode=27;break}for(;y<3;){if(0===d)break A;d--,D+=s[l++]<>>=1)){case 0:I.mode=14;break;case 1:if(S(I),I.mode=20,6!==g)break;D>>>=2,y-=2;break A;case 2:I.mode=17;break;case 3:A.msg="invalid block type",I.mode=30}D>>>=2,y-=2;break;case 14:for(D>>>=7&y,y-=7&y;y<32;){if(0===d)break A;d--,D+=s[l++]<>>16^65535)){A.msg="invalid stored block lengths",I.mode=30;break}if(I.length=65535&D,y=D=0,I.mode=15,6===g)break A;case 15:I.mode=16;case 16:if(m=I.length){if(d>>=5,y-=5,I.ndist=1+(31&D),D>>>=5,y-=5,I.ncode=4+(15&D),D>>>=4,y-=4,286>>=3,y-=3}for(;I.have<19;)I.lens[W[I.have++]]=0;if(I.lencode=I.lendyn,I.lenbits=7,Z={bits:I.lenbits},J=o(0,I.lens,0,19,I.lencode,0,I.work,Z),I.lenbits=Z.bits,J){A.msg="invalid code lengths set",I.mode=30;break}I.have=0,I.mode=19;case 19:for(;I.have>>16&255,Y=65535&M,!((p=M>>>24)<=y);){if(0===d)break A;d--,D+=s[l++]<>>=p,y-=p,I.lens[I.have++]=Y;else{if(16===Y){for(L=p+2;y>>=p,y-=p,0===I.have){A.msg="invalid bit length repeat",I.mode=30;break}H=I.lens[I.have-1],m=3+(3&D),D>>>=2,y-=2}else if(17===Y){for(L=p+3;y>>=p)),D>>>=3,y-=3}else{for(L=p+7;y>>=p)),D>>>=7,y-=7}if(I.have+m>I.nlen+I.ndist){A.msg="invalid bit length repeat",I.mode=30;break}for(;m--;)I.lens[I.have++]=H}}if(30===I.mode)break;if(0===I.lens[256]){A.msg="invalid code -- missing end-of-block",I.mode=30;break}if(I.lenbits=9,Z={bits:I.lenbits},J=o(e,I.lens,0,I.nlen,I.lencode,0,I.work,Z),I.lenbits=Z.bits,J){A.msg="invalid literal/lengths set",I.mode=30;break}if(I.distbits=6,I.distcode=I.distdyn,Z={bits:I.distbits},J=o(E,I.lens,I.nlen,I.ndist,I.distcode,0,I.work,Z),I.distbits=Z.bits,J){A.msg="invalid distances set",I.mode=30;break}if(I.mode=20,6===g)break A;case 20:I.mode=21;case 21:if(6<=d&&258<=G){A.next_out=h,A.avail_out=G,A.next_in=l,A.avail_in=d,I.hold=D,I.bits=y,i(A,u),h=A.next_out,c=A.output,G=A.avail_out,l=A.next_in,s=A.input,d=A.avail_in,D=I.hold,y=I.bits,12===I.mode&&(I.back=-1);break}for(I.back=0;b=(M=I.lencode[D&(1<>>16&255,Y=65535&M,!((p=M>>>24)<=y);){if(0===d)break A;d--,D+=s[l++]<>k)])>>>16&255,Y=65535&M,!(k+(p=M>>>24)<=y);){if(0===d)break A;d--,D+=s[l++]<>>=k,y-=k,I.back+=k}if(D>>>=p,y-=p,I.back+=p,I.length=Y,0===b){I.mode=26;break}if(32&b){I.back=-1,I.mode=12;break}if(64&b){A.msg="invalid literal/length code",I.mode=30;break}I.extra=15&b,I.mode=22;case 22:if(I.extra){for(L=I.extra;y>>=I.extra,y-=I.extra,I.back+=I.extra}I.was=I.length,I.mode=23;case 23:for(;b=(M=I.distcode[D&(1<>>16&255,Y=65535&M,!((p=M>>>24)<=y);){if(0===d)break A;d--,D+=s[l++]<>k)])>>>16&255,Y=65535&M,!(k+(p=M>>>24)<=y);){if(0===d)break A;d--,D+=s[l++]<>>=k,y-=k,I.back+=k}if(D>>>=p,y-=p,I.back+=p,64&b){A.msg="invalid distance code",I.mode=30;break}I.offset=Y,I.extra=15&b,I.mode=24;case 24:if(I.extra){for(L=I.extra;y>>=I.extra,y-=I.extra,I.back+=I.extra}if(I.offset>I.dmax){A.msg="invalid distance too far back",I.mode=30;break}I.mode=25;case 25:if(0===G)break A;if(m=u-G,I.offset>m){if((m=I.offset-m)>I.whave&&I.sane){A.msg="invalid distance too far back",I.mode=30;break}F=m>I.wnext?(m-=I.wnext,I.wsize-m):I.wnext-m,m>I.length&&(m=I.length),K=I.window}else K=c,F=h-I.offset,m=I.length;for(Gd?(D=Z[L+n[S]],R[f+n[S]]):(D=96,0),s=1<>p)+(c-=s)]=G<<24|D<<16|y,0!==c;);for(s=1<>=1;if(0!==s?(k&=s-1,k+=s):k=0,S++,0==--H[u]){if(u===m)break;u=g[I+n[S]]}if(F>>7)]}function Z(A,g){A.pending_buf[A.pending++]=255&g,A.pending_buf[A.pending++]=g>>>8&255}function L(A,g,I){A.bi_valid>r-I?(A.bi_buf|=g<>r-A.bi_valid,A.bi_valid+=I-r):(A.bi_buf|=g<>>=1,I<<=1,0<--g;);return I>>>1}function W(A,g,I){var C,B,Q=new Array(c+1),i=0;for(C=1;C<=c;C++)Q[C]=i=i+I[C-1]<<1;for(B=0;B<=g;B++){var o=A[2*B+1];0!==o&&(A[2*B]=U(Q[o]++,o))}}function V(A){var g;for(g=0;g>1;1<=I;I--)x(A,Q,I);for(B=e;I=A.heap[1],A.heap[1]=A.heap[A.heap_len--],x(A,Q,1),C=A.heap[1],A.heap[--A.heap_max]=I,A.heap[--A.heap_max]=C,Q[2*B]=Q[2*I]+Q[2*C],A.depth[B]=(A.depth[I]>=A.depth[C]?A.depth[I]:A.depth[C])+1,Q[2*I+1]=Q[2*C+1]=B,A.heap[1]=B++,x(A,Q,1),2<=A.heap_len;);A.heap[--A.heap_max]=A.heap[1],function(A,g){var I,C,B,Q,i,o,e=g.dyn_tree,E=g.max_code,t=g.stat_desc.static_tree,n=g.stat_desc.has_stree,a=g.stat_desc.extra_bits,r=g.stat_desc.extra_base,l=g.stat_desc.max_length,h=0;for(Q=0;Q<=c;Q++)A.bl_count[Q]=0;for(e[2*A.heap[A.heap_max]+1]=0,I=A.heap_max+1;I>=7;C>>=1)if(1&I&&0!==A.dyn_ltree[2*g])return B;if(0!==A.dyn_ltree[18]||0!==A.dyn_ltree[20]||0!==A.dyn_ltree[26])return Q;for(g=32;g>>3,(o=A.static_len+3+7>>>3)<=i&&(i=o)):i=o=I+5,I+4<=i&&-1!==g?O(A,g,I,C):4===A.strategy||o===i?(L(A,2+(C?1:0),3),q(A,N,m)):(L(A,4+(C?1:0),3),function(A,g,I,C){var B;for(L(A,g-257,5),L(A,I-1,5),L(A,C-4,4),B=0;B>>8&255,A.pending_buf[A.d_buf+2*A.last_lit+1]=255&g,A.pending_buf[A.l_buf+A.last_lit]=255&I,A.last_lit++,0===g?A.dyn_ltree[2*I]++:(A.matches++,g--,A.dyn_ltree[2*(K[I]+E+1)]++,A.dyn_dtree[2*J(g)]++),A.last_lit===A.lit_bufsize-1},I._tr_align=function(A){L(A,2,3),M(A,h,N),function(A){16===A.bi_valid?(Z(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0):8<=A.bi_valid&&(A.pending_buf[A.pending++]=255&A.bi_buf,A.bi_buf>>=8,A.bi_valid-=8)}(A)}},{"../utils/common":41}],53:[function(A,g,I){"use strict";g.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(A,g,C){(function(A){!function(A,g){"use strict";if(!A.setImmediate){var I,C,B,Q,i=1,o={},e=!1,E=A.document,t=Object.getPrototypeOf&&Object.getPrototypeOf(A);t=t&&t.setTimeout?t:A,I="[object process]"==={}.toString.call(A.process)?function(A){process.nextTick((function(){a(A)}))}:function(){if(A.postMessage&&!A.importScripts){var g=!0,I=A.onmessage;return A.onmessage=function(){g=!1},A.postMessage("","*"),A.onmessage=I,g}}()?(Q="setImmediate$"+Math.random()+"$",A.addEventListener?A.addEventListener("message",s,!1):A.attachEvent("onmessage",s),function(g){A.postMessage(Q+g,"*")}):A.MessageChannel?((B=new MessageChannel).port1.onmessage=function(A){a(A.data)},function(A){B.port2.postMessage(A)}):E&&"onreadystatechange"in E.createElement("script")?(C=E.documentElement,function(A){var g=E.createElement("script");g.onreadystatechange=function(){a(A),g.onreadystatechange=null,C.removeChild(g),g=null},C.appendChild(g)}):function(A){setTimeout(a,0,A)},t.setImmediate=function(A){"function"!=typeof A&&(A=new Function(""+A));for(var g=new Array(arguments.length-1),C=0;C{var C="__lodash_hash_undefined__",B=1/0,Q="[object Function]",i="[object GeneratorFunction]",o="[object Symbol]",e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,E=/^\w*$/,t=/^\./,n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,s=/^\[object .+?Constructor\]$/,c="object"==typeof I.g&&I.g&&I.g.Object===Object&&I.g,r="object"==typeof self&&self&&self.Object===Object&&self,l=c||r||Function("return this")();var h=Array.prototype,d=Function.prototype,G=Object.prototype,D=l["__core-js_shared__"],y=function(){var A=/[^.]+$/.exec(D&&D.keys&&D.keys.IE_PROTO||"");return A?"Symbol(src)_1."+A:""}(),w=d.toString,u=G.hasOwnProperty,S=G.toString,N=RegExp("^"+w.call(u).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),m=l.Symbol,F=h.splice,K=M(l,"Map"),p=M(Object,"create"),b=m?m.prototype:void 0,Y=b?b.toString:void 0;function k(A){var g=-1,I=A?A.length:0;for(this.clear();++g-1},R.prototype.set=function(A,g){var I=this.__data__,C=H(I,A);return C<0?I.push([A,g]):I[C][1]=g,this},f.prototype.clear=function(){this.__data__={hash:new k,map:new(K||R),string:new k}},f.prototype.delete=function(A){return L(this,A).delete(A)},f.prototype.get=function(A){return L(this,A).get(A)},f.prototype.has=function(A){return L(this,A).has(A)},f.prototype.set=function(A,g){return L(this,A).set(A,g),this};var U=V((function(A){var g;A=null==(g=A)?"":function(A){if("string"==typeof A)return A;if(x(A))return Y?Y.call(A):"";var g=A+"";return"0"==g&&1/A==-B?"-0":g}(g);var I=[];return t.test(A)&&I.push(""),A.replace(n,(function(A,g,C,B){I.push(C?B.replace(a,"$1"):g||A)})),I}));function W(A){if("string"==typeof A||x(A))return A;var g=A+"";return"0"==g&&1/A==-B?"-0":g}function V(A,g){if("function"!=typeof A||g&&"function"!=typeof g)throw new TypeError("Expected a function");var I=function(){var C=arguments,B=g?g.apply(this,C):C[0],Q=I.cache;if(Q.has(B))return Q.get(B);var i=A.apply(this,C);return I.cache=Q.set(B,i),i};return I.cache=new(V.Cache||f),I}V.Cache=f;var v=Array.isArray;function X(A){var g=typeof A;return!!A&&("object"==g||"function"==g)}function x(A){return"symbol"==typeof A||function(A){return!!A&&"object"==typeof A}(A)&&S.call(A)==o}A.exports=function(A,g,I){var C=null==A?void 0:J(A,g);return void 0===C?I:C}},3874:(A,g,I)=>{A=I.nmd(A);var C="__lodash_hash_undefined__",B=1,Q=2,i=9007199254740991,o="[object Arguments]",e="[object Array]",E="[object AsyncFunction]",t="[object Boolean]",n="[object Date]",a="[object Error]",s="[object Function]",c="[object GeneratorFunction]",r="[object Map]",l="[object Number]",h="[object Null]",d="[object Object]",G="[object Promise]",D="[object Proxy]",y="[object RegExp]",w="[object Set]",u="[object String]",S="[object Symbol]",N="[object Undefined]",m="[object WeakMap]",F="[object ArrayBuffer]",K="[object DataView]",p=/^\[object .+?Constructor\]$/,b=/^(?:0|[1-9]\d*)$/,Y={};Y["[object Float32Array]"]=Y["[object Float64Array]"]=Y["[object Int8Array]"]=Y["[object Int16Array]"]=Y["[object Int32Array]"]=Y["[object Uint8Array]"]=Y["[object Uint8ClampedArray]"]=Y["[object Uint16Array]"]=Y["[object Uint32Array]"]=!0,Y[o]=Y[e]=Y[F]=Y[t]=Y[K]=Y[n]=Y[a]=Y[s]=Y[r]=Y[l]=Y[d]=Y[y]=Y[w]=Y[u]=Y[m]=!1;var k="object"==typeof I.g&&I.g&&I.g.Object===Object&&I.g,R="object"==typeof self&&self&&self.Object===Object&&self,f=k||R||Function("return this")(),H=g&&!g.nodeType&&g,J=H&&A&&!A.nodeType&&A,Z=J&&J.exports===H,L=Z&&k.process,M=function(){try{return L&&L.binding&&L.binding("util")}catch(A){}}(),U=M&&M.isTypedArray;function W(A,g){for(var I=-1,C=null==A?0:A.length;++IE))return!1;var n=o.get(A);if(n&&o.get(g))return n==g;var a=-1,s=!0,c=I&Q?new mA:void 0;for(o.set(A,g),o.set(g,A);++a-1},SA.prototype.set=function(A,g){var I=this.__data__,C=pA(I,A);return C<0?(++this.size,I.push([A,g])):I[C][1]=g,this},NA.prototype.clear=function(){this.size=0,this.__data__={hash:new uA,map:new(nA||SA),string:new uA}},NA.prototype.delete=function(A){var g=ZA(this,A).delete(A);return this.size-=g?1:0,g},NA.prototype.get=function(A){return ZA(this,A).get(A)},NA.prototype.has=function(A){return ZA(this,A).has(A)},NA.prototype.set=function(A,g){var I=ZA(this,A),C=I.size;return I.set(A,g),this.size+=I.size==C?0:1,this},mA.prototype.add=mA.prototype.push=function(A){return this.__data__.set(A,C),this},mA.prototype.has=function(A){return this.__data__.has(A)},FA.prototype.clear=function(){this.__data__=new SA,this.size=0},FA.prototype.delete=function(A){var g=this.__data__,I=g.delete(A);return this.size=g.size,I},FA.prototype.get=function(A){return this.__data__.get(A)},FA.prototype.has=function(A){return this.__data__.has(A)},FA.prototype.set=function(A,g){var I=this.__data__;if(I instanceof SA){var C=I.__data__;if(!nA||C.length<199)return C.push([A,g]),this.size=++I.size,this;I=this.__data__=new NA(C)}return I.set(A,g),this.size=I.size,this};var MA=oA?function(A){return null==A?[]:(A=Object(A),function(A,g){for(var I=-1,C=null==A?0:A.length,B=0,Q=[];++I-1&&A%1==0&&A-1&&A%1==0&&A<=i}function PA(A){var g=typeof A;return null!=A&&("object"==g||"function"==g)}function TA(A){return null!=A&&"object"==typeof A}var OA=U?function(A){return function(g){return A(g)}}(U):function(A){return TA(A)&&zA(A.length)&&!!Y[bA(A)]};function _A(A){return null!=(g=A)&&zA(g.length)&&!jA(g)?KA(A):fA(A);var g}A.exports=function(A,g){return kA(A,g)}},470:(A,g,I)=>{var C="Expected a function",B=NaN,Q="[object Symbol]",i=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,e=/^0b[01]+$/i,E=/^0o[0-7]+$/i,t=parseInt,n="object"==typeof I.g&&I.g&&I.g.Object===Object&&I.g,a="object"==typeof self&&self&&self.Object===Object&&self,s=n||a||Function("return this")(),c=Object.prototype.toString,r=Math.max,l=Math.min,h=function(){return s.Date.now()};function d(A,g,I){var B,Q,i,o,e,E,t=0,n=!1,a=!1,s=!0;if("function"!=typeof A)throw new TypeError(C);function c(g){var I=B,C=Q;return B=Q=void 0,t=g,o=A.apply(C,I)}function d(A){var I=A-E;return void 0===E||I>=g||I<0||a&&A-t>=i}function y(){var A=h();if(d(A))return w(A);e=setTimeout(y,function(A){var I=g-(A-E);return a?l(I,i-(A-t)):I}(A))}function w(A){return e=void 0,s&&B?c(A):(B=Q=void 0,o)}function u(){var A=h(),I=d(A);if(B=arguments,Q=this,E=A,I){if(void 0===e)return function(A){return t=A,e=setTimeout(y,g),n?c(A):o}(E);if(a)return e=setTimeout(y,g),c(E)}return void 0===e&&(e=setTimeout(y,g)),o}return g=D(g)||0,G(I)&&(n=!!I.leading,i=(a="maxWait"in I)?r(D(I.maxWait)||0,g):i,s="trailing"in I?!!I.trailing:s),u.cancel=function(){void 0!==e&&clearTimeout(e),t=0,B=E=Q=e=void 0},u.flush=function(){return void 0===e?o:w(h())},u}function G(A){var g=typeof A;return!!A&&("object"==g||"function"==g)}function D(A){if("number"==typeof A)return A;if(function(A){return"symbol"==typeof A||function(A){return!!A&&"object"==typeof A}(A)&&c.call(A)==Q}(A))return B;if(G(A)){var g="function"==typeof A.valueOf?A.valueOf():A;A=G(g)?g+"":g}if("string"!=typeof A)return 0===A?A:+A;A=A.replace(i,"");var I=e.test(A);return I||E.test(A)?t(A.slice(2),I?2:8):o.test(A)?B:+A}A.exports=function(A,g,I){var B=!0,Q=!0;if("function"!=typeof A)throw new TypeError(C);return G(I)&&(B="leading"in I?!!I.leading:B,Q="trailing"in I?!!I.trailing:Q),d(A,g,{leading:B,maxWait:g,trailing:Q})}},6600:(A,g,I)=>{var C=I(5426)(I(5897),"DataView");A.exports=C},1905:(A,g,I)=>{var C=I(1308),B=I(4234),Q=I(2709),i=I(7337),o=I(3873);function e(A){var g=-1,I=null==A?0:A.length;for(this.clear();++g{var C=I(7490),B=I(180),Q=I(6567),i=I(8283),o=I(1155);function e(A){var g=-1,I=null==A?0:A.length;for(this.clear();++g{var C=I(5426)(I(5897),"Map");A.exports=C},1953:(A,g,I)=>{var C=I(4764),B=I(6730),Q=I(6277),i=I(8425),o=I(7249);function e(A){var g=-1,I=null==A?0:A.length;for(this.clear();++g{var C=I(5426)(I(5897),"Promise");A.exports=C},5853:(A,g,I)=>{var C=I(5426)(I(5897),"Set");A.exports=C},7639:(A,g,I)=>{var C=I(1953),B=I(7384),Q=I(5815);function i(A){var g=-1,I=null==A?0:A.length;for(this.__data__=new C;++g{var C=I(3187),B=I(696),Q=I(1278),i=I(1913),o=I(8021),e=I(2285);function E(A){var g=this.__data__=new C(A);this.size=g.size}E.prototype.clear=B,E.prototype.delete=Q,E.prototype.get=i,E.prototype.has=o,E.prototype.set=e,A.exports=E},7693:(A,g,I)=>{var C=I(5897).Symbol;A.exports=C},3408:(A,g,I)=>{var C=I(5897).Uint8Array;A.exports=C},6755:(A,g,I)=>{var C=I(5426)(I(5897),"WeakMap");A.exports=C},1037:A=>{A.exports=function(A,g,I){switch(I.length){case 0:return A.call(g);case 1:return A.call(g,I[0]);case 2:return A.call(g,I[0],I[1]);case 3:return A.call(g,I[0],I[1],I[2])}return A.apply(g,I)}},5685:A=>{A.exports=function(A,g){for(var I=-1,C=null==A?0:A.length;++I{A.exports=function(A,g){for(var I=-1,C=null==A?0:A.length,B=0,Q=[];++I{var C=I(3199);A.exports=function(A,g){return!!(null==A?0:A.length)&&C(A,g,0)>-1}},6565:A=>{A.exports=function(A,g,I){for(var C=-1,B=null==A?0:A.length;++C{var C=I(4524),B=I(4664),Q=I(9165),i=I(5788),o=I(8429),e=I(6859),E=Object.prototype.hasOwnProperty;A.exports=function(A,g){var I=Q(A),t=!I&&B(A),n=!I&&!t&&i(A),a=!I&&!t&&!n&&e(A),s=I||t||n||a,c=s?C(A.length,String):[],r=c.length;for(var l in A)!g&&!E.call(A,l)||s&&("length"==l||n&&("offset"==l||"parent"==l)||a&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||o(l,r))||c.push(l);return c}},4576:A=>{A.exports=function(A,g){for(var I=-1,C=null==A?0:A.length,B=Array(C);++I{A.exports=function(A,g){for(var I=-1,C=g.length,B=A.length;++I{A.exports=function(A,g,I,C){var B=-1,Q=null==A?0:A.length;for(C&&Q&&(I=A[++B]);++B{A.exports=function(A,g){for(var I=-1,C=null==A?0:A.length;++I{var C=I(5497)("length");A.exports=C},2289:(A,g,I)=>{var C=I(7332),B=I(820);A.exports=function(A,g,I){(void 0!==I&&!B(A[g],I)||void 0===I&&!(g in A))&&C(A,g,I)}},9199:(A,g,I)=>{var C=I(7332),B=I(820),Q=Object.prototype.hasOwnProperty;A.exports=function(A,g,I){var i=A[g];Q.call(A,g)&&B(i,I)&&(void 0!==I||g in A)||C(A,g,I)}},3373:(A,g,I)=>{var C=I(820);A.exports=function(A,g){for(var I=A.length;I--;)if(C(A[I][0],g))return I;return-1}},7977:(A,g,I)=>{var C=I(2403),B=I(5482);A.exports=function(A,g){return A&&C(g,B(g),A)}},3330:(A,g,I)=>{var C=I(2403),B=I(4045);A.exports=function(A,g){return A&&C(g,B(g),A)}},7332:(A,g,I)=>{var C=I(2863);A.exports=function(A,g,I){"__proto__"==g&&C?C(A,g,{configurable:!0,enumerable:!0,value:I,writable:!0}):A[g]=I}},5667:(A,g,I)=>{var C=I(4453),B=I(5685),Q=I(9199),i=I(7977),o=I(3330),e=I(1142),E=I(659),t=I(1611),n=I(6520),a=I(2326),s=I(2689),c=I(5713),r=I(1409),l=I(9635),h=I(1949),d=I(9165),G=I(5788),D=I(2518),y=I(1561),w=I(2404),u=I(5482),S=I(4045),N="[object Arguments]",m="[object Function]",F="[object Object]",K={};K[N]=K["[object Array]"]=K["[object ArrayBuffer]"]=K["[object DataView]"]=K["[object Boolean]"]=K["[object Date]"]=K["[object Float32Array]"]=K["[object Float64Array]"]=K["[object Int8Array]"]=K["[object Int16Array]"]=K["[object Int32Array]"]=K["[object Map]"]=K["[object Number]"]=K[F]=K["[object RegExp]"]=K["[object Set]"]=K["[object String]"]=K["[object Symbol]"]=K["[object Uint8Array]"]=K["[object Uint8ClampedArray]"]=K["[object Uint16Array]"]=K["[object Uint32Array]"]=!0,K["[object Error]"]=K[m]=K["[object WeakMap]"]=!1,A.exports=function A(g,I,p,b,Y,k){var R,f=1&I,H=2&I,J=4&I;if(p&&(R=Y?p(g,b,Y,k):p(g)),void 0!==R)return R;if(!y(g))return g;var Z=d(g);if(Z){if(R=r(g),!f)return E(g,R)}else{var L=c(g),M=L==m||"[object GeneratorFunction]"==L;if(G(g))return e(g,f);if(L==F||L==N||M&&!Y){if(R=H||M?{}:h(g),!f)return H?n(g,o(R,g)):t(g,i(R,g))}else{if(!K[L])return Y?g:{};R=l(g,L,f)}}k||(k=new C);var U=k.get(g);if(U)return U;k.set(g,R),w(g)?g.forEach((function(C){R.add(A(C,I,p,C,g,k))})):D(g)&&g.forEach((function(C,B){R.set(B,A(C,I,p,B,g,k))}));var W=Z?void 0:(J?H?s:a:H?S:u)(g);return B(W||g,(function(C,B){W&&(C=g[B=C]),Q(R,B,A(C,I,p,B,g,k))})),R}},8468:(A,g,I)=>{var C=I(1561),B=Object.create,Q=function(){function A(){}return function(g){if(!C(g))return{};if(B)return B(g);A.prototype=g;var I=new A;return A.prototype=void 0,I}}();A.exports=Q},2945:(A,g,I)=>{var C=I(5253),B=I(3685)(C);A.exports=B},7787:(A,g,I)=>{var C=I(6342);A.exports=function(A,g,I){for(var B=-1,Q=A.length;++B{var C=I(2945);A.exports=function(A,g){var I=[];return C(A,(function(A,C,B){g(A,C,B)&&I.push(A)})),I}},7583:A=>{A.exports=function(A,g,I,C){for(var B=A.length,Q=I+(C?1:-1);C?Q--:++Q{var C=I(6468),B=I(3567);A.exports=function A(g,I,Q,i,o){var e=-1,E=g.length;for(Q||(Q=B),o||(o=[]);++e0&&Q(t)?I>1?A(t,I-1,Q,i,o):C(o,t):i||(o[o.length]=t)}return o}},6125:(A,g,I)=>{var C=I(4481)();A.exports=C},5253:(A,g,I)=>{var C=I(6125),B=I(5482);A.exports=function(A,g){return A&&C(A,g,B)}},4525:(A,g,I)=>{var C=I(9021),B=I(1193);A.exports=function(A,g){for(var I=0,Q=(g=C(g,A)).length;null!=A&&I{var C=I(6468),B=I(9165);A.exports=function(A,g,I){var Q=g(A);return B(A)?Q:C(Q,I(A))}},5628:(A,g,I)=>{var C=I(7693),B=I(3167),Q=I(8282),i=C?C.toStringTag:void 0;A.exports=function(A){return null==A?void 0===A?"[object Undefined]":"[object Null]":i&&i in Object(A)?B(A):Q(A)}},7187:A=>{A.exports=function(A,g){return A>g}},4526:A=>{var g=Object.prototype.hasOwnProperty;A.exports=function(A,I){return null!=A&&g.call(A,I)}},7641:A=>{A.exports=function(A,g){return null!=A&&g in Object(A)}},3199:(A,g,I)=>{var C=I(7583),B=I(6043),Q=I(4803);A.exports=function(A,g,I){return g===g?Q(A,g,I):C(A,B,I)}},1842:(A,g,I)=>{var C=I(5628),B=I(1654);A.exports=function(A){return B(A)&&"[object Arguments]"==C(A)}},5818:(A,g,I)=>{var C=I(6256),B=I(1654);A.exports=function A(g,I,Q,i,o){return g===I||(null==g||null==I||!B(g)&&!B(I)?g!==g&&I!==I:C(g,I,Q,i,A,o))}},6256:(A,g,I)=>{var C=I(4453),B=I(9643),Q=I(2190),i=I(5877),o=I(5713),e=I(9165),E=I(5788),t=I(6859),n="[object Arguments]",a="[object Array]",s="[object Object]",c=Object.prototype.hasOwnProperty;A.exports=function(A,g,I,r,l,h){var d=e(A),G=e(g),D=d?a:o(A),y=G?a:o(g),w=(D=D==n?s:D)==s,u=(y=y==n?s:y)==s,S=D==y;if(S&&E(A)){if(!E(g))return!1;d=!0,w=!1}if(S&&!w)return h||(h=new C),d||t(A)?B(A,g,I,r,l,h):Q(A,g,D,I,r,l,h);if(!(1&I)){var N=w&&c.call(A,"__wrapped__"),m=u&&c.call(g,"__wrapped__");if(N||m){var F=N?A.value():A,K=m?g.value():g;return h||(h=new C),l(F,K,I,r,h)}}return!!S&&(h||(h=new C),i(A,g,I,r,l,h))}},912:(A,g,I)=>{var C=I(5713),B=I(1654);A.exports=function(A){return B(A)&&"[object Map]"==C(A)}},8203:(A,g,I)=>{var C=I(4453),B=I(5818);A.exports=function(A,g,I,Q){var i=I.length,o=i,e=!Q;if(null==A)return!o;for(A=Object(A);i--;){var E=I[i];if(e&&E[2]?E[1]!==A[E[0]]:!(E[0]in A))return!1}for(;++i{A.exports=function(A){return A!==A}},9271:(A,g,I)=>{var C=I(1854),B=I(3644),Q=I(1561),i=I(4301),o=/^\[object .+?Constructor\]$/,e=Function.prototype,E=Object.prototype,t=e.toString,n=E.hasOwnProperty,a=RegExp("^"+t.call(n).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");A.exports=function(A){return!(!Q(A)||B(A))&&(C(A)?a:o).test(i(A))}},9834:(A,g,I)=>{var C=I(5713),B=I(1654);A.exports=function(A){return B(A)&&"[object Set]"==C(A)}},5817:(A,g,I)=>{var C=I(5628),B=I(3090),Q=I(1654),i={};i["[object Float32Array]"]=i["[object Float64Array]"]=i["[object Int8Array]"]=i["[object Int16Array]"]=i["[object Int32Array]"]=i["[object Uint8Array]"]=i["[object Uint8ClampedArray]"]=i["[object Uint16Array]"]=i["[object Uint32Array]"]=!0,i["[object Arguments]"]=i["[object Array]"]=i["[object ArrayBuffer]"]=i["[object Boolean]"]=i["[object DataView]"]=i["[object Date]"]=i["[object Error]"]=i["[object Function]"]=i["[object Map]"]=i["[object Number]"]=i["[object Object]"]=i["[object RegExp]"]=i["[object Set]"]=i["[object String]"]=i["[object WeakMap]"]=!1,A.exports=function(A){return Q(A)&&B(A.length)&&!!i[C(A)]}},4273:(A,g,I)=>{var C=I(7211),B=I(1998),Q=I(892),i=I(9165),o=I(7123);A.exports=function(A){return"function"==typeof A?A:null==A?Q:"object"==typeof A?i(A)?B(A[0],A[1]):C(A):o(A)}},9628:(A,g,I)=>{var C=I(6411),B=I(1598),Q=Object.prototype.hasOwnProperty;A.exports=function(A){if(!C(A))return B(A);var g=[];for(var I in Object(A))Q.call(A,I)&&"constructor"!=I&&g.push(I);return g}},5251:(A,g,I)=>{var C=I(1561),B=I(6411),Q=I(3161),i=Object.prototype.hasOwnProperty;A.exports=function(A){if(!C(A))return Q(A);var g=B(A),I=[];for(var o in A)("constructor"!=o||!g&&i.call(A,o))&&I.push(o);return I}},8012:A=>{A.exports=function(A,g){return A{var C=I(2945),B=I(5338);A.exports=function(A,g){var I=-1,Q=B(A)?Array(A.length):[];return C(A,(function(A,C,B){Q[++I]=g(A,C,B)})),Q}},7211:(A,g,I)=>{var C=I(8203),B=I(2372),Q=I(145);A.exports=function(A){var g=B(A);return 1==g.length&&g[0][2]?Q(g[0][0],g[0][1]):function(I){return I===A||C(I,A,g)}}},1998:(A,g,I)=>{var C=I(5818),B=I(1091),Q=I(2715),i=I(3726),o=I(8856),e=I(145),E=I(1193);A.exports=function(A,g){return i(A)&&o(g)?e(E(A),g):function(I){var i=B(I,A);return void 0===i&&i===g?Q(I,A):C(g,i,3)}}},5062:(A,g,I)=>{var C=I(4453),B=I(2289),Q=I(6125),i=I(5428),o=I(1561),e=I(4045),E=I(4882);A.exports=function A(g,I,t,n,a){g!==I&&Q(I,(function(Q,e){if(a||(a=new C),o(Q))i(g,I,e,t,A,n,a);else{var s=n?n(E(g,e),Q,e+"",g,I,a):void 0;void 0===s&&(s=Q),B(g,e,s)}}),e)}},5428:(A,g,I)=>{var C=I(2289),B=I(1142),Q=I(5965),i=I(659),o=I(1949),e=I(4664),E=I(9165),t=I(6654),n=I(5788),a=I(1854),s=I(1561),c=I(8263),r=I(6859),l=I(4882),h=I(5136);A.exports=function(A,g,I,d,G,D,y){var w=l(A,I),u=l(g,I),S=y.get(u);if(S)C(A,I,S);else{var N=D?D(w,u,I+"",A,g,y):void 0,m=void 0===N;if(m){var F=E(u),K=!F&&n(u),p=!F&&!K&&r(u);N=u,F||K||p?E(w)?N=w:t(w)?N=i(w):K?(m=!1,N=B(u,!0)):p?(m=!1,N=Q(u,!0)):N=[]:c(u)||e(u)?(N=w,e(w)?N=h(w):s(w)&&!a(w)||(N=o(u))):m=!1}m&&(y.set(u,N),G(N,u,d,D,y),y.delete(u)),C(A,I,N)}}},9447:(A,g,I)=>{var C=I(4576),B=I(4525),Q=I(4273),i=I(9812),o=I(5498),e=I(3817),E=I(7510),t=I(892),n=I(9165);A.exports=function(A,g,I){g=g.length?C(g,(function(A){return n(A)?function(g){return B(g,1===A.length?A[0]:A)}:A})):[t];var a=-1;g=C(g,e(Q));var s=i(A,(function(A,I,B){return{criteria:C(g,(function(g){return g(A)})),index:++a,value:A}}));return o(s,(function(A,g){return E(A,g,I)}))}},2637:(A,g,I)=>{var C=I(9224),B=I(2715);A.exports=function(A,g){return C(A,g,(function(g,I){return B(A,I)}))}},9224:(A,g,I)=>{var C=I(4525),B=I(4118),Q=I(9021);A.exports=function(A,g,I){for(var i=-1,o=g.length,e={};++i{A.exports=function(A){return function(g){return null==g?void 0:g[A]}}},8179:(A,g,I)=>{var C=I(4525);A.exports=function(A){return function(g){return C(g,A)}}},4771:A=>{var g=Math.ceil,I=Math.max;A.exports=function(A,C,B,Q){for(var i=-1,o=I(g((C-A)/(B||1)),0),e=Array(o);o--;)e[Q?o:++i]=A,A+=B;return e}},5010:A=>{A.exports=function(A,g,I,C,B){return B(A,(function(A,B,Q){I=C?(C=!1,A):g(I,A,B,Q)})),I}},7874:(A,g,I)=>{var C=I(892),B=I(7185),Q=I(5717);A.exports=function(A,g){return Q(B(A,g,C),A+"")}},4118:(A,g,I)=>{var C=I(9199),B=I(9021),Q=I(8429),i=I(1561),o=I(1193);A.exports=function(A,g,I,e){if(!i(A))return A;for(var E=-1,t=(g=B(g,A)).length,n=t-1,a=A;null!=a&&++E{var C=I(8178),B=I(2863),Q=I(892),i=B?function(A,g){return B(A,"toString",{configurable:!0,enumerable:!1,value:C(g),writable:!0})}:Q;A.exports=i},5498:A=>{A.exports=function(A,g){var I=A.length;for(A.sort(g);I--;)A[I]=A[I].value;return A}},4524:A=>{A.exports=function(A,g){for(var I=-1,C=Array(A);++I{var C=I(7693),B=I(4576),Q=I(9165),i=I(6342),o=C?C.prototype:void 0,e=o?o.toString:void 0;A.exports=function A(g){if("string"==typeof g)return g;if(Q(g))return B(g,A)+"";if(i(g))return e?e.call(g):"";var I=g+"";return"0"==I&&1/g==-1/0?"-0":I}},1692:(A,g,I)=>{var C=I(588),B=/^\s+/;A.exports=function(A){return A?A.slice(0,C(A)+1).replace(B,""):A}},3817:A=>{A.exports=function(A){return function(g){return A(g)}}},7841:(A,g,I)=>{var C=I(7639),B=I(1985),Q=I(6565),i=I(1823),o=I(1081),e=I(3035);A.exports=function(A,g,I){var E=-1,t=B,n=A.length,a=!0,s=[],c=s;if(I)a=!1,t=Q;else if(n>=200){var r=g?null:o(A);if(r)return e(r);a=!1,t=i,c=new C}else c=g?[]:s;A:for(;++E{var C=I(4576);A.exports=function(A,g){return C(g,(function(g){return A[g]}))}},4382:A=>{A.exports=function(A,g,I){for(var C=-1,B=A.length,Q=g.length,i={};++C{A.exports=function(A,g){return A.has(g)}},4334:(A,g,I)=>{var C=I(892);A.exports=function(A){return"function"==typeof A?A:C}},9021:(A,g,I)=>{var C=I(9165),B=I(3726),Q=I(5598),i=I(7570);A.exports=function(A,g){return C(A)?A:B(A,g)?[A]:Q(i(A))}},649:(A,g,I)=>{var C=I(3408);A.exports=function(A){var g=new A.constructor(A.byteLength);return new C(g).set(new C(A)),g}},1142:(A,g,I)=>{A=I.nmd(A);var C=I(5897),B=g&&!g.nodeType&&g,Q=B&&A&&!A.nodeType&&A,i=Q&&Q.exports===B?C.Buffer:void 0,o=i?i.allocUnsafe:void 0;A.exports=function(A,g){if(g)return A.slice();var I=A.length,C=o?o(I):new A.constructor(I);return A.copy(C),C}},8109:(A,g,I)=>{var C=I(649);A.exports=function(A,g){var I=g?C(A.buffer):A.buffer;return new A.constructor(I,A.byteOffset,A.byteLength)}},325:A=>{var g=/\w*$/;A.exports=function(A){var I=new A.constructor(A.source,g.exec(A));return I.lastIndex=A.lastIndex,I}},188:(A,g,I)=>{var C=I(7693),B=C?C.prototype:void 0,Q=B?B.valueOf:void 0;A.exports=function(A){return Q?Object(Q.call(A)):{}}},5965:(A,g,I)=>{var C=I(649);A.exports=function(A,g){var I=g?C(A.buffer):A.buffer;return new A.constructor(I,A.byteOffset,A.length)}},6982:(A,g,I)=>{var C=I(6342);A.exports=function(A,g){if(A!==g){var I=void 0!==A,B=null===A,Q=A===A,i=C(A),o=void 0!==g,e=null===g,E=g===g,t=C(g);if(!e&&!t&&!i&&A>g||i&&o&&E&&!e&&!t||B&&o&&E||!I&&E||!Q)return 1;if(!B&&!i&&!t&&A{var C=I(6982);A.exports=function(A,g,I){for(var B=-1,Q=A.criteria,i=g.criteria,o=Q.length,e=I.length;++B=e?E:E*("desc"==I[B]?-1:1)}return A.index-g.index}},659:A=>{A.exports=function(A,g){var I=-1,C=A.length;for(g||(g=Array(C));++I{var C=I(9199),B=I(7332);A.exports=function(A,g,I,Q){var i=!I;I||(I={});for(var o=-1,e=g.length;++o{var C=I(2403),B=I(9356);A.exports=function(A,g){return C(A,B(A),g)}},6520:(A,g,I)=>{var C=I(2403),B=I(9907);A.exports=function(A,g){return C(A,B(A),g)}},7245:(A,g,I)=>{var C=I(5897)["__core-js_shared__"];A.exports=C},3115:(A,g,I)=>{var C=I(7874),B=I(3388);A.exports=function(A){return C((function(g,I){var C=-1,Q=I.length,i=Q>1?I[Q-1]:void 0,o=Q>2?I[2]:void 0;for(i=A.length>3&&"function"==typeof i?(Q--,i):void 0,o&&B(I[0],I[1],o)&&(i=Q<3?void 0:i,Q=1),g=Object(g);++C{var C=I(5338);A.exports=function(A,g){return function(I,B){if(null==I)return I;if(!C(I))return A(I,B);for(var Q=I.length,i=g?Q:-1,o=Object(I);(g?i--:++i{A.exports=function(A){return function(g,I,C){for(var B=-1,Q=Object(g),i=C(g),o=i.length;o--;){var e=i[A?o:++B];if(!1===I(Q[e],e,Q))break}return g}}},4522:(A,g,I)=>{var C=I(4273),B=I(5338),Q=I(5482);A.exports=function(A){return function(g,I,i){var o=Object(g);if(!B(g)){var e=C(I,3);g=Q(g),I=function(A){return e(o[A],A,o)}}var E=A(g,I,i);return E>-1?o[e?g[E]:E]:void 0}}},5936:(A,g,I)=>{var C=I(4771),B=I(3388),Q=I(6796);A.exports=function(A){return function(g,I,i){return i&&"number"!=typeof i&&B(g,I,i)&&(I=i=void 0),g=Q(g),void 0===I?(I=g,g=0):I=Q(I),i=void 0===i?g{var C=I(5853),B=I(9162),Q=I(3035),i=C&&1/Q(new C([,-0]))[1]==1/0?function(A){return new C(A)}:B;A.exports=i},2863:(A,g,I)=>{var C=I(5426),B=function(){try{var A=C(Object,"defineProperty");return A({},"",{}),A}catch(g){}}();A.exports=B},9643:(A,g,I)=>{var C=I(7639),B=I(4140),Q=I(1823);A.exports=function(A,g,I,i,o,e){var E=1&I,t=A.length,n=g.length;if(t!=n&&!(E&&n>t))return!1;var a=e.get(A),s=e.get(g);if(a&&s)return a==g&&s==A;var c=-1,r=!0,l=2&I?new C:void 0;for(e.set(A,g),e.set(g,A);++c{var C=I(7693),B=I(3408),Q=I(820),i=I(9643),o=I(5049),e=I(3035),E=C?C.prototype:void 0,t=E?E.valueOf:void 0;A.exports=function(A,g,I,C,E,n,a){switch(I){case"[object DataView]":if(A.byteLength!=g.byteLength||A.byteOffset!=g.byteOffset)return!1;A=A.buffer,g=g.buffer;case"[object ArrayBuffer]":return!(A.byteLength!=g.byteLength||!n(new B(A),new B(g)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Q(+A,+g);case"[object Error]":return A.name==g.name&&A.message==g.message;case"[object RegExp]":case"[object String]":return A==g+"";case"[object Map]":var s=o;case"[object Set]":var c=1&C;if(s||(s=e),A.size!=g.size&&!c)return!1;var r=a.get(A);if(r)return r==g;C|=2,a.set(A,g);var l=i(s(A),s(g),C,E,n,a);return a.delete(A),l;case"[object Symbol]":if(t)return t.call(A)==t.call(g)}return!1}},5877:(A,g,I)=>{var C=I(2326),B=Object.prototype.hasOwnProperty;A.exports=function(A,g,I,Q,i,o){var e=1&I,E=C(A),t=E.length;if(t!=C(g).length&&!e)return!1;for(var n=t;n--;){var a=E[n];if(!(e?a in g:B.call(g,a)))return!1}var s=o.get(A),c=o.get(g);if(s&&c)return s==g&&c==A;var r=!0;o.set(A,g),o.set(g,A);for(var l=e;++n{var C=I(7198),B=I(7185),Q=I(5717);A.exports=function(A){return Q(B(A,void 0,C),A+"")}},2740:(A,g,I)=>{var C="object"==typeof I.g&&I.g&&I.g.Object===Object&&I.g;A.exports=C},2326:(A,g,I)=>{var C=I(851),B=I(9356),Q=I(5482);A.exports=function(A){return C(A,Q,B)}},2689:(A,g,I)=>{var C=I(851),B=I(9907),Q=I(4045);A.exports=function(A){return C(A,Q,B)}},6879:(A,g,I)=>{var C=I(1406);A.exports=function(A,g){var I=A.__data__;return C(g)?I["string"==typeof g?"string":"hash"]:I.map}},2372:(A,g,I)=>{var C=I(8856),B=I(5482);A.exports=function(A){for(var g=B(A),I=g.length;I--;){var Q=g[I],i=A[Q];g[I]=[Q,i,C(i)]}return g}},5426:(A,g,I)=>{var C=I(9271),B=I(7300);A.exports=function(A,g){var I=B(A,g);return C(I)?I:void 0}},4899:(A,g,I)=>{var C=I(7483)(Object.getPrototypeOf,Object);A.exports=C},3167:(A,g,I)=>{var C=I(7693),B=Object.prototype,Q=B.hasOwnProperty,i=B.toString,o=C?C.toStringTag:void 0;A.exports=function(A){var g=Q.call(A,o),I=A[o];try{A[o]=void 0;var C=!0}catch(e){}var B=i.call(A);return C&&(g?A[o]=I:delete A[o]),B}},9356:(A,g,I)=>{var C=I(1350),B=I(6781),Q=Object.prototype.propertyIsEnumerable,i=Object.getOwnPropertySymbols,o=i?function(A){return null==A?[]:(A=Object(A),C(i(A),(function(g){return Q.call(A,g)})))}:B;A.exports=o},9907:(A,g,I)=>{var C=I(6468),B=I(4899),Q=I(9356),i=I(6781),o=Object.getOwnPropertySymbols?function(A){for(var g=[];A;)C(g,Q(A)),A=B(A);return g}:i;A.exports=o},5713:(A,g,I)=>{var C=I(6600),B=I(9651),Q=I(7464),i=I(5853),o=I(6755),e=I(5628),E=I(4301),t="[object Map]",n="[object Promise]",a="[object Set]",s="[object WeakMap]",c="[object DataView]",r=E(C),l=E(B),h=E(Q),d=E(i),G=E(o),D=e;(C&&D(new C(new ArrayBuffer(1)))!=c||B&&D(new B)!=t||Q&&D(Q.resolve())!=n||i&&D(new i)!=a||o&&D(new o)!=s)&&(D=function(A){var g=e(A),I="[object Object]"==g?A.constructor:void 0,C=I?E(I):"";if(C)switch(C){case r:return c;case l:return t;case h:return n;case d:return a;case G:return s}return g}),A.exports=D},7300:A=>{A.exports=function(A,g){return null==A?void 0:A[g]}},8850:(A,g,I)=>{var C=I(9021),B=I(4664),Q=I(9165),i=I(8429),o=I(3090),e=I(1193);A.exports=function(A,g,I){for(var E=-1,t=(g=C(g,A)).length,n=!1;++E{var g=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");A.exports=function(A){return g.test(A)}},1308:(A,g,I)=>{var C=I(302);A.exports=function(){this.__data__=C?C(null):{},this.size=0}},4234:A=>{A.exports=function(A){var g=this.has(A)&&delete this.__data__[A];return this.size-=g?1:0,g}},2709:(A,g,I)=>{var C=I(302),B=Object.prototype.hasOwnProperty;A.exports=function(A){var g=this.__data__;if(C){var I=g[A];return"__lodash_hash_undefined__"===I?void 0:I}return B.call(g,A)?g[A]:void 0}},7337:(A,g,I)=>{var C=I(302),B=Object.prototype.hasOwnProperty;A.exports=function(A){var g=this.__data__;return C?void 0!==g[A]:B.call(g,A)}},3873:(A,g,I)=>{var C=I(302);A.exports=function(A,g){var I=this.__data__;return this.size+=this.has(A)?0:1,I[A]=C&&void 0===g?"__lodash_hash_undefined__":g,this}},1409:A=>{var g=Object.prototype.hasOwnProperty;A.exports=function(A){var I=A.length,C=new A.constructor(I);return I&&"string"==typeof A[0]&&g.call(A,"index")&&(C.index=A.index,C.input=A.input),C}},9635:(A,g,I)=>{var C=I(649),B=I(8109),Q=I(325),i=I(188),o=I(5965);A.exports=function(A,g,I){var e=A.constructor;switch(g){case"[object ArrayBuffer]":return C(A);case"[object Boolean]":case"[object Date]":return new e(+A);case"[object DataView]":return B(A,I);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return o(A,I);case"[object Map]":case"[object Set]":return new e;case"[object Number]":case"[object String]":return new e(A);case"[object RegExp]":return Q(A);case"[object Symbol]":return i(A)}}},1949:(A,g,I)=>{var C=I(8468),B=I(4899),Q=I(6411);A.exports=function(A){return"function"!=typeof A.constructor||Q(A)?{}:C(B(A))}},3567:(A,g,I)=>{var C=I(7693),B=I(4664),Q=I(9165),i=C?C.isConcatSpreadable:void 0;A.exports=function(A){return Q(A)||B(A)||!!(i&&A&&A[i])}},8429:A=>{var g=/^(?:0|[1-9]\d*)$/;A.exports=function(A,I){var C=typeof A;return!!(I=null==I?9007199254740991:I)&&("number"==C||"symbol"!=C&&g.test(A))&&A>-1&&A%1==0&&A{var C=I(820),B=I(5338),Q=I(8429),i=I(1561);A.exports=function(A,g,I){if(!i(I))return!1;var o=typeof g;return!!("number"==o?B(I)&&Q(g,I.length):"string"==o&&g in I)&&C(I[g],A)}},3726:(A,g,I)=>{var C=I(9165),B=I(6342),Q=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,i=/^\w*$/;A.exports=function(A,g){if(C(A))return!1;var I=typeof A;return!("number"!=I&&"symbol"!=I&&"boolean"!=I&&null!=A&&!B(A))||(i.test(A)||!Q.test(A)||null!=g&&A in Object(g))}},1406:A=>{A.exports=function(A){var g=typeof A;return"string"==g||"number"==g||"symbol"==g||"boolean"==g?"__proto__"!==A:null===A}},3644:(A,g,I)=>{var C=I(7245),B=function(){var A=/[^.]+$/.exec(C&&C.keys&&C.keys.IE_PROTO||"");return A?"Symbol(src)_1."+A:""}();A.exports=function(A){return!!B&&B in A}},6411:A=>{var g=Object.prototype;A.exports=function(A){var I=A&&A.constructor;return A===("function"==typeof I&&I.prototype||g)}},8856:(A,g,I)=>{var C=I(1561);A.exports=function(A){return A===A&&!C(A)}},7490:A=>{A.exports=function(){this.__data__=[],this.size=0}},180:(A,g,I)=>{var C=I(3373),B=Array.prototype.splice;A.exports=function(A){var g=this.__data__,I=C(g,A);return!(I<0)&&(I==g.length-1?g.pop():B.call(g,I,1),--this.size,!0)}},6567:(A,g,I)=>{var C=I(3373);A.exports=function(A){var g=this.__data__,I=C(g,A);return I<0?void 0:g[I][1]}},8283:(A,g,I)=>{var C=I(3373);A.exports=function(A){return C(this.__data__,A)>-1}},1155:(A,g,I)=>{var C=I(3373);A.exports=function(A,g){var I=this.__data__,B=C(I,A);return B<0?(++this.size,I.push([A,g])):I[B][1]=g,this}},4764:(A,g,I)=>{var C=I(1905),B=I(3187),Q=I(9651);A.exports=function(){this.size=0,this.__data__={hash:new C,map:new(Q||B),string:new C}}},6730:(A,g,I)=>{var C=I(6879);A.exports=function(A){var g=C(this,A).delete(A);return this.size-=g?1:0,g}},6277:(A,g,I)=>{var C=I(6879);A.exports=function(A){return C(this,A).get(A)}},8425:(A,g,I)=>{var C=I(6879);A.exports=function(A){return C(this,A).has(A)}},7249:(A,g,I)=>{var C=I(6879);A.exports=function(A,g){var I=C(this,A),B=I.size;return I.set(A,g),this.size+=I.size==B?0:1,this}},5049:A=>{A.exports=function(A){var g=-1,I=Array(A.size);return A.forEach((function(A,C){I[++g]=[C,A]})),I}},145:A=>{A.exports=function(A,g){return function(I){return null!=I&&(I[A]===g&&(void 0!==g||A in Object(I)))}}},3972:(A,g,I)=>{var C=I(4236);A.exports=function(A){var g=C(A,(function(A){return 500===I.size&&I.clear(),A})),I=g.cache;return g}},302:(A,g,I)=>{var C=I(5426)(Object,"create");A.exports=C},1598:(A,g,I)=>{var C=I(7483)(Object.keys,Object);A.exports=C},3161:A=>{A.exports=function(A){var g=[];if(null!=A)for(var I in Object(A))g.push(I);return g}},6517:(A,g,I)=>{A=I.nmd(A);var C=I(2740),B=g&&!g.nodeType&&g,Q=B&&A&&!A.nodeType&&A,i=Q&&Q.exports===B&&C.process,o=function(){try{var A=Q&&Q.require&&Q.require("util").types;return A||i&&i.binding&&i.binding("util")}catch(g){}}();A.exports=o},8282:A=>{var g=Object.prototype.toString;A.exports=function(A){return g.call(A)}},7483:A=>{A.exports=function(A,g){return function(I){return A(g(I))}}},7185:(A,g,I)=>{var C=I(1037),B=Math.max;A.exports=function(A,g,I){return g=B(void 0===g?A.length-1:g,0),function(){for(var Q=arguments,i=-1,o=B(Q.length-g,0),e=Array(o);++i{var C=I(2740),B="object"==typeof self&&self&&self.Object===Object&&self,Q=C||B||Function("return this")();A.exports=Q},4882:A=>{A.exports=function(A,g){if(("constructor"!==g||"function"!==typeof A[g])&&"__proto__"!=g)return A[g]}},7384:A=>{A.exports=function(A){return this.__data__.set(A,"__lodash_hash_undefined__"),this}},5815:A=>{A.exports=function(A){return this.__data__.has(A)}},3035:A=>{A.exports=function(A){var g=-1,I=Array(A.size);return A.forEach((function(A){I[++g]=A})),I}},5717:(A,g,I)=>{var C=I(2990),B=I(3839)(C);A.exports=B},3839:A=>{var g=Date.now;A.exports=function(A){var I=0,C=0;return function(){var B=g(),Q=16-(B-C);if(C=B,Q>0){if(++I>=800)return arguments[0]}else I=0;return A.apply(void 0,arguments)}}},696:(A,g,I)=>{var C=I(3187);A.exports=function(){this.__data__=new C,this.size=0}},1278:A=>{A.exports=function(A){var g=this.__data__,I=g.delete(A);return this.size=g.size,I}},1913:A=>{A.exports=function(A){return this.__data__.get(A)}},8021:A=>{A.exports=function(A){return this.__data__.has(A)}},2285:(A,g,I)=>{var C=I(3187),B=I(9651),Q=I(1953);A.exports=function(A,g){var I=this.__data__;if(I instanceof C){var i=I.__data__;if(!B||i.length<199)return i.push([A,g]),this.size=++I.size,this;I=this.__data__=new Q(i)}return I.set(A,g),this.size=I.size,this}},4803:A=>{A.exports=function(A,g,I){for(var C=I-1,B=A.length;++C{var C=I(7223),B=I(2318),Q=I(9123);A.exports=function(A){return B(A)?Q(A):C(A)}},5598:(A,g,I)=>{var C=I(3972),B=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Q=/\\(\\)?/g,i=C((function(A){var g=[];return 46===A.charCodeAt(0)&&g.push(""),A.replace(B,(function(A,I,C,B){g.push(C?B.replace(Q,"$1"):I||A)})),g}));A.exports=i},1193:(A,g,I)=>{var C=I(6342);A.exports=function(A){if("string"==typeof A||C(A))return A;var g=A+"";return"0"==g&&1/A==-1/0?"-0":g}},4301:A=>{var g=Function.prototype.toString;A.exports=function(A){if(null!=A){try{return g.call(A)}catch(I){}try{return A+""}catch(I){}}return""}},588:A=>{var g=/\s/;A.exports=function(A){for(var I=A.length;I--&&g.test(A.charAt(I)););return I}},9123:A=>{var g="\\ud800-\\udfff",I="["+g+"]",C="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",B="\\ud83c[\\udffb-\\udfff]",Q="[^"+g+"]",i="(?:\\ud83c[\\udde6-\\uddff]){2}",o="[\\ud800-\\udbff][\\udc00-\\udfff]",e="(?:"+C+"|"+B+")"+"?",E="[\\ufe0e\\ufe0f]?",t=E+e+("(?:\\u200d(?:"+[Q,i,o].join("|")+")"+E+e+")*"),n="(?:"+[Q+C+"?",C,i,o,I].join("|")+")",a=RegExp(B+"(?="+B+")|"+n+t,"g");A.exports=function(A){for(var g=a.lastIndex=0;a.test(A);)++g;return g}},1073:(A,g,I)=>{var C=I(5667);A.exports=function(A){return C(A,4)}},8475:(A,g,I)=>{var C=I(5667);A.exports=function(A){return C(A,5)}},8178:A=>{A.exports=function(A){return function(){return A}}},2672:(A,g,I)=>{var C=I(7874),B=I(820),Q=I(3388),i=I(4045),o=Object.prototype,e=o.hasOwnProperty,E=C((function(A,g){A=Object(A);var I=-1,C=g.length,E=C>2?g[2]:void 0;for(E&&Q(g[0],g[1],E)&&(C=1);++I{A.exports=I(6782)},820:A=>{A.exports=function(A,g){return A===g||A!==A&&g!==g}},1120:(A,g,I)=>{var C=I(1350),B=I(2490),Q=I(4273),i=I(9165);A.exports=function(A,g){return(i(A)?C:B)(A,Q(g,3))}},5929:(A,g,I)=>{var C=I(4522)(I(8069));A.exports=C},8069:(A,g,I)=>{var C=I(7583),B=I(4273),Q=I(8261),i=Math.max;A.exports=function(A,g,I){var o=null==A?0:A.length;if(!o)return-1;var e=null==I?0:Q(I);return e<0&&(e=i(o+e,0)),C(A,B(g,3),e)}},7198:(A,g,I)=>{var C=I(7588);A.exports=function(A){return(null==A?0:A.length)?C(A,1):[]}},6782:(A,g,I)=>{var C=I(5685),B=I(2945),Q=I(4334),i=I(9165);A.exports=function(A,g){return(i(A)?C:B)(A,Q(g))}},3752:(A,g,I)=>{var C=I(6125),B=I(4334),Q=I(4045);A.exports=function(A,g){return null==A?A:C(A,B(g),Q)}},1091:(A,g,I)=>{var C=I(4525);A.exports=function(A,g,I){var B=null==A?void 0:C(A,g);return void 0===B?I:B}},2436:(A,g,I)=>{var C=I(4526),B=I(8850);A.exports=function(A,g){return null!=A&&B(A,g,C)}},2715:(A,g,I)=>{var C=I(7641),B=I(8850);A.exports=function(A,g){return null!=A&&B(A,g,C)}},892:A=>{A.exports=function(A){return A}},4664:(A,g,I)=>{var C=I(1842),B=I(1654),Q=Object.prototype,i=Q.hasOwnProperty,o=Q.propertyIsEnumerable,e=C(function(){return arguments}())?C:function(A){return B(A)&&i.call(A,"callee")&&!o.call(A,"callee")};A.exports=e},9165:A=>{var g=Array.isArray;A.exports=g},5338:(A,g,I)=>{var C=I(1854),B=I(3090);A.exports=function(A){return null!=A&&B(A.length)&&!C(A)}},6654:(A,g,I)=>{var C=I(5338),B=I(1654);A.exports=function(A){return B(A)&&C(A)}},5788:(A,g,I)=>{A=I.nmd(A);var C=I(5897),B=I(99),Q=g&&!g.nodeType&&g,i=Q&&A&&!A.nodeType&&A,o=i&&i.exports===Q?C.Buffer:void 0,e=(o?o.isBuffer:void 0)||B;A.exports=e},8898:(A,g,I)=>{var C=I(9628),B=I(5713),Q=I(4664),i=I(9165),o=I(5338),e=I(5788),E=I(6411),t=I(6859),n=Object.prototype.hasOwnProperty;A.exports=function(A){if(null==A)return!0;if(o(A)&&(i(A)||"string"==typeof A||"function"==typeof A.splice||e(A)||t(A)||Q(A)))return!A.length;var g=B(A);if("[object Map]"==g||"[object Set]"==g)return!A.size;if(E(A))return!C(A).length;for(var I in A)if(n.call(A,I))return!1;return!0}},1854:(A,g,I)=>{var C=I(5628),B=I(1561);A.exports=function(A){if(!B(A))return!1;var g=C(A);return"[object Function]"==g||"[object GeneratorFunction]"==g||"[object AsyncFunction]"==g||"[object Proxy]"==g}},3090:A=>{A.exports=function(A){return"number"==typeof A&&A>-1&&A%1==0&&A<=9007199254740991}},2518:(A,g,I)=>{var C=I(912),B=I(3817),Q=I(6517),i=Q&&Q.isMap,o=i?B(i):C;A.exports=o},1561:A=>{A.exports=function(A){var g=typeof A;return null!=A&&("object"==g||"function"==g)}},1654:A=>{A.exports=function(A){return null!=A&&"object"==typeof A}},8263:(A,g,I)=>{var C=I(5628),B=I(4899),Q=I(1654),i=Function.prototype,o=Object.prototype,e=i.toString,E=o.hasOwnProperty,t=e.call(Object);A.exports=function(A){if(!Q(A)||"[object Object]"!=C(A))return!1;var g=B(A);if(null===g)return!0;var I=E.call(g,"constructor")&&g.constructor;return"function"==typeof I&&I instanceof I&&e.call(I)==t}},2404:(A,g,I)=>{var C=I(9834),B=I(3817),Q=I(6517),i=Q&&Q.isSet,o=i?B(i):C;A.exports=o},819:(A,g,I)=>{var C=I(5628),B=I(9165),Q=I(1654);A.exports=function(A){return"string"==typeof A||!B(A)&&Q(A)&&"[object String]"==C(A)}},6342:(A,g,I)=>{var C=I(5628),B=I(1654);A.exports=function(A){return"symbol"==typeof A||B(A)&&"[object Symbol]"==C(A)}},6859:(A,g,I)=>{var C=I(5817),B=I(3817),Q=I(6517),i=Q&&Q.isTypedArray,o=i?B(i):C;A.exports=o},6804:A=>{A.exports=function(A){return void 0===A}},5482:(A,g,I)=>{var C=I(2523),B=I(9628),Q=I(5338);A.exports=function(A){return Q(A)?C(A):B(A)}},4045:(A,g,I)=>{var C=I(2523),B=I(5251),Q=I(5338);A.exports=function(A){return Q(A)?C(A,!0):B(A)}},6638:A=>{A.exports=function(A){var g=null==A?0:A.length;return g?A[g-1]:void 0}},8262:(A,g,I)=>{var C=I(4576),B=I(4273),Q=I(9812),i=I(9165);A.exports=function(A,g){return(i(A)?C:Q)(A,B(g,3))}},6096:(A,g,I)=>{var C=I(7332),B=I(5253),Q=I(4273);A.exports=function(A,g){var I={};return g=Q(g,3),B(A,(function(A,B,Q){C(I,B,g(A,B,Q))})),I}},350:(A,g,I)=>{var C=I(7787),B=I(7187),Q=I(892);A.exports=function(A){return A&&A.length?C(A,Q,B):void 0}},4236:(A,g,I)=>{var C=I(1953);function B(A,g){if("function"!=typeof A||null!=g&&"function"!=typeof g)throw new TypeError("Expected a function");var I=function(){var C=arguments,B=g?g.apply(this,C):C[0],Q=I.cache;if(Q.has(B))return Q.get(B);var i=A.apply(this,C);return I.cache=Q.set(B,i)||Q,i};return I.cache=new(B.Cache||C),I}B.Cache=C,A.exports=B},1824:(A,g,I)=>{var C=I(5062),B=I(3115)((function(A,g,I){C(A,g,I)}));A.exports=B},304:(A,g,I)=>{var C=I(7787),B=I(8012),Q=I(892);A.exports=function(A){return A&&A.length?C(A,Q,B):void 0}},5505:(A,g,I)=>{var C=I(7787),B=I(4273),Q=I(8012);A.exports=function(A,g){return A&&A.length?C(A,B(g,2),Q):void 0}},9162:A=>{A.exports=function(){}},2320:(A,g,I)=>{var C=I(5897);A.exports=function(){return C.Date.now()}},9235:(A,g,I)=>{var C=I(2637),B=I(7644)((function(A,g){return null==A?{}:C(A,g)}));A.exports=B},7123:(A,g,I)=>{var C=I(5497),B=I(8179),Q=I(3726),i=I(1193);A.exports=function(A){return Q(A)?C(i(A)):B(A)}},8497:(A,g,I)=>{var C=I(5936)();A.exports=C},9392:(A,g,I)=>{var C=I(7374),B=I(2945),Q=I(4273),i=I(5010),o=I(9165);A.exports=function(A,g,I){var e=o(A)?C:i,E=arguments.length<3;return e(A,Q(g,4),I,E,B)}},2703:(A,g,I)=>{var C=I(9628),B=I(5713),Q=I(5338),i=I(819),o=I(8765);A.exports=function(A){if(null==A)return 0;if(Q(A))return i(A)?o(A):A.length;var g=B(A);return"[object Map]"==g||"[object Set]"==g?A.size:C(A).length}},4283:(A,g,I)=>{var C=I(7588),B=I(9447),Q=I(7874),i=I(3388),o=Q((function(A,g){if(null==A)return[];var I=g.length;return I>1&&i(A,g[0],g[1])?g=[]:I>2&&i(g[0],g[1],g[2])&&(g=[g[0]]),B(A,C(g,1),[])}));A.exports=o},6781:A=>{A.exports=function(){return[]}},99:A=>{A.exports=function(){return!1}},6796:(A,g,I)=>{var C=I(1234),B=1/0;A.exports=function(A){return A?(A=C(A))===B||A===-1/0?17976931348623157e292*(A<0?-1:1):A===A?A:0:0===A?A:0}},8261:(A,g,I)=>{var C=I(6796);A.exports=function(A){var g=C(A),I=g%1;return g===g?I?g-I:g:0}},1234:(A,g,I)=>{var C=I(1692),B=I(1561),Q=I(6342),i=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,e=/^0o[0-7]+$/i,E=parseInt;A.exports=function(A){if("number"==typeof A)return A;if(Q(A))return NaN;if(B(A)){var g="function"==typeof A.valueOf?A.valueOf():A;A=B(g)?g+"":g}if("string"!=typeof A)return 0===A?A:+A;A=C(A);var I=o.test(A);return I||e.test(A)?E(A.slice(2),I?2:8):i.test(A)?NaN:+A}},5136:(A,g,I)=>{var C=I(2403),B=I(4045);A.exports=function(A){return C(A,B(A))}},7570:(A,g,I)=>{var C=I(7320);A.exports=function(A){return null==A?"":C(A)}},3804:(A,g,I)=>{var C=I(5685),B=I(8468),Q=I(5253),i=I(4273),o=I(4899),e=I(9165),E=I(5788),t=I(1854),n=I(1561),a=I(6859);A.exports=function(A,g,I){var s=e(A),c=s||E(A)||a(A);if(g=i(g,4),null==I){var r=A&&A.constructor;I=c?s?new r:[]:n(A)&&t(r)?B(o(A)):{}}return(c?C:Q)(A,(function(A,C,B){return g(I,A,C,B)})),I}},8935:(A,g,I)=>{var C=I(7588),B=I(7874),Q=I(7841),i=I(6654),o=B((function(A){return Q(C(A,1,i,!0))}));A.exports=o},8524:(A,g,I)=>{var C=I(7570),B=0;A.exports=function(A){var g=++B;return C(A)+g}},7196:(A,g,I)=>{var C=I(7166),B=I(5482);A.exports=function(A){return null==A?[]:C(A,B(A))}},6996:(A,g,I)=>{var C=I(9199),B=I(4382);A.exports=function(A,g){return B(A||[],g||[],C)}},330:(A,g,I)=>{"use strict";var C=I(777);function B(){}function Q(){}Q.resetWarningCache=B,A.exports=function(){function A(A,g,I,B,Q,i){if(i!==C){var o=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw o.name="Invariant Violation",o}}function g(){return A}A.isRequired=A;var I={array:A,bigint:A,bool:A,func:A,number:A,object:A,string:A,symbol:A,any:A,arrayOf:g,element:A,elementType:A,instanceOf:g,node:A,objectOf:g,oneOf:g,oneOfType:g,shape:g,exact:g,checkPropTypes:Q,resetWarningCache:B};return I.PropTypes=I,I}},2704:(A,g,I)=>{A.exports=I(330)()},777:A=>{"use strict";A.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},289:function(A,g,I){"use strict";var C=this&&this.__extends||function(){var A=function(g,I){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,g){A.__proto__=g}||function(A,g){for(var I in g)Object.prototype.hasOwnProperty.call(g,I)&&(A[I]=g[I])},A(g,I)};return function(g,I){if("function"!==typeof I&&null!==I)throw new TypeError("Class extends value "+String(I)+" is not a constructor or null");function C(){this.constructor=g}A(g,I),g.prototype=null===I?Object.create(I):(C.prototype=I.prototype,new C)}}(),B=this&&this.__assign||function(){return B=Object.assign||function(A){for(var g,I=1,C=arguments.length;I0&&this.handleMarkers(w);var m=this.editor.$options;E.editorOptions.forEach((function(g){m.hasOwnProperty(g)?A.editor.setOption(g,A.props[g]):A.props[g]&&console.warn("ReactAce: editor option ".concat(g," was activated but not found. Did you need to import a related tool or did you possibly mispell the option?"))})),this.handleOptions(this.props),Array.isArray(D)&&D.forEach((function(g){"string"===typeof g.exec?A.editor.commands.bindKey(g.bindKey,g.exec):A.editor.commands.addCommand(g)})),d&&this.editor.setKeyboardHandler("ace/keyboard/"+d),I&&(this.refEditor.className+=" "+I),G&&G(this.editor),this.editor.resize(),i&&this.editor.focus()},g.prototype.componentDidUpdate=function(A){for(var g=A,I=this.props,C=0;C{"use strict";Object.defineProperty(g,"__esModule",{value:!0}),g.getAceInstance=g.debounce=g.editorEvents=g.editorOptions=void 0;g.editorOptions=["minLines","maxLines","readOnly","highlightActiveLine","tabSize","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets"];g.editorEvents=["onChange","onFocus","onInput","onBlur","onCopy","onPaste","onSelectionChange","onCursorChange","onScroll","handleOptions","updateRef"];g.getAceInstance=function(){var A;return"undefined"===typeof window?(I.g.window={},A=I(8941),delete I.g.window):window.ace?(A=window.ace).acequire=window.ace.require||window.ace.acequire:A=I(8941),A};g.debounce=function(A,g){var I=null;return function(){var C=this,B=arguments;clearTimeout(I),I=setTimeout((function(){A.apply(C,B)}),g)}}},1114:(A,g,I)=>{"use strict";var C=I(289);I(2335).default,I(2050).default,g.Ay=C.default},2050:function(A,g,I){"use strict";var C=this&&this.__extends||function(){var A=function(g,I){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,g){A.__proto__=g}||function(A,g){for(var I in g)Object.prototype.hasOwnProperty.call(g,I)&&(A[I]=g[I])},A(g,I)};return function(g,I){if("function"!==typeof I&&null!==I)throw new TypeError("Class extends value "+String(I)+" is not a constructor or null");function C(){this.constructor=g}A(g,I),g.prototype=null===I?Object.create(I):(C.prototype=I.prototype,new C)}}(),B=this&&this.__assign||function(){return B=Object.assign||function(A){for(var g,I=1,C=arguments.length;I0&&A.handleMarkers(y,g);for(C=0;C{A=I.nmd(A),function(){var A=function(){return this}();A||"undefined"==typeof window||(A=window);var g=function(A,I,C){"string"===typeof A?(2==arguments.length&&(C=I),g.modules[A]||(g.payloads[A]=C,g.modules[A]=null)):g.original?g.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace())};g.modules={},g.payloads={};var I=function(A,g,I){if("string"===typeof g){var B=Q(A,g);if(void 0!=B)return I&&I(),B}else if("[object Array]"===Object.prototype.toString.call(g)){for(var i=[],o=0,e=g.length;oI.length)&&(g=I.length),g-=A.length;var C=I.indexOf(A,g);return-1!==C&&C===g})),String.prototype.repeat||C(String.prototype,"repeat",(function(A){for(var g="",I=this;A>0;)1&A&&(g+=I),(A>>=1)&&(I+=I);return g})),String.prototype.includes||C(String.prototype,"includes",(function(A,g){return-1!=this.indexOf(A,g)})),Object.assign||(Object.assign=function(A){if(void 0===A||null===A)throw new TypeError("Cannot convert undefined or null to object");for(var g=Object(A),I=1;I>>0,C=arguments[1]|0,B=C<0?Math.max(I+C,0):Math.min(C,I),Q=arguments[2],i=void 0===Q?I:Q|0,o=i<0?Math.max(I+i,0):Math.min(i,I);B0;)1&g&&(I+=A),(g>>=1)&&(A+=A);return I};var C=/^\s\s*/,B=/\s\s*$/;g.stringTrimLeft=function(A){return A.replace(C,"")},g.stringTrimRight=function(A){return A.replace(B,"")},g.copyObject=function(A){var g={};for(var I in A)g[I]=A[I];return g},g.copyArray=function(A){for(var g=[],I=0,C=A.length;I65535?2:1}})),ace.define("ace/lib/useragent",["require","exports","module"],(function(A,g,I){"use strict";g.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},g.getOS=function(){return g.isMac?g.OS.MAC:g.isLinux?g.OS.LINUX:g.OS.WINDOWS};var C="object"==typeof navigator?navigator:{},B=(/mac|win|linux/i.exec(C.platform)||["other"])[0].toLowerCase(),Q=C.userAgent||"",i=C.appName||"";g.isWin="win"==B,g.isMac="mac"==B,g.isLinux="linux"==B,g.isIE="Microsoft Internet Explorer"==i||i.indexOf("MSAppHost")>=0?parseFloat((Q.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((Q.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),g.isOldIE=g.isIE&&g.isIE<9,g.isGecko=g.isMozilla=Q.match(/ Gecko\/\d+/),g.isOpera="object"==typeof opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),g.isWebKit=parseFloat(Q.split("WebKit/")[1])||void 0,g.isChrome=parseFloat(Q.split(" Chrome/")[1])||void 0,g.isSafari=parseFloat(Q.split(" Safari/")[1])&&!g.isChrome||void 0,g.isEdge=parseFloat(Q.split(" Edge/")[1])||void 0,g.isAIR=Q.indexOf("AdobeAIR")>=0,g.isAndroid=Q.indexOf("Android")>=0,g.isChromeOS=Q.indexOf(" CrOS ")>=0,g.isIOS=/iPad|iPhone|iPod/.test(Q)&&!window.MSStream,g.isIOS&&(g.isMac=!0),g.isMobile=g.isIOS||g.isAndroid})),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],(function(A,g,I){"use strict";var C,B=A("./useragent");g.buildDom=function A(g,I,C){if("string"==typeof g&&g){var B=document.createTextNode(g);return I&&I.appendChild(B),B}if(!Array.isArray(g))return g&&g.appendChild&&I&&I.appendChild(g),g;if("string"!=typeof g[0]||!g[0]){for(var Q=[],i=0;i=1.5,B.isChromeOS&&(g.HI_DPI=!1),"undefined"!==typeof document){var e=document.createElement("div");g.HI_DPI&&void 0!==e.style.transform&&(g.HAS_CSS_TRANSFORMS=!0),B.isEdge||"undefined"===typeof e.style.animationName||(g.HAS_CSS_ANIMATION=!0),e=null}g.HAS_CSS_TRANSFORMS?g.translate=function(A,g,I){A.style.transform="translate("+Math.round(g)+"px, "+Math.round(I)+"px)"}:g.translate=function(A,g,I){A.style.top=Math.round(I)+"px",A.style.left=Math.round(g)+"px"}})),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],(function(A,g,I){"use strict";var C=A("./dom");g.get=function(A,g){var I=new XMLHttpRequest;I.open("GET",A,!0),I.onreadystatechange=function(){4===I.readyState&&g(I.responseText)},I.send(null)},g.loadScript=function(A,g){var I=C.getDocumentHead(),B=document.createElement("script");B.src=A,I.appendChild(B),B.onload=B.onreadystatechange=function(A,I){!I&&B.readyState&&"loaded"!=B.readyState&&"complete"!=B.readyState||(B=B.onload=B.onreadystatechange=null,I||g())}},g.qualifyURL=function(A){var g=document.createElement("a");return g.href=A,g.href}})),ace.define("ace/lib/oop",["require","exports","module"],(function(A,g,I){"use strict";g.inherits=function(A,g){A.super_=g,A.prototype=Object.create(g.prototype,{constructor:{value:A,enumerable:!1,writable:!0,configurable:!0}})},g.mixin=function(A,g){for(var I in g)A[I]=g[I];return A},g.implement=function(A,I){g.mixin(A,I)}})),ace.define("ace/lib/event_emitter",["require","exports","module"],(function(A,g,I){"use strict";var C={},B=function(){this.propagationStopped=!0},Q=function(){this.defaultPrevented=!0};C._emit=C._dispatchEvent=function(A,g){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var I=this._eventRegistry[A]||[],C=this._defaultHandlers[A];if(I.length||C){"object"==typeof g&&g||(g={}),g.type||(g.type=A),g.stopPropagation||(g.stopPropagation=B),g.preventDefault||(g.preventDefault=Q),I=I.slice();for(var i=0;i1&&(B=I[I.length-2]);var i=o[g+"Path"];return null==i?i=o.basePath:"/"==C&&(g=C=""),i&&"/"!=i.slice(-1)&&(i+="/"),i+g+C+B+this.get("suffix")},g.setModuleUrl=function(A,g){return o.$moduleUrls[A]=g};var e;g.setLoader=function(A){e=A},g.dynamicModules=Object.create(null),g.$loading={},g.$loaded={},g.loadModule=function(I,C){var Q;if(Array.isArray(I))var i=I[0],o=I[1];else if("string"==typeof I)o=I;var t=function(I){if(I&&!g.$loading[o])return C&&C(I);if(g.$loading[o]||(g.$loading[o]=[]),g.$loading[o].push(C),!(g.$loading[o].length>1)){var Q=function(){!function(g,I){"ace/theme/textmate"===g||"./theme/textmate"===g?I(null,A("./theme/textmate")):e?e(g,I):console.error("loader is not configured")}(o,(function(A,I){I&&(g.$loaded[o]=I),g._emit("load.module",{name:o,module:I});var C=g.$loading[o];g.$loading[o]=null,C.forEach((function(A){A&&A(I)}))}))};if(!g.get("packaged"))return Q();B.loadScript(g.moduleUrl(o,i),Q),E()}};if(g.dynamicModules[o])g.dynamicModules[o]().then((function(A){A.default?t(A.default):t(A)}));else{try{Q=this.$require(o)}catch(n){}t(Q||g.$loaded[o])}},g.$require=function(A){if("function"==typeof I.require){return I.require(A)}},g.setModuleLoader=function(A,I){g.dynamicModules[A]=I};var E=function(){o.basePath||o.workerPath||o.modePath||o.themePath||Object.keys(o.$moduleUrls).length||(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),E=function(){})};g.version="1.35.4"})),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],(function(A,g,C){"use strict";A("./lib/fixoldbrowsers");var B=A("./config");B.setLoader((function(g,I){A([g],(function(A){I(null,A)}))}));var Q=function(){return this||"undefined"!=typeof window&&window}();function i(g){if(Q&&Q.document){B.set("packaged",g||A.packaged||C.packaged||Q.define&&I.amdD.packaged);var i={},o="",e=document.currentScript||document._currentScript,E=e&&e.ownerDocument||document;e&&e.src&&(o=e.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var t,n=E.getElementsByTagName("script"),a=0;a ["+this.end.row+"/"+this.end.column+"]"},A.prototype.contains=function(A,g){return 0==this.compare(A,g)},A.prototype.compareRange=function(A){var g,I=A.end,C=A.start;return 1==(g=this.compare(I.row,I.column))?1==(g=this.compare(C.row,C.column))?2:0==g?1:0:-1==g?-2:-1==(g=this.compare(C.row,C.column))?-1:1==g?42:0},A.prototype.comparePoint=function(A){return this.compare(A.row,A.column)},A.prototype.containsRange=function(A){return 0==this.comparePoint(A.start)&&0==this.comparePoint(A.end)},A.prototype.intersects=function(A){var g=this.compareRange(A);return-1==g||0==g||1==g},A.prototype.isEnd=function(A,g){return this.end.row==A&&this.end.column==g},A.prototype.isStart=function(A,g){return this.start.row==A&&this.start.column==g},A.prototype.setStart=function(A,g){"object"==typeof A?(this.start.column=A.column,this.start.row=A.row):(this.start.row=A,this.start.column=g)},A.prototype.setEnd=function(A,g){"object"==typeof A?(this.end.column=A.column,this.end.row=A.row):(this.end.row=A,this.end.column=g)},A.prototype.inside=function(A,g){return 0==this.compare(A,g)&&(!this.isEnd(A,g)&&!this.isStart(A,g))},A.prototype.insideStart=function(A,g){return 0==this.compare(A,g)&&!this.isEnd(A,g)},A.prototype.insideEnd=function(A,g){return 0==this.compare(A,g)&&!this.isStart(A,g)},A.prototype.compare=function(A,g){return this.isMultiLine()||A!==this.start.row?Athis.end.row?1:this.start.row===A?g>=this.start.column?0:-1:this.end.row===A?g<=this.end.column?0:1:0:gthis.end.column?1:0},A.prototype.compareStart=function(A,g){return this.start.row==A&&this.start.column==g?-1:this.compare(A,g)},A.prototype.compareEnd=function(A,g){return this.end.row==A&&this.end.column==g?1:this.compare(A,g)},A.prototype.compareInside=function(A,g){return this.end.row==A&&this.end.column==g?1:this.start.row==A&&this.start.column==g?-1:this.compare(A,g)},A.prototype.clipRows=function(g,I){if(this.end.row>I)var C={row:I+1,column:0};else if(this.end.rowI)var B={row:I+1,column:0};else if(this.start.row1?++n>4&&(n=1):n=1,Q.isIE){var i=Math.abs(A.clientX-o)>5||Math.abs(A.clientY-e)>5;E&&!i||(n=1),E&&clearTimeout(E),E=setTimeout((function(){E=null}),I[n-1]||600),1==n&&(o=A.clientX,e=A.clientY)}if(A._clicks=n,C[B]("mousedown",A),n>4)n=0;else if(n>1)return C[B](a[n],A)}Array.isArray(A)||(A=[A]),A.forEach((function(A){t(A,"mousedown",s,i)}))},g.getModifierString=function(A){return B.KEY_MODS[a(A)]},g.addCommandKeyListener=function(A,I,C){var e=null;t(A,"keydown",(function(A){i[A.keyCode]=(i[A.keyCode]||0)+1;var g=function(A,g,I){var C=a(g);if(!I&&g.code&&(I=B.$codeToKeyCode[g.code]||I),!Q.isMac&&i){if(g.getModifierState&&(g.getModifierState("OS")||g.getModifierState("Win"))&&(C|=8),i.altGr){if(3==(3&C))return;i.altGr=0}if(18===I||17===I){var e=g.location;17===I&&1===e?1==i[I]&&(o=g.timeStamp):18===I&&3===C&&2===e&&g.timeStamp-o<50&&(i.altGr=!0)}}if(I in B.MODIFIER_KEYS&&(I=-1),C||13!==I||3!==g.location||(A(g,C,-I),!g.defaultPrevented)){if(Q.isChromeOS&&8&C){if(A(g,C,I),g.defaultPrevented)return;C&=-9}return!!(C||I in B.FUNCTION_KEYS||I in B.PRINTABLE_KEYS)&&A(g,C,I)}}(I,A,A.keyCode);return e=A.defaultPrevented,g}),C),t(A,"keypress",(function(A){e&&(A.ctrlKey||A.altKey||A.shiftKey||A.metaKey)&&(g.stopEvent(A),e=null)}),C),t(A,"keyup",(function(A){i[A.keyCode]=null}),C),i||(s(),t(window,"focus",s))},"object"==typeof window&&window.postMessage&&!Q.isOldIE){var c=1;g.nextTick=function(A,I){I=I||window;var C="zero-timeout-message-"+c++,B=function(Q){Q.data==C&&(g.stopPropagation(Q),n(I,"message",B),A())};t(I,"message",B),I.postMessage(C,"*")}}g.$idleBlocked=!1,g.onIdle=function(A,I){return setTimeout((function I(){g.$idleBlocked?setTimeout(I,100):A()}),I)},g.$idleBlockId=null,g.blockIdle=function(A){g.$idleBlockId&&clearTimeout(g.$idleBlockId),g.$idleBlocked=!0,g.$idleBlockId=setTimeout((function(){g.$idleBlocked=!1}),A||100)},g.nextFrame="object"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),g.nextFrame?g.nextFrame=g.nextFrame.bind(window):g.nextFrame=function(A){setTimeout(A,17)}})),ace.define("ace/clipboard",["require","exports","module"],(function(A,g,I){"use strict";var C;I.exports={lineMode:!1,pasteCancelled:function(){return!!(C&&C>Date.now()-50)||(C=!1)},cancel:function(){C=Date.now()}}})),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],(function(A,g,I){"use strict";var C,B=A("../lib/event"),Q=A("../config").nls,i=A("../lib/useragent"),o=A("../lib/dom"),e=A("../lib/lang"),E=A("../clipboard"),t=i.isChrome<18,n=i.isIE,a=i.isChrome>63,s=400,c=A("../lib/keys"),r=c.KEY_MODS,l=i.isIOS,h=l?/\s/:/\n/,d=i.isMobile;C=function(A,g){var I=o.createElement("textarea");I.className="ace_text-input",I.setAttribute("wrap","off"),I.setAttribute("autocorrect","off"),I.setAttribute("autocapitalize","off"),I.setAttribute("spellcheck","false"),I.style.opacity="0",A.insertBefore(I,A.firstChild);var C=!1,G=!1,D=!1,y=!1,w="";d||(I.style.fontSize="1px");var u=!1,S=!1,N="",m=0,F=0,K=0,p=Number.MAX_SAFE_INTEGER,b=Number.MIN_SAFE_INTEGER,Y=0;try{var k=document.activeElement===I}catch(O){}this.setNumberOfExtraLines=function(A){p=Number.MAX_SAFE_INTEGER,b=Number.MIN_SAFE_INTEGER,Y=A<0?0:A},this.setAriaOptions=function(A){if(A.activeDescendant?(I.setAttribute("aria-haspopup","true"),I.setAttribute("aria-autocomplete",A.inline?"both":"list"),I.setAttribute("aria-activedescendant",A.activeDescendant)):(I.setAttribute("aria-haspopup","false"),I.setAttribute("aria-autocomplete","both"),I.removeAttribute("aria-activedescendant")),A.role&&I.setAttribute("role",A.role),A.setLabel){I.setAttribute("aria-roledescription",Q("text-input.aria-roledescription","editor"));var C="";if(g.$textInputAriaLabel&&(C+="".concat(g.$textInputAriaLabel,", ")),g.session){var B=g.session.selection.cursor.row;C+=Q("text-input.aria-label","Cursor at row $0",[B+1])}I.setAttribute("aria-label",C)}},this.setAriaOptions({role:"textbox"}),B.addListener(I,"blur",(function(A){S||(g.onBlur(A),k=!1)}),g),B.addListener(I,"focus",(function(A){if(!S){if(k=!0,i.isEdge)try{if(!document.hasFocus())return}catch(A){}g.onFocus(A),i.isEdge?setTimeout(f):f()}}),g),this.$focusScroll=!1,this.focus=function(){if(this.setAriaOptions({setLabel:g.renderer.enableKeyboardAccessibility}),w||a||"browser"==this.$focusScroll)return I.focus({preventScroll:!0});var A=I.style.top;I.style.position="fixed",I.style.top="0px";try{var C=0!=I.getBoundingClientRect().top}catch(O){return}var B=[];if(C)for(var Q=I.parentElement;Q&&1==Q.nodeType;)B.push(Q),Q.setAttribute("ace_nocontext","true"),Q=!Q.parentElement&&Q.getRootNode?Q.getRootNode().host:Q.parentElement;I.focus({preventScroll:!0}),C&&B.forEach((function(A){A.removeAttribute("ace_nocontext")})),setTimeout((function(){I.style.position="","0px"==I.style.top&&(I.style.top=A)}),0)},this.blur=function(){I.blur()},this.isFocused=function(){return k},g.on("beforeEndOperation",(function(){var A=g.curOp,C=A&&A.command&&A.command.name;if("insertstring"!=C){var B=C&&(A.docChanged||A.selectionChanged);D&&B&&(N=I.value="",x()),f()}}));var R=function(A,I){for(var C=I,B=1;B<=A-p&&B<2*Y+1;B++)C+=g.session.getLine(A-B).length+1;return C},f=l?function(A){if(k&&(!C||A)&&!y){A||(A="");var B="\n ab"+A+"cde fg\n";B!=I.value&&(I.value=N=B);var Q=4+(A.length||(g.selection.isEmpty()?0:1));4==m&&F==Q||I.setSelectionRange(4,Q),m=4,F=Q}}:function(){if(!D&&!y&&(k||J)){D=!0;var A=0,C=0,B="";if(g.session){var Q=g.selection,i=Q.getRange(),o=Q.cursor.row;o===b+1?b=(p=b+1)+2*Y:o===p-1?p=(b=p-1)-2*Y:(ob+1)&&(p=o>Y?o-Y:0,b=o>Y?o+Y:2*Y);for(var e=[],E=p;E<=b;E++)e.push(g.session.getLine(E));if(B=e.join("\n"),A=R(i.start.row,i.start.column),C=R(i.end.row,i.end.column),i.start.rowb){var n=g.session.getLine(b+1);C=i.end.row>b+1?n.length:i.end.column,C+=B.length+1,B=B+"\n"+n}else d&&o>0&&(B="\n"+B,C+=1,A+=1);B.length>s&&(A0&&N[a]==A[a];)a++,o--;for(E=E.slice(a),a=1;e>0&&N.length-a>m-1&&N[N.length-a]==A[A.length-a];)a++,e--;t-=a-1,n-=a-1;var s=E.length-a+1;if(s<0&&(o=-s,s=0),E=E.slice(0,s),!C&&!E&&!t&&!o&&!e&&!n)return"";y=!0;var c=!1;return i.isAndroid&&". "==E&&(E=" ",c=!0),E&&!o&&!e&&!t&&!n||u?g.onTextInput(E):g.onTextInput(E,{extendLeft:o,extendRight:e,restoreStart:t,restoreEnd:n}),y=!1,N=A,m=B,F=Q,K=n,c?"\n":E},L=function(A){if(D)return X();if(A&&A.inputType){if("historyUndo"==A.inputType)return g.execCommand("undo");if("historyRedo"==A.inputType)return g.execCommand("redo")}var C=I.value,B=Z(C,!0);(C.length>500||h.test(B)||d&&m<1&&m==F)&&f()},M=function(A,g,I){var C=A.clipboardData||window.clipboardData;if(C&&!t){var B=n||I?"Text":"text/plain";try{return g?!1!==C.setData(B,g):C.getData(B)}catch(A){if(!I)return M(A,g,!0)}}},U=function(A,Q){var i=g.getCopyText();if(!i)return B.preventDefault(A);M(A,i)?(l&&(f(i),C=i,setTimeout((function(){C=!1}),10)),Q?g.onCut():g.onCopy(),B.preventDefault(A)):(C=!0,I.value=i,I.select(),setTimeout((function(){C=!1,f(),Q?g.onCut():g.onCopy()})))},W=function(A){U(A,!0)},V=function(A){U(A,!1)},v=function(A){var C=M(A);E.pasteCancelled()||("string"==typeof C?(C&&g.onPaste(C,A),i.isIE&&setTimeout(f),B.preventDefault(A)):(I.value="",G=!0))};B.addCommandKeyListener(I,(function(A,I,C){if(!D)return g.onCommandKey(A,I,C)}),g),B.addListener(I,"select",(function(A){D||(C?C=!1:!function(A){return 0===A.selectionStart&&A.selectionEnd>=N.length&&A.value===N&&N&&A.selectionEnd!==F}(I)?d&&I.selectionStart!=m&&f():(g.selectAll(),f()))}),g),B.addListener(I,"input",L,g),B.addListener(I,"cut",W,g),B.addListener(I,"copy",V,g),B.addListener(I,"paste",v,g),"oncut"in I&&"oncopy"in I&&"onpaste"in I||B.addListener(A,"keydown",(function(A){if((!i.isMac||A.metaKey)&&A.ctrlKey)switch(A.keyCode){case 67:V(A);break;case 86:v(A);break;case 88:W(A)}}),g);var X=function(){if(D&&g.onCompositionUpdate&&!g.$readOnly){if(u)return q();if(D.useTextareaForIME)g.onCompositionUpdate(I.value);else{var A=I.value;Z(A),D.markerRange&&(D.context&&(D.markerRange.start.column=D.selectionStart=D.context.compositionStartOffset),D.markerRange.end.column=D.markerRange.start.column+F-D.selectionStart+K)}}},x=function(A){g.onCompositionEnd&&!g.$readOnly&&(D=!1,g.onCompositionEnd(),g.off("mousedown",q),A&&L())};function q(){S=!0,I.blur(),I.focus(),S=!1}var j,z=e.delayedCall(X,50).schedule.bind(null,null);function P(){clearTimeout(j),j=setTimeout((function(){w&&(I.style.cssText=w,w=""),g.renderer.$isMousePressed=!1,g.renderer.$keepTextAreaAtCursor&&g.renderer.$moveTextAreaToCursor()}),0)}B.addListener(I,"compositionstart",(function(A){if(!D&&g.onCompositionStart&&!g.$readOnly&&(D={},!u)){A.data&&(D.useTextareaForIME=!1),setTimeout(X,0),g._signal("compositionStart"),g.on("mousedown",q);var C=g.getSelectionRange();C.end.row=C.start.row,C.end.column=C.start.column,D.markerRange=C,D.selectionStart=m,g.onCompositionStart(D),D.useTextareaForIME?(N=I.value="",m=0,F=0):(I.msGetInputContext&&(D.context=I.msGetInputContext()),I.getInputContext&&(D.context=I.getInputContext()))}}),g),B.addListener(I,"compositionupdate",X,g),B.addListener(I,"keyup",(function(A){27==A.keyCode&&I.value.lengthF&&"\n"==N[i]?o=c.end:BF&&N.slice(0,i).split("\n").length>2?o=c.down:i>F&&" "==N[i-1]?(o=c.right,e=r.option):(i>F||i==F&&F!=m&&B==i)&&(o=c.right),B!==i&&(e|=r.shift),o){if(!g.onCommandKey({},e,o)&&g.commands){o=c.keyCodeToString(o);var E=g.commands.findKeyCommand(e,o);E&&g.execCommand(E)}m=B,F=i,f("")}}};document.addEventListener("selectionchange",i),g.on("destroy",(function(){document.removeEventListener("selectionchange",i)}))}(0,g,I),this.destroy=function(){I.parentElement&&I.parentElement.removeChild(I)}},g.TextInput=C,g.$setUserAgentForTests=function(A,g){d=A,l=g}})),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],(function(A,g,I){"use strict";var C=A("../lib/useragent"),B=function(){function A(A){A.$clickSelection=null;var g=A.editor;g.setDefaultHandler("mousedown",this.onMouseDown.bind(A)),g.setDefaultHandler("dblclick",this.onDoubleClick.bind(A)),g.setDefaultHandler("tripleclick",this.onTripleClick.bind(A)),g.setDefaultHandler("quadclick",this.onQuadClick.bind(A)),g.setDefaultHandler("mousewheel",this.onMouseWheel.bind(A));["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"].forEach((function(g){A[g]=this[g]}),this),A.selectByLines=this.extendSelectionBy.bind(A,"getLineRange"),A.selectByWords=this.extendSelectionBy.bind(A,"getWordRange")}return A.prototype.onMouseDown=function(A){var g=A.inSelection(),I=A.getDocumentPosition();this.mousedownEvent=A;var B=this.editor,Q=A.getButton();return 0!==Q?((B.getSelectionRange().isEmpty()||1==Q)&&B.selection.moveToPosition(I),void(2==Q&&(B.textInput.onContextMenu(A.domEvent),C.isMozilla||A.preventDefault()))):(this.mousedownEvent.time=Date.now(),!g||B.isFocused()||(B.focus(),!this.$focusTimeout||this.$clickSelection||B.inMultiSelectMode)?(this.captureMouse(A),this.startSelect(I,A.domEvent._clicks>1),A.preventDefault()):(this.setState("focusWait"),void this.captureMouse(A)))},A.prototype.startSelect=function(A,g){A=A||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var I=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?I.selection.selectToPosition(A):g||I.selection.moveToPosition(A),g||this.select(),I.setStyle("ace_selecting"),this.setState("select"))},A.prototype.select=function(){var A,g=this.editor,I=g.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var C=this.$clickSelection.comparePoint(I);if(-1==C)A=this.$clickSelection.end;else if(1==C)A=this.$clickSelection.start;else{var B=Q(this.$clickSelection,I);I=B.cursor,A=B.anchor}g.selection.setSelectionAnchor(A.row,A.column)}g.selection.selectToPosition(I),g.renderer.scrollCursorIntoView()},A.prototype.extendSelectionBy=function(A){var g,I=this.editor,C=I.renderer.screenToTextCoordinates(this.x,this.y),B=I.selection[A](C.row,C.column);if(this.$clickSelection){var i=this.$clickSelection.comparePoint(B.start),o=this.$clickSelection.comparePoint(B.end);if(-1==i&&o<=0)g=this.$clickSelection.end,B.end.row==C.row&&B.end.column==C.column||(C=B.start);else if(1==o&&i>=0)g=this.$clickSelection.start,B.start.row==C.row&&B.start.column==C.column||(C=B.end);else if(-1==i&&1==o)C=B.end,g=B.start;else{var e=Q(this.$clickSelection,C);C=e.cursor,g=e.anchor}I.selection.setSelectionAnchor(g.row,g.column)}I.selection.selectToPosition(C),I.renderer.scrollCursorIntoView()},A.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},A.prototype.focusWait=function(){var A,g,I,C,B=(A=this.mousedownEvent.x,g=this.mousedownEvent.y,I=this.x,C=this.y,Math.sqrt(Math.pow(I-A,2)+Math.pow(C-g,2))),Q=Date.now();(B>0||Q-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},A.prototype.onDoubleClick=function(A){var g=A.getDocumentPosition(),I=this.editor,C=I.session.getBracketRange(g);C?(C.isEmpty()&&(C.start.column--,C.end.column++),this.setState("select")):(C=I.selection.getWordRange(g.row,g.column),this.setState("selectByWords")),this.$clickSelection=C,this.select()},A.prototype.onTripleClick=function(A){var g=A.getDocumentPosition(),I=this.editor;this.setState("selectByLines");var C=I.getSelectionRange();C.isMultiLine()&&C.contains(g.row,g.column)?(this.$clickSelection=I.selection.getLineRange(C.start.row),this.$clickSelection.end=I.selection.getLineRange(C.end.row).end):this.$clickSelection=I.selection.getLineRange(g.row),this.select()},A.prototype.onQuadClick=function(A){var g=this.editor;g.selectAll(),this.$clickSelection=g.getSelectionRange(),this.setState("selectAll")},A.prototype.onMouseWheel=function(A){if(!A.getAccelKey()){A.getShiftKey()&&A.wheelY&&!A.wheelX&&(A.wheelX=A.wheelY,A.wheelY=0);var g=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var I=this.$lastScroll,C=A.domEvent.timeStamp,B=C-I.t,Q=B?A.wheelX/B:I.vx,i=B?A.wheelY/B:I.vy;B<550&&(Q=(Q+I.vx)/2,i=(i+I.vy)/2);var o=Math.abs(Q/i),e=!1;if(o>=1&&g.renderer.isScrollableBy(A.wheelX*A.speed,0)&&(e=!0),o<=1&&g.renderer.isScrollableBy(0,A.wheelY*A.speed)&&(e=!0),e)I.allowed=C;else if(C-I.allowed<550){Math.abs(Q)<=1.5*Math.abs(I.vx)&&Math.abs(i)<=1.5*Math.abs(I.vy)?(e=!0,I.allowed=C):I.allowed=0}return I.t=C,I.vx=Q,I.vy=i,e?(g.renderer.scrollBy(A.wheelX*A.speed,A.wheelY*A.speed),A.stop()):void 0}},A}();function Q(A,g){if(A.start.row==A.end.row)var I=2*g.column-A.start.column-A.end.column;else if(A.start.row!=A.end.row-1||A.start.column||A.end.column)I=2*g.row-A.start.row-A.end.row;else var I=g.column-4;return I<0?{cursor:A.start,anchor:A.end}:{cursor:A.end,anchor:A.start}}B.prototype.selectEnd=B.prototype.selectByLinesEnd,B.prototype.selectAllEnd=B.prototype.selectByLinesEnd,B.prototype.selectByWordsEnd=B.prototype.selectByLinesEnd,g.DefaultHandlers=B})),ace.define("ace/lib/scroll",["require","exports","module"],(function(A,g,I){g.preventParentScroll=function(A){A.stopPropagation();var g=A.currentTarget;g.scrollHeight>g.clientHeight||A.preventDefault()}})),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],(function(A,g,I){"use strict";var C=this&&this.__extends||function(){var A=function(g,I){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,g){A.__proto__=g}||function(A,g){for(var I in g)Object.prototype.hasOwnProperty.call(g,I)&&(A[I]=g[I])},A(g,I)};return function(g,I){if("function"!==typeof I&&null!==I)throw new TypeError("Class extends value "+String(I)+" is not a constructor or null");function C(){this.constructor=g}A(g,I),g.prototype=null===I?Object.create(I):(C.prototype=I.prototype,new C)}}(),B=this&&this.__values||function(A){var g="function"===typeof Symbol&&Symbol.iterator,I=g&&A[g],C=0;if(I)return I.call(A);if(A&&"number"===typeof A.length)return{next:function(){return A&&C>=A.length&&(A=void 0),{value:A&&A[C++],done:!A}}};throw new TypeError(g?"Object is not iterable.":"Symbol.iterator is not defined.")},Q=A("./lib/dom"),i=(A("./lib/event"),A("./range").Range),o=A("./lib/scroll").preventParentScroll,e="ace_tooltip",E=function(){function A(A){this.isOpen=!1,this.$element=null,this.$parentNode=A}return A.prototype.$init=function(){return this.$element=Q.createElement("div"),this.$element.className=e,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},A.prototype.getElement=function(){return this.$element||this.$init()},A.prototype.setText=function(A){this.getElement().textContent=A},A.prototype.setHtml=function(A){this.getElement().innerHTML=A},A.prototype.setPosition=function(A,g){this.getElement().style.left=A+"px",this.getElement().style.top=g+"px"},A.prototype.setClassName=function(A){Q.addCssClass(this.getElement(),A)},A.prototype.setTheme=function(A){this.$element.className=e+" "+(A.isDark?"ace_dark ":"")+(A.cssClass||"")},A.prototype.show=function(A,g,I){null!=A&&this.setText(A),null!=g&&null!=I&&this.setPosition(g,I),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},A.prototype.hide=function(A){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=e,this.isOpen=!1)},A.prototype.getHeight=function(){return this.getElement().offsetHeight},A.prototype.getWidth=function(){return this.getElement().offsetWidth},A.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},A}(),t=new(function(){function A(){this.popups=[]}return A.prototype.addPopup=function(A){this.popups.push(A),this.updatePopups()},A.prototype.removePopup=function(A){var g=this.popups.indexOf(A);-1!==g&&(this.popups.splice(g,1),this.updatePopups())},A.prototype.updatePopups=function(){var A,g,I,C;this.popups.sort((function(A,g){return g.priority-A.priority}));var Q=[];try{for(var i=B(this.popups),o=i.next();!o.done;o=i.next()){var e=o.value,E=!0;try{for(var t=(I=void 0,B(Q)),n=t.next();!n.done;n=t.next()){var a=n.value;if(this.doPopupsOverlap(a,e)){E=!1;break}}}catch(s){I={error:s}}finally{try{n&&!n.done&&(C=t.return)&&C.call(t)}finally{if(I)throw I.error}}E?Q.push(e):e.hide()}}catch(c){A={error:c}}finally{try{o&&!o.done&&(g=i.return)&&g.call(i)}finally{if(A)throw A.error}}},A.prototype.doPopupsOverlap=function(A,g){var I=A.getElement().getBoundingClientRect(),C=g.getElement().getBoundingClientRect();return I.leftC.left&&I.topC.top},A}());g.popupManager=t,g.Tooltip=E;var n=function(A){function g(g){void 0===g&&(g=document.body);var I=A.call(this,g)||this;I.timeout=void 0,I.lastT=0,I.idleTime=350,I.lastEvent=void 0,I.onMouseOut=I.onMouseOut.bind(I),I.onMouseMove=I.onMouseMove.bind(I),I.waitForHover=I.waitForHover.bind(I),I.hide=I.hide.bind(I);var C=I.getElement();return C.style.whiteSpace="pre-wrap",C.style.pointerEvents="auto",C.addEventListener("mouseout",I.onMouseOut),C.tabIndex=-1,C.addEventListener("blur",function(){C.contains(document.activeElement)||this.hide()}.bind(I)),C.addEventListener("wheel",o),I}return C(g,A),g.prototype.addToEditor=function(A){A.on("mousemove",this.onMouseMove),A.on("mousedown",this.hide),A.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},g.prototype.removeFromEditor=function(A){A.off("mousemove",this.onMouseMove),A.off("mousedown",this.hide),A.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},g.prototype.onMouseMove=function(A,g){this.lastEvent=A,this.lastT=Date.now();var I=g.$mouseHandler.isMousePressed;if(this.isOpen){var C=this.lastEvent&&this.lastEvent.getDocumentPosition();this.range&&this.range.contains(C.row,C.column)&&!I&&!this.isOutsideOfText(this.lastEvent)||this.hide()}this.timeout||I||(this.lastEvent=A,this.timeout=setTimeout(this.waitForHover,this.idleTime))},g.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var A=Date.now()-this.lastT;this.idleTime-A>10?this.timeout=setTimeout(this.waitForHover,this.idleTime-A):(this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor))},g.prototype.isOutsideOfText=function(A){var g=A.editor,I=A.getDocumentPosition(),C=g.session.getLine(I.row);if(I.column==C.length){var B=g.renderer.pixelToScreenCoordinates(A.clientX,A.clientY),Q=g.session.documentToScreenPosition(I.row,I.column);if(Q.column!=B.column||Q.row!=B.row)return!0}return!1},g.prototype.setDataProvider=function(A){this.$gatherData=A},g.prototype.showForRange=function(A,g,I,C){if((!C||C==this.lastEvent)&&(!this.isOpen||document.activeElement!=this.getElement())){var B=A.renderer;this.isOpen||(t.addPopup(this),this.$registerCloseEvents(),this.setTheme(B.theme)),this.isOpen=!0,this.addMarker(g,A.session),this.range=i.fromPoints(g.start,g.end);var Q=B.textToScreenCoordinates(g.start.row,g.start.column),o=B.scroller.getBoundingClientRect();Q.pageX=A.length&&(A=void 0),{value:A&&A[C++],done:!A}}};throw new TypeError(g?"Object is not iterable.":"Symbol.iterator is not defined.")},Q=A("../lib/dom"),i=A("../lib/event"),o=A("../tooltip").Tooltip,e=A("../config").nls;A("../lib/lang");g.GutterHandler=function(A){var g,I,C=A.editor,B=C.renderer.$gutterLayer,o=new E(C);function e(){g&&(g=clearTimeout(g)),o.isOpen&&(o.hideTooltip(),C.off("mousewheel",e))}function t(A){o.setPosition(A.x,A.y)}A.editor.setDefaultHandler("guttermousedown",(function(g){if(C.isFocused()&&0==g.getButton()&&"foldWidgets"!=B.getRegion(g)){var I=g.getDocumentPosition().row,Q=C.session.selection;if(g.getShiftKey())Q.selectTo(I,0);else{if(2==g.domEvent.detail)return C.selectAll(),g.preventDefault();A.$clickSelection=C.selection.getLineRange(I)}return A.setState("selectByLines"),A.captureMouse(g),g.preventDefault()}})),A.editor.setDefaultHandler("guttermousemove",(function(i){var E=i.domEvent.target||i.domEvent.srcElement;if(Q.hasCssClass(E,"ace_fold-widget"))return e();o.isOpen&&A.$tooltipFollowsMouse&&t(i),I=i,g||(g=setTimeout((function(){g=null,I&&!A.isMousePressed?function(){var g=I.getDocumentPosition().row;if(g==C.session.getLength()){var Q=C.renderer.pixelToScreenCoordinates(0,I.y).row,i=I.$pos;if(Q>C.session.documentToScreenRow(i.row,i.column))return e()}if(o.showTooltip(g),o.isOpen)if(C.on("mousewheel",e),A.$tooltipFollowsMouse)t(I);else{var E=I.getGutterRow(),n=B.$lines.get(E);if(n){var a=n.element.querySelector(".ace_gutter_annotation").getBoundingClientRect(),s=o.getElement().style;s.left=a.right+"px",s.top=a.bottom+"px"}else t(I)}}():e()}),50))})),i.addListener(C.renderer.$gutter,"mouseout",(function(A){I=null,o.isOpen&&!g&&(g=setTimeout((function(){g=null,e()}),50))}),C),C.on("changeSession",e),C.on("input",e)};var E=function(A){function g(g){var I=A.call(this,g.container)||this;return I.editor=g,I}return C(g,A),g.prototype.setPosition=function(A,g){var I=window.innerWidth||document.documentElement.clientWidth,C=window.innerHeight||document.documentElement.clientHeight,B=this.getWidth(),Q=this.getHeight();(A+=15)+B>I&&(A-=A+B-I),(g+=15)+Q>C&&(g-=20+Q),o.prototype.setPosition.call(this,A,g)},Object.defineProperty(g,"annotationLabels",{get:function(){return{error:{singular:e("gutter-tooltip.aria-label.error.singular","error"),plural:e("gutter-tooltip.aria-label.error.plural","errors")},warning:{singular:e("gutter-tooltip.aria-label.warning.singular","warning"),plural:e("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:e("gutter-tooltip.aria-label.info.singular","information message"),plural:e("gutter-tooltip.aria-label.info.plural","information messages")}}},enumerable:!1,configurable:!0}),g.prototype.showTooltip=function(A){var I,C,B=this.editor.renderer.$gutterLayer,i=B.$annotations[A];C=i?{displayText:Array.from(i.displayText),type:Array.from(i.type)}:{displayText:[],type:[]};var o=B.session.getFoldLine(A);if(o&&B.$showFoldedAnnotations){for(var e,E={error:[],warning:[],info:[]},t=A+1;t<=o.end.row;t++)if(B.$annotations[t])for(var n=0;n5?l=null:C-l>=200&&(g.renderer.scrollCursorIntoView(),l=null)})(a=g.renderer.screenToTextCoordinates(e,E),A),function(A,I){var C=Date.now(),B=g.renderer.layerConfig.lineHeight,Q=g.renderer.layerConfig.characterWidth,i=g.renderer.scroller.getBoundingClientRect(),o={x:{left:e-i.left,right:i.right-e},y:{top:E-i.top,bottom:i.bottom-E}},t=Math.min(o.x.left,o.x.right),n=Math.min(o.y.top,o.y.bottom),a={row:A.row,column:A.column};t/Q<=2&&(a.column+=o.x.left=200&&g.renderer.scrollCursorIntoView(a):r=C:r=null}(a,A)}function y(){n=g.selection.toOrientedRange(),i=g.session.addMarker(n,"ace_selection",g.getSelectionStyle()),g.clearSelection(),g.isFocused()&&g.renderer.$cursorLayer.setBlinking(!1),clearInterval(t),D(),t=setInterval(D,20),G=0,B.addListener(document,"mousemove",S)}function w(){clearInterval(t),g.session.removeMarker(i),i=null,g.selection.fromOrientedRange(n),g.isFocused()&&!c&&g.$resetCursorStyle(),n=null,a=null,G=0,r=null,l=null,B.removeListener(document,"mousemove",S)}this.onDragStart=function(A){if(this.cancelDrag||!d.draggable){var C=this;return setTimeout((function(){C.startSelect(),C.captureMouse(A)}),0),A.preventDefault()}n=g.getSelectionRange();var B=A.dataTransfer;B.effectAllowed=g.getReadOnly()?"copy":"copyMove",g.container.appendChild(I),B.setDragImage&&B.setDragImage(I,0,0),setTimeout((function(){g.container.removeChild(I)})),B.clearData(),B.setData("Text",g.session.getTextRange()),c=!0,this.setState("drag")},this.onDragEnd=function(A){if(d.draggable=!1,c=!1,this.setState(null),!g.getReadOnly()){var I=A.dataTransfer.dropEffect;s||"move"!=I||g.session.remove(g.getSelectionRange()),g.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(A){if(!g.getReadOnly()&&N(A.dataTransfer))return e=A.clientX,E=A.clientY,i||y(),G++,A.dataTransfer.dropEffect=s=m(A),B.preventDefault(A)},this.onDragOver=function(A){if(!g.getReadOnly()&&N(A.dataTransfer))return e=A.clientX,E=A.clientY,i||(y(),G++),null!==u&&(u=null),A.dataTransfer.dropEffect=s=m(A),B.preventDefault(A)},this.onDragLeave=function(A){if(--G<=0&&i)return w(),s=null,B.preventDefault(A)},this.onDrop=function(A){if(a){var I=A.dataTransfer;if(c)switch(s){case"move":n=n.contains(a.row,a.column)?{start:a,end:a}:g.moveText(n,a);break;case"copy":n=g.moveText(n,a,!0)}else{var C=I.getData("Text");n={start:a,end:g.session.insert(a,C)},g.focus(),s=null}return w(),B.preventDefault(A)}},B.addListener(d,"dragstart",this.onDragStart.bind(A),g),B.addListener(d,"dragend",this.onDragEnd.bind(A),g),B.addListener(d,"dragenter",this.onDragEnter.bind(A),g),B.addListener(d,"dragover",this.onDragOver.bind(A),g),B.addListener(d,"dragleave",this.onDragLeave.bind(A),g),B.addListener(d,"drop",this.onDrop.bind(A),g);var u=null;function S(){null==u&&(u=setTimeout((function(){null!=u&&i&&w()}),20))}function N(A){var g=A.types;return!g||Array.prototype.some.call(g,(function(A){return"text/plain"==A||"Text"==A}))}function m(A){var g=["copy","copymove","all","uninitialized"],I=Q.isMac?A.altKey:A.ctrlKey,C="uninitialized";try{C=A.dataTransfer.effectAllowed.toLowerCase()}catch(A){}var B="none";return I&&g.indexOf(C)>=0?B="copy":["move","copymove","linkmove","all","uninitialized"].indexOf(C)>=0?B="move":g.indexOf(C)>=0&&(B="copy"),B}}function o(A,g,I,C){return Math.sqrt(Math.pow(I-A,2)+Math.pow(C-g,2))}(function(){this.dragWait=function(){Date.now()-this.mousedownEvent.time>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(A){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var A=this.editor;A.container.draggable=!0,A.renderer.$cursorLayer.setBlinking(!1),A.setStyle("ace_dragging");var g=Q.isWin?"default":"move";A.renderer.setCursorStyle(g),this.setState("dragReady")},this.onMouseDrag=function(A){var g=this.editor.container;Q.isIE&&"dragReady"==this.state&&(o(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>3&&g.dragDrop());"dragWait"===this.state&&(o(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>0&&(g.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition())))},this.onMouseDown=function(A){if(this.$dragEnabled){this.mousedownEvent=A;var g=this.editor,I=A.inSelection(),C=A.getButton();if(1===(A.domEvent.detail||1)&&0===C&&I){if(A.editor.inMultiSelectMode&&(A.getAccelKey()||A.getShiftKey()))return;this.mousedownEvent.time=Date.now();var B=A.domEvent.target||A.domEvent.srcElement;if("unselectable"in B&&(B.unselectable="on"),g.getDragDelay()){if(Q.isWebKit)this.cancelDrag=!0,g.container.draggable=!0;this.setState("dragWait")}else this.startDrag();this.captureMouse(A,this.onMouseDrag.bind(this)),A.defaultPrevented=!0}}}}).call(i.prototype),g.DragdropHandler=i})),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],(function(A,g,I){"use strict";var C=A("./mouse_event").MouseEvent,B=A("../lib/event"),Q=A("../lib/dom");g.addTouchListeners=function(A,g){var I,i,o,e,E,t,n,a,s,c="scroll",r=0,l=0,h=0,d=0;function G(){var A=window.navigator&&window.navigator.clipboard,I=!1,C=function(A){return g.commands.canExecute(A,g)},B=function(B){var i=B.target.getAttribute("action");if("more"==i||!I)return I=!I,function(){var B=g.getCopyText(),i=g.session.getUndoManager().hasUndo();s.replaceChild(Q.buildDom(I?["span",!B&&C("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],B&&C("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],B&&C("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],A&&C("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],i&&C("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],C("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],C("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),s.firstChild)}();"paste"==i?A.readText().then((function(A){g.execCommand(i,A)})):i&&("cut"!=i&&"copy"!=i||(A?A.writeText(g.getCopyText()):document.execCommand("copy")),g.execCommand(i)),s.firstChild.style.display="none",I=!1,"openCommandPalette"!=i&&g.focus()};s=Q.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(A){c="menu",A.stopPropagation(),A.preventDefault(),g.textInput.focus()},ontouchend:function(A){A.stopPropagation(),A.preventDefault(),B(A)},onclick:B},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],g.container)}function D(){if(g.getOption("enableMobileMenu")){s||G();var A=g.selection.cursor,I=g.renderer.textToScreenCoordinates(A.row,A.column),C=g.renderer.textToScreenCoordinates(0,0).pageX,B=g.renderer.scrollLeft,Q=g.container.getBoundingClientRect();s.style.top=I.pageY-Q.top-3+"px",I.pageX-Q.left1)return clearTimeout(E),E=null,o=-1,void(c="zoom");a=g.$mouseHandler.isMousePressed=!0;var Q=g.renderer.layerConfig.lineHeight,t=g.renderer.layerConfig.lineHeight,s=A.timeStamp;e=s;var G=B[0],D=G.clientX,y=G.clientY;Math.abs(I-D)+Math.abs(i-y)>Q&&(o=-1),I=A.clientX=D,i=A.clientY=y,h=d=0;var u=new C(A,g);if(n=u.getDocumentPosition(),s-o<500&&1==B.length&&!r)l++,A.preventDefault(),A.button=0,function(){E=null,clearTimeout(E),g.selection.moveToPosition(n);var A=l>=2?g.selection.getLineRange(n.row):g.session.getBracketRange(n);A&&!A.isEmpty()?g.selection.setRange(A):g.selection.selectWord(),c="wait"}();else{l=0;var S=g.selection.cursor,N=g.selection.isEmpty()?S:g.selection.anchor,m=g.renderer.$cursorLayer.getPixelPosition(S,!0),F=g.renderer.$cursorLayer.getPixelPosition(N,!0),K=g.renderer.scroller.getBoundingClientRect(),p=g.renderer.layerConfig.offset,b=g.renderer.scrollLeft,Y=function(A,g){return(A/=t)*A+(g=g/Q-.75)*g};if(A.clientXR?"cursor":"anchor"),c=R<3.5?"anchor":k<3.5?"cursor":"scroll",E=setTimeout(w,450)}o=s}),g),B.addListener(A,"touchend",(function(A){a=g.$mouseHandler.isMousePressed=!1,t&&clearInterval(t),"zoom"==c?(c="",r=0):E?(g.selection.moveToPosition(n),r=0,D()):"scroll"==c?(r+=60,t=setInterval((function(){r--<=0&&(clearInterval(t),t=null),Math.abs(h)<.01&&(h=0),Math.abs(d)<.01&&(d=0),r<20&&(h*=.9),r<20&&(d*=.9);var A=g.session.getScrollTop();g.renderer.scrollBy(10*h,10*d),A==g.session.getScrollTop()&&(r=0)}),10),y()):D(),clearTimeout(E),E=null}),g),B.addListener(A,"touchmove",(function(A){E&&(clearTimeout(E),E=null);var B=A.touches;if(!(B.length>1||"zoom"==c)){var Q=B[0],o=I-Q.clientX,t=i-Q.clientY;if("wait"==c){if(!(o*o+t*t>4))return A.preventDefault();c="cursor"}I=Q.clientX,i=Q.clientY,A.clientX=Q.clientX,A.clientY=Q.clientY;var n=A.timeStamp,a=n-e;if(e=n,"scroll"==c){var s=new C(A,g);s.speed=1,s.wheelX=o,s.wheelY=t,10*Math.abs(o)=A){for(Q=n+1;Q=A;)Q++;for(o=n,e=Q-1;o=g.length||(e=I[B-1])!=a&&e!=s||(E=g[B+1])!=a&&E!=s?c:(Q&&(E=s),E==e?E:c);case D:return(e=B>0?I[B-1]:r)==a&&B+10&&I[B-1]==a)return a;if(Q)return c;for(b=B+1,p=g.length;b=1425&&k<=2303||64286==k;if(e=g[b],R&&(e==n||e==h))return n}return B<1||(e=g[B-1])==r?c:I[B-1];case r:return Q=!1,i=!0,C;case l:return o=!0,c;case u:case S:case m:case F:case N:Q=!1;case K:return c}}function R(A){var g=A.charCodeAt(0),I=g>>8;return 0==I?g>191?t:p[g]:5==I?/[\u0591-\u05f4]/.test(A)?n:t:6==I?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(A)?w:/[\u0660-\u0669\u066b-\u066c]/.test(A)?s:1642==g?y:/[\u06f0-\u06f9]/.test(A)?a:h:32==I&&g<=8287?b[255&g]:254==I&&g>=65136?h:c}g.L=t,g.R=n,g.EN=a,g.ON_R=3,g.AN=4,g.R_H=5,g.B=6,g.RLE=7,g.DOT="\xb7",g.doBidiReorder=function(A,I,t){if(A.length<2)return{};var a=A.split(""),G=new Array(a.length),D=new Array(a.length),y=[];C=t?1:0,function(A,g,I,t){var n=C?E:e,a=null,s=null,c=null,h=0,G=null,D=-1,y=null,w=null,u=[];if(!t)for(y=0,t=[];y0)if(16==G){for(y=D;y-1){for(y=D;y=0&&t[S]==d;S--)g[S]=C}}(a,y,a.length,I);for(var w=0;wh&&I[w]0&&"\u0644"===a[w-1]&&/\u0622|\u0623|\u0625|\u0627/.test(a[w])&&(y[w-1]=y[w]=g.R_H,w++);a[a.length-1]===g.DOT&&(y[a.length-1]=g.B),"\u202b"===a[0]&&(y[0]=g.RLE);for(w=0;w=0&&(A=this.session.$docRowCache[I])}return A},A.prototype.getSplitIndex=function(){var A=0,g=this.session.$screenRowCache;if(g.length)for(var I,C=this.session.$getRowCacheIndex(g,this.currentRow);this.currentRow-A>0&&(I=this.session.$getRowCacheIndex(g,this.currentRow-A-1))===C;)C=I,A++;else A=this.currentRow;return A},A.prototype.updateRowLine=function(A,g){void 0===A&&(A=this.getDocumentRow());var I=A===this.session.getLength()-1?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(A),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var Q=this.session.$wrapData[A];Q&&(void 0===g&&(g=this.getSplitIndex()),g>0&&Q.length?(this.wrapIndent=Q.indent,this.wrapOffset=this.wrapIndent*this.charWidths[C.L],this.line=gg?this.session.getOverwrite()?A:A-1:g,B=C.getVisualFromLogicalIdx(I,this.bidiMap),Q=this.bidiMap.bidiLevels,i=0;!this.session.getOverwrite()&&A<=g&&Q[B]%2!==0&&B++;for(var o=0;og&&Q[B]%2===0&&(i+=this.charWidths[Q[B]]),this.wrapIndent&&(i+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(i+=this.rtlLineOffset),i},A.prototype.getSelections=function(A,g){var I,C=this.bidiMap,B=C.bidiLevels,Q=[],i=0,o=Math.min(A,g)-this.wrapIndent,e=Math.max(A,g)-this.wrapIndent,E=!1,t=!1,n=0;this.wrapIndent&&(i+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var a,s=0;s=o&&aI+Q/2;){if(I+=Q,C===B.length-1){Q=0;break}Q=this.charWidths[B[++C]]}return C>0&&B[C-1]%2!==0&&B[C]%2===0?(A0&&B[C-1]%2===0&&B[C]%2!==0?g=1+(A>I?this.bidiMap.logicalFromVisual[C]:this.bidiMap.logicalFromVisual[C-1]):this.isRtlDir&&C===B.length-1&&0===Q&&B[C-1]%2===0||!this.isRtlDir&&0===C&&B[C]%2!==0?g=1+this.bidiMap.logicalFromVisual[C]:(C>0&&B[C-1]%2!==0&&0!==Q&&C--,g=this.bidiMap.logicalFromVisual[C]),0===g&&this.isRtlDir&&g++,g+this.wrapIndent},A}();g.BidiHandler=i})),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],(function(A,g,I){"use strict";var C=A("./lib/oop"),B=A("./lib/lang"),Q=A("./lib/event_emitter").EventEmitter,i=A("./range").Range,o=function(){function A(A){this.session=A,this.doc=A.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var g=this;this.cursor.on("change",(function(A){g.$cursorChanged=!0,g.$silent||g._emit("changeCursor"),g.$isEmpty||g.$silent||g._emit("changeSelection"),g.$keepDesiredColumnOnChange||A.old.column==A.value.column||(g.$desiredColumn=null)})),this.anchor.on("change",(function(){g.$anchorChanged=!0,g.$isEmpty||g.$silent||g._emit("changeSelection")}))}return A.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},A.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},A.prototype.getCursor=function(){return this.lead.getPosition()},A.prototype.setAnchor=function(A,g){this.$isEmpty=!1,this.anchor.setPosition(A,g)},A.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},A.prototype.getSelectionLead=function(){return this.lead.getPosition()},A.prototype.isBackwards=function(){var A=this.anchor,g=this.lead;return A.row>g.row||A.row==g.row&&A.column>g.column},A.prototype.getRange=function(){var A=this.anchor,g=this.lead;return this.$isEmpty?i.fromPoints(g,g):this.isBackwards()?i.fromPoints(g,A):i.fromPoints(A,g)},A.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},A.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},A.prototype.setRange=function(A,g){var I=g?A.end:A.start,C=g?A.start:A.end;this.$setSelection(I.row,I.column,C.row,C.column)},A.prototype.$setSelection=function(A,g,I,C){if(!this.$silent){var B=this.$isEmpty,Q=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(A,g),this.cursor.setPosition(I,C),this.$isEmpty=!i.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||B!=this.$isEmpty||Q)&&this._emit("changeSelection")}},A.prototype.$moveSelection=function(A){var g=this.lead;this.$isEmpty&&this.setSelectionAnchor(g.row,g.column),A.call(this)},A.prototype.selectTo=function(A,g){this.$moveSelection((function(){this.moveCursorTo(A,g)}))},A.prototype.selectToPosition=function(A){this.$moveSelection((function(){this.moveCursorToPosition(A)}))},A.prototype.moveTo=function(A,g){this.clearSelection(),this.moveCursorTo(A,g)},A.prototype.moveToPosition=function(A){this.clearSelection(),this.moveCursorToPosition(A)},A.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},A.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},A.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},A.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},A.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},A.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},A.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},A.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},A.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},A.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},A.prototype.getWordRange=function(A,g){if("undefined"==typeof g){var I=A||this.lead;A=I.row,g=I.column}return this.session.getWordRange(A,g)},A.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},A.prototype.selectAWord=function(){var A=this.getCursor(),g=this.session.getAWordRange(A.row,A.column);this.setSelectionRange(g)},A.prototype.getLineRange=function(A,g){var I,C="number"==typeof A?A:this.lead.row,B=this.session.getFoldLine(C);return B?(C=B.start.row,I=B.end.row):I=C,!0===g?new i(C,0,I,this.session.getLine(I).length):new i(C,0,I+1,0)},A.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},A.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},A.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},A.prototype.wouldMoveIntoSoftTab=function(A,g,I){var C=A.column,B=A.column+g;return I<0&&(C=A.column-g,B=A.column),this.session.isTabStop(A)&&this.doc.getLine(A.row).slice(C,B).split(" ").length-1==g},A.prototype.moveCursorLeft=function(){var A,g=this.lead.getPosition();if(A=this.session.getFoldAt(g.row,g.column,-1))this.moveCursorTo(A.start.row,A.start.column);else if(0===g.column)g.row>0&&this.moveCursorTo(g.row-1,this.doc.getLine(g.row-1).length);else{var I=this.session.getTabSize();this.wouldMoveIntoSoftTab(g,I,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-I):this.moveCursorBy(0,-1)}},A.prototype.moveCursorRight=function(){var A,g=this.lead.getPosition();if(A=this.session.getFoldAt(g.row,g.column,1))this.moveCursorTo(A.end.row,A.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(g.column=C)}}this.moveCursorTo(g.row,g.column)},A.prototype.moveCursorFileEnd=function(){var A=this.doc.getLength()-1,g=this.doc.getLine(A).length;this.moveCursorTo(A,g)},A.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},A.prototype.moveCursorLongWordRight=function(){var A=this.lead.row,g=this.lead.column,I=this.doc.getLine(A),C=I.substring(g);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var B=this.session.getFoldAt(A,g,1);if(B)this.moveCursorTo(B.end.row,B.end.column);else{if(this.session.nonTokenRe.exec(C)&&(g+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,C=I.substring(g)),g>=I.length)return this.moveCursorTo(A,I.length),this.moveCursorRight(),void(A0&&this.moveCursorWordLeft());this.session.tokenRe.exec(Q)&&(I-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(g,I)}},A.prototype.$shortWordEndIndex=function(A){var g,I=0,C=/\s/,B=this.session.tokenRe;if(B.lastIndex=0,this.session.tokenRe.exec(A))I=this.session.tokenRe.lastIndex;else{for(;(g=A[I])&&C.test(g);)I++;if(I<1)for(B.lastIndex=0;(g=A[I])&&!B.test(g);)if(B.lastIndex=0,I++,C.test(g)){if(I>2){I--;break}for(;(g=A[I])&&C.test(g);)I++;if(I>2)break}}return B.lastIndex=0,I},A.prototype.moveCursorShortWordRight=function(){var A=this.lead.row,g=this.lead.column,I=this.doc.getLine(A),C=I.substring(g),B=this.session.getFoldAt(A,g,1);if(B)return this.moveCursorTo(B.end.row,B.end.column);if(g==I.length){var Q=this.doc.getLength();do{A++,C=this.doc.getLine(A)}while(A0&&/^\s*$/.test(C));I=C.length,/\s+$/.test(C)||(C="")}var Q=B.stringReverse(C),i=this.$shortWordEndIndex(Q);return this.moveCursorTo(g,I-i)},A.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},A.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},A.prototype.moveCursorBy=function(A,g){var I,C=this.session.documentToScreenPosition(this.lead.row,this.lead.column);if(0===g&&(0!==A&&(this.session.$bidiHandler.isBidiRow(C.row,this.lead.row)?(I=this.session.$bidiHandler.getPosLeft(C.column),C.column=Math.round(I/this.session.$bidiHandler.charWidths[0])):I=C.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?C.column=this.$desiredColumn:this.$desiredColumn=C.column),0!=A&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var B=this.session.lineWidgets[this.lead.row];A<0?A-=B.rowsAbove||0:A>0&&(A+=B.rowCount-(B.rowsAbove||0))}var Q=this.session.screenToDocumentPosition(C.row+A,C.column,I);0!==A&&0===g&&Q.row===this.lead.row&&(Q.column,this.lead.column),this.moveCursorTo(Q.row,Q.column+g,0===g)},A.prototype.moveCursorToPosition=function(A){this.moveCursorTo(A.row,A.column)},A.prototype.moveCursorTo=function(A,g,I){var C=this.session.getFoldAt(A,g,1);C&&(A=C.start.row,g=C.start.column),this.$keepDesiredColumnOnChange=!0;var B=this.session.getLine(A);/[\uDC00-\uDFFF]/.test(B.charAt(g))&&B.charAt(g-1)&&(this.lead.row==A&&this.lead.column==g+1?g-=1:g+=1),this.lead.setPosition(A,g),this.$keepDesiredColumnOnChange=!1,I||(this.$desiredColumn=null)},A.prototype.moveCursorToScreen=function(A,g,I){var C=this.session.screenToDocumentPosition(A,g);this.moveCursorTo(C.row,C.column,I)},A.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},A.prototype.fromOrientedRange=function(A){this.setSelectionRange(A,A.cursor==A.start),this.$desiredColumn=A.desiredColumn||this.$desiredColumn},A.prototype.toOrientedRange=function(A){var g=this.getRange();return A?(A.start.column=g.start.column,A.start.row=g.start.row,A.end.column=g.end.column,A.end.row=g.end.row):A=g,A.cursor=this.isBackwards()?A.start:A.end,A.desiredColumn=this.$desiredColumn,A},A.prototype.getRangeOfMovements=function(A){var g=this.getCursor();try{A(this);var I=this.getCursor();return i.fromPoints(g,I)}catch(C){return i.fromPoints(g,g)}finally{this.moveCursorToPosition(g)}},A.prototype.toJSON=function(){if(this.rangeCount)var A=this.ranges.map((function(A){var g=A.clone();return g.isBackwards=A.cursor==A.start,g}));else(A=this.getRange()).isBackwards=this.isBackwards();return A},A.prototype.fromJSON=function(A){if(void 0==A.start){if(this.rangeList&&A.length>1){this.toSingleRange(A[0]);for(var g=A.length;g--;){var I=i.fromPoints(A[g].start,A[g].end);A[g].isBackwards&&(I.cursor=I.start),this.addRange(I,!0)}return}A=A[0]}this.rangeList&&this.toSingleRange(A),this.setSelectionRange(A,A.isBackwards)},A.prototype.isEqual=function(A){if((A.length||this.rangeCount)&&A.length!=this.rangeCount)return!1;if(!A.length||!this.ranges)return this.getRange().isEqual(A);for(var g=this.ranges.length;g--;)if(!this.ranges[g].isEqual(A[g]))return!1;return!0},A}();o.prototype.setSelectionAnchor=o.prototype.setAnchor,o.prototype.getSelectionAnchor=o.prototype.getAnchor,o.prototype.setSelectionRange=o.prototype.setRange,C.implement(o.prototype,Q),g.Selection=o})),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],(function(A,g,I){"use strict";var C=A("./lib/report_error").reportError,B=2e3,Q=function(){function A(A){for(var g in this.splitRegex,this.states=A,this.regExps={},this.matchMappings={},this.states){for(var I=this.states[g],C=[],B=0,Q=this.matchMappings[g]={defaultToken:"text"},i="g",o=[],e=0;e1?this.$applyToken:E.token),n>1&&(/\\\d/.test(E.regex)?t=E.regex.replace(/\\([0-9]+)/g,(function(A,g){return"\\"+(parseInt(g,10)+B+1)})):(n=1,t=this.removeCapturingGroups(E.regex)),E.splitRegex||"string"==typeof E.token||o.push(E)),Q[B]=e,B+=n,C.push(t),E.onMatch||(E.onMatch=null)}}C.length||(Q[0]=0,C.push("$")),o.forEach((function(A){A.splitRegex=this.createSplitterRegexp(A.regex,i)}),this),this.regExps[g]=new RegExp("("+C.join(")|(")+")|($)",i)}}return A.prototype.$setMaxTokenCount=function(A){B=0|A},A.prototype.$applyToken=function(A){var g=this.splitRegex.exec(A).slice(1),I=this.token.apply(this,g);if("string"===typeof I)return[{type:I,value:A}];for(var C=[],B=0,Q=I.length;Bt){var h=A.substring(t,l-r.length);a.type==s?a.value+=h:(a.type&&E.push(a),a={type:s,value:h})}for(var d=0;dB){for(n>2*A.length&&this.reportError("infinite loop with in ace tokenizer",{startState:g,line:A});t1&&I[0]!==C&&I.unshift("#tmp",C),{tokens:E,state:I.length?I:C}},A}();Q.prototype.reportError=C,g.Tokenizer=Q})),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],(function(A,g,I){"use strict";var C,B=A("../lib/deep_copy").deepCopy;(function(){this.addRules=function(A,g){if(g)for(var I in A){for(var C=A[I],B=0;B=this.$rowTokens.length;){if(this.$row+=1,A||(A=this.$session.getLength()),this.$row>=A)return this.$row=A-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},A.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},A.prototype.getCurrentTokenRow=function(){return this.$row},A.prototype.getCurrentTokenColumn=function(){var A=this.$rowTokens,g=this.$tokenIndex,I=A[g].start;if(void 0!==I)return I;for(I=0;g>0;)I+=A[g-=1].value.length;return I},A.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},A.prototype.getCurrentTokenRange=function(){var A=this.$rowTokens[this.$tokenIndex],g=this.getCurrentTokenColumn();return new C(this.$row,g,this.$row,g+A.value.length)},A}();g.TokenIterator=B})),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],(function(A,g,I){"use strict";var C,B,Q=A("../../lib/oop"),i=A("../behaviour").Behaviour,o=A("../../token_iterator").TokenIterator,e=A("../../lib/lang"),E=["text","paren.rparen","rparen","paren","punctuation.operator"],t=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],n={},a={'"':'"',"'":"'"},s=function(A){var g=-1;if(A.multiSelect&&(g=A.selection.index,n.rangeCount!=A.multiSelect.rangeCount&&(n={rangeCount:A.multiSelect.rangeCount})),n[g])return C=n[g];C=n[g]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},c=function(A,g,I,C){var B=A.end.row-A.start.row;return{text:I+g+C,selection:[0,A.start.column+1,B,A.end.column+(B?0:1)]}};(B=function(A){A=A||{},this.add("braces","insertion",(function(g,I,Q,i,o){var E=Q.getCursorPosition(),t=i.doc.getLine(E.row);if("{"==o){s(Q);var n=Q.getSelectionRange(),a=i.doc.getTextRange(n),r=i.getTokenAt(E.row,E.column);if(""!==a&&"{"!==a&&Q.getWrapBehavioursEnabled())return c(n,a,"{","}");if(r&&/(?:string)\.quasi|\.xml/.test(r.type)){if([/tag\-(?:open|name)/,/attribute\-name/].some((function(A){return A.test(r.type)}))||/(string)\.quasi/.test(r.type)&&"$"!==r.value[E.column-r.start-1])return;return B.recordAutoInsert(Q,i,"}"),{text:"{}",selection:[1,1]}}if(B.isSaneInsertion(Q,i))return/[\]\}\)]/.test(t[E.column])||Q.inMultiSelectMode||A.braces?(B.recordAutoInsert(Q,i,"}"),{text:"{}",selection:[1,1]}):(B.recordMaybeInsert(Q,i,"{"),{text:"{",selection:[1,1]})}else if("}"==o){if(s(Q),"}"==t.substring(E.column,E.column+1))if(null!==i.$findOpeningBracket("}",{column:E.column+1,row:E.row})&&B.isAutoInsertedClosing(E,t,o))return B.popAutoInsertedClosing(),{text:"",selection:[1,1]}}else{if("\n"==o||"\r\n"==o){s(Q);var l="";if(B.isMaybeInsertedClosing(E,t)&&(l=e.stringRepeat("}",C.maybeInsertedBrackets),B.clearMaybeInsertedClosing()),"}"===t.substring(E.column,E.column+1)){var h=i.findMatchingBracket({row:E.row,column:E.column+1},"}");if(!h)return null;var d=this.$getIndent(i.getLine(h.row))}else{if(!l)return void B.clearMaybeInsertedClosing();d=this.$getIndent(t)}var G=d+i.getTabString();return{text:"\n"+G+"\n"+d+l,selection:[1,G.length,1,G.length]}}B.clearMaybeInsertedClosing()}})),this.add("braces","deletion",(function(A,g,I,B,Q){var i=B.doc.getTextRange(Q);if(!Q.isMultiLine()&&"{"==i){if(s(I),"}"==B.doc.getLine(Q.start.row).substring(Q.end.column,Q.end.column+1))return Q.end.column++,Q;C.maybeInsertedBrackets--}})),this.add("parens","insertion",(function(A,g,I,C,Q){if("("==Q){s(I);var i=I.getSelectionRange(),o=C.doc.getTextRange(i);if(""!==o&&I.getWrapBehavioursEnabled())return c(i,o,"(",")");if(B.isSaneInsertion(I,C))return B.recordAutoInsert(I,C,")"),{text:"()",selection:[1,1]}}else if(")"==Q){s(I);var e=I.getCursorPosition(),E=C.doc.getLine(e.row);if(")"==E.substring(e.column,e.column+1))if(null!==C.$findOpeningBracket(")",{column:e.column+1,row:e.row})&&B.isAutoInsertedClosing(e,E,Q))return B.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("parens","deletion",(function(A,g,I,C,B){var Q=C.doc.getTextRange(B);if(!B.isMultiLine()&&"("==Q&&(s(I),")"==C.doc.getLine(B.start.row).substring(B.start.column+1,B.start.column+2)))return B.end.column++,B})),this.add("brackets","insertion",(function(A,g,I,C,Q){if("["==Q){s(I);var i=I.getSelectionRange(),o=C.doc.getTextRange(i);if(""!==o&&I.getWrapBehavioursEnabled())return c(i,o,"[","]");if(B.isSaneInsertion(I,C))return B.recordAutoInsert(I,C,"]"),{text:"[]",selection:[1,1]}}else if("]"==Q){s(I);var e=I.getCursorPosition(),E=C.doc.getLine(e.row);if("]"==E.substring(e.column,e.column+1))if(null!==C.$findOpeningBracket("]",{column:e.column+1,row:e.row})&&B.isAutoInsertedClosing(e,E,Q))return B.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("brackets","deletion",(function(A,g,I,C,B){var Q=C.doc.getTextRange(B);if(!B.isMultiLine()&&"["==Q&&(s(I),"]"==C.doc.getLine(B.start.row).substring(B.start.column+1,B.start.column+2)))return B.end.column++,B})),this.add("string_dquotes","insertion",(function(A,g,I,C,B){var Q=C.$mode.$quotes||a;if(1==B.length&&Q[B]){if(this.lineCommentStart&&-1!=this.lineCommentStart.indexOf(B))return;s(I);var i=B,o=I.getSelectionRange(),e=C.doc.getTextRange(o);if(!(""===e||1==e.length&&Q[e])&&I.getWrapBehavioursEnabled())return c(o,e,i,i);if(!e){var E=I.getCursorPosition(),t=C.doc.getLine(E.row),n=t.substring(E.column-1,E.column),r=t.substring(E.column,E.column+1),l=C.getTokenAt(E.row,E.column),h=C.getTokenAt(E.row,E.column+1);if("\\"==n&&l&&/escape/.test(l.type))return null;var d,G=l&&/string|escape/.test(l.type),D=!h||/string|escape/.test(h.type);if(r==i)(d=G!==D)&&/string\.end/.test(h.type)&&(d=!1);else{if(G&&!D)return null;if(G&&D)return null;var y=C.$mode.tokenRe;y.lastIndex=0;var w=y.test(n);y.lastIndex=0;var u=y.test(r),S=C.$mode.$pairQuotesAfter;if(!(S&&S[i]&&S[i].test(n))&&w||u)return null;if(r&&!/[\s;,.})\]\\]/.test(r))return null;var N=t[E.column-2];if(n==i&&(N==i||y.test(N)))return null;d=!0}return{text:d?i+i:"",selection:[1,1]}}}})),this.add("string_dquotes","deletion",(function(A,g,I,C,B){var Q=C.$mode.$quotes||a,i=C.doc.getTextRange(B);if(!B.isMultiLine()&&Q.hasOwnProperty(i)&&(s(I),C.doc.getLine(B.start.row).substring(B.start.column+1,B.start.column+2)==i))return B.end.column++,B})),!1!==A.closeDocComment&&this.add("doc comment end","insertion",(function(A,g,I,C,B){if("doc-start"===A&&("\n"===B||"\r\n"===B)&&I.selection.isEmpty()){var Q=I.getCursorPosition();if(0===Q.column)return;for(var i=C.doc.getLine(Q.row),o=C.doc.getLine(Q.row+1),e=C.getTokens(Q.row),E=0,t=0;t=Q.column){if(E===Q.column){if(!/\.doc/.test(n.type))return;if(/\*\//.test(n.value)){var a=e[t+1];if(!a||!/\.doc/.test(a.type))return}}var s=Q.column-(E-n.value.length),c=n.value.indexOf("*/"),r=n.value.indexOf("/**",c>-1?c+2:0);if(-1!==r&&s>r&&s=c&&s<=r||!/\.doc/.test(n.type))return;break}}var l=this.$getIndent(i);if(/\s*\*/.test(o))return/^\s*\*/.test(i)?{text:B+l+"* ",selection:[1,2+l.length,1,2+l.length]}:{text:B+l+" * ",selection:[1,3+l.length,1,3+l.length]};if(/\/\*\*/.test(i.substring(0,Q.column)))return{text:B+l+" * "+B+" "+l+"*/",selection:[1,4+l.length,1,4+l.length]}}}))}).isSaneInsertion=function(A,g){var I=A.getCursorPosition(),C=new o(g,I.row,I.column);if(!this.$matchTokenType(C.getCurrentToken()||"text",E)){if(/[)}\]]/.test(A.session.getLine(I.row)[I.column]))return!0;var B=new o(g,I.row,I.column+1);if(!this.$matchTokenType(B.getCurrentToken()||"text",E))return!1}return C.stepForward(),C.getCurrentTokenRow()!==I.row||this.$matchTokenType(C.getCurrentToken()||"text",t)},B.$matchTokenType=function(A,g){return g.indexOf(A.type||A)>-1},B.recordAutoInsert=function(A,g,I){var B=A.getCursorPosition(),Q=g.doc.getLine(B.row);this.isAutoInsertedClosing(B,Q,C.autoInsertedLineEnd[0])||(C.autoInsertedBrackets=0),C.autoInsertedRow=B.row,C.autoInsertedLineEnd=I+Q.substr(B.column),C.autoInsertedBrackets++},B.recordMaybeInsert=function(A,g,I){var B=A.getCursorPosition(),Q=g.doc.getLine(B.row);this.isMaybeInsertedClosing(B,Q)||(C.maybeInsertedBrackets=0),C.maybeInsertedRow=B.row,C.maybeInsertedLineStart=Q.substr(0,B.column)+I,C.maybeInsertedLineEnd=Q.substr(B.column),C.maybeInsertedBrackets++},B.isAutoInsertedClosing=function(A,g,I){return C.autoInsertedBrackets>0&&A.row===C.autoInsertedRow&&I===C.autoInsertedLineEnd[0]&&g.substr(A.column)===C.autoInsertedLineEnd},B.isMaybeInsertedClosing=function(A,g){return C.maybeInsertedBrackets>0&&A.row===C.maybeInsertedRow&&g.substr(A.column)===C.maybeInsertedLineEnd&&g.substr(0,A.column)==C.maybeInsertedLineStart},B.popAutoInsertedClosing=function(){C.autoInsertedLineEnd=C.autoInsertedLineEnd.substr(1),C.autoInsertedBrackets--},B.clearMaybeInsertedClosing=function(){C&&(C.maybeInsertedBrackets=0,C.maybeInsertedRow=-1)},Q.inherits(B,i),g.CstyleBehaviour=B})),ace.define("ace/unicode",["require","exports","module"],(function(A,g,I){"use strict";for(var C=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],B=0,Q=[],i=0;i2?C%e!=e-1:C%e==0})}else{if(!this.blockComment)return!1;var s=this.blockComment.start,c=this.blockComment.end,r=new RegExp("^(\\s*)(?:"+E.escapeRegExp(s)+")"),l=new RegExp("(?:"+E.escapeRegExp(c)+")\\s*$"),h=function(A,g){G(A,g)||Q&&!/\S/.test(A)||(B.insertInLine({row:g,column:A.length},c),B.insertInLine({row:g,column:o},s))},d=function(A,g){var I;(I=A.match(l))&&B.removeInLine(g,A.length-I[0].length,A.length),(I=A.match(r))&&B.removeInLine(g,I[1].length,I[0].length)},G=function(A,I){if(r.test(A))return!0;for(var C=g.getTokens(I),B=0;BA.length&&(y=A.length)})),o==1/0&&(o=y,Q=!1,i=!1),t&&o%e!=0&&(o=Math.floor(o/e)*e),D(i?d:h)},this.toggleBlockComment=function(A,g,I,C){var B=this.blockComment;if(B){!B.start&&B[0]&&(B=B[0]);var Q,i,o=(r=new t(g,C.row,C.column)).getCurrentToken(),e=(g.selection,g.selection.toOrientedRange());if(o&&/comment/.test(o.type)){for(var E,a;o&&/comment/.test(o.type);){if(-1!=(l=o.value.indexOf(B.start))){var s=r.getCurrentTokenRow(),c=r.getCurrentTokenColumn()+l;E=new n(s,c,s,c+B.start.length);break}o=r.stepBackward()}var r;for(o=(r=new t(g,C.row,C.column)).getCurrentToken();o&&/comment/.test(o.type);){var l;if(-1!=(l=o.value.indexOf(B.end))){s=r.getCurrentTokenRow(),c=r.getCurrentTokenColumn()+l;a=new n(s,c,s,c+B.end.length);break}o=r.stepForward()}a&&g.remove(a),E&&(g.remove(E),Q=E.start.row,i=-B.start.length)}else i=B.start.length,Q=I.start.row,g.insert(I.end,B.end),g.insert(I.start,B.start);e.start.row==Q&&(e.start.column+=i),e.end.row==Q&&(e.end.column+=i),g.selection.fromOrientedRange(e)}},this.getNextLineIndent=function(A,g,I){return this.$getIndent(g)},this.checkOutdent=function(A,g,I){return!1},this.autoOutdent=function(A,g,I){},this.$getIndent=function(A){return A.match(/^\s*/)[0]},this.createWorker=function(A){return null},this.createModeDelegates=function(A){for(var g in this.$embeds=[],this.$modes={},A)if(A[g]){var I=A[g],C=I.prototype.$id,Q=B.$modes[C];Q||(B.$modes[C]=Q=new I),B.$modes[g]||(B.$modes[g]=Q),this.$embeds.push(g),this.$modes[g]=Q}var i=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],o=function(A){!function(g){var I=i[A],C=g[I];g[i[A]]=function(){return this.$delegator(I,arguments,C)}}(e)},e=this;for(g=0;gthis.row)){var g=function(A,g,I){var C="insert"==A.action,B=(C?1:-1)*(A.end.row-A.start.row),Q=(C?1:-1)*(A.end.column-A.start.column),o=A.start,e=C?o:A.end;if(i(g,o,I))return{row:g.row,column:g.column};if(i(e,g,!I))return{row:g.row+B,column:g.column+(g.row==e.row?Q:0)};return{row:o.row,column:o.column}}(A,{row:this.row,column:this.column},this.$insertRight);this.setPosition(g.row,g.column,!0)}},A.prototype.setPosition=function(A,g,I){var C;if(C=I?{row:A,column:g}:this.$clipPositionToDocument(A,g),this.row!=C.row||this.column!=C.column){var B={row:this.row,column:this.column};this.row=C.row,this.column=C.column,this._signal("change",{old:B,value:C})}},A.prototype.detach=function(){this.document.off("change",this.$onChange)},A.prototype.attach=function(A){this.document=A||this.document,this.document.on("change",this.$onChange)},A.prototype.$clipPositionToDocument=function(A,g){var I={};return A>=this.document.getLength()?(I.row=Math.max(0,this.document.getLength()-1),I.column=this.document.getLine(I.row).length):A<0?(I.row=0,I.column=0):(I.row=A,I.column=Math.min(this.document.getLine(I.row).length,Math.max(0,g))),g<0&&(I.column=0),I},A}();function i(A,g,I){var C=I?A.column<=g.column:A.column=I&&(A=I-1,g=void 0);var C=this.getLine(A);return void 0==g&&(g=C.length),{row:A,column:g=Math.min(Math.max(g,0),C.length)}},A.prototype.clonePos=function(A){return{row:A.row,column:A.column}},A.prototype.pos=function(A,g){return{row:A,column:g}},A.prototype.$clipPosition=function(A){var g=this.getLength();return A.row>=g?(A.row=Math.max(0,g-1),A.column=this.getLine(g-1).length):(A.row=Math.max(0,A.row),A.column=Math.min(Math.max(A.column,0),this.getLine(A.row).length)),A},A.prototype.insertFullLines=function(A,g){var I=0;(A=Math.min(Math.max(A,0),this.getLength()))0,C=g=0&&this.applyDelta({start:this.pos(A,this.getLine(A).length),end:this.pos(A+1,0),action:"remove",lines:["",""]})},A.prototype.replace=function(A,g){return A instanceof i||(A=i.fromPoints(A.start,A.end)),0===g.length&&A.isEmpty()?A.start:g==this.getTextRange(A)?A.end:(this.remove(A),g?this.insert(A.start,g):A.start)},A.prototype.applyDeltas=function(A){for(var g=0;g=0;g--)this.revertDelta(A[g])},A.prototype.applyDelta=function(A,g){var I="insert"==A.action;(I?A.lines.length<=1&&!A.lines[0]:!i.comparePoints(A.start,A.end))||(I&&A.lines.length>2e4?this.$splitAndapplyLargeDelta(A,2e4):(B(this.$lines,A,g),this._signal("change",A)))},A.prototype.$safeApplyDelta=function(A){var g=this.$lines.length;("remove"==A.action&&A.start.row20){I.running=setTimeout(I.$worker,20);break}}I.currentLine=g,-1==C&&(C=g),Q<=C&&I.fireUpdateEvent(Q,C)}}}return A.prototype.setTokenizer=function(A){this.tokenizer=A,this.lines=[],this.states=[],this.start(0)},A.prototype.setDocument=function(A){this.doc=A,this.lines=[],this.states=[],this.stop()},A.prototype.fireUpdateEvent=function(A,g){var I={first:A,last:g};this._signal("update",{data:I})},A.prototype.start=function(A){this.currentLine=Math.min(A||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},A.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},A.prototype.$updateOnChange=function(A){var g=A.start.row,I=A.end.row-g;if(0===I)this.lines[g]=null;else if("remove"==A.action)this.lines.splice(g,I+1,null),this.states.splice(g,I+1,null);else{var C=Array(I+1);C.unshift(g,1),this.lines.splice.apply(this.lines,C),this.states.splice.apply(this.states,C)}this.currentLine=Math.min(g,this.currentLine,this.doc.getLength()),this.stop()},A.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},A.prototype.getTokens=function(A){return this.lines[A]||this.$tokenizeRow(A)},A.prototype.getState=function(A){return this.currentLine==A&&this.$tokenizeRow(A),this.states[A]||"start"},A.prototype.$tokenizeRow=function(A){var g=this.doc.getLine(A),I=this.states[A-1],C=this.tokenizer.getLineTokens(g,I,A);return this.states[A]+""!==C.state+""?(this.states[A]=C.state,this.lines[A+1]=null,this.currentLine>A+1&&(this.currentLine=A+1)):this.currentLine==A&&(this.currentLine=A+1),this.lines[A]=C.tokens},A.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},A}();C.implement(Q.prototype,B),g.BackgroundTokenizer=Q})),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],(function(A,g,I){"use strict";var C=A("./lib/lang"),B=A("./range").Range,Q=function(){function A(A,g,I){void 0===I&&(I="text"),this.setRegexp(A),this.clazz=g,this.type=I}return A.prototype.setRegexp=function(A){this.regExp+""!=A+""&&(this.regExp=A,this.cache=[])},A.prototype.update=function(A,g,I,Q){if(this.regExp)for(var i=Q.firstRow,o=Q.lastRow,e={},E=i;E<=o;E++){var t=this.cache[E];null==t&&((t=C.getMatchOffsets(I.getLine(E),this.regExp)).length>this.MAX_RANGES&&(t=t.slice(0,this.MAX_RANGES)),t=t.map((function(A){return new B(E,A.offset,E,A.offset+A.length)})),this.cache[E]=t.length?t:"");for(var n=t.length;n--;){var a=t[n].toScreenRange(I),s=a.toString();e[s]||(e[s]=!0,g.drawSingleLineMarker(A,a,this.clazz,Q))}}},A}();Q.prototype.MAX_RANGES=500,g.SearchHighlight=Q})),ace.define("ace/undomanager",["require","exports","module","ace/range"],(function(A,g,I){"use strict";var C=function(){function A(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return A.prototype.addSession=function(A){this.$session=A},A.prototype.add=function(A,g,I){if(!this.$fromUndo&&A!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),!1===g||!this.lastDeltas){this.lastDeltas=[];var C=this.$undoStack.length;C>this.$undoDepth-1&&this.$undoStack.splice(0,C-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),A.id=this.$rev=++this.$maxRev}"remove"!=A.action&&"insert"!=A.action||(this.$lastDelta=A),this.lastDeltas.push(A)}},A.prototype.addSelection=function(A,g){this.selections.push({value:A,rev:g||this.$rev})},A.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},A.prototype.markIgnored=function(A,g){null==g&&(g=this.$rev+1);for(var I=this.$undoStack,C=I.length;C--;){var B=I[C][0];if(B.id<=A)break;B.id0},A.prototype.canRedo=function(){return this.$redoStack.length>0},A.prototype.bookmark=function(A){void 0==A&&(A=this.$rev),this.mark=A},A.prototype.isAtBookmark=function(){return this.$rev===this.mark},A.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},A.prototype.fromJSON=function(A){this.reset(),this.$undoStack=A.$undoStack,this.$redoStack=A.$redoStack},A.prototype.$prettyPrint=function(A){return A?o(A):o(this.$undoStack)+"\n---\n"+o(this.$redoStack)},A}();C.prototype.hasUndo=C.prototype.canUndo,C.prototype.hasRedo=C.prototype.canRedo,C.prototype.isClean=C.prototype.isAtBookmark,C.prototype.markClean=C.prototype.bookmark;var B=A("./range").Range,Q=B.comparePoints;B.comparePoints;function i(A){return{row:A.row,column:A.column}}function o(A){if(A=A||this,Array.isArray(A))return A.map(o).join("\n");var g="";return A.action?(g="insert"==A.action?"+":"-",g+="["+A.lines+"]"):A.value&&(g=Array.isArray(A.value)?A.value.map(e).join("\n"):e(A.value)),A.start&&(g+=e(A)),(A.id||A.rev)&&(g+="\t("+(A.id||A.rev)+")"),g}function e(A){return A.start.row+":"+A.start.column+"=>"+A.end.row+":"+A.end.column}function E(A,g){var I="insert"==A.action,C="insert"==g.action;if(I&&C)if(Q(g.start,A.end)>=0)a(g,A,-1);else{if(!(Q(g.start,A.start)<=0))return null;a(A,g,1)}else if(I&&!C)if(Q(g.start,A.end)>=0)a(g,A,-1);else{if(!(Q(g.end,A.start)<=0))return null;a(A,g,-1)}else if(!I&&C)if(Q(g.start,A.start)>=0)a(g,A,1);else{if(!(Q(g.start,A.start)<=0))return null;a(A,g,1)}else if(!I&&!C)if(Q(g.start,A.start)>=0)a(g,A,1);else{if(!(Q(g.end,A.start)<=0))return null;a(A,g,-1)}return[g,A]}function t(A,g){for(var I=A.length;I--;)for(var C=0;C=0?a(A,g,-1):(Q(A.start,g.start)<=0||a(A,B.fromPoints(g.start,A.start),-1),a(g,A,1));else if(!I&&C)Q(g.start,A.end)>=0?a(g,A,-1):(Q(g.start,A.start)<=0||a(g,B.fromPoints(A.start,g.start),-1),a(A,g,1));else if(!I&&!C)if(Q(g.start,A.end)>=0)a(g,A,-1);else{var i,o;if(!(Q(g.end,A.start)<=0))return Q(A.start,g.start)<0&&(i=A,A=c(A,g.start)),Q(A.end,g.end)>0&&(o=c(A,g.end)),s(g.end,A.start,A.end,-1),o&&!i&&(A.lines=o.lines,A.start=o.start,A.end=o.end,o=A),[g,i,o].filter(Boolean);a(A,g,-1)}return[g,A]}function a(A,g,I){s(A.start,g.start,g.end,I),s(A.end,g.start,g.end,I)}function s(A,g,I,C){A.row==(1==C?g:I).row&&(A.column+=C*(I.column-g.column)),A.row+=C*(I.row-g.row)}function c(A,g){var I=A.lines,C=A.end;A.end=i(g);var B=A.end.row-A.start.row,Q=I.splice(B,I.length),o=B?g.column:g.column-A.start.column;return I.push(Q[0].substring(0,o)),Q[0]=Q[0].substr(o),{start:i(g),end:C,lines:Q,action:A.action}}function r(A,g){g=function(A){return{start:i(A.start),end:i(A.end),action:A.action,lines:A.lines.slice()}}(g);for(var I=A.length;I--;){for(var C=A[I],B=0;Bthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(A),this.folds.sort((function(A,g){return-A.range.compareEnd(g.start.row,g.start.column)})),this.range.compareEnd(A.start.row,A.start.column)>0?(this.end.row=A.end.row,this.end.column=A.end.column):this.range.compareStart(A.end.row,A.end.column)<0&&(this.start.row=A.start.row,this.start.column=A.start.column)}else if(A.start.row==this.end.row)this.folds.push(A),this.end.row=A.end.row,this.end.column=A.end.column;else{if(A.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(A),this.start.row=A.start.row,this.start.column=A.start.column}A.foldLine=this},A.prototype.containsRow=function(A){return A>=this.start.row&&A<=this.end.row},A.prototype.walk=function(A,g,I){var C,B,Q=0,i=this.folds,o=!0;null==g&&(g=this.end.row,I=this.end.column);for(var e=0;e0)){var e=C(A,i.start);return 0===o?g&&0!==e?-Q-2:Q:e>0||0===e&&!g?Q:-Q-1}}return-Q-1},A.prototype.add=function(A){var g=!A.isEmpty(),I=this.pointIndex(A.start,g);I<0&&(I=-I-1);var C=this.pointIndex(A.end,g,I);return C<0?C=-C-1:C++,this.ranges.splice(I,C-I,A)},A.prototype.addList=function(A){for(var g=[],I=A.length;I--;)g.push.apply(g,this.add(A[I]));return g},A.prototype.substractPoint=function(A){var g=this.pointIndex(A);if(g>=0)return this.ranges.splice(g,1)},A.prototype.merge=function(){for(var A,g=[],I=this.ranges,B=(I=I.sort((function(A,g){return C(A.start,g.start)})))[0],Q=1;Q=0},A.prototype.containsPoint=function(A){return this.pointIndex(A)>=0},A.prototype.rangeAtPoint=function(A){var g=this.pointIndex(A);if(g>=0)return this.ranges[g]},A.prototype.clipRows=function(A,g){var I=this.ranges;if(I[0].start.row>g||I[I.length-1].start.row=C)break}if("insert"==A.action)for(var e=B-C,E=-g.column+I.column;iC)break;if(t.start.row==C&&t.start.column>=g.column&&(t.start.column==g.column&&this.$bias<=0||(t.start.column+=E,t.start.row+=e)),t.end.row==C&&t.end.column>=g.column){if(t.end.column==g.column&&this.$bias<0)continue;t.end.column==g.column&&E>0&&it.start.column&&t.end.column==Q[i+1].start.column&&(t.end.column-=E),t.end.column+=E,t.end.row+=e}}else for(e=C-B,E=g.column-I.column;iB)break;t.end.rowg.column)&&(t.end.column=g.column,t.end.row=g.row):(t.end.column+=E,t.end.row+=e):t.end.row>B&&(t.end.row+=e),t.start.rowg.column)&&(t.start.column=g.column,t.start.row=g.row):(t.start.column+=E,t.start.row+=e):t.start.row>B&&(t.start.row+=e)}if(0!=e&&i=A)return B;if(B.end.row>A)return null}return null},this.getNextFoldLine=function(A,g){var I=this.$foldData,C=0;for(g&&(C=I.indexOf(g)),-1==C&&(C=0);C=A)return B}return null},this.getFoldedRowCount=function(A,g){for(var I=this.$foldData,C=g-A+1,B=0;B=g){o=A?C-=g-o:C=0);break}i>=A&&(C-=o>=A?i-o:i-A+1)}return C},this.$addFoldLine=function(A){return this.$foldData.push(A),this.$foldData.sort((function(A,g){return A.start.row-g.start.row})),A},this.addFold=function(A,g){var I,C=this.$foldData,i=!1;A instanceof Q?I=A:(I=new Q(g,A)).collapseChildren=g.collapseChildren,this.$clipRangeToDocument(I.range);var o=I.start.row,e=I.start.column,E=I.end.row,t=I.end.column,n=this.getFoldAt(o,e,1),a=this.getFoldAt(E,t,-1);if(n&&a==n)return n.addSubFold(I);n&&!n.range.isStart(o,e)&&this.removeFold(n),a&&!a.range.isEnd(E,t)&&this.removeFold(a);var s=this.getFoldsInRange(I.range);s.length>0&&(this.removeFolds(s),I.collapseChildren||s.forEach((function(A){I.addSubFold(A)})));for(var c=0;c0&&this.foldAll(A.start.row+1,A.end.row,A.collapseChildren-1),A.subFolds=[]},this.expandFolds=function(A){A.forEach((function(A){this.expandFold(A)}),this)},this.unfold=function(A,g){var I,B;if(null==A)I=new C(0,0,this.getLength(),0),null==g&&(g=!0);else if("number"==typeof A)I=new C(A,0,A,this.getLine(A).length);else if("row"in A)I=C.fromPoints(A,A);else{if(Array.isArray(A))return B=[],A.forEach((function(A){B=B.concat(this.unfold(A))}),this),B;I=A}for(var Q=B=this.getFoldsInRangeList(I);1==B.length&&C.comparePoints(B[0].start,I.start)<0&&C.comparePoints(B[0].end,I.end)>0;)this.expandFolds(B),B=this.getFoldsInRangeList(I);if(0!=g?this.removeFolds(B):this.expandFolds(B),Q.length)return Q},this.isRowFolded=function(A,g){return!!this.getFoldLine(A,g)},this.getRowFoldEnd=function(A,g){var I=this.getFoldLine(A,g);return I?I.end.row:A},this.getRowFoldStart=function(A,g){var I=this.getFoldLine(A,g);return I?I.start.row:A},this.getFoldDisplayLine=function(A,g,I,C,B){null==C&&(C=A.start.row),null==B&&(B=0),null==g&&(g=A.end.row),null==I&&(I=this.getLine(g).length);var Q=this.doc,i="";return A.walk((function(A,g,I,o){if(!(gn)break}while(Q&&e.test(Q.type));Q=B.stepBackward()}else Q=B.getCurrentToken();return E.end.row=B.getCurrentTokenRow(),E.end.column=B.getCurrentTokenColumn(),E}},this.foldAll=function(A,g,I,C){void 0==I&&(I=1e5);var B=this.foldWidgets;if(B){g=g||this.getLength();for(var Q=A=A||0;Q=A&&(Q=i.end.row,i.collapseChildren=I,this.addFold("...",i))}}},this.foldToLevel=function(A){for(this.foldAll();A-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var A=this;this.foldAll(null,null,null,(function(g){for(var I=A.getTokens(g),C=0;C=0;){var Q=I[B];if(null==Q&&(Q=I[B]=this.getFoldWidget(B)),"start"==Q){var i=this.getFoldWidgetRange(B);if(C||(C=i),i&&i.end.row>=A)break}B--}return{range:-1!==B&&i,firstRange:C}},this.onFoldWidgetClick=function(A,g){g instanceof o&&(g=g.domEvent);var I={children:g.shiftKey,all:g.ctrlKey||g.metaKey,siblings:g.altKey};if(!this.$toggleFoldWidget(A,I)){var C=g.target||g.srcElement;C&&/ace_fold-widget/.test(C.className)&&(C.className+=" ace_invalid")}},this.$toggleFoldWidget=function(A,g){if(this.getFoldWidget){var I=this.getFoldWidget(A),C=this.getLine(A),B="end"===I?-1:1,Q=this.getFoldAt(A,-1===B?0:C.length,B);if(Q)return g.children||g.all?this.removeFold(Q):this.expandFold(Q),Q;var i=this.getFoldWidgetRange(A,!0);if(i&&!i.isMultiLine()&&(Q=this.getFoldAt(i.start.row,i.start.column,1))&&i.isEqual(Q.range))return this.removeFold(Q),Q;if(g.siblings){var o=this.getParentFoldRangeData(A);if(o.range)var e=o.range.start.row+1,E=o.range.end.row;this.foldAll(e,E,g.all?1e4:0)}else g.children?(E=i?i.end.row:this.getLength(),this.foldAll(A+1,E,g.all?1e4:0)):i&&(g.all&&(i.collapseChildren=1e4),this.addFold("...",i));return i}},this.toggleFoldWidget=function(A){var g=this.selection.getCursor().row;g=this.getRowFoldStart(g);var I=this.$toggleFoldWidget(g,{});if(!I){var C=this.getParentFoldRangeData(g,!0);if(I=C.range||C.firstRange){g=I.start.row;var B=this.getFoldAt(g,this.getLine(g).length,1);B?this.removeFold(B):this.addFold("...",I)}}},this.updateFoldWidgets=function(A){var g=A.start.row,I=A.end.row-g;if(0===I)this.foldWidgets[g]=null;else if("remove"==A.action)this.foldWidgets.splice(g,I+1,null);else{var C=Array(I+1);C.unshift(g,1),this.foldWidgets.splice.apply(this.foldWidgets,C)}},this.tokenizerUpdateFoldWidgets=function(A){var g=A.data;g.first!=g.last&&this.foldWidgets.length>g.first&&this.foldWidgets.splice(g.first,this.foldWidgets.length)}}})),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],(function(A,g,I){"use strict";var C=A("../token_iterator").TokenIterator,B=A("../range").Range;g.BracketMatch=function(){this.findMatchingBracket=function(A,g){if(0==A.column)return null;var I=g||this.getLine(A.row).charAt(A.column-1);if(""==I)return null;var C=I.match(/([\(\[\{])|([\)\]\}])/);return C?C[1]?this.$findClosingBracket(C[1],A):this.$findOpeningBracket(C[2],A):null},this.getBracketRange=function(A){var g,I=this.getLine(A.row),C=!0,Q=I.charAt(A.column-1),i=Q&&Q.match(/([\(\[\{])|([\)\]\}])/);if(i||(Q=I.charAt(A.column),A={row:A.row,column:A.column+1},i=Q&&Q.match(/([\(\[\{])|([\)\]\}])/),C=!1),!i)return null;if(i[1]){if(!(o=this.$findClosingBracket(i[1],A)))return null;g=B.fromPoints(A,o),C||(g.end.column++,g.start.column--),g.cursor=g.end}else{var o;if(!(o=this.$findOpeningBracket(i[2],A)))return null;g=B.fromPoints(o,A),C||(g.start.column++,g.end.column--),g.cursor=g.start}return g},this.getMatchingBracketRanges=function(A,g){var I=this.getLine(A.row),C=/([\(\[\{])|([\)\]\}])/,Q=!g&&I.charAt(A.column-1),i=Q&&Q.match(C);if(i||(Q=(void 0===g||g)&&I.charAt(A.column),A={row:A.row,column:A.column+1},i=Q&&Q.match(C)),!i)return null;var o=new B(A.row,A.column-1,A.row,A.column),e=i[1]?this.$findClosingBracket(i[1],A):this.$findOpeningBracket(i[2],A);return e?[o,new B(e.row,e.column,e.row,e.column+1)]:[o]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(A,g,I){var B=this.$brackets[A],Q=1,i=new C(this,g.row,g.column),o=i.getCurrentToken();if(o||(o=i.stepForward()),o){I||(I=new RegExp("(\\.?"+o.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var e=g.column-i.getCurrentTokenColumn()-2,E=o.value;;){for(;e>=0;){var t=E.charAt(e);if(t==B){if(0==(Q-=1))return{row:i.getCurrentTokenRow(),column:e+i.getCurrentTokenColumn()}}else t==A&&(Q+=1);e-=1}do{o=i.stepBackward()}while(o&&!I.test(o.type));if(null==o)break;e=(E=o.value).length-1}return null}},this.$findClosingBracket=function(A,g,I){var B=this.$brackets[A],Q=1,i=new C(this,g.row,g.column),o=i.getCurrentToken();if(o||(o=i.stepForward()),o){I||(I=new RegExp("(\\.?"+o.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var e=g.column-i.getCurrentTokenColumn();;){for(var E=o.value,t=E.length;e"===g.value?C=!0:-1!==g.type.indexOf("tag-name")&&(I=!0))}while(g&&!I);return g},this.$findClosingTag=function(A,g){var I,C=g.value,Q=g.value,i=0,o=new B(A.getCurrentTokenRow(),A.getCurrentTokenColumn(),A.getCurrentTokenRow(),A.getCurrentTokenColumn()+1);g=A.stepForward();var e=new B(A.getCurrentTokenRow(),A.getCurrentTokenColumn(),A.getCurrentTokenRow(),A.getCurrentTokenColumn()+g.value.length),E=!1;do{if(-1!==(I=g).type.indexOf("tag-close")&&!E){var t=new B(A.getCurrentTokenRow(),A.getCurrentTokenColumn(),A.getCurrentTokenRow(),A.getCurrentTokenColumn()+1);E=!0}if(g=A.stepForward()){if(">"===g.value&&!E){t=new B(A.getCurrentTokenRow(),A.getCurrentTokenColumn(),A.getCurrentTokenRow(),A.getCurrentTokenColumn()+1);E=!0}if(-1!==g.type.indexOf("tag-name")){if(Q===(C=g.value))if("<"===I.value)i++;else if(""!==g.value)return;var s=new B(A.getCurrentTokenRow(),A.getCurrentTokenColumn(),A.getCurrentTokenRow(),A.getCurrentTokenColumn()+1)}}else if(Q===C&&"/>"===g.value&&--i<0)s=a=n=new B(A.getCurrentTokenRow(),A.getCurrentTokenColumn(),A.getCurrentTokenRow(),A.getCurrentTokenColumn()+2),t=new B(e.end.row,e.end.column,e.end.row,e.end.column+1)}}while(g&&i>=0);if(o&&t&&n&&s&&e&&a)return{openTag:new B(o.start.row,o.start.column,t.end.row,t.end.column),closeTag:new B(n.start.row,n.start.column,s.end.row,s.end.column),openTagName:e,closeTagName:a}},this.$findOpeningTag=function(A,g){var I=A.getCurrentToken(),C=g.value,Q=0,i=A.getCurrentTokenRow(),o=A.getCurrentTokenColumn(),e=o+2,E=new B(i,o,i,e);A.stepForward();var t=new B(A.getCurrentTokenRow(),A.getCurrentTokenColumn(),A.getCurrentTokenRow(),A.getCurrentTokenColumn()+g.value.length);if(-1===g.type.indexOf("tag-close")&&(g=A.stepForward()),g&&">"===g.value){var n=new B(A.getCurrentTokenRow(),A.getCurrentTokenColumn(),A.getCurrentTokenRow(),A.getCurrentTokenColumn()+1);A.stepBackward(),A.stepBackward();do{if(g=I,i=A.getCurrentTokenRow(),e=(o=A.getCurrentTokenColumn())+g.value.length,I=A.stepBackward(),g)if(-1!==g.type.indexOf("tag-name")){if(C===g.value)if("<"===I.value){if(++Q>0){var a=new B(i,o,i,e),s=new B(A.getCurrentTokenRow(),A.getCurrentTokenColumn(),A.getCurrentTokenRow(),A.getCurrentTokenColumn()+1);do{g=A.stepForward()}while(g&&">"!==g.value);var c=new B(A.getCurrentTokenRow(),A.getCurrentTokenColumn(),A.getCurrentTokenRow(),A.getCurrentTokenColumn()+1)}}else""===g.value){for(var r=0,l=I;l;){if(-1!==l.type.indexOf("tag-name")&&l.value===C){Q--;break}if("<"===l.value)break;l=A.stepBackward(),r++}for(var h=0;hI&&(this.$docRowCache.splice(I,g),this.$screenRowCache.splice(I,g))},A.prototype.$getRowCacheIndex=function(A,g){for(var I=0,C=A.length-1;I<=C;){var B=I+C>>1,Q=A[B];if(g>Q)I=B+1;else{if(!(g=g);Q++);return(I=C[Q])?(I.index=Q,I.start=B-I.value.length,I):null},A.prototype.setUndoManager=function(A){if(this.$undoManager=A,this.$informUndoManager&&this.$informUndoManager.cancel(),A){var g=this;A.addSession(this),this.$syncInformUndoManager=function(){g.$informUndoManager.cancel(),g.mergeUndoDeltas=!1},this.$informUndoManager=B.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},A.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},A.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},A.prototype.getTabString=function(){return this.getUseSoftTabs()?B.stringRepeat(" ",this.getTabSize()):"\t"},A.prototype.setUseSoftTabs=function(A){this.setOption("useSoftTabs",A)},A.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},A.prototype.setTabSize=function(A){this.setOption("tabSize",A)},A.prototype.getTabSize=function(){return this.$tabSize},A.prototype.isTabStop=function(A){return this.$useSoftTabs&&A.column%this.$tabSize===0},A.prototype.setNavigateWithinSoftTabs=function(A){this.setOption("navigateWithinSoftTabs",A)},A.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},A.prototype.setOverwrite=function(A){this.setOption("overwrite",A)},A.prototype.getOverwrite=function(){return this.$overwrite},A.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},A.prototype.addGutterDecoration=function(A,g){this.$decorations[A]||(this.$decorations[A]=""),this.$decorations[A]+=" "+g,this._signal("changeBreakpoint",{})},A.prototype.removeGutterDecoration=function(A,g){this.$decorations[A]=(this.$decorations[A]||"").replace(" "+g,""),this._signal("changeBreakpoint",{})},A.prototype.getBreakpoints=function(){return this.$breakpoints},A.prototype.setBreakpoints=function(A){this.$breakpoints=[];for(var g=0;g0&&(C=!!I.charAt(g-1).match(this.tokenRe)),C||(C=!!I.charAt(g).match(this.tokenRe)),C)var B=this.tokenRe;else if(/^\s+$/.test(I.slice(g-1,g+1)))B=/\s/;else B=this.nonTokenRe;var Q=g;if(Q>0){do{Q--}while(Q>=0&&I.charAt(Q).match(B));Q++}for(var i=g;iA&&(A=g.screenWidth)})),this.lineWidgetWidth=A},A.prototype.$computeWidth=function(A){if(this.$modified||A){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var g=this.doc.getAllLines(),I=this.$rowLengthCache,C=0,B=0,Q=this.$foldData[B],i=Q?Q.start.row:1/0,o=g.length,e=0;ei){if((e=Q.end.row+1)>=o)break;i=(Q=this.$foldData[B++])?Q.start.row:1/0}null==I[e]&&(I[e]=this.$getStringScreenWidth(g[e])[0]),I[e]>C&&(C=I[e])}this.screenWidth=C}},A.prototype.getLine=function(A){return this.doc.getLine(A)},A.prototype.getLines=function(A,g){return this.doc.getLines(A,g)},A.prototype.getLength=function(){return this.doc.getLength()},A.prototype.getTextRange=function(A){return this.doc.getTextRange(A||this.selection.getRange())},A.prototype.insert=function(A,g){return this.doc.insert(A,g)},A.prototype.remove=function(A){return this.doc.remove(A)},A.prototype.removeFullLines=function(A,g){return this.doc.removeFullLines(A,g)},A.prototype.undoChanges=function(A,g){if(A.length){this.$fromUndo=!0;for(var I=A.length-1;-1!=I;I--){var C=A[I];"insert"==C.action||"remove"==C.action?this.doc.revertDelta(C):C.folds&&this.addFolds(C.folds)}!g&&this.$undoSelect&&(A.selectionBefore?this.selection.fromJSON(A.selectionBefore):this.selection.setRange(this.$getUndoSelection(A,!0))),this.$fromUndo=!1}},A.prototype.redoChanges=function(A,g){if(A.length){this.$fromUndo=!0;for(var I=0;IA.end.column&&(Q.start.column+=E),Q.end.row==A.end.row&&Q.end.column>A.end.column&&(Q.end.column+=E)),i&&Q.start.row>=A.end.row&&(Q.start.row+=i,Q.end.row+=i)}if(Q.end=this.insert(Q.start,C),B.length){var o=A.start,e=Q.start,E=(i=e.row-o.row,e.column-o.column);this.addFolds(B.map((function(A){return(A=A.clone()).start.row==o.row&&(A.start.column+=E),A.end.row==o.row&&(A.end.column+=E),A.start.row+=i,A.end.row+=i,A})))}return Q},A.prototype.indentRows=function(A,g,I){I=I.replace(/\t/g,this.getTabString());for(var C=A;C<=g;C++)this.doc.insertInLine({row:C,column:0},I)},A.prototype.outdentRows=function(A){for(var g=A.collapseRows(),I=new t(0,0,0,0),C=this.getTabSize(),B=g.start.row;B<=g.end.row;++B){var Q=this.getLine(B);I.start.row=B,I.end.row=B;for(var i=0;i0){var B;if((B=this.getRowFoldEnd(g+I))>this.doc.getLength()-1)return 0;C=B-g}else{A=this.$clipRowToDocument(A);C=(g=this.$clipRowToDocument(g))-A+1}var Q=new t(A,0,g,Number.MAX_VALUE),i=this.getFoldsInRange(Q).map((function(A){return(A=A.clone()).start.row+=C,A.end.row+=C,A})),o=0==I?this.doc.getLines(A,g):this.doc.removeFullLines(A,g);return this.doc.insertFullLines(A+C,o),i.length&&this.addFolds(i),C},A.prototype.moveLinesUp=function(A,g){return this.$moveLines(A,g,-1)},A.prototype.moveLinesDown=function(A,g){return this.$moveLines(A,g,1)},A.prototype.duplicateLines=function(A,g){return this.$moveLines(A,g,0)},A.prototype.$clipRowToDocument=function(A){return Math.max(0,Math.min(A,this.doc.getLength()-1))},A.prototype.$clipColumnToRow=function(A,g){return g<0?0:Math.min(this.doc.getLine(A).length,g)},A.prototype.$clipPositionToDocument=function(A,g){if(g=Math.max(0,g),A<0)A=0,g=0;else{var I=this.doc.getLength();A>=I?(A=I-1,g=this.doc.getLine(I-1).length):g=Math.min(this.doc.getLine(A).length,g)}return{row:A,column:g}},A.prototype.$clipRangeToDocument=function(A){A.start.row<0?(A.start.row=0,A.start.column=0):A.start.column=this.$clipColumnToRow(A.start.row,A.start.column);var g=this.doc.getLength()-1;return A.end.row>g?(A.end.row=g,A.end.column=this.doc.getLine(g).length):A.end.column=this.$clipColumnToRow(A.end.row,A.end.column),A},A.prototype.setUseWrapMode=function(A){if(A!=this.$useWrapMode){if(this.$useWrapMode=A,this.$modified=!0,this.$resetRowCache(0),A){var g=this.getLength();this.$wrapData=Array(g),this.$updateWrapData(0,g-1)}this._signal("changeWrapMode")}},A.prototype.getUseWrapMode=function(){return this.$useWrapMode},A.prototype.setWrapLimitRange=function(A,g){this.$wrapLimitRange.min===A&&this.$wrapLimitRange.max===g||(this.$wrapLimitRange={min:A,max:g},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},A.prototype.adjustWrapLimit=function(A,g){var I=this.$wrapLimitRange;I.max<0&&(I={min:g,max:g});var C=this.$constrainWrapLimit(A,I.min,I.max);return C!=this.$wrapLimit&&C>1&&(this.$wrapLimit=C,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0)},A.prototype.$constrainWrapLimit=function(A,g,I){return g&&(A=Math.max(g,A)),I&&(A=Math.min(I,A)),A},A.prototype.getWrapLimit=function(){return this.$wrapLimit},A.prototype.setWrapLimit=function(A){this.setWrapLimitRange(A,A)},A.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},A.prototype.$updateInternalDataOnChange=function(A){var g=this.$useWrapMode,I=A.action,C=A.start,B=A.end,Q=C.row,i=B.row,o=i-Q,e=null;if(this.$updating=!0,0!=o)if("remove"===I){this[g?"$wrapData":"$rowLengthCache"].splice(Q,o);var E=this.$foldData;e=this.getFoldsInRange(A),this.removeFolds(e);var t=0;if(r=this.getFoldLine(B.row)){r.addRemoveChars(B.row,B.column,C.column-B.column),r.shiftRow(-o);var n=this.getFoldLine(Q);n&&n!==r&&(n.merge(r),r=n),t=E.indexOf(r)+1}for(;t=B.row&&r.shiftRow(-o)}i=Q}else{var a=Array(o);a.unshift(Q,0);var s=g?this.$wrapData:this.$rowLengthCache;s.splice.apply(s,a);E=this.$foldData,t=0;if(r=this.getFoldLine(Q)){var c=r.range.compareInside(C.row,C.column);0==c?(r=r.split(C.row,C.column))&&(r.shiftRow(o),r.addRemoveChars(i,0,B.column-C.column)):-1==c&&(r.addRemoveChars(Q,0,B.column-C.column),r.shiftRow(o)),t=E.indexOf(r)+1}for(;t=Q&&r.shiftRow(o)}}else o=Math.abs(A.start.column-A.end.column),"remove"===I&&(e=this.getFoldsInRange(A),this.removeFolds(e),o=-o),(r=this.getFoldLine(Q))&&r.addRemoveChars(Q,C.column,o);return g&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,g?this.$updateWrapData(Q,i):this.$updateRowLengthCache(Q,i),e},A.prototype.$updateRowLengthCache=function(A,g){this.$rowLengthCache[A]=null,this.$rowLengthCache[g]=null},A.prototype.$updateWrapData=function(A,g){var I,C,B=this.doc.getAllLines(),Q=this.getTabSize(),i=this.$wrapData,o=this.$wrapLimit,e=A;for(g=Math.min(g,B.length-1);e<=g;)(C=this.getFoldLine(e,C))?(I=[],C.walk(function(A,g,C,Q){var i;if(null!=A){(i=this.$getDisplayTokens(A,I.length))[0]=d;for(var o=1;og-n;){var a=Q+g-n;if(A[a-1]>=y&&A[a]>=y)t(a);else if(A[a]!=d&&A[a]!=G){for(var s=Math.max(a-(g-(g>>2)),Q-1);a>s&&A[a]s&&A[a]s&&A[a]==D;)a--}else for(;a>s&&A[a]s?t(++a):(A[a=Q+g]==h&&a--,t(a-n))}else{for(;a!=Q-1&&A[a]!=d;a--);if(a>Q){t(a);continue}for(a=Q+g;a39&&Q<48||Q>57&&Q<64?C.push(D):Q>=4352&&S(Q)?C.push(l,h):C.push(l)}return C},A.prototype.$getStringScreenWidth=function(A,g,I){if(0==g)return[0,0];var C,B;for(null==g&&(g=1/0),I=I||0,B=0;B=4352&&S(C)?I+=2:I+=1,!(I>g));B++);return[I,B]},A.prototype.getRowLength=function(A){var g=1;return this.lineWidgets&&(g+=this.lineWidgets[A]&&this.lineWidgets[A].rowCount||0),this.$useWrapMode&&this.$wrapData[A]?this.$wrapData[A].length+g:g},A.prototype.getRowLineCount=function(A){return this.$useWrapMode&&this.$wrapData[A]?this.$wrapData[A].length+1:1},A.prototype.getRowWrapIndent=function(A){if(this.$useWrapMode){var g=this.screenToDocumentPosition(A,Number.MAX_VALUE),I=this.$wrapData[g.row];return I.length&&I[0]=0){o=E[t],Q=this.$docRowCache[t];var a=A>E[n-1]}else a=!n;for(var s=this.getLength()-1,c=this.getNextFoldLine(Q),r=c?c.start.row:1/0;o<=A&&!(o+(e=this.getRowLength(Q))>A||Q>=s);)o+=e,++Q>r&&(Q=c.end.row+1,r=(c=this.getNextFoldLine(Q,c))?c.start.row:1/0),a&&(this.$docRowCache.push(Q),this.$screenRowCache.push(o));if(c&&c.start.row<=Q)C=this.getFoldDisplayLine(c),Q=c.start.row;else{if(o+e<=A||Q>s)return{row:s,column:this.getLine(s).length};C=this.getLine(Q),c=null}var l=0,h=Math.floor(A-o);if(this.$useWrapMode){var d=this.$wrapData[Q];d&&(B=d[h],h>0&&d.length&&(l=d.indent,i=d[h-1]||d[d.length-1],C=C.substring(i)))}return void 0!==I&&this.$bidiHandler.isBidiRow(o+h,Q,h)&&(g=this.$bidiHandler.offsetToCol(I)),i+=this.$getStringScreenWidth(C,g-l)[1],this.$useWrapMode&&i>=B&&(i=B-1),c?c.idxToPosition(i):{row:Q,column:i}},A.prototype.documentToScreenPosition=function(A,g){if("undefined"===typeof g)var I=this.$clipPositionToDocument(A.row,A.column);else I=this.$clipPositionToDocument(A,g);A=I.row,g=I.column;var C,B=0,Q=null;(C=this.getFoldAt(A,g,1))&&(A=C.start.row,g=C.start.column);var i,o=0,e=this.$docRowCache,E=this.$getRowCacheIndex(e,A),t=e.length;if(t&&E>=0){o=e[E],B=this.$screenRowCache[E];var n=A>e[t-1]}else n=!t;for(var a=this.getNextFoldLine(o),s=a?a.start.row:1/0;o=s){if((i=a.end.row+1)>A)break;s=(a=this.getNextFoldLine(i,a))?a.start.row:1/0}else i=o+1;B+=this.getRowLength(o),o=i,n&&(this.$docRowCache.push(o),this.$screenRowCache.push(B))}var c="";a&&o>=s?(c=this.getFoldDisplayLine(a,A,g),Q=a.start.row):(c=this.getLine(A).substring(0,g),Q=A);var r=0;if(this.$useWrapMode){var l=this.$wrapData[Q];if(l){for(var h=0;c.length>=l[h];)B++,h++;c=c.substring(l[h-1]||0,c.length),r=h>0?l.indent:0}}return this.lineWidgets&&this.lineWidgets[o]&&this.lineWidgets[o].rowsAbove&&(B+=this.lineWidgets[o].rowsAbove),{row:B,column:r+this.$getStringScreenWidth(c)[0]}},A.prototype.documentToScreenColumn=function(A,g){return this.documentToScreenPosition(A,g).column},A.prototype.documentToScreenRow=function(A,g){return this.documentToScreenPosition(A,g).row},A.prototype.getScreenLength=function(){var A=0,g=null;if(this.$useWrapMode)for(var I=this.$wrapData.length,C=0,B=(o=0,(g=this.$foldData[o++])?g.start.row:1/0);CB&&(C=g.end.row+1,B=(g=this.$foldData[o++])?g.start.row:1/0)}else{A=this.getLength();for(var i=this.$foldData,o=0;oI);Q++);return[C,Q]})},A.prototype.getPrecedingCharacter=function(){var A=this.selection.getCursor();return 0===A.column?0===A.row?"":this.doc.getNewLineCharacter():this.getLine(A.row)[A.column-1]},A.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection.detach()},A}();r.$uid=0,r.prototype.$modes=i.$modes,r.prototype.getValue=r.prototype.toString,r.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},r.prototype.$overwrite=!1,r.prototype.$mode=null,r.prototype.$modeId=null,r.prototype.$scrollTop=0,r.prototype.$scrollLeft=0,r.prototype.$wrapLimit=80,r.prototype.$useWrapMode=!1,r.prototype.$wrapLimitRange={min:null,max:null},r.prototype.lineWidgets=null,r.prototype.isFullWidth=S,C.implement(r.prototype,o);var l=1,h=2,d=3,G=4,D=9,y=10,w=11,u=12;function S(A){return!(A<4352)&&(A>=4352&&A<=4447||A>=4515&&A<=4519||A>=4602&&A<=4607||A>=9001&&A<=9002||A>=11904&&A<=11929||A>=11931&&A<=12019||A>=12032&&A<=12245||A>=12272&&A<=12283||A>=12288&&A<=12350||A>=12353&&A<=12438||A>=12441&&A<=12543||A>=12549&&A<=12589||A>=12593&&A<=12686||A>=12688&&A<=12730||A>=12736&&A<=12771||A>=12784&&A<=12830||A>=12832&&A<=12871||A>=12880&&A<=13054||A>=13056&&A<=19903||A>=19968&&A<=42124||A>=42128&&A<=42182||A>=43360&&A<=43388||A>=44032&&A<=55203||A>=55216&&A<=55238||A>=55243&&A<=55291||A>=63744&&A<=64255||A>=65040&&A<=65049||A>=65072&&A<=65106||A>=65108&&A<=65126||A>=65128&&A<=65131||A>=65281&&A<=65376||A>=65504&&A<=65510)}A("./edit_session/folding").Folding.call(r.prototype),A("./edit_session/bracket_match").BracketMatch.call(r.prototype),i.defineOptions(r.prototype,"session",{wrap:{set:function(A){if(A&&"off"!=A?"free"==A?A=!0:"printMargin"==A?A=-1:"string"==typeof A&&(A=parseInt(A,10)||!1):A=!1,this.$wrap!=A)if(this.$wrap=A,A){var g="number"==typeof A?A:null;this.setWrapLimitRange(g,g),this.setUseWrapMode(!0)}else this.setUseWrapMode(!1)},get:function(){return this.getUseWrapMode()?-1==this.$wrap?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(A){(A="auto"==A?"text"!=this.$mode.type:"text"!=A)!=this.$wrapAsCode&&(this.$wrapAsCode=A,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(A){this.$useWorker=A,this.$stopWorker(),A&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(A){(A=parseInt(A))>0&&this.$tabSize!==A&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=A,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(A){this.setFoldStyle(A)},handlesSet:!0},overwrite:{set:function(A){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(A){this.doc.setNewLineMode(A)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(A){this.setMode(A)},get:function(){return this.$modeId},handlesSet:!0}}),g.EditSession=r})),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],(function(A,g,I){"use strict";var C=A("./lib/lang"),B=A("./lib/oop"),Q=A("./range").Range,i=function(){function A(){this.$options={}}return A.prototype.set=function(A){return B.mixin(this.$options,A),this},A.prototype.getOptions=function(){return C.copyObject(this.$options)},A.prototype.setOptions=function(A){this.$options=A},A.prototype.find=function(A){var g=this.$options,I=this.$matchIterator(A,g);if(!I)return!1;var C=null;return I.forEach((function(A,I,B,i){return C=new Q(A,I,B,i),!(I==i&&g.start&&g.start.start&&0!=g.skipCurrent&&C.isEqual(g.start))||(C=null,!1)})),C},A.prototype.findAll=function(A){var g=this.$options;if(!g.needle)return[];this.$assembleRegExp(g);var I=g.range,B=I?A.getLines(I.start.row,I.end.row):A.doc.getAllLines(),i=[],o=g.re;if(g.$isMultiLine){var e,E=o.length,t=B.length-E;A:for(var n=o.offset||0;n<=t;n++){for(var a=0;ar||(i.push(e=new Q(n,r,n+E-1,l)),E>2&&(n=n+E-2))}}else for(var h=0;hy&&i[a].end.row==w;)a--;for(i=i.slice(h,a+1),h=0,a=i.length;h=E;I--)if(s(I,Number.MAX_VALUE,A))return;if(0!=g.wrap)for(I=t,E=e.row;I>=E;I--)if(s(I,Number.MAX_VALUE,A))return}};else n=function(A){var I=e.row;if(!s(I,e.column,A)){for(I+=1;I<=t;I++)if(s(I,0,A))return;if(0!=g.wrap)for(I=E,t=e.row;I<=t;I++)if(s(I,0,A))return}};if(g.$isMultiLine)var a=I.length,s=function(g,C,Q){var i=B?g-a+1:g;if(!(i<0||i+a>A.getLength())){var o=A.getLine(i),e=o.search(I[0]);if(!(!B&&eC))return!!Q(i,e,i+a-1,t)||void 0}}};else if(B)s=function(g,B,Q){var o,e=A.getLine(g),E=[],t=0;for(I.lastIndex=0;o=I.exec(e);){var n=o[0].length;if(t=o.index,!n){if(t>=e.length)break;I.lastIndex=t+=C.skipEmptyMatch(e,t,i)}if(o.index+n>B)break;E.push(o.index,n)}for(var a=E.length-1;a>=0;a-=2){var s=E[a-1];if(Q(g,s,g,s+(n=E[a])))return!0}};else s=function(g,B,Q){var o,e,E=A.getLine(g);for(I.lastIndex=B;e=I.exec(E);){var t=e[0].length;if(Q(g,o=e.index,g,o+t))return!0;if(!t&&(I.lastIndex=o+=C.skipEmptyMatch(E,o,i),o>=E.length))return!1}};return{forEach:n}},A}();g.Search=i})),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],(function(A,g,I){"use strict";var C=this&&this.__extends||function(){var A=function(g,I){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,g){A.__proto__=g}||function(A,g){for(var I in g)Object.prototype.hasOwnProperty.call(g,I)&&(A[I]=g[I])},A(g,I)};return function(g,I){if("function"!==typeof I&&null!==I)throw new TypeError("Class extends value "+String(I)+" is not a constructor or null");function C(){this.constructor=g}A(g,I),g.prototype=null===I?Object.create(I):(C.prototype=I.prototype,new C)}}(),B=A("../lib/keys"),Q=A("../lib/useragent"),i=B.KEY_MODS,o=function(){function A(A,g){this.$init(A,g,!1)}return A.prototype.$init=function(A,g,I){this.platform=g||(Q.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(A),this.$singleCommand=I},A.prototype.addCommand=function(A){this.commands[A.name]&&this.removeCommand(A),this.commands[A.name]=A,A.bindKey&&this._buildKeyHash(A)},A.prototype.removeCommand=function(A,g){var I=A&&("string"===typeof A?A:A.name);A=this.commands[I],g||delete this.commands[I];var C=this.commandKeyBinding;for(var B in C){var Q=C[B];if(Q==A)delete C[B];else if(Array.isArray(Q)){var i=Q.indexOf(A);-1!=i&&(Q.splice(i,1),1==Q.length&&(C[B]=Q[0]))}}},A.prototype.bindKey=function(A,g,I){if("object"==typeof A&&A&&(void 0==I&&(I=A.position),A=A[this.platform]),A)return"function"==typeof g?this.addCommand({exec:g,bindKey:A,name:g.name||A}):void A.split("|").forEach((function(A){var C="";if(-1!=A.indexOf(" ")){var B=A.split(/\s+/);A=B.pop(),B.forEach((function(A){var g=this.parseKeys(A),I=i[g.hashId]+g.key;C+=(C?" ":"")+I,this._addCommandToBinding(C,"chainKeys")}),this),C+=" "}var Q=this.parseKeys(A),o=i[Q.hashId]+Q.key;this._addCommandToBinding(C+o,g,I)}),this)},A.prototype._addCommandToBinding=function(A,g,I){var C,B=this.commandKeyBinding;if(g)if(!B[A]||this.$singleCommand)B[A]=g;else{Array.isArray(B[A])?-1!=(C=B[A].indexOf(g))&&B[A].splice(C,1):B[A]=[B[A]],"number"!=typeof I&&(I=e(g));var Q=B[A];for(C=0;CI)break}Q.splice(C,0,g)}else delete B[A]},A.prototype.addCommands=function(A){A&&Object.keys(A).forEach((function(g){var I=A[g];if(I){if("string"===typeof I)return this.bindKey(I,g);"function"===typeof I&&(I={exec:I}),"object"===typeof I&&(I.name||(I.name=g),this.addCommand(I))}}),this)},A.prototype.removeCommands=function(A){Object.keys(A).forEach((function(g){this.removeCommand(A[g])}),this)},A.prototype.bindKeys=function(A){Object.keys(A).forEach((function(g){this.bindKey(g,A[g])}),this)},A.prototype._buildKeyHash=function(A){this.bindKey(A.bindKey,A)},A.prototype.parseKeys=function(A){var g=A.toLowerCase().split(/[\-\+]([\-\+])?/).filter((function(A){return A})),I=g.pop(),C=B[I];if(B.FUNCTION_KEYS[C])I=B.FUNCTION_KEYS[C].toLowerCase();else{if(!g.length)return{key:I,hashId:-1};if(1==g.length&&"shift"==g[0])return{key:I.toUpperCase(),hashId:-1}}for(var Q=0,i=g.length;i--;){var o=B.KEY_MODS[g[i]];if(null==o)return"undefined"!=typeof console&&console.error("invalid modifier "+g[i]+" in "+A),!1;Q|=o}return{key:I,hashId:Q}},A.prototype.findKeyCommand=function(A,g){var I=i[A]+g;return this.commandKeyBinding[I]},A.prototype.handleKeyboard=function(A,g,I,C){if(!(C<0)){var B=i[g]+I,Q=this.commandKeyBinding[B];return A.$keyChain&&(A.$keyChain+=" "+B,Q=this.commandKeyBinding[A.$keyChain]||Q),!Q||"chainKeys"!=Q&&"chainKeys"!=Q[Q.length-1]?(A.$keyChain&&(g&&4!=g||1!=I.length?(-1==g||C>0)&&(A.$keyChain=""):A.$keyChain=A.$keyChain.slice(0,-B.length-1)),{command:Q}):(A.$keyChain=A.$keyChain||B,{command:"null"})}},A.prototype.getStatusText=function(A,g){return g.$keyChain||""},A}();function e(A){return"object"==typeof A&&A.bindKey&&A.bindKey.position||(A.isDefault?-100:0)}var E=function(A){function g(g,I){var C=A.call(this,g,I)||this;return C.$singleCommand=!0,C}return C(g,A),g}(o);E.call=function(A,g,I){o.prototype.$init.call(A,g,I,!0)},o.call=function(A,g,I){o.prototype.$init.call(A,g,I,!1)},g.HashHandler=E,g.MultiHashHandler=o})),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],(function(A,g,I){"use strict";var C=this&&this.__extends||function(){var A=function(g,I){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,g){A.__proto__=g}||function(A,g){for(var I in g)Object.prototype.hasOwnProperty.call(g,I)&&(A[I]=g[I])},A(g,I)};return function(g,I){if("function"!==typeof I&&null!==I)throw new TypeError("Class extends value "+String(I)+" is not a constructor or null");function C(){this.constructor=g}A(g,I),g.prototype=null===I?Object.create(I):(C.prototype=I.prototype,new C)}}(),B=A("../lib/oop"),Q=A("../keyboard/hash_handler").MultiHashHandler,i=A("../lib/event_emitter").EventEmitter,o=function(A){function g(g,I){var C=A.call(this,I,g)||this;return C.byName=C.commands,C.setDefaultHandler("exec",(function(A){return A.args?A.command.exec(A.editor,A.args,A.event,!1):A.command.exec(A.editor,{},A.event,!0)})),C}return C(g,A),g.prototype.exec=function(A,g,I){if(Array.isArray(A)){for(var C=A.length;C--;)if(this.exec(A[C],g,I))return!0;return!1}if("string"===typeof A&&(A=this.commands[A]),!this.canExecute(A,g))return!1;var B={editor:g,command:A,args:I};return B.returnValue=this._emit("exec",B),this._signal("afterExec",B),!1!==B.returnValue},g.prototype.canExecute=function(A,g){return"string"===typeof A&&(A=this.commands[A]),!!A&&(!(g&&g.$readOnly&&!A.readOnly)&&!(0!=this.$checkCommandState&&A.isAvailable&&!A.isAvailable(g)))},g.prototype.toggleRecording=function(A){if(!this.$inReplay)return A&&A._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(A){this.macro.push([A.command,A.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},g.prototype.replay=function(A){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(A);try{this.$inReplay=!0,this.macro.forEach((function(g){"string"==typeof g?this.exec(g,A):this.exec(g[0],A,g[1])}),this)}finally{this.$inReplay=!1}}},g.prototype.trimMacro=function(A){return A.map((function(A){return"string"!=typeof A[0]&&(A[0]=A[0].name),A[1]||(A=A[0]),A}))},g}(Q);B.implement(o.prototype,i),g.CommandManager=o})),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],(function(A,g,I){"use strict";var C=A("../lib/lang"),B=A("../config"),Q=A("../range").Range;function i(A,g){return{win:A,mac:g}}g.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:i("Ctrl-,","Command-,"),exec:function(A){B.loadModule("ace/ext/settings_menu",(function(g){g.init(A),A.showSettingsMenu()}))},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:i("Alt-E","F4"),exec:function(A){B.loadModule("ace/ext/error_marker",(function(g){g.showErrorMarker(A,1)}))},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:i("Alt-Shift-E","Shift-F4"),exec:function(A){B.loadModule("ace/ext/error_marker",(function(g){g.showErrorMarker(A,-1)}))},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:i("Ctrl-A","Command-A"),exec:function(A){A.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:i(null,"Ctrl-L"),exec:function(A){A.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:i("Ctrl-L","Command-L"),exec:function(A,g){"number"!==typeof g||isNaN(g)||A.gotoLine(g),A.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:i("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(A){A.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:i("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(A){A.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:i("F2","F2"),exec:function(A){A.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:i("Alt-F2","Alt-F2"),exec:function(A){A.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:i(null,"Ctrl-Command-Option-0"),exec:function(A){A.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:i(null,"Ctrl-Command-Option-0"),exec:function(A){A.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:i("Alt-0","Command-Option-0"),exec:function(A){A.session.foldAll(),A.session.unfold(A.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:i("Alt-Shift-0","Command-Option-Shift-0"),exec:function(A){A.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:i("Ctrl-K","Command-G"),exec:function(A){A.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:i("Ctrl-Shift-K","Command-Shift-G"),exec:function(A){A.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:i("Alt-K","Ctrl-G"),exec:function(A){A.selection.isEmpty()?A.selection.selectWord():A.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:i("Alt-Shift-K","Ctrl-Shift-G"),exec:function(A){A.selection.isEmpty()?A.selection.selectWord():A.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:i("Ctrl-F","Command-F"),exec:function(A){B.loadModule("ace/ext/searchbox",(function(g){g.Search(A)}))},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(A){A.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:i("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(A){A.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:i("Ctrl-Home","Command-Home|Command-Up"),exec:function(A){A.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:i("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(A){A.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:i("Up","Up|Ctrl-P"),exec:function(A,g){A.navigateUp(g.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:i("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(A){A.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:i("Ctrl-End","Command-End|Command-Down"),exec:function(A){A.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:i("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(A){A.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:i("Down","Down|Ctrl-N"),exec:function(A,g){A.navigateDown(g.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:i("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(A){A.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:i("Ctrl-Left","Option-Left"),exec:function(A){A.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:i("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(A){A.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:i("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(A){A.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:i("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(A){A.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:i("Left","Left|Ctrl-B"),exec:function(A,g){A.navigateLeft(g.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:i("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(A){A.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:i("Ctrl-Right","Option-Right"),exec:function(A){A.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:i("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(A){A.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:i("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(A){A.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:i("Shift-Right","Shift-Right"),exec:function(A){A.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:i("Right","Right|Ctrl-F"),exec:function(A,g){A.navigateRight(g.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(A){A.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:i(null,"Option-PageDown"),exec:function(A){A.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:i("PageDown","PageDown|Ctrl-V"),exec:function(A){A.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(A){A.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:i(null,"Option-PageUp"),exec:function(A){A.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(A){A.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:i("Ctrl-Up",null),exec:function(A){A.renderer.scrollBy(0,-2*A.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:i("Ctrl-Down",null),exec:function(A){A.renderer.scrollBy(0,2*A.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(A){A.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(A){A.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:i("Ctrl-Alt-E","Command-Option-E"),exec:function(A){A.commands.toggleRecording(A)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:i("Ctrl-Shift-E","Command-Shift-E"),exec:function(A){A.commands.replay(A)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:i("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(A){A.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:i("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(A){A.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:i("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(A){A.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:i(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(A){},readOnly:!0},{name:"cut",description:"Cut",exec:function(A){var g=A.$copyWithEmptySelection&&A.selection.isEmpty()?A.selection.getLineRange():A.selection.getRange();A._emit("cut",g),g.isEmpty()||A.session.remove(g),A.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(A,g){A.$handlePaste(g)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:i("Ctrl-D","Command-D"),exec:function(A){A.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:i("Ctrl-Shift-D","Command-Shift-D"),exec:function(A){A.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:i("Ctrl-Alt-S","Command-Alt-S"),exec:function(A){A.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:i("Ctrl-/","Command-/"),exec:function(A){A.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:i("Ctrl-Shift-/","Command-Shift-/"),exec:function(A){A.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:i("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(A){A.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:i("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(A){A.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:i("Ctrl-H","Command-Option-F"),exec:function(A){B.loadModule("ace/ext/searchbox",(function(g){g.Search(A,!0)}))}},{name:"undo",description:"Undo",bindKey:i("Ctrl-Z","Command-Z"),exec:function(A){A.undo()}},{name:"redo",description:"Redo",bindKey:i("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(A){A.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:i("Alt-Shift-Up","Command-Option-Up"),exec:function(A){A.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:i("Alt-Up","Option-Up"),exec:function(A){A.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:i("Alt-Shift-Down","Command-Option-Down"),exec:function(A){A.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:i("Alt-Down","Option-Down"),exec:function(A){A.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:i("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(A){A.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:i("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(A){A.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:i("Shift-Delete",null),exec:function(A){if(!A.selection.isEmpty())return!1;A.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:i("Alt-Backspace","Command-Backspace"),exec:function(A){A.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:i("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(A){A.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:i("Ctrl-Shift-Backspace",null),exec:function(A){var g=A.selection.getRange();g.start.column=0,A.session.remove(g)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:i("Ctrl-Shift-Delete",null),exec:function(A){var g=A.selection.getRange();g.end.column=Number.MAX_VALUE,A.session.remove(g)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:i("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(A){A.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:i("Ctrl-Delete","Alt-Delete"),exec:function(A){A.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:i("Shift-Tab","Shift-Tab"),exec:function(A){A.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:i("Tab","Tab"),exec:function(A){A.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:i("Ctrl-[","Ctrl-["),exec:function(A){A.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:i("Ctrl-]","Ctrl-]"),exec:function(A){A.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(A,g){A.insert(g)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(A,g){A.insert(C.stringRepeat(g.text||"",g.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:i(null,"Ctrl-O"),exec:function(A){A.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:i("Alt-Shift-X","Ctrl-T"),exec:function(A){A.transposeLetters()},multiSelectAction:function(A){A.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:i("Ctrl-U","Ctrl-U"),exec:function(A){A.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:i("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(A){A.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:i(null,null),exec:function(A){A.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:i("Ctrl-Shift-L","Command-Shift-L"),exec:function(A){var g=A.selection.getRange();g.start.column=g.end.column=0,g.end.row++,A.selection.setRange(g,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:i("Ctrl+F3","F3"),exec:function(A){A.openLink()}},{name:"joinlines",description:"Join lines",bindKey:i(null,null),exec:function(A){for(var g=A.selection.isBackwards(),I=g?A.selection.getSelectionLead():A.selection.getSelectionAnchor(),B=g?A.selection.getSelectionAnchor():A.selection.getSelectionLead(),i=A.session.doc.getLine(I.row).length,o=A.session.doc.getTextRange(A.selection.getRange()).replace(/\n\s*/," ").length,e=A.session.doc.getLine(I.row),E=I.row+1;E<=B.row+1;E++){var t=C.stringTrimLeft(C.stringTrimRight(A.session.doc.getLine(E)));0!==t.length&&(t=" "+t),e+=t}B.row+10?(A.selection.moveCursorTo(I.row,I.column),A.selection.selectTo(I.row,I.column+o)):(i=A.session.doc.getLine(I.row).length>i?i+1:i,A.selection.moveCursorTo(I.row,i))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:i(null,null),exec:function(A){var g=A.session.doc.getLength()-1,I=A.session.doc.getLine(g).length,C=A.selection.rangeList.ranges,B=[];C.length<1&&(C=[A.selection.getRange()]);for(var i=0;ig[I].column&&I++,Q.unshift(I,0),g.splice.apply(g,Q),this.$updateRows()}}},A.prototype.$updateRows=function(){var A=this.session.lineWidgets;if(A){var g=!0;A.forEach((function(A,I){if(A)for(g=!1,A.row=I;A.$oldWidget;)A.$oldWidget.row=I,A=A.$oldWidget})),g&&(this.session.lineWidgets=null)}},A.prototype.$registerLineWidget=function(A){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var g=this.session.lineWidgets[A.row];return g&&(A.$oldWidget=g,g.el&&g.el.parentNode&&(g.el.parentNode.removeChild(g.el),g._inDocument=!1)),this.session.lineWidgets[A.row]=A,A},A.prototype.addLineWidget=function(A){if(this.$registerLineWidget(A),A.session=this.session,!this.editor)return A;var g=this.editor.renderer;A.html&&!A.el&&(A.el=C.createElement("div"),A.el.innerHTML=A.html),A.text&&!A.el&&(A.el=C.createElement("div"),A.el.textContent=A.text),A.el&&(C.addCssClass(A.el,"ace_lineWidgetContainer"),A.className&&C.addCssClass(A.el,A.className),A.el.style.position="absolute",A.el.style.zIndex="5",g.container.appendChild(A.el),A._inDocument=!0,A.coverGutter||(A.el.style.zIndex="3"),null==A.pixelHeight&&(A.pixelHeight=A.el.offsetHeight)),null==A.rowCount&&(A.rowCount=A.pixelHeight/g.layerConfig.lineHeight);var I=this.session.getFoldAt(A.row,0);if(A.$fold=I,I){var B=this.session.lineWidgets;A.row!=I.end.row||B[I.start.row]?A.hidden=!0:B[I.start.row]=A}return this.session._emit("changeFold",{data:{start:{row:A.row}}}),this.$updateRows(),this.renderWidgets(null,g),this.onWidgetChanged(A),A},A.prototype.removeLineWidget=function(A){if(A._inDocument=!1,A.session=null,A.el&&A.el.parentNode&&A.el.parentNode.removeChild(A.el),A.editor&&A.editor.destroy)try{A.editor.destroy()}catch(I){}if(this.session.lineWidgets){var g=this.session.lineWidgets[A.row];if(g==A)this.session.lineWidgets[A.row]=A.$oldWidget,A.$oldWidget&&this.onWidgetChanged(A.$oldWidget);else for(;g;){if(g.$oldWidget==A){g.$oldWidget=A.$oldWidget;break}g=g.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:A.row}}}),this.$updateRows()},A.prototype.getWidgetsAtRow=function(A){for(var g=this.session.lineWidgets,I=g&&g[A],C=[];I;)C.push(I),I=I.$oldWidget;return C},A.prototype.onWidgetChanged=function(A){this.session._changedWidgets.push(A),this.editor&&this.editor.renderer.updateFull()},A.prototype.measureWidgets=function(A,g){var I=this.session._changedWidgets,C=g.layerConfig;if(I&&I.length){for(var B=1/0,Q=0;Q0&&!C[B];)B--;this.firstRow=I.firstRow,this.lastRow=I.lastRow,g.$cursorLayer.config=I;for(var i=B;i<=Q;i++){var o=C[i];if(o&&o.el)if(o.hidden)o.el.style.top=-100-(o.pixelHeight||0)+"px";else{o._inDocument||(o._inDocument=!0,g.container.appendChild(o.el));var e=g.$cursorLayer.getPixelPosition({row:i,column:0},!0).top;o.coverLine||(e+=I.lineHeight*this.session.getRowLineCount(o.row)),o.el.style.top=e-I.offset+"px";var E=o.coverGutter?0:g.gutterWidth;o.fixedWidth||(E-=g.scrollLeft),o.el.style.left=E+"px",o.fullWidth&&o.screenWidth&&(o.el.style.minWidth=I.width+2*I.padding+"px"),o.fixedWidth?o.el.style.right=g.scrollBar.getWidth()+"px":o.el.style.right=""}}}},A}();g.LineWidgets=B})),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys","ace/mouse/default_gutter_handler"],(function(A,g,I){"use strict";var C=A("../lib/keys"),B=A("../mouse/default_gutter_handler").GutterTooltip,Q=function(){function A(A){this.editor=A,this.gutterLayer=A.renderer.$gutterLayer,this.element=A.renderer.$gutter,this.lines=A.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=new B(this.editor)}return A.prototype.addListener=function(){this.element.addEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.addEventListener("focusout",this.$blurGutter.bind(this)),this.editor.on("mousewheel",this.$blurGutter.bind(this))},A.prototype.removeListener=function(){this.element.removeEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.removeEventListener("focusout",this.$blurGutter.bind(this)),this.editor.off("mousewheel",this.$blurGutter.bind(this))},A.prototype.$onGutterKeyDown=function(A){if(this.annotationTooltip.isOpen)return A.preventDefault(),void(A.keyCode===C.escape&&this.annotationTooltip.hideTooltip());if(A.target===this.element){if(A.keyCode!=C.enter)return;A.preventDefault();var g=this.editor.getCursorPosition().row;return this.editor.isRowVisible(g)||this.editor.scrollToLine(g,!0,!0),void setTimeout(function(){var A=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),g=this.$findNearestFoldWidget(A),I=this.$findNearestAnnotation(A);if(null!==g||null!==I)return null===g&&null!==I?(this.activeRowIndex=I,this.activeLane="annotation",void this.$focusAnnotation(this.activeRowIndex)):null!==g&&null===I?(this.activeRowIndex=g,this.activeLane="fold",void this.$focusFoldWidget(this.activeRowIndex)):Math.abs(I-A)0||A+g=0&&this.$isFoldWidgetVisible(A-g))return A-g;if(A+g<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(A+g))return A+g}return null},A.prototype.$findNearestAnnotation=function(A){if(this.$isAnnotationVisible(A))return A;for(var g=0;A-g>0||A+g=0&&this.$isAnnotationVisible(A-g))return A-g;if(A+g<=this.lines.getLength()-1&&this.$isAnnotationVisible(A+g))return A+g}return null},A.prototype.$focusFoldWidget=function(A){if(null!=A){var g=this.$getFoldWidget(A);g.classList.add(this.editor.renderer.keyboardFocusClassName),g.focus()}},A.prototype.$focusAnnotation=function(A){if(null!=A){var g=this.$getAnnotation(A);g.classList.add(this.editor.renderer.keyboardFocusClassName),g.focus()}},A.prototype.$blurFoldWidget=function(A){var g=this.$getFoldWidget(A);g.classList.remove(this.editor.renderer.keyboardFocusClassName),g.blur()},A.prototype.$blurAnnotation=function(A){var g=this.$getAnnotation(A);g.classList.remove(this.editor.renderer.keyboardFocusClassName),g.blur()},A.prototype.$moveFoldWidgetUp=function(){for(var A=this.activeRowIndex;A>0;)if(A--,this.$isFoldWidgetVisible(A))return this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=A,void this.$focusFoldWidget(this.activeRowIndex)},A.prototype.$moveFoldWidgetDown=function(){for(var A=this.activeRowIndex;A0;)if(A--,this.$isAnnotationVisible(A))return this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=A,void this.$focusAnnotation(this.activeRowIndex)},A.prototype.$moveAnnotationDown=function(){for(var A=this.activeRowIndex;A=A.length&&(A=void 0),{value:A&&A[C++],done:!A}}};throw new TypeError(g?"Object is not iterable.":"Symbol.iterator is not defined.")},B=A("./lib/oop"),Q=A("./lib/dom"),i=A("./lib/lang"),o=A("./lib/useragent"),e=A("./keyboard/textinput").TextInput,E=A("./mouse/mouse_handler").MouseHandler,t=A("./mouse/fold_handler").FoldHandler,n=A("./keyboard/keybinding").KeyBinding,a=A("./edit_session").EditSession,s=A("./search").Search,c=A("./range").Range,r=A("./lib/event_emitter").EventEmitter,l=A("./commands/command_manager").CommandManager,h=A("./commands/default_commands").commands,d=A("./config"),G=A("./token_iterator").TokenIterator,D=A("./line_widgets").LineWidgets,y=A("./keyboard/gutter_handler").GutterKeyboardHandler,w=A("./config").nls,u=A("./clipboard"),S=A("./lib/keys"),N=function(){function A(g,I,C){this.session,this.$toDestroy=[];var B=g.getContainerElement();this.container=B,this.renderer=g,this.id="editor"+ ++A.$uid,this.commands=new l(o.isMac?"mac":"win",h),"object"==typeof document&&(this.textInput=new e(g.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new E(this),new t(this)),this.keyBinding=new n(this),this.$search=(new s).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=i.delayedCall(function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",(function(A,g){g._$emitInputEvent.schedule(31)})),this.setSession(I||C&&C.session||new a("")),d.resetOptions(this),C&&this.setOptions(C),d._signal("editor",this)}return A.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=i.delayedCall(this.endOperation.bind(this,!0)),this.on("change",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.selectionChanged=!0}.bind(this),!0)},A.prototype.startOperation=function(A){if(this.curOp){if(!A||this.curOp.command)return;this.prevOp=this.curOp}A||(this.previousCommand=null,A={}),this.$opResetTimer.schedule(),this.curOp=this.session.curOp={command:A.command||{},args:A.args,scrollTop:this.renderer.scrollTop},this.curOp.selectionBefore=this.selection.toJSON()},A.prototype.endOperation=function(A){if(this.curOp&&this.session){if(A&&!1===A.returnValue||!this.session)return this.curOp=null;if(1==A&&this.curOp.command&&"mouse"==this.curOp.command.name)return;if(this._signal("beforeEndOperation"),!this.curOp)return;var g=this.curOp.command,I=g&&g.scrollIntoView;if(I){switch(I){case"center-animate":I="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var C=this.selection.getRange(),B=this.renderer.layerConfig;(C.start.row>=B.lastRow||C.end.row<=B.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==I&&this.renderer.animateScrolling(this.curOp.scrollTop)}var Q=this.selection.toJSON();this.curOp.selectionAfter=Q,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(Q),this.prevOp=this.curOp,this.curOp=null}},A.prototype.$historyTracker=function(A){if(this.$mergeUndoDeltas){var g=this.prevOp,I=this.$mergeableCommands,C=g.command&&A.command.name==g.command.name;if("insertstring"==A.command.name){var B=A.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),C=C&&this.mergeNextCommand&&(!/\s/.test(B)||/\s/.test(g.args)),this.mergeNextCommand=!0}else C=C&&-1!==I.indexOf(A.command.name);"always"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(C=!1),C?this.session.mergeUndoDeltas=!0:-1!==I.indexOf(A.command.name)&&(this.sequenceStartTime=Date.now())}},A.prototype.setKeyboardHandler=function(A,g){if(A&&"string"===typeof A&&"ace"!=A){this.$keybindingId=A;var I=this;d.loadModule(["keybinding",A],(function(C){I.$keybindingId==A&&I.keyBinding.setKeyboardHandler(C&&C.handler),g&&g()}))}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(A),g&&g()},A.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},A.prototype.setSession=function(A){if(this.session!=A){this.curOp&&this.endOperation(),this.curOp={};var g=this.session;if(g){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var I=this.session.getSelection();I.off("changeCursor",this.$onCursorChange),I.off("changeSelection",this.$onSelectionChange)}this.session=A,A?(this.$onDocumentChange=this.onDocumentChange.bind(this),A.on("change",this.$onDocumentChange),this.renderer.setSession(A),this.$onChangeMode=this.onChangeMode.bind(this),A.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),A.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),A.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),A.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),A.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),A.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=A.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(A)),this._signal("changeSession",{session:A,oldSession:g}),this.curOp=null,g&&g._signal("changeEditor",{oldEditor:this}),A&&A._signal("changeEditor",{editor:this}),A&&!A.destroyed&&A.bgTokenizer.scheduleStart()}},A.prototype.getSession=function(){return this.session},A.prototype.setValue=function(A,g){return this.session.doc.setValue(A),g?1==g?this.navigateFileEnd():-1==g&&this.navigateFileStart():this.selectAll(),A},A.prototype.getValue=function(){return this.session.getValue()},A.prototype.getSelection=function(){return this.selection},A.prototype.resize=function(A){this.renderer.onResize(A)},A.prototype.setTheme=function(A,g){this.renderer.setTheme(A,g)},A.prototype.getTheme=function(){return this.renderer.getTheme()},A.prototype.setStyle=function(A){this.renderer.setStyle(A)},A.prototype.unsetStyle=function(A){this.renderer.unsetStyle(A)},A.prototype.getFontSize=function(){return this.getOption("fontSize")||Q.computedStyle(this.container).fontSize},A.prototype.setFontSize=function(A){this.setOption("fontSize",A)},A.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var A=this;this.$highlightPending=!0,setTimeout((function(){A.$highlightPending=!1;var g=A.session;if(g&&!g.destroyed){g.$bracketHighlight&&(g.$bracketHighlight.markerIds.forEach((function(A){g.removeMarker(A)})),g.$bracketHighlight=null);var I=A.getCursorPosition(),C=A.getKeyboardHandler(),B=C&&C.$getDirectionForHighlight&&C.$getDirectionForHighlight(A),Q=g.getMatchingBracketRanges(I,B);if(!Q){var i=new G(g,I.row,I.column).getCurrentToken();if(i&&/\b(?:tag-open|tag-name)/.test(i.type)){var o=g.getMatchingTags(I);o&&(Q=[o.openTagName.isEmpty()?o.openTag:o.openTagName,o.closeTagName.isEmpty()?o.closeTag:o.closeTagName])}}if(!Q&&g.$mode.getMatching&&(Q=g.$mode.getMatching(A.session)),Q){var e="ace_bracket";Array.isArray(Q)?1==Q.length&&(e="ace_error_bracket"):Q=[Q],2==Q.length&&(0==c.comparePoints(Q[0].end,Q[1].start)?Q=[c.fromPoints(Q[0].start,Q[1].end)]:0==c.comparePoints(Q[0].start,Q[1].end)&&(Q=[c.fromPoints(Q[1].start,Q[0].end)])),g.$bracketHighlight={ranges:Q,markerIds:Q.map((function(A){return g.addMarker(A,e,"text")}))},A.getHighlightIndentGuides()&&A.renderer.$textLayer.$highlightIndentGuide()}else A.getHighlightIndentGuides()&&A.renderer.$textLayer.$highlightIndentGuide()}}),50)}},A.prototype.focus=function(){this.textInput.focus()},A.prototype.isFocused=function(){return this.textInput.isFocused()},A.prototype.blur=function(){this.textInput.blur()},A.prototype.onFocus=function(A){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",A))},A.prototype.onBlur=function(A){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",A))},A.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},A.prototype.onDocumentChange=function(A){var g=this.session.$useWrapMode,I=A.start.row==A.end.row?A.end.row:1/0;this.renderer.updateLines(A.start.row,I,g),this._signal("change",A),this.$cursorChange()},A.prototype.onTokenizerUpdate=function(A){var g=A.data;this.renderer.updateLines(g.first,g.last)},A.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},A.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},A.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},A.prototype.$updateHighlightActiveLine=function(){var A,g=this.getSession();if(this.$highlightActiveLine&&("line"==this.$selectionStyle&&this.selection.isMultiLine()||(A=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(A=!1),!this.renderer.$maxLines||1!==this.session.getLength()||this.renderer.$minLines>1||(A=!1)),g.$highlightLineMarker&&!A)g.removeMarker(g.$highlightLineMarker.id),g.$highlightLineMarker=null;else if(!g.$highlightLineMarker&&A){var I=new c(A.row,A.column,A.row,1/0);I.id=g.addMarker(I,"ace_active-line","screenLine"),g.$highlightLineMarker=I}else A&&(g.$highlightLineMarker.start.row=A.row,g.$highlightLineMarker.end.row=A.row,g.$highlightLineMarker.start.column=A.column,g._signal("changeBackMarker"))},A.prototype.onSelectionChange=function(A){var g=this.session;if(g.$selectionMarker&&g.removeMarker(g.$selectionMarker),g.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var I=this.selection.getRange(),C=this.getSelectionStyle();g.$selectionMarker=g.addMarker(I,"ace_selection",C)}var B=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(B),this._signal("changeSelection")},A.prototype.$getSelectionHighLightRegexp=function(){var A=this.session,g=this.getSelectionRange();if(!g.isEmpty()&&!g.isMultiLine()){var I=g.start.column,C=g.end.column,B=A.getLine(g.start.row),Q=B.substring(I,C);if(!(Q.length>5e3)&&/[\w\d]/.test(Q)){var i=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:Q}),o=B.substring(I-1,C+1);if(i.test(o))return i}}},A.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},A.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},A.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},A.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},A.prototype.onChangeMode=function(A){this.renderer.updateText(),this._emit("changeMode",A)},A.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},A.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},A.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},A.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},A.prototype.getCopyText=function(){var A=this.getSelectedText(),g=this.session.doc.getNewLineCharacter(),I=!1;if(!A&&this.$copyWithEmptySelection){I=!0;for(var C=this.selection.getAllRanges(),B=0;Bo.search(/\S|$/)){var e=o.substr(B.column).search(/\S|$/);I.doc.removeInLine(B.row,B.column,B.column+e)}}this.clearSelection();var E=B.column,t=I.getState(B.row),n=(o=I.getLine(B.row),C.checkOutdent(t,o,A));if(I.insert(B,A),Q&&Q.selection&&(2==Q.selection.length?this.selection.setSelectionRange(new c(B.row,E+Q.selection[0],B.row,E+Q.selection[1])):this.selection.setSelectionRange(new c(B.row+Q.selection[0],Q.selection[1],B.row+Q.selection[2],Q.selection[3]))),this.$enableAutoIndent){if(I.getDocument().isNewLine(A)){var a=C.getNextLineIndent(t,o.slice(0,B.column),I.getTabString());I.insert({row:B.row+1,column:0},a)}n&&C.autoOutdent(t,I,B.row)}},A.prototype.autoIndent=function(){for(var A=this.session,g=A.getMode(),I=this.selection.isEmpty()?[new c(0,0,A.doc.getLength()-1,0)]:this.selection.getAllRanges(),C="",B="",Q="",i=A.getTabString(),o=0;o0&&(C=A.getState(t-1),B=A.getLine(t-1),Q=g.getNextLineIndent(C,B,i));var n=A.getLine(t),a=g.$getIndent(n);if(Q!==a){if(a.length>0){var s=new c(t,0,t,a.length);A.remove(s)}Q.length>0&&A.insert({row:t,column:0},Q)}g.autoOutdent(C,A,t)}},A.prototype.onTextInput=function(A,g){if(!g)return this.keyBinding.onTextInput(A);this.startOperation({command:{name:"insertstring"}});var I=this.applyComposition.bind(this,A,g);this.selection.rangeCount?this.forEachSelection(I):I(),this.endOperation()},A.prototype.applyComposition=function(A,g){var I;(g.extendLeft||g.extendRight)&&((I=this.selection.getRange()).start.column-=g.extendLeft,I.end.column+=g.extendRight,I.start.column<0&&(I.start.row--,I.start.column+=this.session.getLine(I.start.row).length+1),this.selection.setRange(I),A||I.isEmpty()||this.remove());(!A&&this.selection.isEmpty()||this.insert(A,!0),g.restoreStart||g.restoreEnd)&&((I=this.selection.getRange()).start.column-=g.restoreStart,I.end.column-=g.restoreEnd,this.selection.setRange(I))},A.prototype.onCommandKey=function(A,g,I){return this.keyBinding.onCommandKey(A,g,I)},A.prototype.setOverwrite=function(A){this.session.setOverwrite(A)},A.prototype.getOverwrite=function(){return this.session.getOverwrite()},A.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},A.prototype.setScrollSpeed=function(A){this.setOption("scrollSpeed",A)},A.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},A.prototype.setDragDelay=function(A){this.setOption("dragDelay",A)},A.prototype.getDragDelay=function(){return this.getOption("dragDelay")},A.prototype.setSelectionStyle=function(A){this.setOption("selectionStyle",A)},A.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},A.prototype.setHighlightActiveLine=function(A){this.setOption("highlightActiveLine",A)},A.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},A.prototype.setHighlightGutterLine=function(A){this.setOption("highlightGutterLine",A)},A.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},A.prototype.setHighlightSelectedWord=function(A){this.setOption("highlightSelectedWord",A)},A.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},A.prototype.setAnimatedScroll=function(A){this.renderer.setAnimatedScroll(A)},A.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},A.prototype.setShowInvisibles=function(A){this.renderer.setShowInvisibles(A)},A.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},A.prototype.setDisplayIndentGuides=function(A){this.renderer.setDisplayIndentGuides(A)},A.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},A.prototype.setHighlightIndentGuides=function(A){this.renderer.setHighlightIndentGuides(A)},A.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},A.prototype.setShowPrintMargin=function(A){this.renderer.setShowPrintMargin(A)},A.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},A.prototype.setPrintMarginColumn=function(A){this.renderer.setPrintMarginColumn(A)},A.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},A.prototype.setReadOnly=function(A){this.setOption("readOnly",A)},A.prototype.getReadOnly=function(){return this.getOption("readOnly")},A.prototype.setBehavioursEnabled=function(A){this.setOption("behavioursEnabled",A)},A.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},A.prototype.setWrapBehavioursEnabled=function(A){this.setOption("wrapBehavioursEnabled",A)},A.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},A.prototype.setShowFoldWidgets=function(A){this.setOption("showFoldWidgets",A)},A.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},A.prototype.setFadeFoldWidgets=function(A){this.setOption("fadeFoldWidgets",A)},A.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},A.prototype.remove=function(A){this.selection.isEmpty()&&("left"==A?this.selection.selectLeft():this.selection.selectRight());var g=this.getSelectionRange();if(this.getBehavioursEnabled()){var I=this.session,C=I.getState(g.start.row),B=I.getMode().transformAction(C,"deletion",this,I,g);if(0===g.end.column){var Q=I.getTextRange(g);if("\n"==Q[Q.length-1]){var i=I.getLine(g.end.row);/^\s+$/.test(i)&&(g.end.column=i.length)}}B&&(g=B)}this.session.remove(g),this.clearSelection()},A.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},A.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},A.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},A.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var A=this.getSelectionRange();A.start.column==A.end.column&&A.start.row==A.end.row&&(A.end.column=0,A.end.row++),this.session.remove(A),this.clearSelection()},A.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var A=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(A)},A.prototype.setGhostText=function(A,g){this.session.widgetManager||(this.session.widgetManager=new D(this.session),this.session.widgetManager.attach(this)),this.renderer.setGhostText(A,g)},A.prototype.removeGhostText=function(){this.session.widgetManager&&this.renderer.removeGhostText()},A.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var A=this.getCursorPosition(),g=A.column;if(0!==g){var I,C,B=this.session.getLine(A.row);gg.toLowerCase()?1:0}));var B=new c(0,0,0,0);for(C=A.first;C<=A.last;C++){var Q=g.getLine(C);B.start.row=C,B.end.row=C,B.end.column=Q.length,g.replace(B,I[C-A.first])}},A.prototype.toggleCommentLines=function(){var A=this.session.getState(this.getCursorPosition().row),g=this.$getSelectedRows();this.session.getMode().toggleCommentLines(A,this.session,g.first,g.last)},A.prototype.toggleBlockComment=function(){var A=this.getCursorPosition(),g=this.session.getState(A.row),I=this.getSelectionRange();this.session.getMode().toggleBlockComment(g,this.session,I,A)},A.prototype.getNumberAt=function(A,g){var I=/[\-]?[0-9]+(?:\.[0-9]+)?/g;I.lastIndex=0;for(var C=this.session.getLine(A);I.lastIndex=g)return{value:B[0],start:B.index,end:B.index+B[0].length}}return null},A.prototype.modifyNumber=function(A){var g=this.selection.getCursor().row,I=this.selection.getCursor().column,C=new c(g,I-1,g,I),B=this.session.getTextRange(C);if(!isNaN(parseFloat(B))&&isFinite(B)){var Q=this.getNumberAt(g,I);if(Q){var i=Q.value.indexOf(".")>=0?Q.start+Q.value.indexOf(".")+1:Q.end,o=Q.start+Q.value.length-i,e=parseFloat(Q.value);e*=Math.pow(10,o),i!==Q.end&&I=o&&Q<=e&&(I=g,E.selection.clearSelection(),E.moveCursorTo(A,o+C),E.selection.selectTo(A,e+C)),o=e}));for(var t,n=this.$toggleWordPairs,a=0;a=e&&i<=E&&a.match(/((?:https?|ftp):\/\/[\S]+)/)){o=a.replace(/[\s:.,'";}\]]+$/,"");break}e=E}}catch(s){I={error:s}}finally{try{n&&!n.done&&(B=t.return)&&B.call(t)}finally{if(I)throw I.error}}return o},A.prototype.openLink=function(){var A=this.selection.getCursor(),g=this.findLinkAt(A.row,A.column);return g&&window.open(g,"_blank"),null!=g},A.prototype.removeLines=function(){var A=this.$getSelectedRows();this.session.removeFullLines(A.first,A.last),this.clearSelection()},A.prototype.duplicateSelection=function(){var A=this.selection,g=this.session,I=A.getRange(),C=A.isBackwards();if(I.isEmpty()){var B=I.start.row;g.duplicateLines(B,B)}else{var Q=C?I.start:I.end,i=g.insert(Q,g.getTextRange(I));I.start=Q,I.end=i,A.setSelectionRange(I,C)}},A.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},A.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},A.prototype.moveText=function(A,g,I){return this.session.moveText(A,g,I)},A.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},A.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},A.prototype.$moveLines=function(A,g){var I,C,B=this.selection;if(!B.inMultiSelectMode||this.inVirtualSelectionMode){var Q=B.toOrientedRange();I=this.$getSelectedRows(Q),C=this.session.$moveLines(I.first,I.last,g?0:A),g&&-1==A&&(C=0),Q.moveBy(C,0),B.fromOrientedRange(Q)}else{var i=B.rangeList.ranges;B.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var o=0,e=0,E=i.length,t=0;ts+1)break;s=c.last}for(t--,o=this.session.$moveLines(a,s,g?0:A),g&&-1==A&&(n=t+1);n<=t;)i[n].moveBy(o,0),n++;g||(o=0),e+=o}B.fromOrientedRange(B.ranges[0]),B.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},A.prototype.$getSelectedRows=function(A){return A=(A||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(A.start.row),last:this.session.getRowFoldEnd(A.end.row)}},A.prototype.onCompositionStart=function(A){this.renderer.showComposition(A)},A.prototype.onCompositionUpdate=function(A){this.renderer.setCompositionText(A)},A.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},A.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},A.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},A.prototype.isRowVisible=function(A){return A>=this.getFirstVisibleRow()&&A<=this.getLastVisibleRow()},A.prototype.isRowFullyVisible=function(A){return A>=this.renderer.getFirstFullyVisibleRow()&&A<=this.renderer.getLastFullyVisibleRow()},A.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},A.prototype.$moveByPage=function(A,g){var I=this.renderer,C=this.renderer.layerConfig,B=A*Math.floor(C.height/C.lineHeight);!0===g?this.selection.$moveSelection((function(){this.moveCursorBy(B,0)})):!1===g&&(this.selection.moveCursorBy(B,0),this.selection.clearSelection());var Q=I.scrollTop;I.scrollBy(0,B*C.lineHeight),null!=g&&I.scrollCursorIntoView(null,.5),I.animateScrolling(Q)},A.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},A.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},A.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},A.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},A.prototype.scrollPageDown=function(){this.$moveByPage(1)},A.prototype.scrollPageUp=function(){this.$moveByPage(-1)},A.prototype.scrollToRow=function(A){this.renderer.scrollToRow(A)},A.prototype.scrollToLine=function(A,g,I,C){this.renderer.scrollToLine(A,g,I,C)},A.prototype.centerSelection=function(){var A=this.getSelectionRange(),g={row:Math.floor(A.start.row+(A.end.row-A.start.row)/2),column:Math.floor(A.start.column+(A.end.column-A.start.column)/2)};this.renderer.alignCursor(g,.5)},A.prototype.getCursorPosition=function(){return this.selection.getCursor()},A.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},A.prototype.getSelectionRange=function(){return this.selection.getRange()},A.prototype.selectAll=function(){this.selection.selectAll()},A.prototype.clearSelection=function(){this.selection.clearSelection()},A.prototype.moveCursorTo=function(A,g){this.selection.moveCursorTo(A,g)},A.prototype.moveCursorToPosition=function(A){this.selection.moveCursorToPosition(A)},A.prototype.jumpToMatching=function(A,g){var I=this.getCursorPosition(),C=new G(this.session,I.row,I.column),B=C.getCurrentToken(),Q=0;B&&-1!==B.type.indexOf("tag-name")&&(B=C.stepBackward());var i=B||C.stepForward();if(i){var o,e,E=!1,t={},n=I.column-i.start,a={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(i.value.match(/[{}()\[\]]/g)){for(;n1?t[i.value]++:"=0;--Q)this.$tryReplace(I[Q],A)&&C++;return this.selection.setSelectionRange(B),C},A.prototype.$tryReplace=function(A,g){var I=this.session.getTextRange(A);return null!==(g=this.$search.replace(I,g))?(A.end=this.session.replace(A,g),A):null},A.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},A.prototype.find=function(A,g,I){g||(g={}),"string"==typeof A||A instanceof RegExp?g.needle=A:"object"==typeof A&&B.mixin(g,A);var C=this.selection.getRange();null==g.needle&&((A=this.session.getTextRange(C)||this.$search.$options.needle)||(C=this.session.getWordRange(C.start.row,C.start.column),A=this.session.getTextRange(C)),this.$search.set({needle:A})),this.$search.set(g),g.start||this.$search.set({start:C});var Q=this.$search.find(this.session);return g.preventScroll?Q:Q?(this.revealRange(Q,I),Q):(g.backwards?C.start=C.end:C.end=C.start,void this.selection.setRange(C))},A.prototype.findNext=function(A,g){this.find({skipCurrent:!0,backwards:!1},A,g)},A.prototype.findPrevious=function(A,g){this.find(A,{skipCurrent:!0,backwards:!0},g)},A.prototype.revealRange=function(A,g){this.session.unfold(A),this.selection.setSelectionRange(A);var I=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(A.start,A.end,.5),!1!==g&&this.renderer.animateScrolling(I)},A.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},A.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},A.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach((function(A){A.destroy()})),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},A.prototype.setAutoScrollEditorIntoView=function(A){if(A){var g,I=this,C=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var B=this.$scrollAnchor;B.style.cssText="position:absolute",this.container.insertBefore(B,this.container.firstChild);var Q=this.on("changeSelection",(function(){C=!0})),i=this.renderer.on("beforeRender",(function(){C&&(g=I.renderer.container.getBoundingClientRect())})),o=this.renderer.on("afterRender",(function(){if(C&&g&&(I.isFocused()||I.searchBox&&I.searchBox.isFocused())){var A=I.renderer,Q=A.$cursorLayer.$pixelPos,i=A.layerConfig,o=Q.top-i.offset;null!=(C=Q.top>=0&&o+g.top<0||!(Q.topwindow.innerHeight)&&null)&&(B.style.top=o+"px",B.style.left=Q.left+"px",B.style.height=i.lineHeight+"px",B.scrollIntoView(C)),C=g=null}}));this.setAutoScrollEditorIntoView=function(A){A||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",Q),this.renderer.off("afterRender",o),this.renderer.off("beforeRender",i))}}},A.prototype.$resetCursorStyle=function(){var A=this.$cursorStyle||"ace",g=this.renderer.$cursorLayer;g&&(g.setSmoothBlinking(/smooth/.test(A)),g.isBlinking=!this.$readOnly&&"wide"!=A,Q.setCssClass(g.element,"ace_slim-cursors",/slim/.test(A)))},A.prototype.prompt=function(A,g,I){var C=this;d.loadModule("ace/ext/prompt",(function(B){B.prompt(C,A,g,I)}))},A}();N.$uid=0,N.prototype.curOp=null,N.prototype.prevOp={},N.prototype.$mergeableCommands=["backspace","del","insertstring"],N.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],B.implement(N.prototype,r),d.defineOptions(N.prototype,"editor",{selectionStyle:{set:function(A){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:A})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(A){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(A){this.textInput.setReadOnly(A),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(A){this.textInput.setCopyWithEmptySelection(A)},initialValue:!1},cursorStyle:{set:function(A){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(A){this.setAutoScrollEditorIntoView(A)}},keyboardHandler:{set:function(A){this.setKeyboardHandler(A)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(A){this.session.setValue(A)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(A){this.setSession(A)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(A){this.renderer.$gutterLayer.setShowLineNumbers(A),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),A&&this.$relativeLineNumbers?m.attach(this):m.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(A){this.$showLineNumbers&&A?m.attach(this):m.detach(this)}},placeholder:{set:function(A){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var A=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(A&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),Q.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(A||this.renderer.placeholderNode)!A&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"");else{this.renderer.on("afterRender",this.$updatePlaceholder),Q.addCssClass(this.container,"ace_hasPlaceholder");var g=Q.createElement("div");g.className="ace_placeholder",g.textContent=this.$placeholder||"",this.renderer.placeholderNode=g,this.renderer.content.appendChild(this.renderer.placeholderNode)}}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(A){var g,I={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(A){A.blur(),A.renderer.scroller.focus()},readOnly:!0},C=function(A){if(A.target==this.renderer.scroller&&A.keyCode===S.enter){A.preventDefault();var g=this.getCursorPosition().row;this.isRowVisible(g)||this.scrollToLine(g,!0,!0),this.focus()}};A?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(o.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",w("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",w("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",C.bind(this)),this.commands.addCommand(I),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",w("editor.gutter.aria-roledescription","editor")),this.renderer.$gutter.setAttribute("aria-label",w("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),g||(g=new y(this)),g.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",C.bind(this)),this.commands.removeCommand(I),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),g&&g.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(A){this.$textInputAriaLabel=A},initialValue:""},enableMobileMenu:{set:function(A){this.$enableMobileMenu=A},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var m={getText:function(A,g){return(Math.abs(A.selection.lead.row-g)||g+1+(g<9?"\xb7":""))+""},getWidth:function(A,g,I){return Math.max(g.toString().length,(I.lastRow+1).toString().length,2)*I.characterWidth},update:function(A,g){g.renderer.$loop.schedule(g.renderer.CHANGE_GUTTER)},attach:function(A){A.renderer.$gutterLayer.$renderer=this,A.on("changeSelection",this.update),this.update(null,A)},detach:function(A){A.renderer.$gutterLayer.$renderer==this&&(A.renderer.$gutterLayer.$renderer=null),A.off("changeSelection",this.update),this.update(null,A)}};g.Editor=N})),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],(function(A,g,I){"use strict";var C=A("../lib/dom"),B=function(){function A(A,g){this.element=A,this.canvasHeight=g||5e5,this.element.style.height=2*this.canvasHeight+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return A.prototype.moveContainer=function(A){C.translate(this.element,0,-A.firstRowScreen*A.lineHeight%this.canvasHeight-A.offset*this.$offsetCoefficient)},A.prototype.pageChanged=function(A,g){return Math.floor(A.firstRowScreen*A.lineHeight/this.canvasHeight)!==Math.floor(g.firstRowScreen*g.lineHeight/this.canvasHeight)},A.prototype.computeLineTop=function(A,g,I){var C=g.firstRowScreen*g.lineHeight,B=Math.floor(C/this.canvasHeight);return I.documentToScreenRow(A,0)*g.lineHeight-B*this.canvasHeight},A.prototype.computeLineHeight=function(A,g,I){return g.lineHeight*I.getRowLineCount(A)},A.prototype.getLength=function(){return this.cells.length},A.prototype.get=function(A){return this.cells[A]},A.prototype.shift=function(){this.$cacheCell(this.cells.shift())},A.prototype.pop=function(){this.$cacheCell(this.cells.pop())},A.prototype.push=function(A){if(Array.isArray(A)){this.cells.push.apply(this.cells,A);for(var g=C.createFragment(this.element),I=0;IQ&&(e=B.end.row+1,Q=(B=g.getNextFoldLine(e,B))?B.start.row:1/0),e>C){for(;this.$lines.getLength()>o+1;)this.$lines.pop();break}(i=this.$lines.get(++o))?i.row=e:(i=this.$lines.createCell(e,A,this.session,t),this.$lines.push(i)),this.$renderCell(i,A,B,e),e++}this._signal("afterRender"),this.$updateGutterWidth(A)},A.prototype.$updateGutterWidth=function(A){var g=this.session,I=g.gutterRenderer||this.$renderer,C=g.$firstLineNumber,B=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||g.$useWrapMode)&&(B=g.getLength()+C-1);var Q=I?I.getWidth(g,B,A):B.toString().length*A.characterWidth,i=this.$padding||this.$computePadding();(Q+=i.left+i.right)===this.gutterWidth||isNaN(Q)||(this.gutterWidth=Q,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",Q))},A.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var A=this.session.selection.getCursor();this.$cursorRow!==A.row&&(this.$cursorRow=A.row)}},A.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var A=this.session.selection.cursor.row;if(this.$cursorRow=A,!this.$cursorCell||this.$cursorCell.row!=A){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var g=this.$lines.cells;this.$cursorCell=null;for(var I=0;I=this.$cursorRow){if(C.row>this.$cursorRow){var B=this.session.getFoldLine(this.$cursorRow);if(!(I>0&&B&&B.start.row==g[I-1].row))break;C=g[I-1]}C.element.className="ace_gutter-active-line "+C.element.className,this.$cursorCell=C;break}}}}},A.prototype.scrollLines=function(A){var g=this.config;if(this.config=A,this.$updateCursorRow(),this.$lines.pageChanged(g,A))return this.update(A);this.$lines.moveContainer(A);var I=Math.min(A.lastRow+A.gutterOffset,this.session.getLength()-1),C=this.oldLastRow;if(this.oldLastRow=I,!g||C0;B--)this.$lines.shift();if(C>I)for(B=this.session.getFoldedRowCount(I+1,C);B>0;B--)this.$lines.pop();A.firstRowC&&this.$lines.push(this.$renderLines(A,C+1,I)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(A)},A.prototype.$renderLines=function(A,g,I){for(var C=[],B=g,Q=this.session.getNextFoldLine(B),i=Q?Q.start.row:1/0;B>i&&(B=Q.end.row+1,i=(Q=this.session.getNextFoldLine(B,Q))?Q.start.row:1/0),!(B>I);){var o=this.$lines.createCell(B,A,this.session,t);this.$renderCell(o,A,Q,B),C.push(o),B++}return C},A.prototype.$renderCell=function(A,g,I,B){var Q=A.element,i=this.session,o=Q.childNodes[0],E=Q.childNodes[1],t=Q.childNodes[2],n=t.firstChild,a=i.$firstLineNumber,s=i.$breakpoints,c=i.$decorations,r=i.gutterRenderer||this.$renderer,l=this.$showFoldWidgets&&i.foldWidgets,h=I?I.start.row:Number.MAX_VALUE,d=g.lineHeight+"px",G=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",D=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",y=(r?r.getText(i,B):B+a).toString();if(this.$highlightGutterLine&&(B==this.$cursorRow||I&&B=h&&this.$cursorRow<=I.end.row)&&(G+="ace_gutter-active-line ",this.$cursorCell!=A&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=A)),s[B]&&(G+=s[B]),c[B]&&(G+=c[B]),this.$annotations[B]&&B!==h&&(G+=this.$annotations[B].className),l){var w=l[B];null==w&&(w=l[B]=i.getFoldWidget(B))}if(w){var u="ace_fold-widget ace_"+w,S="start"==w&&B==h&&BI.right-g.right?"foldWidgets":void 0},A}();function t(A){var g=document.createTextNode("");A.appendChild(g);var I=C.createElement("span");A.appendChild(I);var B=C.createElement("span");A.appendChild(B);var Q=C.createElement("span");return B.appendChild(Q),A}E.prototype.$fixedWidth=!1,E.prototype.$highlightGutterLine=!0,E.prototype.$renderer="",E.prototype.$showLineNumbers=!0,E.prototype.$showFoldWidgets=!0,B.implement(E.prototype,i),g.Gutter=E})),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],(function(A,g,I){"use strict";var C=A("../range").Range,B=A("../lib/dom"),Q=function(){function A(A){this.element=B.createElement("div"),this.element.className="ace_layer ace_marker-layer",A.appendChild(this.element)}return A.prototype.setPadding=function(A){this.$padding=A},A.prototype.setSession=function(A){this.session=A},A.prototype.setMarkers=function(A){this.markers=A},A.prototype.elt=function(A,g){var I=-1!=this.i&&this.element.childNodes[this.i];I?this.i++:(I=document.createElement("div"),this.element.appendChild(I),this.i=-1),I.style.cssText=g,I.className=A},A.prototype.update=function(A){if(A){var g;for(var I in this.config=A,this.i=0,this.markers){var C=this.markers[I];if(C.range){var B=C.range.clipRows(A.firstRow,A.lastRow);if(!B.isEmpty())if(B=B.toScreenRange(this.session),C.renderer){var Q=this.$getTop(B.start.row,A),i=this.$padding+B.start.column*A.characterWidth;C.renderer(g,B,i,Q,A)}else"fullLine"==C.type?this.drawFullLineMarker(g,B,C.clazz,A):"screenLine"==C.type?this.drawScreenLineMarker(g,B,C.clazz,A):B.isMultiLine()?"text"==C.type?this.drawTextMarker(g,B,C.clazz,A):this.drawMultiLineMarker(g,B,C.clazz,A):this.drawSingleLineMarker(g,B,C.clazz+" ace_start ace_br15",A)}else C.update(g,this,this.session,A)}if(-1!=this.i)for(;this.ia?4:0)|(E==e?8:0)),B,E==e?0:1,Q)},A.prototype.drawMultiLineMarker=function(A,g,I,C,B){var Q=this.$padding,i=C.lineHeight,o=this.$getTop(g.start.row,C),e=Q+g.start.column*C.characterWidth;(B=B||"",this.session.$bidiHandler.isBidiRow(g.start.row))?((E=g.clone()).end.row=E.start.row,E.end.column=this.session.getLine(E.start.row).length,this.drawBidiSingleLineMarker(A,E,I+" ace_br1 ace_start",C,null,B)):this.elt(I+" ace_br1 ace_start","height:"+i+"px;right:0;top:"+o+"px;left:"+e+"px;"+(B||""));if(this.session.$bidiHandler.isBidiRow(g.end.row)){var E;(E=g.clone()).start.row=E.end.row,E.start.column=0,this.drawBidiSingleLineMarker(A,E,I+" ace_br12",C,null,B)}else{o=this.$getTop(g.end.row,C);var t=g.end.column*C.characterWidth;this.elt(I+" ace_br12","height:"+i+"px;width:"+t+"px;top:"+o+"px;left:"+Q+"px;"+(B||""))}if(!((i=(g.end.row-g.start.row-1)*C.lineHeight)<=0)){o=this.$getTop(g.start.row+1,C);var n=(g.start.column?1:0)|(g.end.column?0:8);this.elt(I+(n?" ace_br"+n:""),"height:"+i+"px;right:0;top:"+o+"px;left:"+Q+"px;"+(B||""))}},A.prototype.drawSingleLineMarker=function(A,g,I,C,B,Q){if(this.session.$bidiHandler.isBidiRow(g.start.row))return this.drawBidiSingleLineMarker(A,g,I,C,B,Q);var i=C.lineHeight,o=(g.end.column+(B||0)-g.start.column)*C.characterWidth,e=this.$getTop(g.start.row,C),E=this.$padding+g.start.column*C.characterWidth;this.elt(I,"height:"+i+"px;width:"+o+"px;top:"+e+"px;left:"+E+"px;"+(Q||""))},A.prototype.drawBidiSingleLineMarker=function(A,g,I,C,B,Q){var i=C.lineHeight,o=this.$getTop(g.start.row,C),e=this.$padding;this.session.$bidiHandler.getSelections(g.start.column,g.end.column).forEach((function(A){this.elt(I,"height:"+i+"px;width:"+(A.width+(B||0))+"px;top:"+o+"px;left:"+(e+A.left)+"px;"+(Q||""))}),this)},A.prototype.drawFullLineMarker=function(A,g,I,C,B){var Q=this.$getTop(g.start.row,C),i=C.lineHeight;g.start.row!=g.end.row&&(i+=this.$getTop(g.end.row,C)-Q),this.elt(I,"height:"+i+"px;top:"+Q+"px;left:0;right:0;"+(B||""))},A.prototype.drawScreenLineMarker=function(A,g,I,C,B){var Q=this.$getTop(g.start.row,C),i=C.lineHeight;this.elt(I,"height:"+i+"px;top:"+Q+"px;left:0;right:0;"+(B||""))},A}();Q.prototype.$padding=0,g.Marker=Q})),ace.define("ace/layer/text_util",["require","exports","module"],(function(A,g,I){var C=new Set(["text","rparen","lparen"]);g.isTextToken=function(A){return C.has(A)}})),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],(function(A,g,I){"use strict";var C=A("../lib/oop"),B=A("../lib/dom"),Q=A("../lib/lang"),i=A("./lines").Lines,o=A("../lib/event_emitter").EventEmitter,e=A("../config").nls,E=A("./text_util").isTextToken,t=function(){function A(A){this.dom=B,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",A.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new i(this.element)}return A.prototype.$updateEolChar=function(){var A=this.session.doc,g="\n"==A.getNewLineCharacter()&&"windows"!=A.getNewLineMode()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=g)return this.EOL_CHAR=g,!0},A.prototype.setPadding=function(A){this.$padding=A,this.element.style.margin="0 "+A+"px"},A.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},A.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},A.prototype.$setFontMetrics=function(A){this.$fontMetrics=A,this.$fontMetrics.on("changeCharacterSize",function(A){this._signal("changeCharacterSize",A)}.bind(this)),this.$pollSizeChanges()},A.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},A.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},A.prototype.setSession=function(A){this.session=A,A&&this.$computeTabString()},A.prototype.setShowInvisibles=function(A){return this.showInvisibles!=A&&(this.showInvisibles=A,"string"==typeof A?(this.showSpaces=/tab/i.test(A),this.showTabs=/space/i.test(A),this.showEOL=/eol/i.test(A)):this.showSpaces=this.showTabs=this.showEOL=A,this.$computeTabString(),!0)},A.prototype.setDisplayIndentGuides=function(A){return this.displayIndentGuides!=A&&(this.displayIndentGuides=A,this.$computeTabString(),!0)},A.prototype.setHighlightIndentGuides=function(A){return this.$highlightIndentGuides!==A&&(this.$highlightIndentGuides=A,A)},A.prototype.$computeTabString=function(){var A=this.session.getTabSize();this.tabSize=A;for(var g=this.$tabStrings=[0],I=1;It&&(o=e.end.row+1,t=(e=this.session.getNextFoldLine(o,e))?e.start.row:1/0),!(o>B);){var n=Q[i++];if(n){this.dom.removeChildren(n),this.$renderLine(n,o,o==t&&e),E&&(n.style.top=this.$lines.computeLineTop(o,A,this.session)+"px");var a=A.lineHeight*this.session.getRowLength(o)+"px";n.style.height!=a&&(E=!0,n.style.height=a)}o++}if(E)for(;i0;B--)this.$lines.shift();if(g.lastRow>A.lastRow)for(B=this.session.getFoldedRowCount(A.lastRow+1,g.lastRow);B>0;B--)this.$lines.pop();A.firstRowg.lastRow&&this.$lines.push(this.$renderLinesFragment(A,g.lastRow+1,A.lastRow)),this.$highlightIndentGuide()},A.prototype.$renderLinesFragment=function(A,g,I){for(var C=[],Q=g,i=this.session.getNextFoldLine(Q),o=i?i.start.row:1/0;Q>o&&(Q=i.end.row+1,o=(i=this.session.getNextFoldLine(Q,i))?i.start.row:1/0),!(Q>I);){var e=this.$lines.createCell(Q,A,this.session),E=e.element;this.dom.removeChildren(E),B.setStyle(E.style,"height",this.$lines.computeLineHeight(Q,A,this.session)+"px"),B.setStyle(E.style,"top",this.$lines.computeLineTop(Q,A,this.session)+"px"),this.$renderLine(E,Q,Q==o&&i),this.$useLineGroups()?E.className="ace_line_group":E.className="ace_line",C.push(e),Q++}return C},A.prototype.update=function(A){this.$lines.moveContainer(A),this.config=A;for(var g=A.firstRow,I=A.lastRow,C=this.$lines;C.getLength();)C.pop();C.push(this.$renderLinesFragment(A,g,I))},A.prototype.$renderToken=function(A,g,I,C){for(var B,i=this,o=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,t=this.dom.createFragment(this.element),n=0;B=o.exec(C);){var a=B[1],s=B[2],c=B[3],r=B[4],l=B[5];if(i.showSpaces||!s){var h=n!=B.index?C.slice(n,B.index):"";if(n=B.index+B[0].length,h&&t.appendChild(this.dom.createTextNode(h,this.element)),a){var d=i.session.getScreenTabSize(g+B.index);t.appendChild(i.$tabStrings[d].cloneNode(!0)),g+=d-1}else if(s){if(i.showSpaces)(D=this.dom.createElement("span")).className="ace_invisible ace_invisible_space",D.textContent=Q.stringRepeat(i.SPACE_CHAR,s.length),t.appendChild(D);else t.appendChild(this.dom.createTextNode(s,this.element))}else if(c){(D=this.dom.createElement("span")).className="ace_invisible ace_invisible_space ace_invalid",D.textContent=Q.stringRepeat(i.SPACE_CHAR,c.length),t.appendChild(D)}else if(r){g+=1,(D=this.dom.createElement("span")).style.width=2*i.config.characterWidth+"px",D.className=i.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",D.textContent=i.showSpaces?i.SPACE_CHAR:r,t.appendChild(D)}else if(l){g+=1,(D=this.dom.createElement("span")).style.width=2*i.config.characterWidth+"px",D.className="ace_cjk",D.textContent=l,t.appendChild(D)}}}if(t.appendChild(this.dom.createTextNode(n?C.slice(n):C,this.element)),E(I.type))A.appendChild(t);else{var G="ace_"+I.type.replace(/\./g," ace_"),D=this.dom.createElement("span");"fold"==I.type&&(D.style.width=I.value.length*this.config.characterWidth+"px",D.setAttribute("title",e("inline-fold.closed.title","Unfold code"))),D.className=G,D.appendChild(t),A.appendChild(D)}return g+C.length},A.prototype.renderIndentGuide=function(A,g,I){var C=g.search(this.$indentGuideRe);if(C<=0||C>=I)return g;if(" "==g[0]){for(var B=(C-=C%this.tabSize)/this.tabSize,Q=0;QB[Q].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}if(!this.$highlightIndentGuideMarker.end&&""!==A[g.row]&&g.column===A[g.row].length){this.$highlightIndentGuideMarker.dir=1;for(Q=g.row+1;Q0)for(var C=0;C=this.$highlightIndentGuideMarker.start+1){if(C.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(C,g)}}else for(I=A.length-1;I>=0;I--){C=A[I];if(this.$highlightIndentGuideMarker.end&&C.row=i;)o=this.$renderToken(e,o,t,n.substring(0,i-C)),n=n.substring(i-C),C=i,e=this.$createLineElement(),A.appendChild(e),e.appendChild(this.dom.createTextNode(Q.stringRepeat("\xa0",I.indent),this.element)),o=0,i=I[++B]||Number.MAX_VALUE;0!=n.length&&(C+=n.length,o=this.$renderToken(e,o,t,n))}}I[I.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(e,o,null,"",!0)},A.prototype.$renderSimpleLine=function(A,g){for(var I=0,C=0;Cthis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(A,I,B,Q);I=this.$renderToken(A,I,B,Q)}}},A.prototype.$renderOverflowMessage=function(A,g,I,C,B){I&&this.$renderToken(A,g,I,C.slice(0,this.MAX_LINE_LENGTH-g));var Q=this.dom.createElement("span");Q.className="ace_inline_button ace_keyword ace_toggle_wrap",Q.textContent=B?"":"",A.appendChild(Q)},A.prototype.$renderLine=function(A,g,I){if(I||0==I||(I=this.session.getFoldLine(g)),I)var C=this.$getFoldLineTokens(g,I);else C=this.session.getTokens(g);var B=A;if(C.length){var Q=this.session.getRowSplitData(g);if(Q&&Q.length){this.$renderWrappedLine(A,C,Q);B=A.lastChild}else{B=A;this.$useLineGroups()&&(B=this.$createLineElement(),A.appendChild(B)),this.$renderSimpleLine(B,C)}}else this.$useLineGroups()&&(B=this.$createLineElement(),A.appendChild(B));if(this.showEOL&&B){I&&(g=I.end.row);var i=this.dom.createElement("span");i.className="ace_invisible ace_invisible_eol",i.textContent=g==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,B.appendChild(i)}},A.prototype.$getFoldLineTokens=function(A,g){var I=this.session,C=[];var B=I.getTokens(A);return g.walk((function(A,g,Q,i,o){null!=A?C.push({type:"fold",value:A}):(o&&(B=I.getTokens(g)),B.length&&function(A,g,I){for(var B=0,Q=0;Q+A[B].value.lengthI-g&&(i=i.substring(0,I-g)),C.push({type:A[B].type,value:i}),Q=g+i.length,B+=1);QI?C.push({type:A[B].type,value:i.substring(0,I-Q)}):C.push(A[B]),Q+=i.length,B+=1}}(B,i,Q))}),g.end.row,this.session.getLine(g.end.row).length),C},A.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},A}();t.prototype.EOF_CHAR="\xb6",t.prototype.EOL_CHAR_LF="\xac",t.prototype.EOL_CHAR_CRLF="\xa4",t.prototype.EOL_CHAR=t.prototype.EOL_CHAR_LF,t.prototype.TAB_CHAR="\u2014",t.prototype.SPACE_CHAR="\xb7",t.prototype.$padding=0,t.prototype.MAX_LINE_LENGTH=1e4,t.prototype.showInvisibles=!1,t.prototype.showSpaces=!1,t.prototype.showTabs=!1,t.prototype.showEOL=!1,t.prototype.displayIndentGuides=!0,t.prototype.$highlightIndentGuides=!0,t.prototype.$tabStrings=[],t.prototype.destroy={},t.prototype.onChangeTabSize=t.prototype.$computeTabString,C.implement(t.prototype,o),g.Text=t})),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],(function(A,g,I){"use strict";var C=A("../lib/dom"),B=function(){function A(A){this.element=C.createElement("div"),this.element.className="ace_layer ace_cursor-layer",A.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),C.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return A.prototype.$updateOpacity=function(A){for(var g=this.cursors,I=g.length;I--;)C.setStyle(g[I].style,"opacity",A?"":"0")},A.prototype.$startCssAnimation=function(){for(var A=this.cursors,g=A.length;g--;)A[g].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout(function(){this.$isAnimating&&C.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},A.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,C.removeCssClass(this.element,"ace_animate-blinking")},A.prototype.setPadding=function(A){this.$padding=A},A.prototype.setSession=function(A){this.session=A},A.prototype.setBlinking=function(A){A!=this.isBlinking&&(this.isBlinking=A,this.restartTimer())},A.prototype.setBlinkInterval=function(A){A!=this.blinkInterval&&(this.blinkInterval=A,this.restartTimer())},A.prototype.setSmoothBlinking=function(A){A!=this.smoothBlinking&&(this.smoothBlinking=A,C.setCssClass(this.element,"ace_smooth-blinking",A),this.$updateCursors(!0),this.restartTimer())},A.prototype.addCursor=function(){var A=C.createElement("div");return A.className="ace_cursor",this.element.appendChild(A),this.cursors.push(A),A},A.prototype.removeCursor=function(){if(this.cursors.length>1){var A=this.cursors.pop();return A.parentNode.removeChild(A),A}},A.prototype.hideCursor=function(){this.isVisible=!1,C.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},A.prototype.showCursor=function(){this.isVisible=!0,C.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},A.prototype.restartTimer=function(){var A=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,C.removeCssClass(this.element,"ace_smooth-blinking")),A(!0),this.isBlinking&&this.blinkInterval&&this.isVisible)if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout(function(){this.$isSmoothBlinking&&C.addCssClass(this.element,"ace_smooth-blinking")}.bind(this))),C.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var g=function(){this.timeoutId=setTimeout((function(){A(!1)}),.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval((function(){A(!0),g()}),this.blinkInterval),g()}else this.$stopCssAnimation()},A.prototype.getPixelPosition=function(A,g){if(!this.config||!this.session)return{left:0,top:0};A||(A=this.session.selection.getCursor());var I=this.session.documentToScreenPosition(A);return{left:this.$padding+(this.session.$bidiHandler.isBidiRow(I.row,A.row)?this.session.$bidiHandler.getPosLeft(I.column):I.column*this.config.characterWidth),top:(I.row-(g?this.config.firstRowScreen:0))*this.config.lineHeight}},A.prototype.isCursorInView=function(A,g){return A.top>=0&&A.topA.height+A.offset||i.top<0)&&I>1)){var o=this.cursors[B++]||this.addCursor(),e=o.style;this.drawCursor?this.drawCursor(o,i,A,g[I],this.session):this.isCursorInView(i,A)?(C.setStyle(e,"display","block"),C.translate(o,i.left,i.top),C.setStyle(e,"width",Math.round(A.characterWidth)+"px"),C.setStyle(e,"height",A.lineHeight+"px")):C.setStyle(e,"display","none")}}for(;this.cursors.length>B;)this.removeCursor();var E=this.session.getOverwrite();this.$setOverwrite(E),this.$pixelPos=i,this.restartTimer()},A.prototype.$setOverwrite=function(A){A!=this.overwrite&&(this.overwrite=A,A?C.addCssClass(this.element,"ace_overwrite-cursors"):C.removeCssClass(this.element,"ace_overwrite-cursors"))},A.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},A}();B.prototype.$padding=0,B.prototype.drawCursor=null,g.Cursor=B})),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],(function(A,g,I){"use strict";var C=this&&this.__extends||function(){var A=function(g,I){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,g){A.__proto__=g}||function(A,g){for(var I in g)Object.prototype.hasOwnProperty.call(g,I)&&(A[I]=g[I])},A(g,I)};return function(g,I){if("function"!==typeof I&&null!==I)throw new TypeError("Class extends value "+String(I)+" is not a constructor or null");function C(){this.constructor=g}A(g,I),g.prototype=null===I?Object.create(I):(C.prototype=I.prototype,new C)}}(),B=A("./lib/oop"),Q=A("./lib/dom"),i=A("./lib/event"),o=A("./lib/event_emitter").EventEmitter,e=32768,E=function(){function A(A,g){this.element=Q.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+g,this.inner=Q.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent="\xa0",this.element.appendChild(this.inner),A.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,i.addListener(this.element,"scroll",this.onScroll.bind(this)),i.addListener(this.element,"mousedown",i.preventDefault)}return A.prototype.setVisible=function(A){this.element.style.display=A?"":"none",this.isVisible=A,this.coeff=1},A}();B.implement(E.prototype,o);var t=function(A){function g(g,I){var C=A.call(this,g,"-v")||this;return C.scrollTop=0,C.scrollHeight=0,I.$scrollbarWidth=C.width=Q.scrollbarWidth(g.ownerDocument),C.inner.style.width=C.element.style.width=(C.width||15)+5+"px",C.$minWidth=0,C}return C(g,A),g.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,1!=this.coeff){var A=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-A)/(this.coeff-A)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},g.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},g.prototype.setHeight=function(A){this.element.style.height=A+"px"},g.prototype.setScrollHeight=function(A){this.scrollHeight=A,A>e?(this.coeff=e/A,A=e):1!=this.coeff&&(this.coeff=1),this.inner.style.height=A+"px"},g.prototype.setScrollTop=function(A){this.scrollTop!=A&&(this.skipEvent=!0,this.scrollTop=A,this.element.scrollTop=A*this.coeff)},g}(E);t.prototype.setInnerHeight=t.prototype.setScrollHeight;var n=function(A){function g(g,I){var C=A.call(this,g,"-h")||this;return C.scrollLeft=0,C.height=I.$scrollbarWidth,C.inner.style.height=C.element.style.height=(C.height||15)+5+"px",C}return C(g,A),g.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},g.prototype.getHeight=function(){return this.isVisible?this.height:0},g.prototype.setWidth=function(A){this.element.style.width=A+"px"},g.prototype.setInnerWidth=function(A){this.inner.style.width=A+"px"},g.prototype.setScrollWidth=function(A){this.inner.style.width=A+"px"},g.prototype.setScrollLeft=function(A){this.scrollLeft!=A&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=A)},g}(E);g.ScrollBar=t,g.ScrollBarV=t,g.ScrollBarH=n,g.VScrollBar=t,g.HScrollBar=n})),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],(function(A,g,I){"use strict";var C=this&&this.__extends||function(){var A=function(g,I){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,g){A.__proto__=g}||function(A,g){for(var I in g)Object.prototype.hasOwnProperty.call(g,I)&&(A[I]=g[I])},A(g,I)};return function(g,I){if("function"!==typeof I&&null!==I)throw new TypeError("Class extends value "+String(I)+" is not a constructor or null");function C(){this.constructor=g}A(g,I),g.prototype=null===I?Object.create(I):(C.prototype=I.prototype,new C)}}(),B=A("./lib/oop"),Q=A("./lib/dom"),i=A("./lib/event"),o=A("./lib/event_emitter").EventEmitter;Q.importCssString(".ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{\n position: absolute;\n background: rgba(128, 128, 128, 0.6);\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n border: 1px solid #bbb;\n border-radius: 2px;\n z-index: 8;\n}\n.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {\n position: absolute;\n z-index: 6;\n background: none;\n overflow: hidden!important;\n}\n.ace_editor>.ace_sb-v {\n z-index: 6;\n right: 0;\n top: 0;\n width: 12px;\n}\n.ace_editor>.ace_sb-v div {\n z-index: 8;\n right: 0;\n width: 100%;\n}\n.ace_editor>.ace_sb-h {\n bottom: 0;\n left: 0;\n height: 12px;\n}\n.ace_editor>.ace_sb-h div {\n bottom: 0;\n height: 100%;\n}\n.ace_editor>.ace_sb_grabbed {\n z-index: 8;\n background: #000;\n}","ace_scrollbar.css",!1);var e=function(){function A(A,g){this.element=Q.createElement("div"),this.element.className="ace_sb"+g,this.inner=Q.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,A.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,i.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return A.prototype.setVisible=function(A){this.element.style.display=A?"":"none",this.isVisible=A,this.coeff=1},A}();B.implement(e.prototype,o);var E=function(A){function g(g,I){var C=A.call(this,g,"-v")||this;return C.scrollTop=0,C.scrollHeight=0,C.parent=g,C.width=C.VScrollWidth,C.renderer=I,C.inner.style.width=C.element.style.width=(C.width||15)+"px",C.$minWidth=0,C}return C(g,A),g.prototype.onMouseDown=function(A,g){if("mousedown"===A&&0===i.getButton(g)&&2!==g.detail){if(g.target===this.inner){var I=this,C=g.clientY,B=g.clientY,Q=this.thumbTop;i.capture(this.inner,(function(A){C=A.clientY}),(function(){clearInterval(o)}));var o=setInterval((function(){if(void 0!==C){var A=I.scrollTopFromThumbTop(Q+C-B);A!==I.scrollTop&&I._emit("scroll",{data:A})}}),20);return i.preventDefault(g)}var e=g.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(e)}),i.preventDefault(g)}},g.prototype.getHeight=function(){return this.height},g.prototype.scrollTopFromThumbTop=function(A){var g=A*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return(g|=0)<0?g=0:g>this.pageHeight-this.viewHeight&&(g=this.pageHeight-this.viewHeight),g},g.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},g.prototype.setHeight=function(A){this.height=Math.max(0,A),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},g.prototype.setScrollHeight=function(A,g){(this.pageHeight!==A||g)&&(this.pageHeight=A,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop})))},g.prototype.setScrollTop=function(A){this.scrollTop=A,A<0&&(A=0),this.thumbTop=A*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},g}(e);E.prototype.setInnerHeight=E.prototype.setScrollHeight;var t=function(A){function g(g,I){var C=A.call(this,g,"-h")||this;return C.scrollLeft=0,C.scrollWidth=0,C.height=C.HScrollHeight,C.inner.style.height=C.element.style.height=(C.height||12)+"px",C.renderer=I,C}return C(g,A),g.prototype.onMouseDown=function(A,g){if("mousedown"===A&&0===i.getButton(g)&&2!==g.detail){if(g.target===this.inner){var I=this,C=g.clientX,B=g.clientX,Q=this.thumbLeft;i.capture(this.inner,(function(A){C=A.clientX}),(function(){clearInterval(o)}));var o=setInterval((function(){if(void 0!==C){var A=I.scrollLeftFromThumbLeft(Q+C-B);A!==I.scrollLeft&&I._emit("scroll",{data:A})}}),20);return i.preventDefault(g)}var e=g.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(e)}),i.preventDefault(g)}},g.prototype.getHeight=function(){return this.isVisible?this.height:0},g.prototype.scrollLeftFromThumbLeft=function(A){var g=A*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return(g|=0)<0?g=0:g>this.pageWidth-this.viewWidth&&(g=this.pageWidth-this.viewWidth),g},g.prototype.setWidth=function(A){this.width=Math.max(0,A),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},g.prototype.setScrollWidth=function(A,g){(this.pageWidth!==A||g)&&(this.pageWidth=A,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft})))},g.prototype.setScrollLeft=function(A){this.scrollLeft=A,A<0&&(A=0),this.thumbLeft=A*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},g}(e);t.prototype.setInnerWidth=t.prototype.setScrollWidth,g.ScrollBar=E,g.ScrollBarV=E,g.ScrollBarH=t,g.VScrollBar=E,g.HScrollBar=t})),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],(function(A,g,I){"use strict";var C=A("./lib/event"),B=function(){function A(A,g){this.onRender=A,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=g||window;var I=this;this._flush=function(A){I.pending=!1;var g=I.changes;if(g&&(C.blockIdle(100),I.changes=0,I.onRender(g)),I.changes){if(I.$recursionLimit--<0)return;I.schedule()}else I.$recursionLimit=2}}return A.prototype.schedule=function(A){this.changes=this.changes|A,this.changes&&!this.pending&&(C.nextFrame(this._flush),this.pending=!0)},A.prototype.clear=function(A){var g=this.changes;return this.changes=0,g},A}();g.RenderLoop=B})),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],(function(A,g,I){var C=A("../lib/oop"),B=A("../lib/dom"),Q=A("../lib/lang"),i=A("../lib/event"),o=A("../lib/useragent"),e=A("../lib/event_emitter").EventEmitter,E=512,t="function"==typeof ResizeObserver,n=200,a=function(){function A(A){this.el=B.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=B.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=B.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),A.appendChild(this.el),this.$measureNode.textContent=Q.stringRepeat("X",E),this.$characterSize={width:0,height:0},t?this.$addObserver():this.checkForSizeChanges()}return A.prototype.$setMeasureNodeStyles=function(A,g){A.width=A.height="auto",A.left=A.top="0px",A.visibility="hidden",A.position="absolute",A.whiteSpace="pre",o.isIE<8?A["font-family"]="inherit":A.font="inherit",A.overflow=g?"hidden":"visible"},A.prototype.checkForSizeChanges=function(A){if(void 0===A&&(A=this.$measureSizes()),A&&(this.$characterSize.width!==A.width||this.$characterSize.height!==A.height)){this.$measureNode.style.fontWeight="bold";var g=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=A,this.charSizes=Object.create(null),this.allowBoldFonts=g&&g.width===A.width&&g.height===A.height,this._emit("changeCharacterSize",{data:A})}},A.prototype.$addObserver=function(){var A=this;this.$observer=new window.ResizeObserver((function(g){A.checkForSizeChanges()})),this.$observer.observe(this.$measureNode)},A.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var A=this;return this.$pollSizeChangesTimer=i.onIdle((function g(){A.checkForSizeChanges(),i.onIdle(g,500)}),500)},A.prototype.setPolling=function(A){A?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},A.prototype.$measureSizes=function(A){var g={height:(A||this.$measureNode).clientHeight,width:(A||this.$measureNode).clientWidth/E};return 0===g.width||0===g.height?null:g},A.prototype.$measureCharWidth=function(A){return this.$main.textContent=Q.stringRepeat(A,E),this.$main.getBoundingClientRect().width/E},A.prototype.getCharacterWidth=function(A){var g=this.charSizes[A];return void 0===g&&(g=this.charSizes[A]=this.$measureCharWidth(A)/this.$characterSize.width),g},A.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},A.prototype.$getZoom=function(A){return A&&A.parentElement?(Number(window.getComputedStyle(A).zoom)||1)*this.$getZoom(A.parentElement):1},A.prototype.$initTransformMeasureNodes=function(){var A=function(A,g){return["div",{style:"position: absolute;top:"+A+"px;left:"+g+"px;"}]};this.els=B.buildDom([A(0,0),A(n,0),A(0,n),A(n,n)],this.el)},A.prototype.transformCoordinates=function(A,g){A&&(A=Q(1/this.$getZoom(this.el),A));function I(A,g,I){var C=A[1]*g[0]-A[0]*g[1];return[(-g[1]*I[0]+g[0]*I[1])/C,(+A[1]*I[0]-A[0]*I[1])/C]}function C(A,g){return[A[0]-g[0],A[1]-g[1]]}function B(A,g){return[A[0]+g[0],A[1]+g[1]]}function Q(A,g){return[A*g[0],A*g[1]]}function i(A){var g=A.getBoundingClientRect();return[g.left,g.top]}this.els||this.$initTransformMeasureNodes();var o=i(this.els[0]),e=i(this.els[1]),E=i(this.els[2]),t=i(this.els[3]),a=I(C(t,e),C(t,E),C(B(e,E),B(t,o))),s=Q(1+a[0],C(e,o)),c=Q(1+a[1],C(E,o));if(g){var r=g,l=a[0]*r[0]/n+a[1]*r[1]/n+1,h=B(Q(r[0],s),Q(r[1],c));return B(Q(1/l/n,h),o)}var d=C(A,o),G=I(C(s,Q(a[0],d)),C(c,Q(a[1],d)),d);return Q(n,G)},A}();a.prototype.$characterSize={width:0,height:0},C.implement(a.prototype,e),g.FontMetrics=a})),ace.define("ace/css/editor-css",["require","exports","module"],(function(A,g,I){I.exports='\n.ace_br1 {border-top-left-radius : 3px;}\n.ace_br2 {border-top-right-radius : 3px;}\n.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}\n.ace_br4 {border-bottom-right-radius: 3px;}\n.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}\n.ace_br8 {border-bottom-left-radius : 3px;}\n.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n\n\n.ace_editor {\n position: relative;\n overflow: hidden;\n padding: 0;\n font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'Source Code Pro\', \'source-code-pro\', monospace;\n direction: ltr;\n text-align: left;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n.ace_scroller {\n position: absolute;\n overflow: hidden;\n top: 0;\n bottom: 0;\n background-color: inherit;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n cursor: text;\n}\n\n.ace_content {\n position: absolute;\n box-sizing: border-box;\n min-width: 100%;\n contain: style size layout;\n font-variant-ligatures: no-common-ligatures;\n}\n\n.ace_keyboard-focus:focus {\n box-shadow: inset 0 0 0 2px #5E9ED6;\n outline: none;\n}\n\n.ace_dragging .ace_scroller:before{\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n content: \'\';\n background: rgba(250, 250, 250, 0.01);\n z-index: 1000;\n}\n.ace_dragging.ace_dark .ace_scroller:before{\n background: rgba(0, 0, 0, 0.01);\n}\n\n.ace_gutter {\n position: absolute;\n overflow : hidden;\n width: auto;\n top: 0;\n bottom: 0;\n left: 0;\n cursor: default;\n z-index: 4;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n contain: style size layout;\n}\n\n.ace_gutter-active-line {\n position: absolute;\n left: 0;\n right: 0;\n}\n\n.ace_scroller.ace_scroll-left:after {\n content: "";\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;\n pointer-events: none;\n}\n\n.ace_gutter-cell, .ace_gutter-cell_svg-icons {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n padding-left: 19px;\n padding-right: 6px;\n background-repeat: no-repeat;\n}\n\n.ace_gutter-cell_svg-icons .ace_gutter_annotation {\n margin-left: -14px;\n float: left;\n}\n\n.ace_gutter-cell .ace_gutter_annotation {\n margin-left: -19px;\n float: left;\n}\n\n.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_info, .ace_icon.ace_info {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");\n}\n\n.ace_icon_svg.ace_error {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");\n background-color: crimson;\n}\n.ace_icon_svg.ace_warning {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");\n background-color: darkorange;\n}\n.ace_icon_svg.ace_info {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");\n background-color: royalblue;\n}\n\n.ace_icon_svg.ace_error_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");\n background-color: crimson;\n}\n.ace_icon_svg.ace_warning_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");\n background-color: darkorange;\n}\n\n.ace_scrollbar {\n contain: strict;\n position: absolute;\n right: 0;\n bottom: 0;\n z-index: 6;\n}\n\n.ace_scrollbar-inner {\n position: absolute;\n cursor: text;\n left: 0;\n top: 0;\n}\n\n.ace_scrollbar-v{\n overflow-x: hidden;\n overflow-y: scroll;\n top: 0;\n}\n\n.ace_scrollbar-h {\n overflow-x: scroll;\n overflow-y: hidden;\n left: 0;\n}\n\n.ace_print-margin {\n position: absolute;\n height: 100%;\n}\n\n.ace_text-input {\n position: absolute;\n z-index: 0;\n width: 0.5em;\n height: 1em;\n opacity: 0;\n background: transparent;\n -moz-appearance: none;\n appearance: none;\n border: none;\n resize: none;\n outline: none;\n overflow: hidden;\n font: inherit;\n padding: 0 1px;\n margin: 0 -1px;\n contain: strict;\n -ms-user-select: text;\n -moz-user-select: text;\n -webkit-user-select: text;\n user-select: text;\n /*with `pre-line` chrome inserts   instead of space*/\n white-space: pre!important;\n}\n.ace_text-input.ace_composition {\n background: transparent;\n color: inherit;\n z-index: 1000;\n opacity: 1;\n}\n.ace_composition_placeholder { color: transparent }\n.ace_composition_marker { \n border-bottom: 1px solid;\n position: absolute;\n border-radius: 0;\n margin-top: 1px;\n}\n\n[ace_nocontext=true] {\n transform: none!important;\n filter: none!important;\n clip-path: none!important;\n mask : none!important;\n contain: none!important;\n perspective: none!important;\n mix-blend-mode: initial!important;\n z-index: auto;\n}\n\n.ace_layer {\n z-index: 1;\n position: absolute;\n overflow: hidden;\n /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/\n word-wrap: normal;\n white-space: pre;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n /* setting pointer-events: auto; on node under the mouse, which changes\n during scroll, will break mouse wheel scrolling in Safari */\n pointer-events: none;\n}\n\n.ace_gutter-layer {\n position: relative;\n width: auto;\n text-align: right;\n pointer-events: auto;\n height: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer {\n font: inherit !important;\n position: absolute;\n height: 1000000px;\n width: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {\n contain: style size layout;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n}\n\n.ace_hidpi .ace_text-layer,\n.ace_hidpi .ace_gutter-layer,\n.ace_hidpi .ace_content,\n.ace_hidpi .ace_gutter {\n contain: strict;\n}\n.ace_hidpi .ace_text-layer > .ace_line, \n.ace_hidpi .ace_text-layer > .ace_line_group {\n contain: strict;\n}\n\n.ace_cjk {\n display: inline-block;\n text-align: center;\n}\n\n.ace_cursor-layer {\n z-index: 4;\n}\n\n.ace_cursor {\n z-index: 4;\n position: absolute;\n box-sizing: border-box;\n border-left: 2px solid;\n /* workaround for smooth cursor repaintng whole screen in chrome */\n transform: translatez(0);\n}\n\n.ace_multiselect .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_slim-cursors .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_overwrite-cursors .ace_cursor {\n border-left-width: 0;\n border-bottom: 1px solid;\n}\n\n.ace_hidden-cursors .ace_cursor {\n opacity: 0.2;\n}\n\n.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {\n opacity: 0;\n}\n\n.ace_smooth-blinking .ace_cursor {\n transition: opacity 0.18s;\n}\n\n.ace_animate-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: step-end;\n animation-name: blink-ace-animate;\n animation-iteration-count: infinite;\n}\n\n.ace_animate-blinking.ace_smooth-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: ease-in-out;\n animation-name: blink-ace-animate-smooth;\n}\n \n@keyframes blink-ace-animate {\n from, to { opacity: 1; }\n 60% { opacity: 0; }\n}\n\n@keyframes blink-ace-animate-smooth {\n from, to { opacity: 1; }\n 45% { opacity: 1; }\n 60% { opacity: 0; }\n 85% { opacity: 0; }\n}\n\n.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\n position: absolute;\n z-index: 3;\n}\n\n.ace_marker-layer .ace_selection {\n position: absolute;\n z-index: 5;\n}\n\n.ace_marker-layer .ace_bracket {\n position: absolute;\n z-index: 6;\n}\n\n.ace_marker-layer .ace_error_bracket {\n position: absolute;\n border-bottom: 1px solid #DE5555;\n border-radius: 0;\n}\n\n.ace_marker-layer .ace_active-line {\n position: absolute;\n z-index: 2;\n}\n\n.ace_marker-layer .ace_selected-word {\n position: absolute;\n z-index: 4;\n box-sizing: border-box;\n}\n\n.ace_line .ace_fold {\n box-sizing: border-box;\n\n display: inline-block;\n height: 11px;\n margin-top: -2px;\n vertical-align: middle;\n\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");\n background-repeat: no-repeat, repeat-x;\n background-position: center center, top left;\n color: transparent;\n\n border: 1px solid black;\n border-radius: 2px;\n\n cursor: pointer;\n pointer-events: auto;\n}\n\n.ace_dark .ace_fold {\n}\n\n.ace_fold:hover{\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");\n}\n\n.ace_tooltip {\n background-color: #f5f5f5;\n border: 1px solid gray;\n border-radius: 1px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n color: black;\n max-width: 100%;\n padding: 3px 4px;\n position: fixed;\n z-index: 999999;\n box-sizing: border-box;\n cursor: default;\n white-space: pre-wrap;\n word-wrap: break-word;\n line-height: normal;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n pointer-events: none;\n overflow: auto;\n max-width: min(60em, 66vw);\n overscroll-behavior: contain;\n}\n.ace_tooltip pre {\n white-space: pre-wrap;\n}\n\n.ace_tooltip.ace_dark {\n background-color: #636363;\n color: #fff;\n}\n\n.ace_tooltip:focus {\n outline: 1px solid #5E9ED6;\n}\n\n.ace_icon {\n display: inline-block;\n width: 18px;\n vertical-align: top;\n}\n\n.ace_icon_svg {\n display: inline-block;\n width: 12px;\n vertical-align: top;\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-size: 12px;\n -webkit-mask-position: center;\n}\n\n.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {\n padding-right: 13px;\n}\n\n.ace_fold-widget {\n box-sizing: border-box;\n\n margin: 0 -12px 0 1px;\n display: none;\n width: 11px;\n vertical-align: top;\n\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: center;\n\n border-radius: 3px;\n \n border: 1px solid transparent;\n cursor: pointer;\n}\n\n.ace_folding-enabled .ace_fold-widget {\n display: inline-block; \n}\n\n.ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");\n}\n\n.ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");\n}\n\n.ace_fold-widget:hover {\n border: 1px solid rgba(0, 0, 0, 0.3);\n background-color: rgba(255, 255, 255, 0.2);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\n}\n\n.ace_fold-widget:active {\n border: 1px solid rgba(0, 0, 0, 0.4);\n background-color: rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\n}\n/**\n * Dark version for fold widgets\n */\n.ace_dark .ace_fold-widget {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");\n}\n.ace_dark .ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget:hover {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n background-color: rgba(255, 255, 255, 0.1);\n}\n.ace_dark .ace_fold-widget:active {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n}\n\n.ace_inline_button {\n border: 1px solid lightgray;\n display: inline-block;\n margin: -1px 8px;\n padding: 0 5px;\n pointer-events: auto;\n cursor: pointer;\n}\n.ace_inline_button:hover {\n border-color: gray;\n background: rgba(200,200,200,0.2);\n display: inline-block;\n pointer-events: auto;\n}\n\n.ace_fold-widget.ace_invalid {\n background-color: #FFB4B4;\n border-color: #DE5555;\n}\n\n.ace_fade-fold-widgets .ace_fold-widget {\n transition: opacity 0.4s ease 0.05s;\n opacity: 0;\n}\n\n.ace_fade-fold-widgets:hover .ace_fold-widget {\n transition: opacity 0.05s ease 0.05s;\n opacity:1;\n}\n\n.ace_underline {\n text-decoration: underline;\n}\n\n.ace_bold {\n font-weight: bold;\n}\n\n.ace_nobold .ace_bold {\n font-weight: normal;\n}\n\n.ace_italic {\n font-style: italic;\n}\n\n\n.ace_error-marker {\n background-color: rgba(255, 0, 0,0.2);\n position: absolute;\n z-index: 9;\n}\n\n.ace_highlight-marker {\n background-color: rgba(255, 255, 0,0.2);\n position: absolute;\n z-index: 8;\n}\n\n.ace_mobile-menu {\n position: absolute;\n line-height: 1.5;\n border-radius: 4px;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n background: white;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #dcdcdc;\n color: black;\n}\n.ace_dark > .ace_mobile-menu {\n background: #333;\n color: #ccc;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #444;\n\n}\n.ace_mobile-button {\n padding: 2px;\n cursor: pointer;\n overflow: hidden;\n}\n.ace_mobile-button:hover {\n background-color: #eee;\n opacity:1;\n}\n.ace_mobile-button:active {\n background-color: #ddd;\n}\n\n.ace_placeholder {\n position: relative;\n font-family: arial;\n transform: scale(0.9);\n transform-origin: left;\n white-space: pre;\n opacity: 0.7;\n margin: 0 10px;\n z-index: 1;\n}\n\n.ace_ghost_text {\n opacity: 0.5;\n font-style: italic;\n}\n\n.ace_ghost_text_container > div {\n white-space: pre;\n}\n\n.ghost_text_line_wrapped::after {\n content: "\u21a9";\n position: absolute;\n}\n\n.ace_lineWidgetContainer.ace_ghost_text {\n margin: 0px 4px\n}\n\n.ace_screenreader-only {\n position:absolute;\n left:-10000px;\n top:auto;\n width:1px;\n height:1px;\n overflow:hidden;\n}\n\n.ace_hidden_token {\n display: none;\n}'})),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],(function(A,g,I){"use strict";var C=A("../lib/dom"),B=A("../lib/oop"),Q=A("../lib/event_emitter").EventEmitter,i=function(){function A(A,g){this.canvas=C.createElement("canvas"),this.renderer=g,this.pixelRatio=1,this.maxHeight=g.layerConfig.maxHeight,this.lineHeight=g.layerConfig.lineHeight,this.canvasHeight=A.parent.scrollHeight,this.heightRatio=this.canvasHeight/this.maxHeight,this.canvasWidth=A.width,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7px",this.canvas.style.position="absolute",this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},A.element.appendChild(this.canvas)}return A.prototype.$updateDecorators=function(A){var g=!0===this.renderer.theme.isDark?this.colors.dark:this.colors.light;A&&(this.maxHeight=A.maxHeight,this.lineHeight=A.lineHeight,this.canvasHeight=A.height,(A.lastRow+1)*this.lineHeightg.priority?1:0}));for(var Q=this.renderer.session.$foldData,i=0;ithis.canvasHeight&&(a=this.canvasHeight-this.halfMinDecorationHeight),t=Math.round(a-this.halfMinDecorationHeight),n=Math.round(a+this.halfMinDecorationHeight)}I.fillStyle=g[C[i].type]||null,I.fillRect(0,E,this.canvasWidth,n-t)}}var s=this.renderer.session.selection.getCursor();if(s){e=this.compensateFoldRows(s.row,Q),E=Math.round((s.row-e)*this.lineHeight*this.heightRatio);I.fillStyle="rgba(0, 0, 0, 0.5)",I.fillRect(0,E,this.canvasWidth,2)}},A.prototype.compensateFoldRows=function(A,g){var I=0;if(g&&g.length>0)for(var C=0;Cg[C].start.row&&A=g[C].end.row&&(I+=g[C].end.row-g[C].start.row);return I},A}();B.implement(i.prototype,Q),g.Decorator=i})),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/scrollbar_custom","ace/scrollbar_custom","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/css/editor-css","ace/layer/decorators","ace/lib/useragent","ace/layer/text_util"],(function(A,g,I){"use strict";var C=A("./lib/oop"),B=A("./lib/dom"),Q=A("./lib/lang"),i=A("./config"),o=A("./layer/gutter").Gutter,e=A("./layer/marker").Marker,E=A("./layer/text").Text,t=A("./layer/cursor").Cursor,n=A("./scrollbar").HScrollBar,a=A("./scrollbar").VScrollBar,s=A("./scrollbar_custom").HScrollBar,c=A("./scrollbar_custom").VScrollBar,r=A("./renderloop").RenderLoop,l=A("./layer/font_metrics").FontMetrics,h=A("./lib/event_emitter").EventEmitter,d=A("./css/editor-css"),G=A("./layer/decorators").Decorator,D=A("./lib/useragent"),y=A("./layer/text_util").isTextToken;B.importCssString(d,"ace_editor.css",!1);var w=function(){function A(A,g){var I=this;this.container=A||B.createElement("div"),B.addCssClass(this.container,"ace_editor"),B.HI_DPI&&B.addCssClass(this.container,"ace_hidpi"),this.setTheme(g),null==i.get("useStrictCSP")&&i.set("useStrictCSP",!1),this.$gutter=B.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=B.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=B.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new o(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new e(this.content);var C=this.$textLayer=new E(this.content);this.canvas=C.element,this.$markerFront=new e(this.content),this.$cursorLayer=new t(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new a(this.container,this),this.scrollBarH=new n(this.container,this),this.scrollBarV.on("scroll",(function(A){I.$scrollAnimation||I.session.setScrollTop(A.data-I.scrollMargin.top)})),this.scrollBarH.on("scroll",(function(A){I.$scrollAnimation||I.session.setScrollLeft(A.data-I.scrollMargin.left)})),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new l(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",(function(A){I.updateCharacterSize(),I.onResize(!0,I.gutterWidth,I.$size.width,I.$size.height),I._signal("changeCharacterSize",A)})),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!D.isIOS,this.$loop=new r(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),i.resetOptions(this),i._signal("renderer",this)}return A.prototype.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),B.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},A.prototype.setSession=function(A){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=A,A&&this.scrollMargin.top&&A.getScrollTop()<=0&&A.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(A),this.$markerBack.setSession(A),this.$markerFront.setSession(A),this.$gutterLayer.setSession(A),this.$textLayer.setSession(A),A&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},A.prototype.updateLines=function(A,g,I){if(void 0===g&&(g=1/0),this.$changedLines?(this.$changedLines.firstRow>A&&(this.$changedLines.firstRow=A),this.$changedLines.lastRowthis.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},A.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},A.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},A.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},A.prototype.updateFull=function(A){A?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},A.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},A.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},A.prototype.onResize=function(A,g,I,C){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=A?1:0;var B=this.container;C||(C=B.clientHeight||B.scrollHeight),!C&&this.$maxLines&&this.lineHeight>1&&(B.style.height&&"0px"!=B.style.height||(B.style.height="1px",C=B.clientHeight||B.scrollHeight)),I||(I=B.clientWidth||B.scrollWidth);var Q=this.$updateCachedSize(A,g,I,C);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!I&&!C)return this.resizing=0;A&&(this.$gutterLayer.$padding=null),A?this.$renderChanges(Q|this.$changes,!0):this.$loop.schedule(Q|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},A.prototype.$updateCachedSize=function(A,g,I,C){C-=this.$extraHeight||0;var Q=0,i=this.$size,o={width:i.width,height:i.height,scrollerHeight:i.scrollerHeight,scrollerWidth:i.scrollerWidth};if(C&&(A||i.height!=C)&&(i.height=C,Q|=this.CHANGE_SIZE,i.scrollerHeight=i.height,this.$horizScroll&&(i.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(i.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",Q|=this.CHANGE_SCROLL),I&&(A||i.width!=I)){Q|=this.CHANGE_SIZE,i.width=I,null==g&&(g=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=g,B.setStyle(this.scrollBarH.element.style,"left",g+"px"),B.setStyle(this.scroller.style,"left",g+this.margin.left+"px"),i.scrollerWidth=Math.max(0,I-g-this.scrollBarV.getWidth()-this.margin.h),B.setStyle(this.$gutter.style,"left",this.margin.left+"px");var e=this.scrollBarV.getWidth()+"px";B.setStyle(this.scrollBarH.element.style,"right",e),B.setStyle(this.scroller.style,"right",e),B.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(i.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||A)&&(Q|=this.CHANGE_FULL)}return i.$dirty=!I||!C,Q&&this._signal("resize",o),Q},A.prototype.onGutterResize=function(A){var g=this.$showGutter?A:0;g!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,g,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()||this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},A.prototype.adjustWrapLimit=function(){var A=this.$size.scrollerWidth-2*this.$padding,g=Math.floor(A/this.characterWidth);return this.session.adjustWrapLimit(g,this.$showPrintMargin&&this.$printMarginColumn)},A.prototype.setAnimatedScroll=function(A){this.setOption("animatedScroll",A)},A.prototype.getAnimatedScroll=function(){return this.$animatedScroll},A.prototype.setShowInvisibles=function(A){this.setOption("showInvisibles",A),this.session.$bidiHandler.setShowInvisibles(A)},A.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},A.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},A.prototype.setDisplayIndentGuides=function(A){this.setOption("displayIndentGuides",A)},A.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},A.prototype.setHighlightIndentGuides=function(A){this.setOption("highlightIndentGuides",A)},A.prototype.setShowPrintMargin=function(A){this.setOption("showPrintMargin",A)},A.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},A.prototype.setPrintMarginColumn=function(A){this.setOption("printMarginColumn",A)},A.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},A.prototype.getShowGutter=function(){return this.getOption("showGutter")},A.prototype.setShowGutter=function(A){return this.setOption("showGutter",A)},A.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},A.prototype.setFadeFoldWidgets=function(A){this.setOption("fadeFoldWidgets",A)},A.prototype.setHighlightGutterLine=function(A){this.setOption("highlightGutterLine",A)},A.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},A.prototype.$updatePrintMargin=function(){if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){var A=B.createElement("div");A.className="ace_layer ace_print-margin-layer",this.$printMarginEl=B.createElement("div"),this.$printMarginEl.className="ace_print-margin",A.appendChild(this.$printMarginEl),this.content.insertBefore(A,this.content.firstChild)}var g=this.$printMarginEl.style;g.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",g.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&-1==this.session.$wrap&&this.adjustWrapLimit()}},A.prototype.getContainerElement=function(){return this.container},A.prototype.getMouseEventTarget=function(){return this.scroller},A.prototype.getTextAreaContainer=function(){return this.container},A.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var A=this.textarea.style,g=this.$composition;if(this.$keepTextAreaAtCursor||g){var I=this.$cursorLayer.$pixelPos;if(I){g&&g.markerRange&&(I=this.$cursorLayer.getPixelPosition(g.markerRange.start,!0));var C=this.layerConfig,Q=I.top,i=I.left;Q-=C.offset;var o=g&&g.useTextareaForIME||D.isMobile?this.lineHeight:1;if(Q<0||Q>C.height-o)B.translate(this.textarea,0,0);else{var e=1,E=this.$size.height-o;if(g)if(g.useTextareaForIME){var t=this.textarea.value;e=this.characterWidth*this.session.$getStringScreenWidth(t)[0]}else Q+=this.lineHeight+2;else Q+=this.lineHeight;(i-=this.scrollLeft)>this.$size.scrollerWidth-e&&(i=this.$size.scrollerWidth-e),i+=this.gutterWidth+this.margin.left,B.setStyle(A,"height",o+"px"),B.setStyle(A,"width",e+"px"),B.translate(this.textarea,Math.min(i,this.$size.scrollerWidth-e),Math.min(Q,E))}}}else B.translate(this.textarea,-100,0)}},A.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},A.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},A.prototype.getLastFullyVisibleRow=function(){var A=this.layerConfig,g=A.lastRow;return this.session.documentToScreenRow(g,0)*A.lineHeight-this.session.getScrollTop()>A.height-A.lineHeight?g-1:g},A.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},A.prototype.setPadding=function(A){this.$padding=A,this.$textLayer.setPadding(A),this.$cursorLayer.setPadding(A),this.$markerFront.setPadding(A),this.$markerBack.setPadding(A),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},A.prototype.setScrollMargin=function(A,g,I,C){var B=this.scrollMargin;B.top=0|A,B.bottom=0|g,B.right=0|C,B.left=0|I,B.v=B.top+B.bottom,B.h=B.left+B.right,B.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-B.top),this.updateFull()},A.prototype.setMargin=function(A,g,I,C){var B=this.margin;B.top=0|A,B.bottom=0|g,B.right=0|C,B.left=0|I,B.v=B.top+B.bottom,B.h=B.left+B.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},A.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},A.prototype.setHScrollBarAlwaysVisible=function(A){this.setOption("hScrollBarAlwaysVisible",A)},A.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},A.prototype.setVScrollBarAlwaysVisible=function(A){this.setOption("vScrollBarAlwaysVisible",A)},A.prototype.$updateScrollBarV=function(){var A=this.layerConfig.maxHeight,g=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(A-=(g-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>A-g&&(A=this.scrollTop+g,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(A+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},A.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},A.prototype.freeze=function(){this.$frozen=!0},A.prototype.unfreeze=function(){this.$frozen=!1},A.prototype.$renderChanges=function(A,g){if(this.$changes&&(A|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&(A||g)){if(this.$size.$dirty)return this.$changes|=A,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",A),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var I=this.layerConfig;if(A&this.CHANGE_FULL||A&this.CHANGE_SIZE||A&this.CHANGE_TEXT||A&this.CHANGE_LINES||A&this.CHANGE_SCROLL||A&this.CHANGE_H_SCROLL){if(A|=this.$computeLayerConfig()|this.$loop.clear(),I.firstRow!=this.layerConfig.firstRow&&I.firstRowScreen==this.layerConfig.firstRowScreen){var C=this.scrollTop+(I.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;C>0&&(this.scrollTop=C,A|=this.CHANGE_SCROLL,A|=this.$computeLayerConfig()|this.$loop.clear())}I=this.layerConfig,this.$updateScrollBarV(),A&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),B.translate(this.content,-this.scrollLeft,-I.offset);var Q=I.width+2*this.$padding+"px",i=I.minHeight+"px";B.setStyle(this.content.style,"width",Q),B.setStyle(this.content.style,"height",i)}if(A&this.CHANGE_H_SCROLL&&(B.translate(this.content,-this.scrollLeft,-I.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),A&this.CHANGE_FULL)return this.$changedLines=null,this.$textLayer.update(I),this.$showGutter&&this.$gutterLayer.update(I),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(I),this.$markerBack.update(I),this.$markerFront.update(I),this.$cursorLayer.update(I),this.$moveTextAreaToCursor(),void this._signal("afterRender",A);if(A&this.CHANGE_SCROLL)return this.$changedLines=null,A&this.CHANGE_TEXT||A&this.CHANGE_LINES?this.$textLayer.update(I):this.$textLayer.scrollLines(I),this.$showGutter&&(A&this.CHANGE_GUTTER||A&this.CHANGE_LINES?this.$gutterLayer.update(I):this.$gutterLayer.scrollLines(I)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(I),this.$markerBack.update(I),this.$markerFront.update(I),this.$cursorLayer.update(I),this.$moveTextAreaToCursor(),void this._signal("afterRender",A);A&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(I),this.$showGutter&&this.$gutterLayer.update(I),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(I)):A&this.CHANGE_LINES?((this.$updateLines()||A&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(I),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(I)):A&this.CHANGE_TEXT||A&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(I),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(I)):A&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(I),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(I)),A&this.CHANGE_CURSOR&&(this.$cursorLayer.update(I),this.$moveTextAreaToCursor()),A&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(I),A&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(I),this._signal("afterRender",A)}else this.$changes|=A},A.prototype.$autosize=function(){var A=this.session.getScreenLength()*this.lineHeight,g=this.$maxLines*this.lineHeight,I=Math.min(g,Math.max((this.$minLines||1)*this.lineHeight,A))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(I+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&I>this.$maxPixelHeight&&(I=this.$maxPixelHeight);var C=!(I<=2*this.lineHeight)&&A>g;if(I!=this.desiredHeight||this.$size.height!=this.desiredHeight||C!=this.$vScroll){C!=this.$vScroll&&(this.$vScroll=C,this.scrollBarV.setVisible(C));var B=this.container.clientWidth;this.container.style.height=I+"px",this.$updateCachedSize(!0,this.$gutterWidth,B,I),this.desiredHeight=I,this._signal("autosize")}},A.prototype.$computeLayerConfig=function(){var A=this.session,g=this.$size,I=g.height<=2*this.lineHeight,C=this.session.getScreenLength()*this.lineHeight,B=this.$getLongestLine(),Q=!I&&(this.$hScrollBarAlwaysVisible||g.scrollerWidth-B-2*this.$padding<0),i=this.$horizScroll!==Q;i&&(this.$horizScroll=Q,this.scrollBarH.setVisible(Q));var o=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var e=g.scrollerHeight+this.lineHeight,E=!this.$maxLines&&this.$scrollPastEnd?(g.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;C+=E;var t=this.scrollMargin;this.session.setScrollTop(Math.max(-t.top,Math.min(this.scrollTop,C-g.scrollerHeight+t.bottom))),this.session.setScrollLeft(Math.max(-t.left,Math.min(this.scrollLeft,B+2*this.$padding-g.scrollerWidth+t.right)));var n=!I&&(this.$vScrollBarAlwaysVisible||g.scrollerHeight-C+E<0||this.scrollTop>t.top),a=o!==n;a&&(this.$vScroll=n,this.scrollBarV.setVisible(n));var s,c,r=this.scrollTop%this.lineHeight,l=Math.ceil(e/this.lineHeight)-1,h=Math.max(0,Math.round((this.scrollTop-r)/this.lineHeight)),d=h+l,G=this.lineHeight;h=A.screenToDocumentRow(h,0);var D=A.getFoldLine(h);D&&(h=D.start.row),s=A.documentToScreenRow(h,0),c=A.getRowLength(h)*G,d=Math.min(A.screenToDocumentRow(d,0),A.getLength()-1),e=g.scrollerHeight+A.getRowLength(d)*G+c,r=this.scrollTop-s*G;var y=0;return(this.layerConfig.width!=B||i)&&(y=this.CHANGE_H_SCROLL),(i||a)&&(y|=this.$updateCachedSize(!0,this.gutterWidth,g.width,g.height),this._signal("scrollbarVisibilityChanged"),a&&(B=this.$getLongestLine())),this.layerConfig={width:B,padding:this.$padding,firstRow:h,firstRowScreen:s,lastRow:d,lineHeight:G,characterWidth:this.characterWidth,minHeight:e,maxHeight:C,offset:r,gutterOffset:G?Math.max(0,Math.ceil((r+g.height-g.scrollerHeight)/G)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(B-this.$padding),y},A.prototype.$updateLines=function(){if(this.$changedLines){var A=this.$changedLines.firstRow,g=this.$changedLines.lastRow;this.$changedLines=null;var I=this.layerConfig;if(!(A>I.lastRow+1)&&!(gthis.$textLayer.MAX_LINE_LENGTH&&(A=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(A*this.characterWidth))},A.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},A.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},A.prototype.addGutterDecoration=function(A,g){this.$gutterLayer.addGutterDecoration(A,g)},A.prototype.removeGutterDecoration=function(A,g){this.$gutterLayer.removeGutterDecoration(A,g)},A.prototype.updateBreakpoints=function(A){this._rows=A,this.$loop.schedule(this.CHANGE_GUTTER)},A.prototype.setAnnotations=function(A){this.$gutterLayer.setAnnotations(A),this.$loop.schedule(this.CHANGE_GUTTER)},A.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},A.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},A.prototype.showCursor=function(){this.$cursorLayer.showCursor()},A.prototype.scrollSelectionIntoView=function(A,g,I){this.scrollCursorIntoView(A,I),this.scrollCursorIntoView(g,I)},A.prototype.scrollCursorIntoView=function(A,g,I){if(0!==this.$size.scrollerHeight){var C=this.$cursorLayer.getPixelPosition(A),B=C.left,Q=C.top,i=I&&I.top||0,o=I&&I.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var e=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;e+i>Q?(g&&e+i>Q+this.lineHeight&&(Q-=g*this.$size.scrollerHeight),0===Q&&(Q=-this.scrollMargin.top),this.session.setScrollTop(Q)):e+this.$size.scrollerHeight-o=1-this.scrollMargin.top||(g>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||(A<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||(A>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right||void 0)))},A.prototype.pixelToScreenCoordinates=function(A,g){var I;if(this.$hasCssTransforms){I={top:0,left:0};var C=this.$fontMetrics.transformCoordinates([A,g]);A=C[1]-this.gutterWidth-this.margin.left,g=C[0]}else I=this.scroller.getBoundingClientRect();var B=A+this.scrollLeft-I.left-this.$padding,Q=B/this.characterWidth,i=Math.floor((g+this.scrollTop-I.top)/this.lineHeight),o=this.$blockCursor?Math.floor(Q):Math.round(Q);return{row:i,column:o,side:Q-o>0?1:-1,offsetX:B}},A.prototype.screenToTextCoordinates=function(A,g){var I;if(this.$hasCssTransforms){I={top:0,left:0};var C=this.$fontMetrics.transformCoordinates([A,g]);A=C[1]-this.gutterWidth-this.margin.left,g=C[0]}else I=this.scroller.getBoundingClientRect();var B=A+this.scrollLeft-I.left-this.$padding,Q=B/this.characterWidth,i=this.$blockCursor?Math.floor(Q):Math.round(Q),o=Math.floor((g+this.scrollTop-I.top)/this.lineHeight);return this.session.screenToDocumentPosition(o,Math.max(i,0),B)},A.prototype.textToScreenCoordinates=function(A,g){var I=this.scroller.getBoundingClientRect(),C=this.session.documentToScreenPosition(A,g),B=this.$padding+(this.session.$bidiHandler.isBidiRow(C.row,A)?this.session.$bidiHandler.getPosLeft(C.column):Math.round(C.column*this.characterWidth)),Q=C.row*this.lineHeight;return{pageX:I.left+B-this.scrollLeft,pageY:I.top+Q-this.scrollTop}},A.prototype.visualizeFocus=function(){B.addCssClass(this.container,"ace_focus")},A.prototype.visualizeBlur=function(){B.removeCssClass(this.container,"ace_focus")},A.prototype.showComposition=function(A){this.$composition=A,A.cssText||(A.cssText=this.textarea.style.cssText),void 0==A.useTextareaForIME&&(A.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(B.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):A.markerId=this.session.addMarker(A.markerRange,"ace_composition_marker","text")},A.prototype.setCompositionText=function(A){var g=this.session.selection.cursor;this.addToken(A,"composition_placeholder",g.row,g.column),this.$moveTextAreaToCursor()},A.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),B.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var A=this.session.selection.cursor;this.removeExtraToken(A.row,A.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},A.prototype.setGhostText=function(A,g){var I=this.session.selection.cursor,C=g||{row:I.row,column:I.column};this.removeGhostText();var Q=this.$calculateWrappedTextChunks(A,C);this.addToken(Q[0].text,"ghost_text",C.row,C.column),this.$ghostText={text:A,position:{row:C.row,column:C.column}};var i=B.createElement("div");if(Q.length>1){var o,e=this.hideTokensAfterPosition(C.row,C.column);Q.slice(1).forEach((function(A){var g=B.createElement("div"),I=B.createElement("span");I.className="ace_ghost_text",A.wrapped&&(g.className="ghost_text_line_wrapped"),0===A.text.length&&(A.text=" "),I.appendChild(B.createTextNode(A.text)),g.appendChild(I),i.appendChild(g),o=g})),e.forEach((function(A){var g=B.createElement("span");y(A.type)||(g.className="ace_"+A.type.replace(/\./g," ace_")),g.appendChild(B.createTextNode(A.value)),o.appendChild(g)})),this.$ghostTextWidget={el:i,row:C.row,column:C.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var E=this.$cursorLayer.getPixelPosition(C,!0),t=this.container.getBoundingClientRect().height,n=Q.length*this.lineHeight;if(n0){var E=0;e.push(B[i].length);for(var t=0;t1||Math.abs(A.$size.height-C)>1?A.$resizeTimer.delay():A.$resizeTimer.cancel()})),this.$resizeObserver.observe(this.container)}},A}();w.prototype.CHANGE_CURSOR=1,w.prototype.CHANGE_MARKER=2,w.prototype.CHANGE_GUTTER=4,w.prototype.CHANGE_SCROLL=8,w.prototype.CHANGE_LINES=16,w.prototype.CHANGE_TEXT=32,w.prototype.CHANGE_SIZE=64,w.prototype.CHANGE_MARKER_BACK=128,w.prototype.CHANGE_MARKER_FRONT=256,w.prototype.CHANGE_FULL=512,w.prototype.CHANGE_H_SCROLL=1024,w.prototype.$changes=0,w.prototype.$padding=null,w.prototype.$frozen=!1,w.prototype.STEPS=8,C.implement(w.prototype,h),i.defineOptions(w.prototype,"renderer",{useResizeObserver:{set:function(A){!A&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):A&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(A){this.$textLayer.setShowInvisibles(A)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(A){"number"==typeof A&&(this.$printMarginColumn=A),this.$showPrintMargin=!!A,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(A){this.$gutter.style.display=A?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(A){this.$gutterLayer.$useSvgGutterIcons=A},initialValue:!1},showFoldedAnnotations:{set:function(A){this.$gutterLayer.$showFoldedAnnotations=A},initialValue:!1},fadeFoldWidgets:{set:function(A){B.setCssClass(this.$gutter,"ace_fade-fold-widgets",A)},initialValue:!1},showFoldWidgets:{set:function(A){this.$gutterLayer.setShowFoldWidgets(A),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(A){this.$textLayer.setDisplayIndentGuides(A)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(A){1==this.$textLayer.setHighlightIndentGuides(A)?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(A){this.$gutterLayer.setHighlightGutterLine(A),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(A){this.$hScrollBarAlwaysVisible&&this.$horizScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(A){this.$vScrollBarAlwaysVisible&&this.$vScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(A){"number"==typeof A&&(A+="px"),this.container.style.fontSize=A,this.updateFontSize()},initialValue:12},fontFamily:{set:function(A){this.container.style.fontFamily=A,this.updateFontSize()}},maxLines:{set:function(A){this.updateFull()}},minLines:{set:function(A){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(A){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(A){A=+A||0,this.$scrollPastEnd!=A&&(this.$scrollPastEnd=A,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(A){this.$gutterLayer.$fixedWidth=!!A,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(A){this.$updateCustomScrollbar(A)},initialValue:!1},theme:{set:function(A){this.setTheme(A)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!D.isMobile&&!D.isIE}}),g.VirtualRenderer=w})),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],(function(A,g,I){"use strict";var C=A("../lib/oop"),B=A("../lib/net"),Q=A("../lib/event_emitter").EventEmitter,i=A("../config");function o(A){if("undefined"==typeof Worker)return{postMessage:function(){},terminate:function(){}};if(i.get("loadWorkerFromBlob")){var g=function(A){var g="importScripts('"+B.qualifyURL(A)+"');";try{return new Blob([g],{type:"application/javascript"})}catch(C){var I=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);return I.append(g),I.getBlob("application/javascript")}}(A),I=(window.URL||window.webkitURL).createObjectURL(g);return new Worker(I)}return new Worker(A)}var e=function(A){A.postMessage||(A=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=A,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){C.implement(this,Q),this.$createWorkerFromOldConfig=function(g,I,C,B,Q){if(A.nameToUrl&&!A.toUrl&&(A.toUrl=A.nameToUrl),i.get("packaged")||!A.toUrl)B=B||i.moduleUrl(I,"worker");else{var e=this.$normalizePath;B=B||e(A.toUrl("ace/worker/worker.js",null,"_"));var E={};g.forEach((function(g){E[g]=e(A.toUrl(g,null,"_").replace(/(\.js)?(\?.*)?$/,""))}))}return this.$worker=o(B),Q&&this.send("importScripts",Q),this.$worker.postMessage({init:!0,tlns:E,module:I,classname:C}),this.$worker},this.onMessage=function(A){var g=A.data;switch(g.type){case"event":this._signal(g.name,{data:g.data});break;case"call":var I=this.callbacks[g.id];I&&(I(g.data),delete this.callbacks[g.id]);break;case"error":this.reportError(g.data);break;case"log":window.console&&console.log&&console.log.apply(console,g.data)}},this.reportError=function(A){window.console&&console.error&&console.error(A)},this.$normalizePath=function(A){return B.qualifyURL(A)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(A){A.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(A,g){this.$worker.postMessage({command:A,args:g})},this.call=function(A,g,I){if(I){var C=this.callbackId++;this.callbacks[C]=I,g.push(C)}this.send(A,g)},this.emit=function(A,g){try{g.data&&g.data.err&&(g.data.err={message:g.data.err.message,stack:g.data.err.stack,code:g.data.err.code}),this.$worker&&this.$worker.postMessage({event:A,data:{data:g.data}})}catch(I){console.error(I.stack)}},this.attachToDocument=function(A){this.$doc&&this.terminate(),this.$doc=A,this.call("setValue",[A.getValue()]),A.on("change",this.changeListener,!0)},this.changeListener=function(A){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),"insert"==A.action?this.deltaQueue.push(A.start,A.lines):this.deltaQueue.push(A.start,A.end)},this.$sendDeltaQueue=function(){var A=this.deltaQueue;A&&(this.deltaQueue=null,A.length>50&&A.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:A}))}}).call(e.prototype);g.UIWorkerClient=function(A,g,I){var C=null,B=!1,o=Object.create(Q),E=[],t=new e({messageBuffer:E,terminate:function(){},postMessage:function(A){E.push(A),C&&(B?setTimeout(n):n())}});t.setEmitSync=function(A){B=A};var n=function(){var A=E.shift();A.command?C[A.command].apply(C,A.args):A.event&&o._signal(A.event,A.data)};return o.postMessage=function(A){t.onMessage({data:A})},o.callback=function(A,g){this.postMessage({type:"call",id:g,data:A})},o.emit=function(A,g){this.postMessage({type:"event",name:A,data:g})},i.loadModule(["worker",g],(function(A){for(C=new A[I](o);E.length;)n()})),t},g.WorkerClient=e,g.createWorker=o})),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],(function(A,g,I){"use strict";var C=A("./range").Range,B=A("./lib/event_emitter").EventEmitter,Q=A("./lib/oop"),i=function(){function A(A,g,I,C,B,Q){var i=this;this.length=g,this.session=A,this.doc=A.getDocument(),this.mainClass=B,this.othersClass=Q,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=C,this.$onCursorChange=function(){setTimeout((function(){i.onCursorChange()}))},this.$pos=I;var o=A.getUndoManager().$undoStack||A.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=o.length,this.setup(),A.selection.on("changeCursor",this.$onCursorChange)}return A.prototype.setup=function(){var A=this,g=this.doc,I=this.session;this.selectionBefore=I.selection.toJSON(),I.selection.inMultiSelectMode&&I.selection.toSingleRange(),this.pos=g.createAnchor(this.$pos.row,this.$pos.column);var B=this.pos;B.$insertRight=!0,B.detach(),B.markerId=I.addMarker(new C(B.row,B.column,B.row,B.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach((function(I){var C=g.createAnchor(I.row,I.column);C.$insertRight=!0,C.detach(),A.others.push(C)})),I.setUndoSelect(!1)},A.prototype.showOtherMarkers=function(){if(!this.othersActive){var A=this.session,g=this;this.othersActive=!0,this.others.forEach((function(I){I.markerId=A.addMarker(new C(I.row,I.column,I.row,I.column+g.length),g.othersClass,null,!1)}))}},A.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var A=0;A=this.pos.column&&g.start.column<=this.pos.column+this.length+1,Q=g.start.column-this.pos.column;if(this.updateAnchors(A),B&&(this.length+=I),B&&!this.session.$fromUndo)if("insert"===A.action)for(var i=this.others.length-1;i>=0;i--){var o={row:(e=this.others[i]).row,column:e.column+Q};this.doc.insertMergedLines(o,A.lines)}else if("remove"===A.action)for(i=this.others.length-1;i>=0;i--){var e;o={row:(e=this.others[i]).row,column:e.column+Q};this.doc.remove(new C(o.row,o.column,o.row,o.column-I))}this.$updating=!1,this.updateMarkers()}},A.prototype.updateAnchors=function(A){this.pos.onChange(A);for(var g=this.others.length;g--;)this.others[g].onChange(A);this.updateMarkers()},A.prototype.updateMarkers=function(){if(!this.$updating){var A=this,g=this.session,I=function(I,B){g.removeMarker(I.markerId),I.markerId=g.addMarker(new C(I.row,I.column,I.row,I.column+A.length),B,null,!1)};I(this.pos,this.mainClass);for(var B=this.others.length;B--;)I(this.others[B],this.othersClass)}},A.prototype.onCursorChange=function(A){if(!this.$updating&&this.session){var g=this.session.selection.getCursor();g.row===this.pos.row&&g.column>=this.pos.column&&g.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",A)):(this.hideOtherMarkers(),this._emit("cursorLeave",A))}},A.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},A.prototype.cancel=function(){if(-1!==this.$undoStackDepth){for(var A=this.session.getUndoManager(),g=(A.$undoStack||A.$undostack).length-this.$undoStackDepth,I=0;I1?A.multiSelect.joinSelections():A.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(A){A.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(A){A.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(A){A.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],g.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(A){A.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(A){return A&&A.inMultiSelectMode}}];var C=A("../keyboard/hash_handler").HashHandler;g.keyboardHandler=new C(g.multiSelectCommands)})),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],(function(A,g,I){var C=A("./range_list").RangeList,B=A("./range").Range,Q=A("./selection").Selection,i=A("./mouse/multi_select_handler").onMouseDown,o=A("./lib/event"),e=A("./lib/lang"),E=A("./commands/multi_select_commands");g.commands=E.defaultCommands.concat(E.multiSelectCommands);var t=new(0,A("./search").Search);var n=A("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(n.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(A,g){if(A){if(!this.inMultiSelectMode&&0===this.rangeCount){var I=this.toOrientedRange();if(this.rangeList.add(I),this.rangeList.add(A),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),g||this.fromOrientedRange(A);this.rangeList.removeAll(),this.rangeList.add(I),this.$onAddRange(I)}A.cursor||(A.cursor=A.end);var C=this.rangeList.add(A);return this.$onAddRange(A),C.length&&this.$onRemoveRange(C),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),g||this.fromOrientedRange(A)}},this.toSingleRange=function(A){A=A||this.ranges[0];var g=this.rangeList.removeAll();g.length&&this.$onRemoveRange(g),A&&this.fromOrientedRange(A)},this.substractPoint=function(A){var g=this.rangeList.substractPoint(A);if(g)return this.$onRemoveRange(g),g[0]},this.mergeOverlappingRanges=function(){var A=this.rangeList.merge();A.length&&this.$onRemoveRange(A)},this.$onAddRange=function(A){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(A),this._signal("addRange",{range:A})},this.$onRemoveRange=function(A){if(this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode){var g=this.rangeList.ranges.pop();A.push(g),this.rangeCount=0}for(var I=A.length;I--;){var C=this.ranges.indexOf(A[I]);this.ranges.splice(C,1)}this._signal("removeRange",{ranges:A}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),(g=g||this.ranges[0])&&!g.isEqual(this.getRange())&&this.fromOrientedRange(g)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new C,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var A=this.ranges.length?this.ranges:[this.getRange()],g=[],I=0;I1){var A=this.rangeList.ranges,g=A[A.length-1],I=B.fromPoints(A[0].start,g.end);this.toSingleRange(),this.setSelectionRange(I,g.cursor==g.start)}else{var C=this.session.documentToScreenPosition(this.cursor),Q=this.session.documentToScreenPosition(this.anchor);this.rectangularRangeBlock(C,Q).forEach(this.addRange,this)}},this.rectangularRangeBlock=function(A,g,I){var C=[],Q=A.column0;)d--;if(d>0)for(var G=0;C[G].isEmpty();)G++;for(var D=d;D>=G;D--)C[D].isEmpty()&&C.splice(D,1)}return C}}.call(Q.prototype);var a=A("./editor").Editor;function s(A){A.$multiselectOnSessionChange||(A.$onAddRange=A.$onAddRange.bind(A),A.$onRemoveRange=A.$onRemoveRange.bind(A),A.$onMultiSelect=A.$onMultiSelect.bind(A),A.$onSingleSelect=A.$onSingleSelect.bind(A),A.$multiselectOnSessionChange=g.onSessionChange.bind(A),A.$checkMultiselectChange=A.$checkMultiselectChange.bind(A),A.$multiselectOnSessionChange(A),A.on("changeSession",A.$multiselectOnSessionChange),A.on("mousedown",i),A.commands.addCommands(E.defaultCommands),function(A){if(!A.textInput)return;var g=A.textInput.getElement(),I=!1;function C(g){I&&(A.renderer.setMouseCursor(""),I=!1)}o.addListener(g,"keydown",(function(g){var B=18==g.keyCode&&!(g.ctrlKey||g.shiftKey||g.metaKey);A.$blockSelectEnabled&&B?I||(A.renderer.setMouseCursor("crosshair"),I=!0):I&&C()}),A),o.addListener(g,"keyup",C,A),o.addListener(g,"blur",C,A)}(A))}(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(A){A.cursor||(A.cursor=A.end);var g=this.getSelectionStyle();return A.marker=this.session.addMarker(A,"ace_selection",g),this.session.$selectionMarkers.push(A),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,A},this.removeSelectionMarker=function(A){if(A.marker){this.session.removeMarker(A.marker);var g=this.session.$selectionMarkers.indexOf(A);-1!=g&&this.session.$selectionMarkers.splice(g,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(A){for(var g=this.session.$selectionMarkers,I=A.length;I--;){var C=A[I];if(C.marker){this.session.removeMarker(C.marker);var B=g.indexOf(C);-1!=B&&g.splice(B,1)}}this.session.selectionMarkerCount=g.length},this.$onAddRange=function(A){this.addSelectionMarker(A.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(A){this.removeSelectionMarkers(A.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(A){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(E.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(A){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(E.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(A){var g=A.command,I=A.editor;if(I.multiSelect){if(g.multiSelectAction)"forEach"==g.multiSelectAction?C=I.forEachSelection(g,A.args):"forEachLine"==g.multiSelectAction?C=I.forEachSelection(g,A.args,!0):"single"==g.multiSelectAction?(I.exitMultiSelectMode(),C=g.exec(I,A.args||{})):C=g.multiSelectAction(I,A.args||{});else{var C=g.exec(I,A.args||{});I.multiSelect.addRange(I.multiSelect.toOrientedRange()),I.multiSelect.mergeOverlappingRanges()}return C}},this.forEachSelection=function(A,g,I){if(!this.inVirtualSelectionMode){var C,B=I&&I.keepOrder,i=1==I||I&&I.$byLines,o=this.session,e=this.selection,E=e.rangeList,t=(B?e:E).ranges;if(!t.length)return A.exec?A.exec(this,g||{}):A(this,g||{});var n=e._eventRegistry;e._eventRegistry={};var a=new Q(o);this.inVirtualSelectionMode=!0;for(var s=t.length;s--;){if(i)for(;s>0&&t[s].start.row==t[s-1].end.row;)s--;a.fromOrientedRange(t[s]),a.index=s,this.selection=o.selection=a;var c=A.exec?A.exec(this,g||{}):A(this,g||{});C||void 0===c||(C=c),a.toOrientedRange(t[s])}a.detach(),this.selection=o.selection=e,this.inVirtualSelectionMode=!1,e._eventRegistry=n,e.mergeOverlappingRanges(),e.ranges[0]&&e.fromOrientedRange(e.ranges[0]);var r=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),r&&r.from==r.to&&this.renderer.animateScrolling(r.from),C}},this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()},this.getSelectedText=function(){var A="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var g=this.multiSelect.rangeList.ranges,I=[],C=0;Ci&&(i=I.column),Ct?A.insert(C,e.stringRepeat(" ",Q-t)):A.remove(new B(C.row,C.column,C.row,C.column-Q+t)),g.start.column=g.end.column=i,g.start.row=g.end.row=C.row,g.cursor=g.end})),g.fromOrientedRange(I[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var t=this.selection.getRange(),n=t.start.row,a=t.end.row,s=n==a;if(s){var c,r=this.session.getLength();do{c=this.session.getLine(a)}while(/[=:]/.test(c)&&++a0);n<0&&(n=0),a>=r&&(a=r-1)}var l=this.session.removeFullLines(n,a);l=this.$reAlignText(l,s),this.session.insert({row:n,column:0},l.join("\n")+"\n"),s||(t.start.column=0,t.end.column=l[l.length-1].length),this.selection.setRange(t)}},this.$reAlignText=function(A,g){var I,C,B,Q=!0,i=!0;return A.map((function(A){var g=A.match(/(\s*)(.*?)(\s*)([=:].*)/);return g?null==I?(I=g[1].length,C=g[2].length,B=g[3].length,g):(I+C+B!=g[1].length+g[2].length+g[3].length&&(i=!1),I!=g[1].length&&(Q=!1),I>g[1].length&&(I=g[1].length),Cg[3].length&&(B=g[3].length),g):[A]})).map(g?E:Q?i?function(A){return A[2]?o(I+C-A[2].length)+A[2]+o(B)+A[4].replace(/^([=:])\s+/,"$1 "):A[0]}:E:function(A){return A[2]?o(I)+A[2]+o(B)+A[4].replace(/^([=:])\s+/,"$1 "):A[0]});function o(A){return e.stringRepeat(" ",A)}function E(A){return A[2]?o(I)+A[2]+o(C-A[2].length+B)+A[4].replace(/^([=:])\s+/,"$1 "):A[0]}}}).call(a.prototype),g.onSessionChange=function(A){var g=A.session;g&&!g.multiSelect&&(g.$selectionMarkers=[],g.selection.$initRangeList(),g.multiSelect=g.selection),this.multiSelect=g&&g.multiSelect;var I=A.oldSession;I&&(I.multiSelect.off("addRange",this.$onAddRange),I.multiSelect.off("removeRange",this.$onRemoveRange),I.multiSelect.off("multiSelect",this.$onMultiSelect),I.multiSelect.off("singleSelect",this.$onSingleSelect),I.multiSelect.lead.off("change",this.$checkMultiselectChange),I.multiSelect.anchor.off("change",this.$checkMultiselectChange)),g&&(g.multiSelect.on("addRange",this.$onAddRange),g.multiSelect.on("removeRange",this.$onRemoveRange),g.multiSelect.on("multiSelect",this.$onMultiSelect),g.multiSelect.on("singleSelect",this.$onSingleSelect),g.multiSelect.lead.on("change",this.$checkMultiselectChange),g.multiSelect.anchor.on("change",this.$checkMultiselectChange)),g&&this.inMultiSelectMode!=g.selection.inMultiSelectMode&&(g.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},g.MultiSelect=s,A("./config").defineOptions(a.prototype,"editor",{enableMultiselect:{set:function(A){s(this),A?this.on("mousedown",i):this.off("mousedown",i)},value:!0},enableBlockSelect:{set:function(A){this.$blockSelectEnabled=A},value:!0}})})),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],(function(A,g,I){"use strict";var C=A("../../range").Range,B=g.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(A,g,I){var C=A.getLine(I);return this.foldingStartMarker.test(C)?"start":"markbeginend"==g&&this.foldingStopMarker&&this.foldingStopMarker.test(C)?"end":""},this.getFoldWidgetRange=function(A,g,I){return null},this.indentationBlock=function(A,g,I){var B=/\S/,Q=A.getLine(g),i=Q.search(B);if(-1!=i){for(var o=I||Q.length,e=A.getLength(),E=g,t=g;++gE){var s=A.getLine(t).length;return new C(E,o,t,s)}}},this.openingBracketBlock=function(A,g,I,B,Q){var i={row:I,column:B+1},o=A.$findClosingBracket(g,i,Q);if(o){var e=A.foldWidgets[o.row];return null==e&&(e=A.getFoldWidget(o.row)),"start"==e&&o.row>i.row&&(o.row--,o.column=A.getLine(o.row).length),C.fromPoints(i,o)}},this.closingBracketBlock=function(A,g,I,B,Q){var i={row:I,column:B},o=A.$findOpeningBracket(g,i);if(o)return o.column++,i.column--,C.fromPoints(o,i)}}).call(B.prototype)})),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range","ace/config"],(function(A,g,I){"use strict";var C=A("../line_widgets").LineWidgets,B=A("../lib/dom"),Q=A("../range").Range,i=A("../config").nls;g.showErrorMarker=function(A,g){var I=A.session;I.widgetManager||(I.widgetManager=new C(I),I.widgetManager.attach(A));var o=A.getCursorPosition(),e=o.row,E=I.widgetManager.getWidgetsAtRow(e).filter((function(A){return"errorMarker"==A.type}))[0];E?E.destroy():e-=g;var t,n=function(A,g,I){var C=A.getAnnotations().sort(Q.comparePoints);if(C.length){var B=function(A,g,I){for(var C=0,B=A.length-1;C<=B;){var Q=C+B>>1,i=I(g,A[Q]);if(i>0)C=Q+1;else{if(!(i<0))return Q;B=Q-1}}return-(C+1)}(C,{row:g,column:-1},Q.comparePoints);B<0&&(B=-B-1),B>=C.length?B=I>0?0:C.length-1:0===B&&I<0&&(B=C.length-1);var i=C[B];if(i&&I){if(i.row===g){do{i=C[B+=I]}while(i&&i.row===g);if(!i)return C.slice()}var o=[];g=i.row;do{o[I<0?"unshift":"push"](i),i=C[B+=I]}while(i&&i.row==g);return o.length&&o}}}(I,e,g);if(n){var a=n[0];o.column=(a.pos&&"number"!=typeof a.column?a.pos.sc:a.column)||0,o.row=a.row,t=A.renderer.$gutterLayer.$annotations[o.row]}else{if(E)return;t={displayText:[i("error-marker.good-state","Looks good!")],className:"ace_ok"}}A.session.unfold(o.row),A.selection.moveToPosition(o);var s={row:o.row,fixedWidth:!0,coverGutter:!0,el:B.createElement("div"),type:"errorMarker"},c=s.el.appendChild(B.createElement("div")),r=s.el.appendChild(B.createElement("div"));r.className="error_widget_arrow "+t.className;var l=A.renderer.$cursorLayer.getPixelPosition(o).left;r.style.left=l+A.renderer.gutterWidth-5+"px",s.el.className="error_widget_wrapper",c.className="error_widget "+t.className,t.displayText.forEach((function(A,g){c.appendChild(B.createTextNode(A)),g{A=I.nmd(A),ace.define("ace/split",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/editor","ace/virtual_renderer","ace/edit_session"],(function(A,g,I){"use strict";var C,B=A("./lib/oop"),Q=(A("./lib/lang"),A("./lib/event_emitter").EventEmitter),i=A("./editor").Editor,o=A("./virtual_renderer").VirtualRenderer,e=A("./edit_session").EditSession;(function(){B.implement(this,Q),this.$createEditor=function(){var A=document.createElement("div");A.className=this.$editorCSS,A.style.cssText="position: absolute; top:0px; bottom:0px",this.$container.appendChild(A);var g=new i(new o(A,this.$theme));return g.on("focus",function(){this._emit("focus",g)}.bind(this)),this.$editors.push(g),g.setFontSize(this.$fontSize),g},this.setSplits=function(A){var g;if(A<1)throw"The number of splits have to be > 0!";if(A!=this.$splits){if(A>this.$splits){for(;this.$splitsA;)g=this.$editors[this.$splits-1],this.$container.removeChild(g.container),this.$splits--;this.resize()}},this.getSplits=function(){return this.$splits},this.getEditor=function(A){return this.$editors[A]},this.getCurrentEditor=function(){return this.$cEditor},this.focus=function(){this.$cEditor.focus()},this.blur=function(){this.$cEditor.blur()},this.setTheme=function(A){this.$editors.forEach((function(g){g.setTheme(A)}))},this.setKeyboardHandler=function(A){this.$editors.forEach((function(g){g.setKeyboardHandler(A)}))},this.forEach=function(A,g){this.$editors.forEach(A,g)},this.$fontSize="",this.setFontSize=function(A){this.$fontSize=A,this.forEach((function(g){g.setFontSize(A)}))},this.$cloneSession=function(A){var g=new e(A.getDocument(),A.getMode()),I=A.getUndoManager();return g.setUndoManager(I),g.setTabSize(A.getTabSize()),g.setUseSoftTabs(A.getUseSoftTabs()),g.setOverwrite(A.getOverwrite()),g.setBreakpoints(A.getBreakpoints()),g.setUseWrapMode(A.getUseWrapMode()),g.setUseWorker(A.getUseWorker()),g.setWrapLimitRange(A.$wrapLimitRange.min,A.$wrapLimitRange.max),g.$foldData=A.$cloneFoldData(),g},this.setSession=function(A,g){var I;I=null==g?this.$cEditor:this.$editors[g];var C=this.$editors.some((function(g){return g.session===A}));return C&&(A=this.$cloneSession(A)),I.setSession(A),A},this.getOrientation=function(){return this.$orientation},this.setOrientation=function(A){this.$orientation!=A&&(this.$orientation=A,this.resize())},this.resize=function(){var A,g=this.$container.clientWidth,I=this.$container.clientHeight;if(this.$orientation==this.BESIDE)for(var C=g/this.$splits,B=0;B{"use strict";var C=I(16),B=I(2346);function Q(A){for(var g="https://reactjs.org/docs/error-decoder.html?invariant="+A,I=1;I