(function(){function g(a){if(typeof requirejs!=“undefined”){var e=b.define;b.define=function(a,b,c){return typeof c!=“function”?e.apply(this,arguments):ace.define(a,b,function(a,d,e){return b[2]==“module”&&(e.packaged=!0),c.apply(this,arguments)})},b.define.packaged=!0;return}var f=function(a,b){return d(“”,a,b)};f.packaged=!0;var g=b;a&&(b[a]||(b[a]={}),g=b[a]),g.define&&(c.original=g.define),g.define=c,g.require&&(d.original=g.require),g.require=f}var a=“ace”,b=function(){return this}(),c=function(a,b,d){if(typeof a!=“string”){c.original?c.original.apply(window,arguments):(console.error(“dropping module because define wasn’t a string.”),console.trace());return}arguments.length==2&&(d=b),c.modules||(c.modules={}),c.modules[a]=d},d=function(a,b,c){if(Object.prototype.toString.call(b)===“[object Array]”){var e=[];for(var g=0,h=b.length;gB
“]”;var C=new RegExp(“^”+B+B+“*”),D=new RegExp(B+B+“*$”);String.prototype.trim=function(){return String(this).replace(C,“”).replace(D,“”)}}var E=function(a){return a=+a,a!==a?a=0:a!==0&&a!==1/0&&a!==-Infinity&&(a=(a>0||-1)*Math.floor(Math.abs(a))),a},F=“a”[0]!=“a”,G=function(a){if(a==null)throw new TypeError;return F&&typeof a==“string”&&a?a.split(“”):Object(a)}}),ace.define(“ace/lib/dom”,[“require”,“exports”,“module”],function(a,b,c){“use strict”;var d=“http://www.w3.org/1999/xhtml”;b.createElement=function(a,b){return document.createElementNS?document.createElementNS(b||d,a):document.createElement(a)},b.setText=function(a,b){a.innerText!==undefined&&(a.innerText=b),a.textContent!==undefined&&(a.textContent=b)},b.hasCssClass=function(a,b){var c=a.className.split(/s+/g);return c.indexOf(b)!==-1},b.addCssClass=function(a,c){b.hasCssClass(a,c)||(a.className+=“ ”+c)},b.removeCssClass=function(a,b){var c=a.className.split(/s+/g);for(;;){var d=c.indexOf(b);if(d==-1)break;c.splice(d,1)}a.className=c.join(“ ”)},b.toggleCssClass=function(a,b){var c=a.className.split(/s+/g),d=!0;for(;;){var e=c.indexOf(b);if(e==-1)break;d=!1,c.splice(e,1)}return d&&c.push(b),a.className=c.join(“ ”),d},b.setCssClass=function(a,c,d){d?b.addCssClass(a,c):b.removeCssClass(a,c)},b.hasCssString=function(a,b){var c=0,d;b=b||document;if(b.createStyleSheet&&(d=b.styleSheets)){while(ca
”‘ is already set“);this._defaultHandlers=b},d.on=d.addEventListener=function(a,b){this._eventRegistry=this._eventRegistry||{};var c=this._eventRegistry;if(!c)var c=this._eventRegistry=[];c.indexOf(b)==-1&&c.push(b)},d.removeListener=d.removeEventListener=function(a,b){this._eventRegistry=this._eventRegistry||{};var c=this._eventRegistry;if(!c)return;var d=c.indexOf(b);d!==-1&&c.splice(d,1)},d.removeAllListeners=function(a){this._eventRegistry&&(this._eventRegistry=[])},b.EventEmitter=d}),ace.define(”ace/mouse/default_gutter_handler“,,function(a,b,c){function d(a){a.setDefaultHandler(”gutterclick“,function(b){var c=b.getDocumentPosition().row,d=a.session.selection;d.moveCursorTo(c,0),d.selectLine()})}”use strict“,b.GutterHandler=d}),ace.define(”ace/mouse/mouse_event“,,function(a,b,c){”use strict“;var d=a(”../lib/event“),e=b.MouseEvent=function(a,b){this.domEvent=a,this.editor=b,this.pageX=d.getDocumentX(a),this.pageY=d.getDocumentY(a),this.clientX=a.clientX,this.clientY=a.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){d.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){d.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){if(this.$pos)return this.$pos;var a=d.getDocumentX(this.domEvent),b=d.getDocumentY(this.domEvent);return this.$pos=this.editor.renderer.screenToTextCoordinates(a,b),this.$pos},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var a=this.editor;if(a.getReadOnly())this.$inSelection=!1;else{var b=a.getSelectionRange();if(b.isEmpty())this.$inSelection=!1;else{var c=this.getDocumentPosition();this.$inSelection=b.contains(c.row,c.column)}}return this.$inSelection},this.getButton=function(){return d.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=function(){return this.domEvent.ctrlKey||this.domEvent.metaKey}}).call(e.prototype)}),ace.define(”ace/mouse/fold_handler“,,function(a,b,c){function d(a){a.on(”click“,function(b){var c=b.getDocumentPosition(),d=a.session,e=d.getFoldAt(c.row,c.column,1);e&&(b.getAccelKey()?d.removeFold(e):d.expandFold(e),b.stop())}),a.on(”gutterclick“,function(b){if(b.domEvent.target.className.indexOf(”ace_fold-widget“)!=-1){var c=b.getDocumentPosition().row;a.session.onFoldWidgetClick(c,b.domEvent),b.stop()}})}”use strict“,b.FoldHandler=d}),ace.define(”ace/keyboard/keybinding“,,function(a,b,c){”use strict“;var d=a(”../lib/keys“),e=a(”../lib/event“);a(”../commands/default_commands“);var f=function(a){this.$editor=a,this.$data={},this.$handlers=};(function(){this.setKeyboardHandler=function(a){if(this.$handlers==a)return;this.$data={},this.$handlers=a?:[this]},this.addKeyboardHandler=function(a){this.removeKeyboardHandler(a),this.$handlers.push(a)},this.removeKeyboardHandler=function(a){var b=this.$handlers.indexOf(a);return b==-1?!1:(this.$handlers.splice(b,1),!0)},this.getKeyboardHandler=function(){return this.$handlers},this.$callKeyboardHandlers=function(a,b,c,d){var f;for(var g=this.$handlers.length;g–;){f=this.$handlers.handleKeyboard(this.$data,a,b,c,d);if(f&&f.command)break}if(!f||!f.command)return!1;var h=!1,i=this.$editor.commands;return f.command!=”null“?h=i.exec(f.command,this.$editor,f.args):h=!0,h&&d&&e.stopEvent(d),h},this.handleKeyboard=function(a,b,c){return{command:this.$editor.commands.findKeyCommand(b,c)}},this.onCommandKey=function(a,b,c){var e=d.keyCodeToString©;this.$callKeyboardHandlers(b,e,c,a)},this.onTextInput=function(a,b){var c=!1;!b&&a.length==1&&(c=this.$callKeyboardHandlers(0,a)),c||this.$editor.commands.exec(”insertstring“,this.$editor,a)}}).call(f.prototype),b.KeyBinding=f}),ace.define(”ace/commands/default_commands“,,function(a,b,c){function e(a,b){return{win:a,mac:b}}”use strict“;var d=a(”../lib/lang“);b.commands=[{name:”selectall“,bindKey:e(”Ctrl-A“,”Command-A“),exec:function(a){a.selectAll()},readOnly:!0},{name:”centerselection“,bindKey:e(null,”Ctrl-L“),exec:function(a){a.centerSelection()},readOnly:!0},{name:”gotoline“,bindKey:e(”Ctrl-L“,”Command-L“),exec:function(a){var b=parseInt(prompt(”Enter line number:“),10);isNaN(b)||a.gotoLine(b)},readOnly:!0},{name:”fold“,bindKey:e(”Alt-L“,”Alt-L“),exec:function(a){a.session.toggleFold(!1)},readOnly:!0},{name:”unfold“,bindKey:e(”Alt-Shift-L“,”Alt-Shift-L“),exec:function(a){a.session.toggleFold(!0)},readOnly:!0},{name:”foldall“,bindKey:e(”Alt-0“,”Alt-0“),exec:function(a){a.session.foldAll()},readOnly:!0},{name:”unfoldall“,bindKey:e(”Alt-Shift-0“,”Alt-Shift-0“),exec:function(a){a.session.unfold()},readOnly:!0},{name:”findnext“,bindKey:e(”Ctrl-K“,”Command-G“),exec:function(a){a.findNext()},readOnly:!0},{name:”findprevious“,bindKey:e(”Ctrl-Shift-K“,”Command-Shift-G“),exec:function(a){a.findPrevious()},readOnly:!0},{name:”find“,bindKey:e(”Ctrl-F“,”Command-F“),exec:function(a){var b=prompt(”Find:“,a.getCopyText());a.find(b)},readOnly:!0},{name:”overwrite“,bindKey:e(”Insert“,”Insert“),exec:function(a){a.toggleOverwrite()},readOnly:!0},{name:”selecttostart“,bindKey:e(”Ctrl-Shift-Home|Alt-Shift-Up“,”Command-Shift-Up“),exec:function(a){a.getSelection().selectFileStart()},readOnly:!0},{name:”gotostart“,bindKey:e(”Ctrl-Home|Ctrl-Up“,”Command-Home|Command-Up“),exec:function(a){a.navigateFileStart()},readOnly:!0},{name:”selectup“,bindKey:e(”Shift-Up“,”Shift-Up“),exec:function(a){a.getSelection().selectUp()},multiSelectAction:”forEach“,readOnly:!0},{name:”golineup“,bindKey:e(”Up“,”Up|Ctrl-P“),exec:function(a,b){a.navigateUp(b.times)},multiSelectAction:”forEach“,readOnly:!0},{name:”selecttoend“,bindKey:e(”Ctrl-Shift-End|Alt-Shift-Down“,”Command-Shift-Down“),exec:function(a){a.getSelection().selectFileEnd()},multiSelectAction:”forEach“,readOnly:!0},{name:”gotoend“,bindKey:e(”Ctrl-End|Ctrl-Down“,”Command-End|Command-Down“),exec:function(a){a.navigateFileEnd()},multiSelectAction:”forEach“,readOnly:!0},{name:”selectdown“,bindKey:e(”Shift-Down“,”Shift-Down“),exec:function(a){a.getSelection().selectDown()},multiSelectAction:”forEach“,readOnly:!0},{name:”golinedown“,bindKey:e(”Down“,”Down|Ctrl-N“),exec:function(a,b){a.navigateDown(b.times)},multiSelectAction:”forEach“,readOnly:!0},{name:”selectwordleft“,bindKey:e(”Ctrl-Shift-Left“,”Option-Shift-Left“),exec:function(a){a.getSelection().selectWordLeft()},multiSelectAction:”forEach“,readOnly:!0},{name:”gotowordleft“,bindKey:e(”Ctrl-Left“,”Option-Left“),exec:function(a){a.navigateWordLeft()},multiSelectAction:”forEach“,readOnly:!0},{name:”selecttolinestart“,bindKey:e(”Alt-Shift-Left“,”Command-Shift-Left“),exec:function(a){a.getSelection().selectLineStart()},multiSelectAction:”forEach“,readOnly:!0},{name:”gotolinestart“,bindKey:e(”Alt-Left|Home“,”Command-Left|Home|Ctrl-A“),exec:function(a){a.navigateLineStart()},multiSelectAction:”forEach“,readOnly:!0},{name:”selectleft“,bindKey:e(”Shift-Left“,”Shift-Left“),exec:function(a){a.getSelection().selectLeft()},multiSelectAction:”forEach“,readOnly:!0},{name:”gotoleft“,bindKey:e(”Left“,”Left|Ctrl-B“),exec:function(a,b){a.navigateLeft(b.times)},multiSelectAction:”forEach“,readOnly:!0},{name:”selectwordright“,bindKey:e(”Ctrl-Shift-Right“,”Option-Shift-Right“),exec:function(a){a.getSelection().selectWordRight()},multiSelectAction:”forEach“,readOnly:!0},{name:”gotowordright“,bindKey:e(”Ctrl-Right“,”Option-Right“),exec:function(a){a.navigateWordRight()},multiSelectAction:”forEach“,readOnly:!0},{name:”selecttolineend“,bindKey:e(”Alt-Shift-Right“,”Command-Shift-Right“),exec:function(a){a.getSelection().selectLineEnd()},multiSelectAction:”forEach“,readOnly:!0},{name:”gotolineend“,bindKey:e(”Alt-Right|End“,”Command-Right|End|Ctrl-E“),exec:function(a){a.navigateLineEnd()},multiSelectAction:”forEach“,readOnly:!0},{name:”selectright“,bindKey:e(”Shift-Right“,”Shift-Right“),exec:function(a){a.getSelection().selectRight()},multiSelectAction:”forEach“,readOnly:!0},{name:”gotoright“,bindKey:e(”Right“,”Right|Ctrl-F“),exec:function(a,b){a.navigateRight(b.times)},multiSelectAction:”forEach“,readOnly:!0},{name:”selectpagedown“,bindKey:e(”Shift-PageDown“,”Shift-PageDown“),exec:function(a){a.selectPageDown()},readOnly:!0},{name:”pagedown“,bindKey:e(null,”PageDown“),exec:function(a){a.scrollPageDown()},readOnly:!0},{name:”gotopagedown“,bindKey:e(”PageDown“,”Option-PageDown|Ctrl-V“),exec:function(a){a.gotoPageDown()},readOnly:!0},{name:”selectpageup“,bindKey:e(”Shift-PageUp“,”Shift-PageUp“),exec:function(a){a.selectPageUp()},readOnly:!0},{name:”pageup“,bindKey:e(null,”PageUp“),exec:function(a){a.scrollPageUp()},readOnly:!0},{name:”gotopageup“,bindKey:e(”PageUp“,”Option-PageUp“),exec:function(a){a.gotoPageUp()},readOnly:!0},{name:”selectlinestart“,bindKey:e(”Shift-Home“,”Shift-Home“),exec:function(a){a.getSelection().selectLineStart()},multiSelectAction:”forEach“,readOnly:!0},{name:”selectlineend“,bindKey:e(”Shift-End“,”Shift-End“),exec:function(a){a.getSelection().selectLineEnd()},multiSelectAction:”forEach“,readOnly:!0},{name:”togglerecording“,bindKey:e(”Ctrl-Alt-E“,”Command-Option-E“),exec:function(a){a.commands.toggleRecording()},readOnly:!0},{name:”replaymacro“,bindKey:e(”Ctrl-Shift-E“,”Command-Shift-E“),exec:function(a){a.commands.replay(a)},readOnly:!0},{name:”jumptomatching“,bindKey:e(”Ctrl-Shift-P“,”Ctrl-Shift-P“),exec:function(a){a.jumpToMatching()},multiSelectAction:”forEach“,readOnly:!0},{name:”cut“,exec:function(a){var b=a.getSelectionRange();a._emit(”cut“,b),a.selection.isEmpty()||(a.session.remove(b),a.clearSelection())},multiSelectAction:”forEach“},{name:”removeline“,bindKey:e(”Ctrl-D“,”Command-D“),exec:function(a){a.removeLines()},multiSelectAction:”forEach“},{name:”togglecomment“,bindKey:e(”Ctrl-7“,”Command-7“),exec:function(a){a.toggleCommentLines()},multiSelectAction:”forEach“},{name:”replace“,bindKey:e(”Ctrl-R“,”Command-Option-F“),exec:function(a){var b=prompt(”Find:“,a.getCopyText());if(!b)return;var c=prompt(”Replacement:“);if(!c)return;a.replace(c,{needle:b})}},{name:”replaceall“,bindKey:e(”Ctrl-Shift-R“,”Command-Shift-Option-F“),exec:function(a){var b=prompt(”Find:“);if(!b)return;var c=prompt(”Replacement:“);if(!c)return;a.replaceAll(c,{needle:b})}},{name:”undo“,bindKey:e(”Ctrl-Z“,”Command-Z“),exec:function(a){a.undo()}},{name:”redo“,bindKey:e(”Ctrl-Shift-Z|Ctrl-Y“,”Command-Shift-Z|Command-Y“),exec:function(a){a.redo()}},{name:”copylinesup“,bindKey:e(”Ctrl-Alt-Up“,”Command-Option-Up“),exec:function(a){a.copyLinesUp()}},{name:”movelinesup“,bindKey:e(”Alt-Up“,”Option-Up“),exec:function(a){a.moveLinesUp()}},{name:”copylinesdown“,bindKey:e(”Ctrl-Alt-Down“,”Command-Option-Down“),exec:function(a){a.copyLinesDown()}},{name:”movelinesdown“,bindKey:e(”Alt-Down“,”Option-Down“),exec:function(a){a.moveLinesDown()}},{name:”del“,bindKey:e(”Delete“,”Delete|Ctrl-D“),exec:function(a){a.remove(”right“)},multiSelectAction:”forEach“},{name:”backspace“,bindKey:e(”Command-Backspace|Option-Backspace|Shift-Backspace|Backspace“,”Ctrl-Backspace|Command-Backspace|Shift-Backspace|Backspace|Ctrl-H“),exec:function(a){a.remove(”left“)},multiSelectAction:”forEach“},{name:”removetolinestart“,bindKey:e(”Alt-Backspace“,”Command-Backspace“),exec:function(a){a.removeToLineStart()},multiSelectAction:”forEach“},{name:”removetolineend“,bindKey:e(”Alt-Delete“,”Ctrl-K“),exec:function(a){a.removeToLineEnd()},multiSelectAction:”forEach“},{name:”removewordleft“,bindKey:e(”Ctrl-Backspace“,”Alt-Backspace|Ctrl-Alt-Backspace“),exec:function(a){a.removeWordLeft()},multiSelectAction:”forEach“},{name:”removewordright“,bindKey:e(”Ctrl-Delete“,”Alt-Delete“),exec:function(a){a.removeWordRight()},multiSelectAction:”forEach“},{name:”outdent“,bindKey:e(”Shift-Tab“,”Shift-Tab“),exec:function(a){a.blockOutdent()},multiSelectAction:”forEach“},{name:”indent“,bindKey:e(”Tab“,”Tab“),exec:function(a){a.indent()},multiSelectAction:”forEach“},{name:”insertstring“,exec:function(a,b){a.insert(b)},multiSelectAction:”forEach“},{name:”inserttext“,exec:function(a,b){a.insert(d.stringRepeat(b.text||”“,b.times||1))},multiSelectAction:”forEach“},{name:”splitline“,bindKey:e(null,”Ctrl-O“),exec:function(a){a.splitLine()},multiSelectAction:”forEach“},{name:”transposeletters“,bindKey:e(”Ctrl-T“,”Ctrl-T“),exec:function(a){a.transposeLetters()},multiSelectAction:function(a){a.transposeSelections(1)}},{name:”touppercase“,bindKey:e(”Ctrl-U“,”Ctrl-U“),exec:function(a){a.toUpperCase()},multiSelectAction:”forEach“},{name:”tolowercase“,bindKey:e(”Ctrl-Shift-U“,”Ctrl-Shift-U“),exec:function(a){a.toLowerCase()},multiSelectAction:”forEach“}]}),ace.define(”ace/edit_session“,,function(a,b,c){”use strict“;var d=a(”./config“),e=a(”./lib/oop“),f=a(”./lib/lang“),g=a(”./lib/net“),h=a(”./lib/event_emitter“).EventEmitter,i=a(”./selection“).Selection,j=a(”./mode/text“).Mode,k=a(”./range“).Range,l=a(”./document“).Document,m=a(”./background_tokenizer“).BackgroundTokenizer,n=function(a,b){this.$modified=!0,this.$breakpoints=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$rowCache=,this.$wrapData=[],this.$foldData=,this.$undoSelect=!0,this.$foldData.toString=function(){var a=”“;return this.forEach(function(b){a+=”n“+b.toString()}),a},a instanceof l?this.setDocument(a):this.setDocument(new l(a)),this.selection=new i(this),b?this.setMode(b):this.setMode(new j)};(function(){function q(a){return a<4352?!1: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}e.implement(this,h),this.setDocument=function(a){if(this.doc)throw new Error(”Document is already set“);this.doc=a,a.on(”change“,this.onChange.bind(this)),this.on(”changeFold“,this.onChangeFold.bind(this)),this.bgTokenizer&&(this.bgTokenizer.setDocument(this.getDocument()),this.bgTokenizer.start(0))},this.getDocument=function(){return this.doc},this.$resetRowCache=function(a){if(a==0){this.$rowCache=[];return}var b=this.$rowCache;for(var c=0;cthis.start.row
”/“this.start.column
”] -> [“this.end.row
”/“this.end.column
”]“},this.contains=function(a,b){return this.compare(a,b)==0},this.compareRange=function(a){var b,c=a.end,d=a.start;return b=this.compare(c.row,c.column),b==1?(b=this.compare(d.row,d.column),b==1?2:b==0?1:0):b==-1?-2:(b=this.compare(d.row,d.column),b==-1?-1:b==1?42:0)},this.comparePoint=function(a){return this.compare(a.row,a.column)},this.containsRange=function(a){return this.comparePoint(a.start)==0&&this.comparePoint(a.end)==0},this.intersects=function(a){var b=this.compareRange(a);return b==-1||b==0||b==1},this.isEnd=function(a,b){return this.end.row==a&&this.end.column==b},this.isStart=function(a,b){return this.start.row==a&&this.start.column==b},this.setStart=function(a,b){typeof a==”object“?(this.start.column=a.column,this.start.row=a.row):(this.start.row=a,this.start.column=b)},this.setEnd=function(a,b){typeof a==”object“?(this.end.column=a.column,this.end.row=a.row):(this.end.row=a,this.end.column=b)},this.inside=function(a,b){return this.compare(a,b)==0?this.isEnd(a,b)||this.isStart(a,b)?!1:!0:!1},this.insideStart=function(a,b){return this.compare(a,b)==0?this.isEnd(a,b)?!1:!0:!1},this.insideEnd=function(a,b){return this.compare(a,b)==0?this.isStart(a,b)?!1:!0:!1},this.compare=function(a,b){return!this.isMultiLine()&&a===this.start.row?b<this.start.column?-1:b>this.end.column?1:0:a<this.start.row?-1:a>this.end.row?1:this.start.row===a?b>=this.start.column?0:-1:this.end.row===a?b<=this.end.column?0:1:0},this.compareStart=function(a,b){return this.start.row==a&&this.start.column==b?-1:this.compare(a,b)},this.compareEnd=function(a,b){return this.end.row==a&&this.end.column==b?1:this.compare(a,b)},this.compareInside=function(a,b){return this.end.row==a&&this.end.column==b?1:this.start.row==a&&this.start.column==b?-1:this.compare(a,b)},this.clipRows=function(a,b){if(this.end.row>b)var c={row:b+1,column:0};if(this.start.row>b)var e={row:b+1,column:0};if(this.start.row<a)var e={row:a,column:0};if(this.end.row<a)var c={row:a,column:0};return d.fromPoints(e||this.start,c||this.end)},this.extend=function(a,b){var c=this.compare(a,b);if(c==0)return this;if(c==-1)var e={row:a,column:b};else var f={row:a,column:b};return d.fromPoints(e||this.start,f||this.end)},this.isEmpty=function(){return this.start.row==this.end.row&&this.start.column==this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return d.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new d(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new d(this.start.row,0,this.end.row,0)},this.toScreenRange=function(a){var b=a.documentToScreenPosition(this.start),c=a.documentToScreenPosition(this.end);return new d(b.row,b.column,c.row,c.column)}}).call(d.prototype),d.fromPoints=function(a,b){return new d(a.row,a.column,b.row,b.column)},b.Range=d}),ace.define(”ace/mode/text“,,function(a,b,c){”use strict“;var d=a(”../tokenizer“).Tokenizer,e=a(”./text_highlight_rules“).TextHighlightRules,f=a(”./behaviour“).Behaviour,g=a(”../unicode“),h=function(){this.$tokenizer=new d((new e).getRules()),this.$behaviour=new f};(function(){this.tokenRe=new RegExp(”^+“,”g“),this.nonTokenRe=new RegExp(”^(?:|s])+“,”g“),this.getTokenizer=function(){return this.$tokenizer},this.toggleCommentLines=function(a,b,c,d){},this.getNextLineIndent=function(a,b,c){return”“},this.checkOutdent=function(a,b,c){return!1},this.autoOutdent=function(a,b,c){},this.$getIndent=function(a){var b=a.match(/^(s+)/);return b?b:”“},this.createWorker=function(a){return null},this.highlightSelection=function(a){var b=a.session;b.$selectionOccurrences||(b.$selectionOccurrences=[]),b.$selectionOccurrences.length&&this.clearSelectionHighlight(a);var c=a.getSelectionRange();if(c.isEmpty()||c.isMultiLine())return;var d=c.start.column-1,e=c.end.column+1,f=b.getLine(c.start.row),g=f.length,h=f.substring(Math.max(d,0),Math.min(e,g));if(d>=0&&/^/.test(h)||e<=g&&/$/.test(h))return;h=f.substring(c.start.column,c.end.column);if(!/^+$/.test(h))return;var i=a.getCursorPosition(),j={wrap:!0,wholeWord:!0,caseSensitive:!0,needle:h},k=a.$search.getOptions();a.$search.set(j);var l=a.$search.findAll(b);l.forEach(function(a){if(!a.contains(i.row,i.column)){var c=b.addMarker(a,”ace_selected_word“,”text“);b.$selectionOccurrences.push©}}),a.$search.set(k)},this.clearSelectionHighlight=function(a){if(!a.session.$selectionOccurrences)return;a.session.$selectionOccurrences.forEach(function(b){a.session.removeMarker(b)}),a.session.$selectionOccurrences=[]},this.createModeDelegates=function(a){if(!this.$embeds)return;this.$modes={};for(var b=0;be[i].regex
”)|(.))“)).exec(”a“).length-2,k=e.regex.replace(/\(+)/g,function(a,b){return”\“+(parseInt(b,10)+g+1)});if(j>1&&e.token.length!==j-1)throw new Error(”Matching groups and length of the token array don’t match in rule #“i
” of state “+c);h={rule:i,len:j},g+=j,f.push(k)}this.regExps=new RegExp(”(?:(“+f.join(”)|(“)+”)|(.))“,b)}};(function(){this.getLineTokens=function(a,b){var c=b,d=this.rules,e=this.matchMappings,f=this.regExps;f.lastIndex=0;var g,h=[],i=0,j={type:null,value:”“};while(g=f.exec(a)){var k=”text“,l=null,m=[g];for(var n=0;n<g.length-2;n++){if(g===undefined)continue;l=d[e.rule],e.len>1&&(m=g.slice(n+2,n+1+e.len)),typeof l.token==”function“?k=l.token.apply(this,m):k=l.token,l.next&&(c=l.next,d=this.rules,e=this.matchMappings,i=f.lastIndex,f=this.regExps,f.lastIndex=i);break}if(m){typeof k==”string“&&(m=,k=);for(var n=0;n<m.length;n++){if(!m)continue;(!l||l.merge||k===”text“)&&j.type===k?j.value+=m:(j.type&&h.push(j),j={type:k,value:m})}}if(i==a.length)break;i=f.lastIndex}return j.type&&h.push(j),{tokens:h,state:c}}}).call(d.prototype),b.Tokenizer=d}),ace.define(”ace/mode/text_highlight_rules“,,function(a,b,c){”use strict“;var d=a(”../lib/lang“),e=function(){this.$rules={start:}};(function(){this.addRules=function(a,b){for(var c in a){var d=a;for(var e=0;e<d.length;e++){var f=d;f.next&&(f.next=b+f.next)}this.$rules=d}},this.getRules=function(){return this.$rules},this.embedRules=function(a,b,c,e){var f=(new a).getRules();if(e)for(var g=0;ga
”[“+Object.keys(this.$foldStyles).join(”, “)+”]“);if(this.$foldStyle==a)return;this.$foldStyle=a,a==”manual“&&this.unfold();var b=this.$foldMode;this.$setFolding(null),this.$setFolding(b)},this.$setFolding=function(a){if(this.$foldMode==a)return;this.$foldMode=a,this.removeListener(”change“,this.$updateFoldWidgets),this._emit(”changeAnnotation“);if(!a||this.$foldStyle==”manual“){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=a.getFoldWidget.bind(a,this,this.$foldStyle),this.getFoldWidgetRange=a.getFoldWidgetRange.bind(a,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.on(”change“,this.$updateFoldWidgets)},this.onFoldWidgetClick=function(a,b){var c=this.getFoldWidget(a),d=this.getLine(a),e=b.shiftKey,f=e||b.ctrlKey||b.altKey||b.metaKey,g;c==”end“?g=this.getFoldAt(a,0,-1):g=this.getFoldAt(a,d.length,1);if(g){f?this.removeFold(g):this.expandFold(g);return}var h=this.getFoldWidgetRange(a);if(h){if(!h.isMultiLine()){g=this.getFoldAt(h.start.row,h.start.column,1);if(g&&h.isEqual(g.range)){this.removeFold(g);return}}e||this.addFold(”…“,h),f&&this.foldAll(h.start.row+1,h.end.row)}else f&&this.foldAll(a+1,this.getLength()),b.target.className+=” invalid“},this.updateFoldWidgets=function(a){var b=a.data,c=b.range,d=c.start.row,e=c.end.row-d;if(e===0)this.foldWidgets=null;else if(b.action==”removeText“||b.action==”removeLines“)this.foldWidgets.splice(d,e+1,null);else{var f=Array(e+1);f.unshift(d,1),this.foldWidgets.splice.apply(this.foldWidgets,f)}}}”use strict“;var d=a(”../range“).Range,e=a(”./fold_line“).FoldLine,f=a(”./fold“).Fold,g=a(”../token_iterator“).TokenIterator;b.Folding=h}),ace.define(”ace/edit_session/fold_line“,,function(a,b,c){function e(a,b){this.foldData=a,Array.isArray(b)?this.folds=b:b=this.folds=;var c=b;this.range=new d(b.start.row,b.start.column,c.end.row,c.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(a){a.setFoldLine(this)},this)}”use strict“;var d=a(”../range“).Range;(function(){this.shiftRow=function(a){this.start.row+=a,this.end.row+=a,this.folds.forEach(function(b){b.start.row+=a,b.end.row+=a})},this.addFold=function(a){if(a.sameRow){if(a.start.row<this.startRow||a.endRow>this.endRow)throw”Can’t add a fold to this FoldLine as it has no connection“;this.folds.push(a),this.folds.sort(function(a,b){return-a.range.compareEnd(b.start.row,b.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”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},this.containsRow=function(a){return a>=this.start.row&&a<=this.end.row},this.walk=function(a,b,c){var d=0,e=this.folds,f,g,h,i=!0;b==null&&(b=this.end.row,c=this.end.column);for(var j=0;j<e.length;j++){f=e,g=f.range.compareStart(b,c);if(g==-1){a(null,b,c,d,i);return}h=a(null,f.start.row,f.start.column,d,i),h=!h&&a(f.placeholder,f.start.row,f.start.column,d);if(h||g==0)return;i=!f.sameRow,d=f.end.column}a(null,b,c,d,i)},this.getNextFoldTo=function(a,b){var c,d;for(var e=0;e<this.folds.length;e++){c=this.folds,d=c.range.compareEnd(a,b);if(d==-1)return{fold:c,kind:”after“};if(d==0)return{fold:c,kind:”inside“}}return null},this.addRemoveChars=function(a,b,c){var d=this.getNextFoldTo(a,b),e,f;if(d){e=d.fold;if(d.kind==”inside“&&e.start.column!=b&&e.start.row!=a)throw”Moving characters inside of a fold should never be reached“;if(e.start.row==a){f=this.folds;var g=f.indexOf(e);g==0&&(this.start.column+=c);for(g;g<f.length;g++){e=f,e.start.column+=c;if(!e.sameRow)return;e.end.column+=c}this.end.column+=c}}},this.split=function(a,b){var c=this.getNextFoldTo(a,b).fold,d=this.folds,f=this.foldData;if(!c)return null;var g=d.indexOf©,h=d;this.end.row=h.end.row,this.end.column=h.end.column,d=d.splice(g,d.length-g);var i=new e(f,d);return f.splice(f.indexOf(this)+1,0,i),i},this.merge=function(a){var b=a.folds;for(var c=0;cthis.placeholder
’“ ‘+this.range.toString()},this.setFoldLine=function(a){this.foldLine=a,this.subFolds.forEach(function(b){b.setFoldLine(a)})},this.clone=function(){var a=this.range.clone(),b=new d(a,this.placeholder);return this.subFolds.forEach(function(a){b.subFolds.push(a.clone())}),b},this.addSubFold=function(a){if(this.range.isEqual(a))return this;if(!this.range.containsRange(a))throw”A fold can’t intersect already existing fold“+a.range+this.range;var b=a.range.start.row,c=a.range.start.column;for(var d=0,e=-1;d<this.subFolds.length;d++){e=this.subFolds.range.compare(b,c);if(e!=1)break}var f=this.subFolds;if(e==0)return f.addSubFold(a);var b=a.range.end.row,c=a.range.end.column;for(var g=d,e=-1;g<this.subFolds.length;g++){e=this.subFolds.range.compare(b,c);if(e!=1)break}var h=this.subFolds;if(e==0)throw”A fold can’t intersect already existing fold“+a.range+this.range;var i=this.subFolds.splice(d,g-d,a);return a.setFoldLine(this.foldLine),a}}).call(d.prototype)}),ace.define(”ace/token_iterator“,,function(a,b,c){”use strict“;var d=function(a,b,c){this.$session=a,this.$row=b,this.$rowTokens=a.getTokens(b,b).tokens;var d=a.getTokenAt(b,c);this.$tokenIndex=d?d.index:-1};(function(){this.stepBackward=function(){this.$tokenIndex-=1;while(this.$tokenIndex<0){this.$row-=1;if(this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row,this.$row).tokens,this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens},this.stepForward=function(){var a=this.$session.getLength();this.$tokenIndex+=1;while(this.$tokenIndex>=this.$rowTokens.length){this.$row+=1;if(this.$row>=a)return this.$row=a-1,null;this.$rowTokens=this.$session.getTokens(this.$row,this.$row).tokens,this.$tokenIndex=0}return this.$rowTokens},this.getCurrentToken=function(){return this.$rowTokens},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var a=this.$rowTokens,b=this.$tokenIndex,c=a.start;if(c!==undefined)return c;c=0;while(b>0)b-=1,c+=a.value.length;return c}}).call(d.prototype),b.TokenIterator=d}),ace.define(”ace/edit_session/bracket_match“,,function(a,b,c){function e(){this.findMatchingBracket=function(a){if(a.column==0)return null;var b=this.getLine(a.row).charAt(a.column-1);if(b==”“)return null;var c=b.match(/([()|([)]}])/);return c?c?this.$findClosingBracket(c,a):this.$findOpeningBracket(c,a):null},this.$brackets={”)“:”(“,”(“:”)“,”]“:”[“,”[“:”]“,”{“:”}“,”}“:”{“},this.$findOpeningBracket=function(a,b){var c=this.$brackets,e=1,f=new d(this,b.row,b.column),g=f.getCurrentToken();if(!g)return null;var h=new RegExp(”(\.?“+g.type.replace(”.“,”|“).replace(”rparen“,”lparen|rparen“)+”)+“),i=b.column-f.getCurrentTokenColumn()-2,j=g.value;for(;;){while(i>=0){var k=j.charAt(i);if(k==c){e-=1;if(e==0)return{row:f.getCurrentTokenRow(),column:i+f.getCurrentTokenColumn()}}else k==a&&(e+=1);i-=1}do g=f.stepBackward();while(g&&!h.test(g.type));if(g==null)break;j=g.value,i=j.length-1}return null},this.$findClosingBracket=function(a,b){var c=this.$brackets,e=1,f=new d(this,b.row,b.column),g=f.getCurrentToken();if(!g)return null;var h=new RegExp(”(\.?“+g.type.replace(”.“,”|“).replace(”lparen“,”lparen|rparen“)+”)+“),i=b.column-f.getCurrentTokenColumn();for(;;){var j=g.value,k=j.length;while(i<k){var l=j.charAt(i);if(l==c){e-=1;if(e==0)return{row:f.getCurrentTokenRow(),column:i+f.getCurrentTokenColumn()}}else l==a&&(e+=1);i+=1}do g=f.stepForward();while(g&&!h.test(g.type));if(g==null)break;i=0}return null}}”use strict“;var d=a(”../token_iterator“).TokenIterator;b.BracketMatch=e}),ace.define(”ace/search“,,function(a,b,c){”use strict“;var d=a(”./lib/lang“),e=a(”./lib/oop“),f=a(”./range“).Range,g=function(){this.$options={needle:”“,backwards:!1,wrap:!1,caseSensitive:!1,wholeWord:!1,scope:g.ALL,regExp:!1}};g.ALL=1,g.SELECTION=2,function(){this.set=function(a){return e.mixin(this.$options,a),this},this.getOptions=function(){return d.copyObject(this.$options)},this.find=function(a){if(!this.$options.needle)return null;if(this.$options.backwards)var b=this.$backwardMatchIterator(a);else b=this.$forwardMatchIterator(a);var c=null;return b.forEach(function(a){return c=a,!0}),c},this.findAll=function(a){var b=this.$options;if(!b.needle)return[];if(b.backwards)var c=this.$backwardMatchIterator(a);else c=this.$forwardMatchIterator(a);var d=!b.start&&b.wrap&&b.scope==g.ALL;d&&(b.start={row:0,column:0});var e=[];return c.forEach(function(a){e.push(a)}),d&&(b.start=null),e},this.replace=function(a,b){var c=this.$assembleRegExp(),d=c.exec(a);return d&&d.length==a.length?this.$options.regExp?a.replace(c,b):b:null},this.$forwardMatchIterator=function(a){var b=this.$assembleRegExp(),c=this;return{forEach:function(d){c.$forwardLineIterator(a).forEach(function(a,e,f){e&&(a=a.substring(e));var g=[];a.replace(b,function(a){var b=arguments;return g.push({str:a,offset:e+b}),a});for(var h=0;h<g.length;h++){var i=g,j=c.$rangeFromMatch(f,i.offset,i.str.length);if(d(j))return!0}})}}},this.$backwardMatchIterator=function(a){var b=this.$assembleRegExp(),c=this;return{forEach:function(d){c.$backwardLineIterator(a).forEach(function(a,e,f){e&&(a=a.substring(e));var g=[];a.replace(b,function(a,b){return g.push({str:a,offset:e+b}),a});for(var h=g.length-1;h>=0;h–){var i=g,j=c.$rangeFromMatch(f,i.offset,i.str.length);if(d(j))return!0}})}}},this.$rangeFromMatch=function(a,b,c){return new f(a,b,a,b+c)},this.$assembleRegExp=function(){if(this.$options.regExp)var a=this.$options.needle;else a=d.escapeRegExp(this.$options.needle);this.$options.wholeWord&&(a=”\b“a
”\b“);var b=”g“;this.$options.caseSensitive||(b+=”i“);var c=new RegExp(a,b);return c},this.$forwardLineIterator=function(a){function k(e){var f=a.getLine(e);return b&&e==c.end.row&&(f=f.substring(0,c.end.column)),j&&e==d.row&&(f=f.substring(0,d.column)),f}var b=this.$options.scope==g.SELECTION,c=this.$options.range||a.getSelection().getRange(),d=this.$options.start||c,e=b?c.start.row:0,f=b?c.start.column:0,h=b?c.end.row:a.getLength()-1,i=this.$options.wrap,j=!1;return{forEach:function(a){var b=d.row,c=k(b),g=d.column,l=!1;j=!1;while(!a(c,g,b)){if(l)return;b++,g=0;if(b>h){if(!i)return;b=e,g=f,j=!0}b==d.row&&(l=!0),c=k(b)}}}},this.$backwardLineIterator=function(a){var b=this.$options.scope==g.SELECTION,c=this.$options.range||a.getSelection().getRange(),d=this.$options.start||c,e=b?c.start.row:0,f=b?c.start.column:0,h=b?c.end.row:a.getLength()-1,i=this.$options.wrap;return{forEach:function(g){var j=d.row,k=a.getLine(j).substring(0,d.column),l=0,m=!1,n=!1;while(!g(k,l,j)){if(m)return;j–,l=0;if(j<e){if(!i)return;j=h,n=!0}j==d.row&&(m=!0),k=a.getLine(j),b&&(j==e?l=f:j==h&&(k=k.substring(0,c.end.column))),n&&j==d.row&&(l=d.column)}}}}}.call(g.prototype),b.Search=g}),ace.define(”ace/commands/command_manager“,,function(a,b,c){”use strict“;var d=a(”../lib/oop“),e=a(”../keyboard/hash_handler“).HashHandler,f=a(”../lib/event_emitter“).EventEmitter,g=function(a,b){this.platform=a,this.commands={},this.commmandKeyBinding={},this.addCommands(b),this.setDefaultHandler(”exec“,function(a){a.command.exec(a.editor,a.args||{})})};d.inherits(g,e),function(){d.implement(this,f),this.exec=function(a,b,c){return typeof a==”string“&&(a=this.commands),a?b&&b.$readOnly&&!a.readOnly?!1:(this._emit(”exec“,{editor:b,command:a,args:c}),!0):!1},this.toggleRecording=function(){if(this.$inReplay)return;return this.recording?(this.macro.pop(),this.removeEventListener(”exec“,this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(a){this.macro.push()}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on(”exec“,this.$addCommandToMacro),this.recording=!0)},this.replay=function(a){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording();try{this.$inReplay=!0,this.macro.forEach(function(b){typeof b==”string“?this.exec(b,a):this.exec(b,a,b)},this)}finally{this.$inReplay=!1}},this.trimMacro=function(a){return a.map(function(a){return typeof a!=”string“&&(a=a.name),a||(a=a),a})}}.call(g.prototype),b.CommandManager=g}),ace.define(”ace/keyboard/hash_handler“,,function(a,b,c){function e(a,b){this.platform=b,this.commands={},this.commmandKeyBinding={},this.addCommands(a)}”use strict“;var d=a(”../lib/keys“);(function(){function a(a,c,e){var f,g=0,h=b(a.toLowerCase());for(var i=0,j=h.length;ia
“px”},this.getLineHeight=function(){return this.$characterSize.height||1},this.getCharacterWidth=function(){return this.$characterSize.width||1},this.checkForSizeChanges=function(){var a=this.$measureSizes();a&&(this.$characterSize.width!==a.width||this.$characterSize.height!==a.height)&&(this.$characterSize=a,this._emit(“changeCharacterSize”,{data:a}))},this.$pollSizeChanges=function(){var a=this;this.$pollSizeChangesTimer=setInterval(function(){a.checkForSizeChanges()},500)},this.$fontStyles={fontFamily:1,fontSize:1,fontWeight:1,fontStyle:1,lineHeight:1},this.$measureSizes=g.isIE||g.isOldGecko?function(){var a=1e3;if(!this.$measureNode){var b=this.$measureNode=e.createElement(“div”),c=b.style;c.width=c.height=“auto”,c.left=c.top=-a*40+“px”,c.visibility=“hidden”,c.position=“fixed”,c.overflow=“visible”,c.whiteSpace=“nowrap”,b.innerHTML=f.stringRepeat(“Xy”,a);if(this.element.ownerDocument.body)this.element.ownerDocument.body.appendChild(b);else{var d=this.element.parentNode;while(!e.hasCssClass(d,“ace_editor”))d=d.parentNode;d.appendChild(b)}}if(!this.element.offsetWidth)return null;var c=this.$measureNode.style,g=e.computedStyle(this.element);for(var h in this.$fontStyles)c=g;var i={height:this.$measureNode.offsetHeight,width:this.$measureNode.offsetWidth/(a*2)};return i.width==0||i.height==0?null:i}:function(){if(!this.$measureNode){var a=this.$measureNode=e.createElement(“div”),b=a.style;b.width=b.height=“auto”,b.left=b.top=“-100px”,b.visibility=“hidden”,b.position=“fixed”,b.overflow=“visible”,b.whiteSpace=“nowrap”,a.innerHTML=“X”;var c=this.element.parentNode;while(c&&!e.hasCssClass(c,“ace_editor”))c=c.parentNode;if(!c)return this.$measureNode=null;c.appendChild(a)}var d=this.$measureNode.getBoundingClientRect(),f={height:d.height,width:d.width};return f.width==0||f.height==0?null:f},this.setSession=function(a){this.session=a},this.showInvisibles=!1,this.setShowInvisibles=function(a){return this.showInvisibles==a?!1:(this.showInvisibles=a,!0)},this.$tabStrings=[],this.$computeTabString=function(){var a=this.session.getTabSize(),b=this.$tabStrings=;for(var c=1;c<a+1;c++)this.showInvisibles?b.push(“<span class=‘ace_invisible’>”this.TAB_CHAR
(new Array©).join(“ ”)+“</span>”):b.push((new Array(c+1)).join(“ ”))},this.updateLines=function(a,b,c){this.$computeTabString(),(this.config.lastRow!=a.lastRow||this.config.firstRow!=a.firstRow)&&this.scrollLines(a),this.config=a;var d=Math.max(b,a.firstRow),f=Math.min(c,a.lastRow),g=this.element.childNodes,h=0;for(var i=a.firstRow;i<d;i++){var j=this.session.getFoldLine(i);if(j){if(j.containsRow(d)){d=j.start.row;break}i=j.end.row}h++}for(var k=d;k<=f;k++){var l=g;if(!l)continue;var m=[],n=this.session.getTokens(k,k);this.$renderLine(m,k,n.tokens,!this.$useLineGroups()),l=e.setInnerHtml(l,m.join(“”)),k=this.session.getRowFoldEnd(k)}},this.scrollLines=function(a){this.$computeTabString();var b=this.config;this.config=a;if(!b||b.lastRow<a.firstRow)return this.update(a);if(a.lastRow<b.firstRow)return this.update(a);var c=this.element;if(b.firstRow<a.firstRow)for(var d=this.session.getFoldedRowCount(b.firstRow,a.firstRow-1);d>0;d–)c.removeChild(c.firstChild);if(b.lastRow>a.lastRow)for(var d=this.session.getFoldedRowCount(a.lastRow+1,b.lastRow);d>0;d–)c.removeChild(c.lastChild);if(a.firstRow<b.firstRow){var e=this.$renderLinesFragment(a,a.firstRow,b.firstRow-1);c.firstChild?c.insertBefore(e,c.firstChild):c.appendChild(e)}if(a.lastRow>b.lastRow){var e=this.$renderLinesFragment(a,b.lastRow+1,a.lastRow);c.appendChild(e)}},this.$renderLinesFragment=function(a,b,c){var d=this.element.ownerDocument.createDocumentFragment(),f=b,g=this.session.getNextFoldLine(f),h=g?g.start.row:Infinity;for(;;){f>h&&(f=g.end.row+1,g=this.session.getNextFoldLine(f,g),h=g?g.start.row:Infinity);if(f>c)break;var i=e.createElement(“div”),j=[],k=this.session.getTokens(f,f);k.length==1&&this.$renderLine(j,f,k.tokens,!1),i.innerHTML=j.join(“”);if(this.$useLineGroups())i.className=“ace_line_group”,d.appendChild(i);else{var l=i.childNodes;while(l.length)d.appendChild(l)}f++}return d},this.update=function(a){this.$computeTabString(),this.config=a;var b=[],c=a.firstRow,d=a.lastRow,f=c,g=this.session.getNextFoldLine(f),h=g?g.start.row:Infinity;for(;;){f>h&&(f=g.end.row+1,g=this.session.getNextFoldLine(f,g),h=g?g.start.row:Infinity);if(f>d)break;this.$useLineGroups()&&b.push(“<div class=‘ace_line_group’>”);var i=this.session.getTokens(f,f);i.length==1&&this.$renderLine(b,f,i.tokens,!1),this.$useLineGroups()&&b.push(“</div>”),f++}this.element=e.setInnerHtml(this.element,b.join(“”))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(a,b,c,d){var e=this,f=/t|&|<|( +)|([vf u00a0u2000u2001u2002u2003u2004u2005u2006u2007u2008u2009u200au200bu2028u2029u3000])|[u1100-u115F]|[u11A3-u11A7]||[u2329-u232A]||[u2E9B-u2EF3]||[u2FF0-u2FFB]||[u3041-u3096]||[u3105-u312D]||[u3190-u31BA]||[u31F0-u321E]||[u3250-u32FE]||[u4E00-uA48C]||[uA960-uA97C]||[uD7B0-uD7C6]||[uF900-uFAFF]||[uFE30-uFE52]||[uFE68-uFE6B]||[uFFE0-uFFE6]/g,h=function(a,c,d,f,h){if(a.charCodeAt(0)==32)return(new Array(a.length+1)).join(“ ”);if(a==“ ”){var i=e.session.getScreenTabSize(b+f);return b+=i-1,e.$tabStrings}if(a==“&”)return g.isOldGecko?“&”:“&”;if(a==“<”)return“<”;if(a==“ ”){var j=e.showInvisibles?“ace_cjk ace_invisible”:“ace_cjk”,k=e.showInvisibles?e.SPACE_CHAR:“”;return b+=1,“<span class=‘”j
“’ style=‘width:”+e.config.characterWidth*2+“px’>”k
“</span>”}if(a.match(/[vf u00a0u2000u2001u2002u2003u2004u2005u2006u2007u2008u2009u200au200bu2028u2029u3000]/)){if(e.showInvisibles){var k=(new Array(a.length+1)).join(e.SPACE_CHAR);return“<span class=‘ace_invisible’>”k
“</span>”}return“ ”}return b+=1,“<span class=‘ace_cjk’ style=‘width:”+e.config.characterWidth*2+“px’>”a
“</span>”},i=d.replace(f,h);if(!this.$textToken){var j=“ace_”+c.type.replace(/./g,“ ace_”),k=“”;c.type==“fold”&&(k=“ style=‘width:”+c.value.length*this.config.characterWidth+“px;’ ”),a.push(“<span class=‘”,j,“’”,k,“>”,i,“</span>”)}else a.push(i);return b+d.length},this.$renderLineCore=function(a,b,c,d,e){var f=0,g=0,h,i=0,j=this;!d||d.length==0?h=Number.MAX_VALUE:h=d,e||a.push(“<div class=‘ace_line’ style=‘height:”,this.config.lineHeight,“px”,“’>”);for(var k=0;k<c.length;k++){var l=c,m=l.value;if(f+m.length<h)i=j.$renderToken(a,i,l,m),f+=m.length;else{while(f+m.length>=h)i=j.$renderToken(a,i,l,m.substring(0,h-f)),m=m.substring(h-f),f=h,e||a.push(“</div>”,“<div class=‘ace_line’ style=‘height:”,this.config.lineHeight,“px”,“’>”),g++,i=0,h=d||Number.MAX_VALUE;m.length!=0&&(f+=m.length,i=j.$renderToken(a,i,l,m))}}this.showInvisibles&&(b!==this.session.getLength()-1?a.push(“<span class=‘ace_invisible’>”this.EOL_CHAR
“</span>”):a.push(“<span class=‘ace_invisible’>”this.EOF_CHAR
“</span>”)),e||a.push(“</div>”)},this.$renderLine=function(a,b,c,d){if(!this.session.isRowFolded(b)){var e=this.session.getRowSplitData(b);this.$renderLineCore(a,b,c,e,d)}else this.$renderFoldLine(a,b,c,d)},this.$renderFoldLine=function(a,b,c,d){function h(a,b,c){var d=0,e=0;while(e+a.value.length<b){e+=a.value.length,d++;if(d==a.length)return}if(e!=b){var f=a.value.substring(b-e);f.length>c-b&&(f=f.substring(0,c-b)),g.push({type:a.type,value:f}),e=b+f.length,d+=1}while(e<c){var f=a.value;f.length+e>c&&(f=f.substring(0,c-e)),g.push({type:a.type,value:f}),e+=f.length,d+=1}}var e=this.session,f=e.getFoldLine(b),g=[];f.walk(function(a,b,d,e,f){a?g.push({type:“fold”,value:a}):(f&&(c=this.session.getTokens(b,b).tokens),c.length!=0&&h(c,e,d))}.bind(this),f.end.row,this.session.getLine(f.end.row).length);var i=this.session.$useWrapMode?this.session.$wrapData:null;this.$renderLineCore(a,b,g,i,d)},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(i.prototype),b.Text=i}),ace.define(“ace/layer/cursor”,,function(a,b,c){“use strict”;var d=a(“../lib/dom”),e=function(a){this.element=d.createElement(“div”),this.element.className=“ace_layer ace_cursor-layer”,a.appendChild(this.element),this.isVisible=!1,this.cursors=[],this.cursor=this.addCursor()};(function(){this.$padding=0,this.setPadding=function(a){this.$padding=a},this.setSession=function(a){this.session=a},this.addCursor=function(){var a=d.createElement(“div”),b=“ace_cursor”;return this.isVisible||(b+=“ ace_hidden”),this.overwrite&&(b+=“ ace_overwrite”),a.className=b,this.element.appendChild(a),this.cursors.push(a),a},this.removeCursor=function(){if(this.cursors.length>1){var a=this.cursors.pop();return a.parentNode.removeChild(a),a}},this.hideCursor=function(){this.isVisible=!1;for(var a=this.cursors.length;a–;)d.addCssClass(this.cursors,“ace_hidden”);clearInterval(this.blinkId)},this.showCursor=function(){this.isVisible=!0;for(var a=this.cursors.length;a–;)d.removeCssClass(this.cursors,“ace_hidden”);this.element.style.visibility=“”,this.restartTimer()},this.restartTimer=function(){clearInterval(this.blinkId);if(!this.isVisible)return;var a=this.cursors.length==1?this.cursor:this.element;this.blinkId=setInterval(function(){a.style.visibility=“hidden”,setTimeout(function(){a.style.visibility=“”},400)},1e3)},this.getPixelPosition=function(a,b){if(!this.config||!this.session)return{left:0,top:0};a||(a=this.session.selection.getCursor());var c=this.session.documentToScreenPosition(a),d=Math.round(this.$padding+c.column*this.config.characterWidth),e=(c.row-(b?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:d,top:e}},this.update=function(a){this.config=a;if(this.session.selectionMarkerCount>0){var b=this.session.$selectionMarkers,c=0,d,e=0;for(var c=b.length;c–;){d=b;var f=this.getPixelPosition(d.cursor,!0),g=(this.cursors||this.addCursor()).style;g.left=f.left+“px”,g.top=f.top+“px”,g.width=a.characterWidth+“px”,g.height=a.lineHeight+“px”}if(e>1)while(this.cursors.length>e)this.removeCursor()}else{var f=this.getPixelPosition(null,!0),g=this.cursor.style;g.left=f.left+“px”,g.top=f.top+“px”,g.width=a.characterWidth+“px”,g.height=a.lineHeight+“px”;while(this.cursors.length>1)this.removeCursor()}var h=this.session.getOverwrite();h!=this.overwrite&&this.$setOverite(h),this.restartTimer()},this.$setOverite=function(a){this.overwrite=a;for(var b=this.cursors.length;b–;)a?d.addCssClass(this.cursors,“ace_overwrite”):d.removeCssClass(this.cursors,“ace_overwrite”)},this.destroy=function(){clearInterval(this.blinkId)}}).call(e.prototype),b.Cursor=e}),ace.define(“ace/scrollbar”,,function(a,b,c){“use strict”;var d=a(“./lib/oop”),e=a(“./lib/dom”),f=a(“./lib/event”),g=a(“./lib/event_emitter”).EventEmitter,h=function(a){this.element=e.createElement(“div”),this.element.className=“ace_sb”,this.inner=e.createElement(“div”),this.element.appendChild(this.inner),a.appendChild(this.element),this.width=e.scrollbarWidth(a.ownerDocument),this.element.style.width=(this.width||15)5
“px”,f.addListener(this.element,“scroll”,this.onScroll.bind(this))};(function(){d.implement(this,g),this.onScroll=function(){this._emit(“scroll”,{data:this.element.scrollTop})},this.getWidth=function(){return this.width},this.setHeight=function(a){this.element.style.height=a+“px”},this.setInnerHeight=function(a){this.inner.style.height=a+“px”},this.setScrollTop=function(a){this.element.scrollTop=a}}).call(h.prototype),b.ScrollBar=h}),ace.define(“ace/renderloop”,,function(a,b,c){“use strict”;var d=a(“./lib/event”),e=function(a,b){this.onRender=a,this.pending=!1,this.changes=0,this.window=b||window};(function(){this.schedule=function(a){this.changes=this.changes|a;if(!this.pending){this.pending=!0;var b=this;d.nextTick(function(){b.pending=!1;var a;while(a=b.changes)b.changes=0,b.onRender(a)},this.window)}}}).call(e.prototype),b.RenderLoop=e}),ace.define(“text!ace/css/editor.css”,[],“@import url(//fonts.googleapis.com/css?family=Droid+Sans+Mono);nn.ace_editor {n position: absolute;n overflow: hidden;n font-family: ‘Monaco’, ‘Menlo’, ‘Ubuntu Mono’, ‘Droid Sans Mono’, ‘Consolas’, monospace;n font-size: 12px;n}nn.ace_scroller {n position: absolute;n overflow-x: scroll;n overflow-y: hidden;n}nn.ace_content {n position: absolute;n box-sizing: border-box;n -moz-box-sizing: border-box;n -webkit-box-sizing: border-box;n cursor: text;n}nn.ace_composition {n position: absolute;n background: #555;n color: DDD;n z-index: 4;n}nn.ace_gutter {n position: absolute;n overflow : hidden;n height: 100%;n width: auto;n cursor: default;n z-index: 1000;n}nn.ace_gutter.horscroll {n box-shadow: 0px 0px 20px rgba(0,0,0,0.4);n}nn.ace_gutter-cell {n padding-left: 19px;n padding-right: 6px;n}nn.ace_gutter-cell.ace_error {n background-image: url("data:image/gif,GIF89a%10%00%10%00%D5%00%00%F5or%F5%87%88%F5nr%F4ns%EBmq%F5z%7F%DDJT%DEKS%DFOW%F1Yc%F2ah%CE(7%CE)8%D18E%DD%40M%F2KZ%EBU%60%F4%60m%DCir%C8%16(%C8%19*%CE%255%F1%3FR%F1%3FS%E6%AB%B5%CA%5DI%CEn%5E%F7%A2%9A%C9G%3E%E0a%5B%F7%89%85%F5yy%F6%82%80%ED%82%80%FF%BF%BF%E3%C4%C4%FF%FF%FF%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00!%F9%04%01%00%00%25%00%2C%00%00%00%00%10%00%10%00%00%06p%C0%92pH%2C%1A%8F%C8%D2H%93%E1d4%23%E4%88%D3%09mB%1DN%B48%F5%90%40%60%92G%5B%94%20%3E%22%D2%87%24%FA%20%24%C5%06A%00%20%B1%07%02B%A38%89X.v%17%82%11%13q%10%0Fi%24%0F%8B%10%7BD%12%0Ei%09%92%09%0EpD%18%15%24%0A%9Ci%05%0C%18F%18%0B%07%04%01%04%06%A0H%18%12%0D%14%0D%12%A1I%B3%B4%B5IA%00%3B");n background-repeat: no-repeat;n background-position: 2px center;n}nn.ace_gutter-cell.ace_warning {n background-image: url("data:image/gif,GIF89a%10%00%10%00%D5%00%00%FF%DBr%FF%DE%81%FF%E2%8D%FF%E2%8F%FF%E4%96%FF%E3%97%FF%E5%9D%FF%E6%9E%FF%EE%C1%FF%C8Z%FF%CDk%FF%D0s%FF%D4%81%FF%D5%82%FF%D5%83%FF%DC%97%FF%DE%9D%FF%E7%B8%FF%CCl%7BQ%13%80U%15%82W%16%81U%16%89%5B%18%87%5B%18%8C%5E%1A%94d%1D%C5%83-%C9%87%2F%C6%84.%C6%85.%CD%8B2%C9%871%CB%8A3%CD%8B5%DC%98%3F%DF%9BB%E0%9CC%E1%A5U%CB%871%CF%8B5%D1%8D6%DB%97%40%DF%9AB%DD%99B%E3%B0p%E7%CC%AE%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00!%F9%04%01%00%00%2F%00%2C%00%00%00%00%10%00%10%00%00%06a%C0%97pH%2C%1A%8FH%A1%ABTr%25%87%2B%04%82%F4%7C%B9X%91%08%CB%99%1C!%26%13%84*iJ9(%15G%CA%84%14%01%1A%97%0C%03%80%3A%9A%3E%81%84%3E%11%08%B1%8B%20%02%12%0F%18%1A%0F%0A%03’F%1C%04%0B%10%16%18%10%0B%05%1CF%1D-%06%07%9A%9A-%1EG%1B%A0%A1%A0U%A4%A5%A6BA%00%3B");n background-repeat: no-repeat;n background-position: 2px center;n}nn.ace_gutter-cell.ace_info {n background-image: url("data:image/gif;base64,R0lGODlhEAAQAMQAAAAAAEFBQVJSUl5eXmRkZGtra39/f4WFhYmJiZGRkaampry8vMPDw8zMzNXV1dzc3OTk5Orq6vDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABQALAAAAAAQABAAAAUuICWOZGmeaBml5XGwFCQSBGyXRSAwtqQIiRuiwIM5BoYVbEFIyGCQoeJGrVptIQA7");n background-repeat: no-repeat;n background-position: 2px center;n}nn.ace_editor .ace_sb {n position: absolute;n overflow-x: hidden;n overflow-y: scroll;n right: 0;n}nn.ace_editor .ace_sb div {n position: absolute;n width: 1px;n left: 0;n}nn.ace_editor .ace_print_margin_layer {n z-index: 0;n position: absolute;n overflow: hidden;n margin: 0;n left: 0;n height: 100%;n width: 100%;n}nn.ace_editor .ace_print_margin {n position: absolute;n height: 100%;n}nn.ace_editor textarea {n position: fixed;n z-index: 0;n width: 10px;n height: 30px;n opacity: 0;n background: transparent;n appearance: none;n -moz-appearance: none;n border: none;n resize: none;n outline: none;n overflow: hidden;n}nn.ace_layer {n z-index: 1;n position: absolute;n overflow: hidden;n white-space: nowrap;n height: 100%;n width: 100%;n box-sizing: border-box;n -moz-box-sizing: border-box;n -webkit-box-sizing: border-box;n /* setting pointer-events: auto; on node under the mouse, which changesn during scroll, will break mouse wheel scrolling in Safari */n pointer-events: none;n}nn.ace_gutter .ace_layer {n position: relative;n min-width: 40px;n text-align: right;n pointer-events: auto;n}nn.ace_text-layer {n color: black;n}nn.ace_cjk {n display: inline-block;n text-align: center;n}nn.ace_cursor-layer {n z-index: 4;n}nn.ace_cursor {n z-index: 4;n position: absolute;n}nn.ace_cursor.ace_hidden {n opacity: 0.2;n}nn.ace_editor.multiselect .ace_cursor {n border-left-width: 1px;n}nn.ace_line {n white-space: nowrap;n}nn.ace_marker-layer .ace_step {n position: absolute;n z-index: 3;n}nn.ace_marker-layer .ace_selection {n position: absolute;n z-index: 5;n}nn.ace_marker-layer .ace_bracket {n position: absolute;n z-index: 6;n}nn.ace_marker-layer .ace_active_line {n position: absolute;n z-index: 2;n}nn.ace_gutter .ace_gutter_active_line{n background-color : dcdcdc;n}nn.ace_marker-layer .ace_selected_word {n position: absolute;n z-index: 4;n box-sizing: border-box;n -moz-box-sizing: border-box;n -webkit-box-sizing: border-box;n}nn.ace_line .ace_fold {n box-sizing: border-box;n -moz-box-sizing: border-box;n -webkit-box-sizing: border-box;n n display: inline-block;n height: 11px;n margin-top: -2px;n vertical-align: middle;nn background-image: n url("data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%11%00%00%00%09%08%06%00%00%00%D4%E8%C7%0C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M’S%03%B9%F7%BB%DF%F9%EE9’%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4’%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B’%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB’%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%00%B5IDAT(%15%A5%91%3D%0E%02!%10%85ac%E1%05%D6%CE%D6%C6%CE%D2%E8%ED%CD%DE%C0%C6%D6N.%E0V%F8%3D%9Ca%891XH%C2%BE%D9y%3F%90!%E6%9C%C3%BFk%E5%011%C6-%F5%C8N%04%DF%BD%FF%89%DFt%83DN%60%3E%F3%AB%A0%DE%1A%5Dg%BE%10Q%97%1B%40%9C%A8o%10%8F%5E%828%B4%1B%60%87%F6%02%26%85%1Ch%1E%C1%2B%5Bk%FF%86%EE%B7j%09%9A%DA%9B%ACe%A3%F9%EC%DA!9%B4%D5%A6%81%86%86%98%CC%3C%5B%40%FA%81%B3%E9%CB%23%94%C16Azo%05%D4%E1%C1%95a%3B%8A’%A0%E8%CC%17%22%85%1D%BA%00%A2%FA%DC%0A%94%D1%D1%8D%8B%3A%84%17B%C7%60%1A%25Z%FC%8D%00%00%00%00IEND%AEB%60%82"),n url("data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%007%08%06%00%00%00%C4%DD%80C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M’S%03%B9%F7%BB%DF%F9%EE9’%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4’%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B’%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB’%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%00%3AIDAT8%11c%FC%FF%FF%7F%18%03%1A%60%01%F2%3F%A0%891%80%04%FF%11-%F8%17%9BJ%E2%05%B1ZD%81v%26t%E7%80%F8%A3%82h%A12%1A%20%A3%01%02%0F%01%BA%25%06%00%19%C0%0D%AEF%D5%3ES%00%00%00%00IEND%AEB%60%82");n background-repeat: no-repeat, repeat-x;n background-position: center center, top left;n color: transparent;nn border: 1px solid black;n -moz-border-radius: 2px;n -webkit-border-radius: 2px;n border-radius: 2px;n n cursor: pointer;n pointer-events: auto;n}nn.ace_dark .ace_fold {n}nn.ace_fold:hover{n background-image: n url("data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%11%00%00%00%09%08%06%00%00%00%D4%E8%C7%0C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M’S%03%B9%F7%BB%DF%F9%EE9’%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4’%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B’%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB’%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%00%B5IDAT(%15%A5%91%3D%0E%02!%10%85ac%E1%05%D6%CE%D6%C6%CE%D2%E8%ED%CD%DE%C0%C6%D6N.%E0V%F8%3D%9Ca%891XH%C2%BE%D9y%3F%90!%E6%9C%C3%BFk%E5%011%C6-%F5%C8N%04%DF%BD%FF%89%DFt%83DN%60%3E%F3%AB%A0%DE%1A%5Dg%BE%10Q%97%1B%40%9C%A8o%10%8F%5E%828%B4%1B%60%87%F6%02%26%85%1Ch%1E%C1%2B%5Bk%FF%86%EE%B7j%09%9A%DA%9B%ACe%A3%F9%EC%DA!9%B4%D5%A6%81%86%86%98%CC%3C%5B%40%FA%81%B3%E9%CB%23%94%C16Azo%05%D4%E1%C1%95a%3B%8A’%A0%E8%CC%17%22%85%1D%BA%00%A2%FA%DC%0A%94%D1%D1%8D%8B%3A%84%17B%C7%60%1A%25Z%FC%8D%00%00%00%00IEND%AEB%60%82"),n url("data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%007%08%06%00%00%00%C4%DD%80C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M’S%03%B9%F7%BB%DF%F9%EE9’%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4’%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B’%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB’%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%003IDAT8%11c%FC%FF%FF%7F%3E%03%1A%60%01%F2%3F%A3%891%80%04%FFQ%26%F8w%C0%B43%A1%DB%0C%E2%8F%0A%A2%85%CAh%80%8C%06%08%3C%04%E8%96%18%00%A3S%0D%CD%CF%D8%C1%9D%00%00%00%00IEND%AEB%60%82");n background-repeat: no-repeat, repeat-x;n background-position: center center, top left;n}nn.ace_dragging .ace_content {n cursor: move;n}nn.ace_folding-enabled > .ace_gutter-cell {n padding-right: 13px;n}nn.ace_fold-widget {n box-sizing: border-box;n -moz-box-sizing: border-box;n -webkit-box-sizing: border-box;nn margin: 0 -12px 1px 1px;n display: inline-block;n height: 14px;n width: 11px;n vertical-align: text-bottom;n n background-image: url("data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%00%05%08%06%00%00%00%8Do%26%E5%00%00%004IDATx%DAe%8A%B1%0D%000%0C%C2%F2%2CK%96%BC%D0%8F9%81%88H%E9%D0%0E%96%C0%10%92%3E%02%80%5E%82%E4%A9*-%EEsw%C8%CC%11%EE%96w%D8%DC%E9*Eh%0C%151(%00%00%00%00IEND%AEB%60%82");n background-repeat: no-repeat;n background-position: center 5px;nn border-radius: 3px;n}nn.ace_fold-widget.end {n background-image: url("data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%00%05%08%06%00%00%00%8Do%26%E5%00%00%004IDATx%DAm%C7%C1%09%000%08C%D1%8C%ECE%C8E(%8E%EC%02)%1EZJ%F1%C1’%04%07I%E1%E5%EE%CAL%F5%A2%99%99%22%E2%D6%1FU%B5%FE0%D9x%A7%26Wz5%0E%D5%00%00%00%00IEND%AEB%60%82");n}nn.ace_fold-widget.closed {n background-image: url("data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%03%00%00%00%06%08%06%00%00%00%06%E5%24%0C%00%00%009IDATx%DA5%CA%C1%09%000%08%03%C0%AC*(%3E%04%C1%0D%BA%B1%23%A4Uh%E0%20%81%C0%CC%F8%82%81%AA%A2%AArGfr%88%08%11%11%1C%DD%7D%E0%EE%5B%F6%F6%CB%B8%05Q%2F%E9tai%D9%00%00%00%00IEND%AEB%60%82");n}nn.ace_fold-widget:hover {n border: 1px solid rgba(0, 0, 0, 0.3);n background-color: rgba(255, 255, 255, 0.2);n -moz-box-shadow:inset 0 1px 1px rgba(255, 255, 255, 0.7);n -moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);n -webkit-box-shadow:inset 0 1px 1px rgba(255, 255, 255, 0.7);n -webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);n box-shadow:inset 0 1px 1px rgba(255, 255, 255, 0.7);n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);n background-position: center 4px;n}nn.ace_fold-widget:active {n border: 1px solid rgba(0, 0, 0, 0.4);n background-color: rgba(0, 0, 0, 0.05);n -moz-box-shadow:inset 0 1px 1px rgba(255, 255, 255);n -moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);n -webkit-box-shadow:inset 0 1px 1px rgba(255, 255, 255);n -webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);n box-shadow:inset 0 1px 1px rgba(255, 255, 255);n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);n}nn.ace_fold-widget.invalid {n background-color: FFB4B4;n border-color: DE5555;n}n”),ace.define(“ace/multi_select”,,function(a,b,c){function j(a,b,c){return i.$options.wrap=!0,i.$options.needle=b,i.$options.backwards=c==-1,i.find(a)}function m(a,b){return a.row==b.row&&a.column==b.column}function n(a){a.$onAddRange=a.$onAddRange.bind(a),a.$onRemoveRange=a.$onRemoveRange.bind(a),a.$onMultiSelect=a.$onMultiSelect.bind(a),a.$onSingleSelect=a.$onSingleSelect.bind(a),b.onSessionChange.call(a,a),a.on(“changeSession”,b.onSessionChange.bind(a)),a.on(“mousedown”,g),a.commands.addCommands(b.commands.defaultCommands),o(a)}function o(a){function e(){c&&(d.style.cursor=“”,c=!1)}var b=a.textInput.getElement(),c=!1,d=a.renderer.content;b.addEventListener(“keydown”,function(a){a.keyCode==18&&!(a.ctrlKey||a.shiftKey||a.metaKey)?c||(d.style.cursor=“crosshair”,c=!0):c&&(d.style.cursor=“”)}),b.addEventListener(“keyup”,e),b.addEventListener(“blur”,e)}var d=a(“./range_list”).RangeList,e=a(“./range”).Range,f=a(“./selection”).Selection,g=a(“./mouse/multi_select_handler”).onMouseDown;b.commands=a(“./commands/multi_select_commands”);var h=a(“./search”).Search,i=new h,k=a(“./edit_session”).EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(k.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(a,b){if(!a)return;if(!this.inMultiSelectMode&&this.rangeCount==0){var c=this.toOrientedRange();if(a.intersects©)return b||this.fromOrientedRange(a);this.rangeList.add©,this.$onAddRange©}a.cursor||(a.cursor=a.end);var d=this.rangeList.add(a);return this.$onAddRange(a),d.length&&this.$onRemoveRange(d),this.rangeCount>1&&!this.inMultiSelectMode&&(this._emit(“multiSelect”),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),b||this.fromOrientedRange(a)},this.toSingleRange=function(a){a=a||this.ranges;var b=this.rangeList.removeAll();b.length&&this.$onRemoveRange(b),a&&this.fromOrientedRange(a)},this.substractPoint=function(a){var b=this.rangeList.substractPoint(a);if(b)return this.$onRemoveRange(b),b},this.mergeOverlappingRanges=function(){var a=this.rangeList.merge();a.length?this.$onRemoveRange(a):this.ranges&&this.fromOrientedRange(this.ranges)},this.$onAddRange=function(a){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(a),this._emit(“addRange”,{range:a})},this.$onRemoveRange=function(a){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var b=this.rangeList.ranges.pop();a.push(b),this.rangeCount=0}for(var c=a.length;c–;){var d=this.ranges.indexOf(a);this.ranges.splice(d,1)}this._emit(“removeRange”,{ranges:a}),this.rangeCount==0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._emit(“singleSelect”),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),b=b||this.ranges,b&&!b.isEqual(this.getRange())&&this.fromOrientedRange(b)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new d,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeList.ranges.concat()},this.splitIntoLines=function(){if(this.rangeCount>1){var a=this.rangeList.ranges,b=a,c=e.fromPoints(a.start,b.end);this.toSingleRange(),this.setSelectionRange(c,b.cursor==b.start)}else{var d=this.session.documentToScreenPosition(this.selectionLead),f=this.session.documentToScreenPosition(this.selectionAnchor),g=this.rectangularRangeBlock(d,f);g.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(a,b,c){var d=[],f=a.column<b.column;if(f)var g=a.column,h=b.column;else var g=b.column,h=a.column;var i=a.row<b.row;if(i)var j=a.row,k=b.row;else var j=b.row,k=a.row;g<0&&(g=0),j<0&&(j=0),j==k&&(c=!0);for(var l=j;l<=k;l++){var n=e.fromPoints(this.session.screenToDocumentPosition(l,g),this.session.screenToDocumentPosition(l,h));if(n.isEmpty()){if(o&&m(n.end,o))break;var o=n.end}n.cursor=f?n.start:n.end,d.push(n)}i&&d.reverse();if(!c){var p=d.length-1;while(d.isEmpty()&&p>0)p–;if(p>0){var q=0;while(d.isEmpty())q++}for(var r=p;r>=q;r–)d.isEmpty()&&d.splice(r,1)}return d}}.call(f.prototype);var l=a(“./editor”).Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(a){a.cursor||(a.cursor=a.end);var b=this.getSelectionStyle();return a.marker=this.session.addMarker(a,“ace_selection”,b),this.session.$selectionMarkers.push(a),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,a},this.removeSelectionMarker=function(a){if(!a.marker)return;this.session.removeMarker(a.marker);var b=this.session.$selectionMarkers.indexOf(a);b!=-1&&this.session.$selectionMarkers.splice(b,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(a){var b=this.session.$selectionMarkers;for(var c=a.length;c–;){var d=a;if(!d.marker)continue;this.session.removeMarker(d.marker);var e=b.indexOf(d);e!=-1&&b.splice(e,1)}this.session.selectionMarkerCount=b.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){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle(“multiselect”),this.keyBinding.addKeyboardHandler(b.commands.keyboardHandler),this.commands.on(“exec”,this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(a){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle(“multiselect”),this.keyBinding.removeKeyboardHandler(b.commands.keyboardHandler),this.commands.removeEventListener(“exec”,this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelectExec=function(a){var b=a.command,c=a.editor;b.multiSelectAction?b.multiSelectAction==“forEach”?c.forEachSelection(b,a.args):b.multiSelectAction==“single”?(c.exitMultiSelectMode(),b.exec(c,a.args||{})):b.multiSelectAction(c,a.args||{}):(b.exec(c,a.args||{}),c.multiSelect.addRange(c.multiSelect.toOrientedRange()),c.multiSelect.mergeOverlappingRanges()),a.preventDefault()},this.forEachSelection=function(a,b){if(this.inVirtualSelectionMode)return;var c=this.session,d=this.selection,e=d.rangeList,g=d._eventRegistry;d._eventRegistry={};var h=new f©;this.inVirtualSelectionMode=!0;for(var i=e.ranges.length;i–;)h.fromOrientedRange(e.ranges),this.selection=c.selection=h,a.exec(this,b||{}),h.toOrientedRange(e.ranges);h.detach(),this.selection=c.selection=d,this.inVirtualSelectionMode=!1,d._eventRegistry=g,d.mergeOverlappingRanges(),this.onCursorChange(),this.onSelectionChange()},this.exitMultiSelectMode=function(){if(this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getCopyText=function(){var a=“”;if(this.inMultiSelectMode){var b=this.multiSelect.rangeList.ranges;a=[];for(var c=0;clocation.host
(a.charAt(0)==“/”?“”:location.pathname.replace(//*$/,“”))+“/”+a.replace(/^+/,“”),a},this.terminate=function(){this._emit(“terminate”,{}),this.$worker.terminate(),this.$worker=null,this.$doc.removeEventListener(“change”,this.changeListener),this.$doc=null},this.send=function(a,b){this.$worker.postMessage({command:a,args:b})},this.call=function(a,b,c){if©{var d=this.callbackId++;this.callbacks=c,b.push(d)}this.send(a,b)},this.emit=function(a,b){try{this.$worker.postMessage({event:a,data:{data:b.data}})}catch©{}},this.attachToDocument=function(a){this.$doc&&this.terminate(),this.$doc=a,this.call(“setValue”,),a.on(“change”,this.changeListener)},this.changeListener=function(a){a.range={start:a.data.range.start,end:a.data.range.end},this.emit(“change”,a)}}).call(g.prototype),b.WorkerClient=g}),ace.define(“ace/keyboard/state_handler”,,function(a,b,c){function e(a){this.keymapping=this.$buildKeymappingRegex(a)}“use strict”;var d=!1;e.prototype={$buildKeymappingRegex:function(a){for(var b in a)this.$buildBindingsRegex(a);return a},$buildBindingsRegex:function(a){a.forEach(function(a){a.key?a.key=new RegExp(“^”a.key
“$”):Array.isArray(a.regex)?(“key”in a||(a.key=new RegExp(“^”a.regex[1]
“$”)),a.regex=new RegExp(a.regex.join(“”)+“$”)):a.regex&&(a.regex=new RegExp(a.regex+“$”))})},$composeBuffer:function(a,b,c,d){if(a.state==null||a.buffer==null)a.state=“start”,a.buffer=“”;var e=[];b&1&&e.push(“ctrl”),b&8&&e.push(“command”),b&2&&e.push(“option”),b&4&&e.push(“shift”),c&&e.push©;var f=e.join(“-”),g=a.buffer+f;b!=2&&(a.buffer=g);var h={bufferToUse:g,symbolicName:f};return d&&(h.keyIdentifier=d.keyIdentifier),h},$find:function(a,b,c,e,f,g){var h={};return this.keymapping.some(function(i){var j;if(i.key&&!i.key.test©)return!1;if(i.regex&&!(j=i.regex.exec(b)))return!1;if(i.match&&!i.match(b,e,f,c,g))return!1;if(i.disallowMatches)for(var k=0;k
(function() { ace.require(["ace/ace"], function(a) { if (!window.ace) window.ace = {}; for (var key in a) if (a.hasOwnProperty(key)) ace[key] = a[key]; }); })();