(function(b,a){typeof exports==="object"&&typeof module!=="undefined"?module.exports=a():typeof define==="function"&&define.amd?define(a):(b.CodeMirror=a())}(this,(function(){var ea=navigator.userAgent;var el=navigator.platform;var ct=/gecko\/\d/i.test(ea);var e1=/MSIE \d/.test(ea);var bM=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ea);var dS=e1||bM;var l=dS&&(e1?document.documentMode||6:bM[1]);var c6=/WebKit\//.test(ea);var dV=c6&&/Qt\/\d+\.\d+/.test(ea);var dk=/Chrome\//.test(ea);var ec=/Opera\//.test(ea);var aC=/Apple Computer/.test(navigator.vendor);var dd=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(ea);var fN=/PhantomJS/.test(ea);var fj=/AppleWebKit/.test(ea)&&/Mobile\/\w+/.test(ea);var er=fj||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(ea);var cb=fj||/Mac/.test(el);var f6=/\bCrOS\b/.test(ea);var aP=/win/i.test(el);var aZ=ec&&ea.match(/Version\/(\d*\.\d*)/);if(aZ){aZ=Number(aZ[1])}if(aZ&&aZ>=15){ec=false;c6=true}var bT=cb&&(dV||ec&&(aZ==null||aZ<12.11));var gC=ct||(dS&&l>=9);function R(i){return new RegExp("(^|\\s)"+i+"(?:$|\\s)\\s*")}var h=function(gO,i){var gP=gO.className;var gN=R(i).exec(gP);if(gN){var gQ=gP.slice(gN.index+gN[0].length);gO.className=gP.slice(0,gN.index)+(gQ?gN[1]+gQ:"")}};function eb(gN){for(var i=gN.childNodes.length;i>0;--i){gN.removeChild(gN.firstChild)}return gN}function bV(i,gN){return eb(i).appendChild(gN)}function gv(gN,gR,gQ,gP){var gS=document.createElement(gN);if(gQ){gS.className=gQ}if(gP){gS.style.cssText=gP}if(typeof gR=="string"){gS.appendChild(document.createTextNode(gR))}else{if(gR){for(var gO=0;gO=gO){return gU+(gO-gR)}gU+=gN-gR;gU+=gS-(gU%gS);gR=gN+1}}function gM(){this.id=null}gM.prototype.set=function(i,gN){clearTimeout(this.id);this.id=setTimeout(gN,i)};function dr(gP,gN){for(var gO=0;gO=gP){return gS+Math.min(i,gP-gO)}gO+=gN-gS;gO+=gR-(gO%gR);gS=gN+1;if(gO>=gP){return gS}}}var a0=[""];function cu(i){while(a0.length<=i){a0.push(f2(a0)+" ")}return a0[i]}function f2(i){return i[i.length-1]}function bW(gQ,gP){var gN=[];for(var gO=0;gO"\x80"&&(i.toUpperCase()!=i.toLowerCase()||bc.test(i))}function cF(i,gN){if(!gN){return fZ(i)}if(gN.source.indexOf("\\w")>-1&&fZ(i)){return true}return gN.test(i)}function fc(i){for(var gN in i){if(i.hasOwnProperty(gN)&&i[gN]){return false}}return true}var e0=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function fI(i){return i.charCodeAt(0)>=768&&e0.test(i)}function eY(i,gO,gN){var gP=this;this.input=gN;gP.scrollbarFiller=gv("div",null,"CodeMirror-scrollbar-filler");gP.scrollbarFiller.setAttribute("cm-not-content","true");gP.gutterFiller=gv("div",null,"CodeMirror-gutter-filler");gP.gutterFiller.setAttribute("cm-not-content","true");gP.lineDiv=gv("div",null,"CodeMirror-code");gP.selectionDiv=gv("div",null,null,"position: relative; z-index: 1");gP.cursorDiv=gv("div",null,"CodeMirror-cursors");gP.measure=gv("div",null,"CodeMirror-measure");gP.lineMeasure=gv("div",null,"CodeMirror-measure");gP.lineSpace=gv("div",[gP.measure,gP.lineMeasure,gP.selectionDiv,gP.cursorDiv,gP.lineDiv],null,"position: relative; outline: none");gP.mover=gv("div",[gv("div",[gP.lineSpace],"CodeMirror-lines")],null,"position: relative");gP.sizer=gv("div",[gP.mover],"CodeMirror-sizer");gP.sizerWidth=null;gP.heightForcer=gv("div",null,null,"position: absolute; height: "+dR+"px; width: 1px;");gP.gutters=gv("div",null,"CodeMirror-gutters");gP.lineGutter=null;gP.scroller=gv("div",[gP.sizer,gP.heightForcer,gP.gutters],"CodeMirror-scroll");gP.scroller.setAttribute("tabIndex","-1");gP.wrapper=gv("div",[gP.scrollbarFiller,gP.gutterFiller,gP.scroller],"CodeMirror");if(dS&&l<8){gP.gutters.style.zIndex=-1;gP.scroller.style.paddingRight=0}if(!c6&&!(ct&&er)){gP.scroller.draggable=true}if(i){if(i.appendChild){i.appendChild(gP.wrapper)}else{i(gP.wrapper)}}gP.viewFrom=gP.viewTo=gO.first;gP.reportedViewFrom=gP.reportedViewTo=gO.first;gP.view=[];gP.renderedView=null;gP.externalMeasured=null;gP.viewOffset=0;gP.lastWrapHeight=gP.lastWrapWidth=0;gP.updateLineNumbers=null;gP.nativeBarWidth=gP.barHeight=gP.barWidth=0;gP.scrollbarsClipped=false;gP.lineNumWidth=gP.lineNumInnerWidth=gP.lineNumChars=null;gP.alignWidgets=false;gP.cachedCharWidth=gP.cachedTextHeight=gP.cachedPaddingH=null;gP.maxLine=null;gP.maxLineLength=0;gP.maxLineChanged=false;gP.wheelDX=gP.wheelDY=gP.wheelStartX=gP.wheelStartY=null;gP.shift=false;gP.selForContextMenu=null;gP.activeTouch=null;gN.init(gP)}function fy(gQ,gS){gS-=gQ.first;if(gS<0||gS>=gQ.size){throw new Error("There is no line "+(gS+gQ.first)+" in the document.")}var gN=gQ;while(!gN.lines){for(var gO=0;;++gO){var gR=gN.children[gO],gP=gR.chunkSize();if(gS=gN.first&&ii){return V(i,fy(gN,i).text.length)}return fL(gO,fy(gN,gO.line).text.length)}function fL(gO,gN){var i=gO.ch;if(i==null||i>gN){return V(gO.line,gN)}else{if(i<0){return V(gO.line,0)}else{return gO}}}function d9(gP,gQ){var gN=[];for(var gO=0;gO=gP:gV.to>gP);(gU||(gU=[])).push(new eu(gS,gV.from,gQ?null:gV.to))}}}return gU}function aB(gO,gQ,gT){var gU;if(gO){for(var gR=0;gR=gQ:gV.to>gQ);if(gP||gV.from==gQ&&gS.type=="bookmark"&&(!gT||gV.marker.insertLeft)){var gN=gV.from==null||(gS.inclusiveLeft?gV.from<=gQ:gV.from0&&gU){for(var gR=0;gR0){continue}var gW=[gQ,1],gN=ck(gO.from,gP.from),gV=ck(gO.to,gP.to);if(gN<0||!gU.inclusiveLeft&&!gN){gW.push({from:gO.from,to:gP.from})}if(gV>0||!gU.inclusiveRight&&!gV){gW.push({from:gP.to,to:gO.to})}gS.splice.apply(gS,gW);gQ+=gW.length-1}}return gS}function gB(gN){var gP=gN.markedSpans;if(!gP){return}for(var gO=0;gO=0&&gS<=0||gW<=0&&gS>=0){continue}if(gW<=0&&(gP.marker.inclusiveRight&&gR.inclusiveLeft?ck(gX.to,gT)>=0:ck(gX.to,gT)>0)||gW>=0&&(gP.marker.inclusiveRight&&gR.inclusiveLeft?ck(gX.from,gU)<=0:ck(gX.from,gU)<0)){return true}}}}function y(gN){var i;while(i=e6(gN)){gN=i.find(-1,true).line}return gN}function g(gO){var i,gN;while(i=eJ(gO)){gO=i.find(1,true).line;(gN||(gN=[])).push(gO)}return gN}function aW(gP,gN){var i=fy(gP,gN),gO=y(i);if(i==gO){return gN}return bQ(gO)}function ed(gP,gO){if(gO>gP.lastLine()){return gO}var gN=fy(gP,gO),i;if(!fP(gP,gN)){return gO}while(i=eJ(gN)){gN=i.find(1,true).line}return bQ(gN)+1}function fP(gR,gO){var gN=a7&&gO.markedSpans;if(gN){for(var gQ=void 0,gP=0;gPgO.maxLineLength){gO.maxLineLength=gP;gO.maxLine=gQ}})}function ee(gN,gT,gS,gR){if(!gN){return gR(gT,gS,"ltr")}var gQ=false;for(var gP=0;gPgT||gT==gS&&gO.to==gT){gR(Math.max(gO.from,gT),Math.min(gO.to,gS),gO.level==1?"rtl":"ltr");gQ=true}}if(!gQ){gR(gT,gS,"ltr")}}function dH(i){return i.level%2?i.to:i.from}function gH(i){return i.level%2?i.from:i.to}function cJ(gN){var i=a(gN);return i?dH(i[0]):0}function cY(gN){var i=a(gN);if(!i){return gN.text.length}return gH(f2(i))}function am(gN,gO,i){var gP=gN[0].level;if(gO==gP){return true}if(i==gP){return false}return gOgR){return gO}if((gQ.from==gR||gQ.to==gR)){if(gP==null){gP=gO}else{if(am(gN,gQ.level,gN[gP].level)){if(gQ.from!=gQ.to){fl=gP}return gO}else{if(gQ.from!=gQ.to){fl=gO}return gP}}}}return gP}function fz(i,gP,gN,gO){if(!gO){return gP+gN}do{gP+=gN}while(gP>0&&fI(i.text.charAt(gP)));return gP}function u(i,gT,gO,gP){var gQ=a(i);if(!gQ){return ah(i,gT,gO,gP)}var gS=aH(gQ,gT),gN=gQ[gS];var gR=fz(i,gT,gN.level%2?-gO:gO,gP);for(;;){if(gR>gN.from&&gR0)==gN.level%2?gN.to:gN.from}else{gN=gQ[gS+=gO];if(!gN){return null}if((gO>0)==gN.level%2){gR=fz(i,gN.to,-1,gP)}else{gR=fz(i,gN.from,1,gP)}}}}function ah(i,gQ,gN,gO){var gP=gQ+gN;if(gO){while(gP>0&&fI(i.text.charAt(gP))){gP+=gN}}return gP<0||gP>i.text.length?null:gP}var bi=(function(){var gS="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN";var gQ="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm";function gP(gW){if(gW<=247){return gS.charAt(gW)}else{if(1424<=gW&&gW<=1524){return"R"}else{if(1536<=gW&&gW<=1773){return gQ.charAt(gW-1536)}else{if(1774<=gW&&gW<=2220){return"r"}else{if(8192<=gW&&gW<=8203){return"w"}else{if(gW==8204){return"b"}else{return"L"}}}}}}}var i=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;var gV=/[stwN]/,gO=/[LRr]/,gN=/[Lb1n]/,gR=/[1n]/;var gU="L";function gT(gY,gX,gW){this.level=gY;this.from=gX;this.to=gW}return function(hk){if(!i.test(hk)){return false}var hr=hk.length,hb=[];for(var hp=0;hp-1){gP[gO]=i.slice(0,gN).concat(i.slice(gN+1))}}}}}function aE(gR,gQ){var gN=ew(gR,gQ);if(!gN.length){return}var gO=Array.prototype.slice.call(arguments,2);for(var gP=0;gP0}function bC(i){i.prototype.on=function(gN,gO){b0(this,gN,gO)};i.prototype.off=function(gN,gO){eq(this,gN,gO)}}function cL(i){if(i.preventDefault){i.preventDefault()}else{i.returnValue=false}}function dy(i){if(i.stopPropagation){i.stopPropagation()}else{i.cancelBubble=true}}function bO(i){return i.defaultPrevented!=null?i.defaultPrevented:i.returnValue==false}function eD(i){cL(i);dy(i)}function K(i){return i.target||i.srcElement}function gc(gN){var i=gN.which;if(i==null){if(gN.button&1){i=1}else{if(gN.button&2){i=3}else{if(gN.button&4){i=2}}}}if(cb&&gN.ctrlKey&&i==1){i=3}return i}var e2=function(){if(dS&&l<9){return false}var i=gv("div");return"draggable" in i||"dragDrop" in i}();var ga;function bp(i){if(ga==null){var gO=gv("span","\u200b");bV(i,gv("span",[gO,document.createTextNode("x")]));if(i.firstChild.offsetHeight!=0){ga=gO.offsetWidth<=1&&gO.offsetHeight>2&&!(dS&&l<8)}}var gN=ga?gv("span","\u200b"):gv("span","\u00a0",null,"display: inline-block; width: 1px; margin-right: -1px");gN.setAttribute("cm-text","");return gN}var gb;function bR(gP){if(gb!=null){return gb}var i=bV(gP,document.createTextNode("A\u062eA"));var gO=cr(i,0,1).getBoundingClientRect();var gN=cr(i,1,2).getBoundingClientRect();eb(gP);if(!gO||gO.left==gO.right){return false}return gb=(gN.right-gO.right<3)}var gh="\n\nb".split(/\n/).length!=3?function(gR){var gS=0,i=[],gQ=gR.length;while(gS<=gQ){var gP=gR.indexOf("\n",gS);if(gP==-1){gP=gR.length}var gO=gR.slice(gS,gR.charAt(gP-1)=="\r"?gP-1:gP);var gN=gO.indexOf("\r");if(gN!=-1){i.push(gO.slice(0,gN));gS+=gN+1}else{i.push(gO);gS=gP+1}}return i}:function(i){return i.split(/\r\n?|\n/)};var bu=window.getSelection?function(gN){try{return gN.selectionStart!=gN.selectionEnd}catch(i){return false}}:function(gO){var gN;try{gN=gO.ownerDocument.selection.createRange()}catch(i){}if(!gN||gN.parentElement()!=gO){return false}return gN.compareEndPoints("StartToEnd",gN)!=0};var dh=(function(){var i=gv("div");if("oncopy" in i){return true}i.setAttribute("oncopy","return;");return typeof i.oncopy=="function"})();var fq=null;function aL(gN){if(fq!=null){return fq}var gO=bV(gN,gv("span","x"));var gP=gO.getBoundingClientRect();var i=cr(gO,0,1).getBoundingClientRect();return fq=Math.abs(gP.left-i.left)>1}var dA={};var aS={};function eG(i,gN){if(arguments.length>2){gN.dependencies=Array.prototype.slice.call(arguments,2)}dA[i]=gN}function bo(gN,i){aS[gN]=i}function gE(i){if(typeof i=="string"&&aS.hasOwnProperty(i)){i=aS[i]}else{if(i&&typeof i.name=="string"&&aS.hasOwnProperty(i.name)){var gN=aS[i.name];if(typeof gN=="string"){gN={name:gN}}i=cp(gN,i);i.name=gN.name}else{if(typeof i=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(i)){return gE("application/xml")}else{if(typeof i=="string"&&/^[\w\-]+\/[\w\-]+\+json$/.test(i)){return gE("application/json")}}}}if(typeof i=="string"){return{name:i}}else{return i||{name:"null"}}}function fV(gO,gN){gN=gE(gN);var gQ=dA[gN.name];if(!gQ){return fV(gO,"text/plain")}var gR=gQ(gO,gN);if(dx.hasOwnProperty(gN.name)){var gP=dx[gN.name];for(var gS in gP){if(!gP.hasOwnProperty(gS)){continue}if(gR.hasOwnProperty(gS)){gR["_"+gS]=gR[gS]}gR[gS]=gP[gS]}}gR.name=gN.name;if(gN.helperType){gR.helperType=gN.helperType}if(gN.modeProps){for(var i in gN.modeProps){gR[i]=gN.modeProps[i]}}return gR}var dx={};function eS(gO,gN){var i=dx.hasOwnProperty(gO)?dx[gO]:(dx[gO]={});aN(gN,i)}function b7(gP,i){if(i===true){return i}if(gP.copyState){return gP.copyState(i)}var gO={};for(var gQ in i){var gN=i[gQ];if(gN instanceof Array){gN=gN.concat([])}gO[gQ]=gN}return gO}function gA(gO,i){var gN;while(gO.innerMode){gN=gO.innerMode(i);if(!gN||gN.mode==gO){break}i=gN.state;gO=gN.mode}return gN||{mode:gO,state:i}}function b4(gO,gN,i){return gO.startState?gO.startState(gN,i):true}var fb=function(i,gN){this.pos=this.start=0;this.string=i;this.tabSize=gN||8;this.lastColumnPos=this.lastColumnValue=0;this.lineStart=0};fb.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||undefined},next:function(){if(this.posgN},eatSpace:function(){var gN=this;var i=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++gN.pos}return this.pos>i},skipToEnd:function(){this.pos=this.string.length},skipTo:function(i){var gN=this.string.indexOf(i,this.pos);if(gN>-1){this.pos=gN;return true}},backUp:function(i){this.pos-=i},column:function(){if(this.lastColumnPos0){return null}if(gO&&gN!==false){this.pos+=gO[0].length}return gO}},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(gN,i){this.lineStart+=gN;try{return i()}finally{this.lineStart-=gN}}};function fT(i,gO,gS,gR){var gQ=[i.state.modeGen],gP={};w(i,gO.text,i.doc.mode,gS,function(gU,gV){return gQ.push(gU,gV)},gP,gR);var gN=function(gX){var gV=i.state.overlays[gX],gW=1,gU=0;w(i,gO.text,gV.mode,true,function(gY,g0){var g2=gW;while(gUgY){gQ.splice(gW,1,gY,gQ[gW+1],gZ)}gW+=2;gU=Math.min(gY,gZ)}if(!g0){return}if(gV.opaque){gQ.splice(g2,gW-g2,gY,"overlay "+g0);gW=g2+2}else{for(;g2gN.options.maxHighlightLength?b7(gN.doc.mode,gP):gP);gO.stateAfter=gP;gO.styles=i.styles;if(i.classes){gO.styleClasses=i.classes}else{if(gO.styleClasses){gO.styleClasses=null}}if(gQ===gN.doc.frontier){gN.doc.frontier++}}return gO.styles}function dK(i,gS,gN){var gQ=i.doc,gP=i.display;if(!gQ.mode.startState){return true}var gR=cD(i,gS,gN),gO=gR>gQ.first&&fy(gQ,gR-1).stateAfter;if(!gO){gO=b4(gQ.mode)}else{gO=b7(gQ.mode,gO)}gQ.iter(gR,gS,function(gT){dF(i,gT.text,gO);var gU=gR==gS-1||gR%5==0||gR>=gP.viewFrom&&gRgR.start){return gP}}throw new Error("Mode "+gS.name+" failed to advance stream.")}function cv(gV,gT,gQ,gP){var i=function(gY){return({start:gW.start,end:gW.pos,string:gW.current(),type:gO||null,state:gY?b7(gU.mode,gN):gN})};var gU=gV.doc,gR=gU.mode,gO;gT=f7(gU,gT);var gX=fy(gU,gT.line),gN=dK(gV,gT.line,gQ);var gW=new fb(gX.text,gV.options.tabSize),gS;if(gP){gS=[]}while((gP||gW.posgW.options.maxHighlightLength){gO=false;if(gQ){dF(gW,gY,gN,gX.pos)}gX.pos=gY.length;i=null}else{i=ds(eQ(gR,gX,gN,g0),gP)}if(g0){var gZ=g0[0].name;if(gZ){i="m-"+(i?gZ+" "+i:gZ)}}if(!gO||gT!=i){while(gUgO;--gV){if(gV<=gR.first){return gR.first}var gU=fy(gR,gV-1);if(gU.stateAfter&&(!gP||gV<=gR.frontier)){return gV}var gT=bU(gU.text,null,gS.options.tabSize);if(gQ==null||gN>gT){gQ=gV-1;gN=gT}}return gQ}function gy(gO,gN,i){this.text=gO;c9(this,gN);this.height=i?i(this):1}bC(gy);gy.prototype.lineNo=function(){return bQ(this)};function ez(gN,gQ,gO,i){gN.text=gQ;if(gN.stateAfter){gN.stateAfter=null}if(gN.styles){gN.styles=null}if(gN.order!=null){gN.order=null}gB(gN);c9(gN,gO);var gP=i?i(gN):1;if(gP!=gN.height){gz(gN,gP)}}function bE(i){i.parent=null;gB(i)}var d5={};var b6={};function fe(gO,gN){if(!gO||/^\s*$/.test(gO)){return null}var i=gN.addModeClass?b6:d5;return i[gO]||(i[gO]=gO.replace(/\S+/g,"cm-$&"))}function e9(gT,gS){var gR=gv("span",null,null,c6?"padding-right: .1px":null);var gQ={pre:gv("pre",[gR],"CodeMirror-line"),content:gR,col:0,pos:0,cm:gT,trailingSpace:false,splitSpaces:(dS||c6)&&gT.getOption("lineWrapping")};gS.measure={};for(var gP=0;gP<=(gS.rest?gS.rest.length:0);gP++){var gV=gP?gS.rest[gP-1]:gS.line,gO=void 0;gQ.pos=0;gQ.addToken=t;if(bR(gT.display.measure)&&(gO=a(gV))){gQ.addToken=T(gQ.addToken,gO)}gQ.map=[];var gN=gS!=gT.display.externalMeasured&&bQ(gV);bq(gV,gQ,de(gT,gV,gN));if(gV.styleClasses){if(gV.styleClasses.bgClass){gQ.bgClass=gl(gV.styleClasses.bgClass,gQ.bgClass||"")}if(gV.styleClasses.textClass){gQ.textClass=gl(gV.styleClasses.textClass,gQ.textClass||"")}}if(gQ.map.length==0){gQ.map.push(0,0,gQ.content.appendChild(bp(gT.display.measure)))}if(gP==0){gS.measure.map=gQ.map;gS.measure.cache={}}else{(gS.measure.maps||(gS.measure.maps=[])).push(gQ.map);(gS.measure.caches||(gS.measure.caches=[])).push({})}}if(c6){var gU=gQ.content.lastChild;if(/\bcm-tab\b/.test(gU.className)||(gU.querySelector&&gU.querySelector(".cm-tab"))){gQ.content.className="cm-tab-wrap-hack"}}aE(gT,"renderLine",gT,gS.line,gQ.pre);if(gQ.pre.className){gQ.textClass=gl(gQ.pre.className,gQ.textClass||"")}return gQ}function fx(gN){var i=gv("span","\u2022","cm-invalidchar");i.title="\\u"+gN.charCodeAt(0).toString(16);i.setAttribute("aria-label",i.title);return i}function t(gX,gS,g2,gZ,gV,g5,gR){if(!gS){return}var g1=gX.splitSpaces?cK(gS,gX.trailingSpace):gS;var i=gX.cm.state.specialChars,gN=false;var g0;if(!i.test(gS)){gX.col+=gS.length;g0=document.createTextNode(g1);gX.map.push(gX.pos,gX.pos+gS.length,g0);if(dS&&l<9){gN=true}gX.pos+=gS.length}else{g0=document.createDocumentFragment();var gP=0;while(true){i.lastIndex=gP;var gY=i.exec(gS);var g4=gY?gY.index-gP:gS.length-gP;if(g4){var gU=document.createTextNode(g1.slice(gP,gP+g4));if(dS&&l<9){g0.appendChild(gv("span",[gU]))}else{g0.appendChild(gU)}gX.map.push(gX.pos,gX.pos+g4,gU);gX.col+=g4;gX.pos+=g4}if(!gY){break}gP+=g4+1;var g3=void 0;if(gY[0]=="\t"){var gW=gX.cm.options.tabSize,gT=gW-gX.col%gW;g3=g0.appendChild(gv("span",cu(gT),"cm-tab"));g3.setAttribute("role","presentation");g3.setAttribute("cm-text","\t");gX.col+=gT}else{if(gY[0]=="\r"||gY[0]=="\n"){g3=g0.appendChild(gv("span",gY[0]=="\r"?"\u240d":"\u2424","cm-invalidchar"));g3.setAttribute("cm-text",gY[0]);gX.col+=1}else{g3=gX.cm.options.specialCharPlaceholder(gY[0]);g3.setAttribute("cm-text",gY[0]);if(dS&&l<9){g0.appendChild(gv("span",[g3]))}else{g0.appendChild(g3)}gX.col+=1}}gX.map.push(gX.pos,gX.pos+1,g3);gX.pos++}}gX.trailingSpace=g1.charCodeAt(gS.length-1)==32;if(g2||gZ||gV||gN||gR){var gO=g2||"";if(gZ){gO+=gZ}if(gV){gO+=gV}var gQ=gv("span",[g0],gO,gR);if(g5){gQ.title=g5}return gX.content.appendChild(gQ)}gX.content.appendChild(g0)}function cK(gS,gR){if(gS.length>1&&!/ /.test(gS)){return gS}var gO=gR,gN="";for(var gP=0;gPgP&&gQ.from<=gP){break}}if(gQ.to>=gR){return gN(gV,gX,gO,gS,gY,gW,gU)}gN(gV,gX.slice(0,gQ.to-gP),gO,gS,null,gW,gU);gS=null;gX=gX.slice(gQ.to-gP);gP=gQ.to}}}function ac(gN,gP,i,gO){var gQ=!gO&&i.widgetNode;if(gQ){gN.map.push(gN.pos,gN.pos+gP,gQ)}if(!gO&&gN.cm.display.input.needsContentAttribute){if(!gQ){gQ=gN.content.appendChild(document.createElement("span"))}gQ.setAttribute("cm-marker",i.id)}if(gQ){gN.cm.display.input.setUneditable(gQ);gN.content.appendChild(gQ)}gN.pos+=gP;gN.trailingSpace=false}function bq(gY,g5,gX){var gS=gY.markedSpans,gV=gY.text,g3=0;if(!gS){for(var gT=1;gTgR||g4.collapsed&&g7.to==gR&&g7.from==gR)){if(g7.to!=null&&g7.to!=gR&&he>g7.to){he=g7.to;hd=""}if(g4.className){gN+=" "+g4.className}if(g4.css){gZ=(gZ?gZ+";":"")+g4.css}if(g4.startStyle&&g7.from==gR){g2+=" "+g4.startStyle}if(g4.endStyle&&g7.to==he){(gW||(gW=[])).push(g4.endStyle,g7.to)}if(g4.title&&!hf){hf=g4.title}if(g4.collapsed&&(!gP||d0(gP.marker,g4)<0)){gP=g7}}else{if(g7.from>gR&&he>g7.from){he=g7.from}}}}if(gW){for(var hc=0;hc=g9){break}var g0=Math.min(g9,he);while(true){if(g1){var gO=gR+g1.length;if(!gP){var gQ=gO>g0?g1.slice(0,g0-gR):g1;g5.addToken(g5,gQ,ha?ha+gN:gN,g2,gR+gQ.length==he?hd:"",hf,gZ)}if(gO>=g0){g1=g1.slice(g0-gR);gR=g0;break}gR=gO;g2=""}g1=gV.slice(g3,g3=gX[g8++]);ha=fe(gX[g8++],g5.cm.options)}}}function bx(gO,i,gN){this.line=i;this.rest=g(i);this.size=this.rest?bQ(f2(this.rest))-gN+1:1;this.node=this.text=null;this.hidden=fP(gO,i)}function fd(i,gS,gR){var gQ=[],gO;for(var gP=gS;gP2){gS.push((gV.bottom+gO.top)/2-gT.top)}}}gS.push(gT.bottom-gT.top)}}function cy(gP,gN,gQ){if(gP.line==gN){return{map:gP.measure.map,cache:gP.measure.cache}}for(var gO=0;gOgQ){return{map:gP.measure.maps[gR],cache:gP.measure.caches[gR],before:true}}}}function c8(i,gO){gO=y(gO);var gQ=bQ(gO);var gN=i.display.externalMeasured=new bx(i.doc,gO,gQ);gN.lineN=gQ;var gP=gN.built=e9(i,gN);gN.text=gP.pre;bV(i.display.lineMeasure,gP.pre);return gN}function es(i,gN,gP,gO){return C(i,a5(i,gN),gP,gO)}function fv(i,gO){if(gO>=i.display.viewFrom&&gO=gN.lineN&&gOgN){gR=gV-gQ;gO=gR-1;if(gN>=gV){gU="right"}}}}if(gO!=null){gP=gW[gS+2];if(gQ==gV&&gT==(gP.insertLeft?"left":"right")){gU=gT}if(gT=="left"&&gO==0){while(gS&&gW[gS-2]==gW[gS-3]&&gW[gS-1].insertLeft){gP=gW[(gS-=3)+2];gU="left"}}if(gT=="right"&&gO==gV-gQ){while(gS=0;gR--){if((gQ=gO[gR]).left!=gQ.right){break}}}return gQ}function k(gV,g5,gY,gS){var gW=aK(g5.map,gY,gS);var g3=gW.node,gR=gW.start,gQ=gW.end,gN=gW.collapse;var gO;if(g3.nodeType==3){for(var gT=0;gT<4;gT++){while(gR&&fI(g5.line.text.charAt(gW.coverStart+gR))){--gR}while(gW.coverStart+gQ0){gN=gS="right"}var gP;if(gV.options.lineWrapping&&(gP=g3.getClientRects()).length>1){gO=gP[gS=="right"?gP.length-1:0]}else{gO=g3.getBoundingClientRect()}}if(dS&&l<9&&!gR&&(!gO||!gO.left&&!gO.right)){var gU=g3.parentNode.getClientRects()[0];if(gU){gO={left:gU.left,right:gU.left+dL(gV.display),top:gU.top,bottom:gU.bottom}}else{gO=eP}}var g1=gO.top-g5.rect.top,gZ=gO.bottom-g5.rect.top;var g7=(g1+gZ)/2;var g6=g5.view.measure.heights;var g4=0;for(;g4gZ.from){return gQ(g1-1)}return gQ(g1,g0)}var gR=a(gS),i=gU.ch;if(!gR){return gQ(i)}var gN=aH(gR,i);var gP=gW(i,gN);if(fl!=null){gP.other=gW(i,fl)}return gP}function dP(i,gQ){var gP=0;gQ=f7(i.doc,gQ);if(!i.options.lineWrapping){gP=dL(i.display)*gQ.ch}var gN=fy(i.doc,gQ.line);var gO=bP(gN)+fs(i.display);return{left:gP,right:gP,top:gO,bottom:gO+gN.height}}function gt(i,gN,gO,gQ){var gP=V(i,gN);gP.xRel=gQ;if(gO){gP.outside=true}return gP}function ge(gT,gQ,gP){var gS=gT.doc;gP+=gT.display.viewOffset;if(gP<0){return gt(gS.first,0,true,-1)}var gO=bK(gS,gP),gU=gS.first+gS.size-1;if(gO>gU){return gt(gS.first+gS.size-1,fy(gS,gU).text.length,true,1)}if(gQ<0){gQ=0}var gN=fy(gS,gO);for(;;){var gV=c5(gT,gN,gO,gQ,gP);var gR=eJ(gN);var i=gR&&gR.find(0,true);if(gR&&(gV.ch>i.from.ch||gV.ch==i.from.ch&&gV.xRel>0)){gO=bQ(gN=i.to.line)}else{return gV}}}function c5(gX,gP,hc,gZ,gY){var gW=gY-bP(gP);var gT=false,g5=2*gX.display.wrapper.clientWidth;var g2=a5(gX,gP);function ha(i){var he=d3(gX,V(hc,i),"line",gP,g2);gT=true;if(gW>he.bottom){return he.left-g5}else{if(gWgO){return gt(hc,gQ,gS,1)}for(;;){if(g1?gQ==g6||gQ==u(gP,g6,1):gQ-g6<=1){var g0=gZ0&&g01){var g7=C(gX,g2,g0,"right");if(gW<=g7.bottom&&gW>=g7.top&&Math.abs(gZ-g7.right)1?1:0);return gV}var gU=Math.ceil(g4/2),hd=g6+gU;if(g1){hd=g6;for(var g8=0;g8gZ){gQ=hd;gO=gR;if(gS=gT){gO+=1000}g4=gU}else{g6=hd;g3=gR;gN=gT;g4-=gU}}}var aG;function aY(gP){if(gP.cachedTextHeight!=null){return gP.cachedTextHeight}if(aG==null){aG=gv("pre");for(var gO=0;gO<49;++gO){aG.appendChild(document.createTextNode("x"));aG.appendChild(gv("br"))}aG.appendChild(document.createTextNode("x"))}bV(gP.measure,aG);var gN=aG.offsetHeight/50;if(gN>3){gP.cachedTextHeight=gN}eb(gP.measure);return gN||1}function dL(gQ){if(gQ.cachedCharWidth!=null){return gQ.cachedCharWidth}var i=gv("span","xxxxxxxxxx");var gP=gv("pre",[i]);bV(gQ.measure,gP);var gO=i.getBoundingClientRect(),gN=(gO.right-gO.left)/10;if(gN>2){gQ.cachedCharWidth=gN}return gN||10}function fw(gN){var gS=gN.display,gQ={},gP={};var gR=gS.gutters.clientLeft;for(var gT=gS.gutters.firstChild,gO=0;gT;gT=gT.nextSibling,++gO){gQ[gN.options.gutters[gO]]=gT.offsetLeft+gT.clientLeft+gR;gP[gN.options.gutters[gO]]=gT.clientWidth}return{fixedPos:d7(gS),gutterTotalWidth:gS.gutters.offsetWidth,gutterLeft:gQ,gutterWidth:gP,wrapperWidth:gS.wrapper.clientWidth}}function d7(i){return i.scroller.getBoundingClientRect().left-i.sizer.getBoundingClientRect().left}function be(i){var gO=aY(i.display),gN=i.options.lineWrapping;var gP=gN&&Math.max(5,i.display.scroller.clientWidth/dL(i.display)-3);return function(gR){if(fP(i.doc,gR)){return 0}var gQ=0;if(gR.widgets){for(var gS=0;gS=gN.display.viewTo){return null}gQ-=gN.display.viewFrom;if(gQ<0){return null}var gO=gN.display.view;for(var gP=0;gP=gT.display.viewTo||gU.to().line3){gX(hh,hf.top,null,hf.bottom);hh=gP;if(hf.bottomg4.bottom||hg.bottom==g4.bottom&&hg.right>g4.right){g4=hg}if(hh0){gO.blinker=setInterval(function(){return gO.cursorDiv.style.visibility=(gN=!gN)?"":"hidden"},i.options.cursorBlinkRate)}else{if(i.options.cursorBlinkRate<0){gO.cursorDiv.style.visibility="hidden"}}}function s(i){if(!i.state.focused){i.display.input.focus();cG(i)}}function aj(i){i.state.delayingBlurEvent=true;setTimeout(function(){if(i.state.delayingBlurEvent){i.state.delayingBlurEvent=false;aV(i)}},100)}function cG(i,gN){if(i.state.delayingBlurEvent){i.state.delayingBlurEvent=false}if(i.options.readOnly=="nocursor"){return}if(!i.state.focused){aE(i,"focus",i,gN);i.state.focused=true;fW(i.display.wrapper,"CodeMirror-focused");if(!i.curOp&&i.display.selForContextMenu!=i.doc.sel){i.display.input.reset();if(c6){setTimeout(function(){return i.display.input.reset(true)},20)}}i.display.input.receivedFocus()}p(i)}function aV(i,gN){if(i.state.delayingBlurEvent){return}if(i.state.focused){aE(i,"blur",i,gN);i.state.focused=false;h(i.display.wrapper,"CodeMirror-focused")}clearInterval(i.display.blinker);setTimeout(function(){if(!i.state.focused){i.display.shift=false}},150)}function eT(gV){var gT=gV.display,gU=gT.view;if(!gT.alignWidgets&&(!gT.gutters.firstChild||!gV.options.fixedGutter)){return}var gR=d7(gT)-gT.scroller.scrollLeft+gV.doc.scrollLeft;var gN=gT.gutters.offsetWidth,gO=gR+"px";for(var gQ=0;gQ0.001||gT<-0.001){gz(gV.line,gW);cf(gV.line);if(gV.rest){for(var gN=0;gN=gS){gR=bK(gT,bP(fy(gT,gU))-gP.wrapper.clientHeight);gS=gU}}}return{from:gR,to:Math.max(gS,gR+1)}}function N(i,gN){if(Math.abs(i.doc.scrollTop-gN)<2){return}i.doc.scrollTop=gN;if(!ct){d2(i,{top:gN})}if(i.display.scroller.scrollTop!=gN){i.display.scroller.scrollTop=gN}i.display.scrollbars.setScrollTop(gN);if(ct){d2(i)}ep(i,100)}function bH(i,gO,gN){if(gN?gO==i.doc.scrollLeft:Math.abs(i.doc.scrollLeft-gO)<2){return}gO=Math.min(gO,i.display.scroller.scrollWidth-i.display.scroller.clientWidth);i.doc.scrollLeft=gO;eT(i);if(i.display.scroller.scrollLeft!=gO){i.display.scroller.scrollLeft=gO}i.display.scrollbars.setScrollLeft(gO)}var fG=0;var cl=null;if(dS){cl=-0.53}else{if(ct){cl=15}else{if(dk){cl=-0.7}else{if(aC){cl=-1/3}}}}function cW(gO){var gN=gO.wheelDeltaX,i=gO.wheelDeltaY;if(gN==null&&gO.detail&&gO.axis==gO.HORIZONTAL_AXIS){gN=gO.detail}if(i==null&&gO.detail&&gO.axis==gO.VERTICAL_AXIS){i=gO.detail}else{if(i==null){i=gO.wheelDelta}}return{x:gN,y:i}}function az(i){var gN=cW(i);gN.x*=cl;gN.y*=cl;return gN}function c(gX,gR){var gZ=cW(gR),g1=gZ.x,g0=gZ.y;var gT=gX.display,gW=gT.scroller;var gQ=gW.scrollWidth>gW.clientWidth;var gP=gW.scrollHeight>gW.clientHeight;if(!(g1&&gQ||g0&&gP)){return}if(g0&&cb&&c6){outer:for(var gY=gR.target,gV=gT.view;gY!=gW;gY=gY.parentNode){for(var gO=0;gOgP.clientWidth+1;var gO=gP.scrollHeight>gP.clientHeight+1;var gR=gP.nativeBarWidth;if(gO){this.vert.style.display="block";this.vert.style.bottom=gQ?gR+"px":"0";var gN=gP.viewHeight-(gQ?gR:0);this.vert.firstChild.style.height=Math.max(0,gP.scrollHeight-gP.clientHeight+gN)+"px"}else{this.vert.style.display="";this.vert.firstChild.style.height="0"}if(gQ){this.horiz.style.display="block";this.horiz.style.right=gO?gR+"px":"0";this.horiz.style.left=gP.barLeft+"px";var i=gP.viewWidth-gP.barLeft-(gO?gR:0);this.horiz.firstChild.style.width=(gP.scrollWidth-gP.clientWidth+i)+"px"}else{this.horiz.style.display="";this.horiz.firstChild.style.width="0"}if(!this.checkedZeroWidth&&gP.clientHeight>0){if(gR==0){this.zeroWidthHack()}this.checkedZeroWidth=true}return{right:gO?gR:0,bottom:gQ?gR:0}},setScrollLeft:function(i){if(this.horiz.scrollLeft!=i){this.horiz.scrollLeft=i}if(this.disableHoriz){this.enableZeroWidthBar(this.horiz,this.disableHoriz)}},setScrollTop:function(i){if(this.vert.scrollTop!=i){this.vert.scrollTop=i}if(this.disableVert){this.enableZeroWidthBar(this.vert,this.disableVert)}},zeroWidthHack:function(){var i=cb&&!dd?"12px":"18px";this.horiz.style.height=this.vert.style.width=i;this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none";this.disableHoriz=new gM;this.disableVert=new gM},enableZeroWidthBar:function(gN,i){gN.style.pointerEvents="auto";function gO(){var gQ=gN.getBoundingClientRect();var gP=document.elementFromPoint(gQ.left+1,gQ.bottom-1);if(gP!=gN){gN.style.pointerEvents="none"}else{i.set(1000,gO)}}i.set(1000,gO)},clear:function(){var i=this.horiz.parentNode;i.removeChild(this.horiz);i.removeChild(this.vert)}},dt.prototype);function fm(){}fm.prototype=aN({update:function(){return{bottom:0,right:0}},setScrollLeft:function(){},setScrollTop:function(){},clear:function(){}},fm.prototype);function fg(gP,gR){if(!gR){gR=dI(gP)}var gO=gP.display.barWidth,gN=gP.display.barHeight;aU(gP,gR);for(var gQ=0;gQ<4&&gO!=gP.display.barWidth||gN!=gP.display.barHeight;gQ++){if(gO!=gP.display.barWidth&&gP.options.lineWrapping){a9(gP)}aU(gP,dI(gP));gO=gP.display.barWidth;gN=gP.display.barHeight}}function aU(i,gN){var gP=i.display;var gO=gP.scrollbars.update(gN);gP.sizer.style.paddingRight=(gP.barWidth=gO.right)+"px";gP.sizer.style.paddingBottom=(gP.barHeight=gO.bottom)+"px";gP.heightForcer.style.borderBottom=gO.bottom+"px solid transparent";if(gO.right&&gO.bottom){gP.scrollbarFiller.style.display="block";gP.scrollbarFiller.style.height=gO.bottom+"px";gP.scrollbarFiller.style.width=gO.right+"px"}else{gP.scrollbarFiller.style.display=""}if(gO.bottom&&i.options.coverGutterNextToScrollbar&&i.options.fixedGutter){gP.gutterFiller.style.display="block";gP.gutterFiller.style.height=gO.bottom+"px";gP.gutterFiller.style.width=gN.gutterWidth+"px"}else{gP.gutterFiller.style.display=""}}var bn={"native":dt,"null":fm};function aD(i){if(i.display.scrollbars){i.display.scrollbars.clear();if(i.display.scrollbars.addClass){h(i.display.wrapper,i.display.scrollbars.addClass)}}i.display.scrollbars=new bn[i.options.scrollbarStyle](function(gN){i.display.wrapper.insertBefore(gN,i.display.scrollbarFiller);b0(gN,"mousedown",function(){if(i.state.focused){setTimeout(function(){return i.display.input.focus()},0)}});gN.setAttribute("cm-not-content","true")},function(gO,gN){if(gN=="horizontal"){bH(i,gO)}else{N(i,gO)}},i);if(i.display.scrollbars.addClass){fW(i.display.wrapper,i.display.scrollbars.addClass)}}function eg(gN,gQ){if(aR(gN,"scrollCursorIntoView")){return}var gR=gN.display,gO=gR.sizer.getBoundingClientRect(),i=null;if(gQ.top+gO.top<0){i=true}else{if(gQ.bottom+gO.top>(window.innerHeight||document.documentElement.clientHeight)){i=false}}if(i!=null&&!fN){var gP=gv("div","\u200b",null,("position: absolute;\n top: "+(gQ.top-gR.viewOffset-fs(gN.display))+"px;\n height: "+(gQ.bottom-gQ.top+cZ(gN)+gR.barHeight)+"px;\n left: "+(gQ.left)+"px; width: 2px;"));gN.display.lineSpace.appendChild(gP);gP.scrollIntoView(i);gN.display.lineSpace.removeChild(gP)}}function D(gW,gU,gQ,gP){if(gP==null){gP=0}var gV;for(var gR=0;gR<5;gR++){var gS=false;gV=d3(gW,gU);var i=!gQ||gQ==gU?gV:d3(gW,gQ);var gO=G(gW,Math.min(gV.left,i.left),Math.min(gV.top,i.top)-gP,Math.max(gV.left,i.left),Math.max(gV.bottom,i.bottom)+gP);var gT=gW.doc.scrollTop,gN=gW.doc.scrollLeft;if(gO.scrollTop!=null){N(gW,gO.scrollTop);if(Math.abs(gW.doc.scrollTop-gT)>1){gS=true}}if(gO.scrollLeft!=null){bH(gW,gO.scrollLeft);if(Math.abs(gW.doc.scrollLeft-gN)>1){gS=true}}if(!gS){break}}return gV}function E(i,gO,gQ,gN,gP){var gR=G(i,gO,gQ,gN,gP);if(gR.scrollTop!=null){N(i,gR.scrollTop)}if(gR.scrollLeft!=null){bH(i,gR.scrollLeft)}}function G(gY,gP,gX,gN,gW){var gU=gY.display,gS=aY(gY.display);if(gX<0){gX=0}var gQ=gY.curOp&&gY.curOp.scrollTop!=null?gY.curOp.scrollTop:gU.scroller.scrollTop;var g0=c1(gY),g2={};if(gW-gX>g0){gW=gX+g0}var gO=gY.doc.height+bL(gU);var i=gXgO-gS;if(gXgQ+g0){var gV=Math.min(gX,(gT?gO:gW)-g0);if(gV!=gQ){g2.scrollTop=gV}}}var g1=gY.curOp&&gY.curOp.scrollLeft!=null?gY.curOp.scrollLeft:gU.scroller.scrollLeft;var gZ=du(gY)-(gY.options.fixedGutter?gU.gutters.offsetWidth:0);var gR=gN-gP>gZ;if(gR){gN=gP+gZ}if(gP<10){g2.scrollLeft=0}else{if(gPgZ+g1-3){g2.scrollLeft=gN+(gR?0:10)-gZ}}}return g2}function cR(i,gO,gN){if(gO!=null||gN!=null){fY(i)}if(gO!=null){i.curOp.scrollLeft=(i.curOp.scrollLeft==null?i.doc.scrollLeft:i.curOp.scrollLeft)+gO}if(gN!=null){i.curOp.scrollTop=(i.curOp.scrollTop==null?i.doc.scrollTop:i.curOp.scrollTop)+gN}}function f1(i){fY(i);var gN=i.getCursor(),gP=gN,gO=gN;if(!i.options.lineWrapping){gP=gN.ch?V(gN.line,gN.ch-1):gN;gO=V(gN.line,gN.ch+1)}i.curOp.scrollToPos={from:gP,to:gO,margin:i.options.cursorScrollMargin,isCursor:true}}function fY(i){var gO=i.curOp.scrollToPos;if(gO){i.curOp.scrollToPos=null;var gQ=dP(i,gO.from),gP=dP(i,gO.to);var gN=G(i,Math.min(gQ.left,gP.left),Math.min(gQ.top,gP.top)-gO.margin,Math.max(gQ.right,gP.right),Math.max(gQ.bottom,gP.bottom)+gO.margin);i.scrollTo(gN.scrollLeft,gN.scrollTop)}}var ek=0;function cO(i){i.curOp={cm:i,viewChanged:false,startHeight:i.doc.height,forceUpdate:false,updateInput:null,typing:false,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:false,updateMaxLine:false,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:false,id:++ek};eM(i.curOp)}function al(i){var gN=i.curOp;b1(gN,function(gP){for(var gO=0;gO=gN.viewTo)||gN.maxLineChanged&&i.options.lineWrapping;gO.update=gO.mustUpdate&&new aJ(i,gO.mustUpdate&&{top:gO.scrollTop,ensure:gO.scrollToPos},gO.forceUpdate)}function ap(i){i.updatedDisplay=i.mustUpdate&&B(i.cm,i.update)}function b5(gO){var i=gO.cm,gN=i.display;if(gO.updatedDisplay){a9(i)}gO.barMeasure=dI(i);if(gN.maxLineChanged&&!i.options.lineWrapping){gO.adjustWidthTo=es(i,gN.maxLine,gN.maxLine.text.length).left+3;i.display.sizerWidth=gO.adjustWidthTo;gO.barMeasure.scrollWidth=Math.max(gN.scroller.clientWidth,gN.sizer.offsetLeft+gO.adjustWidthTo+cZ(i)+i.display.barWidth);gO.maxScrollLeft=Math.max(0,gN.sizer.offsetLeft+gO.adjustWidthTo-du(i))}if(gO.updatedDisplay||gO.selectionChanged){gO.preparedSelection=gN.input.prepareSelection(gO.focus)}}function ao(gO){var i=gO.cm;if(gO.adjustWidthTo!=null){i.display.sizer.style.minWidth=gO.adjustWidthTo+"px";if(gO.maxScrollLeftgS)){gP.updateLineNumbers=gS}gU.curOp.viewChanged=true;if(gS>=gP.viewTo){if(a7&&aW(gU.doc,gS)gP.viewFrom){eK(gU)}else{gP.viewFrom+=gV;gP.viewTo+=gV}}else{if(gS<=gP.viewFrom&&gT>=gP.viewTo){eK(gU)}else{if(gS<=gP.viewFrom){var gR=dm(gU,gT,gT+gV,1);if(gR){gP.view=gP.view.slice(gR.index);gP.viewFrom=gR.lineN;gP.viewTo+=gV}else{eK(gU)}}else{if(gT>=gP.viewTo){var gN=dm(gU,gS,gS,-1);if(gN){gP.view=gP.view.slice(0,gN.index);gP.viewTo=gN.lineN}else{eK(gU)}}else{var gQ=dm(gU,gS,gS,-1);var gO=dm(gU,gT,gT+gV,1);if(gQ&&gO){gP.view=gP.view.slice(0,gQ.index).concat(fd(gU,gQ.lineN,gO.lineN)).concat(gP.view.slice(gO.index));gP.viewTo+=gV}else{eK(gU)}}}}}}var i=gP.externalMeasured;if(i){if(gT=gQ.lineN&&gO=gS.viewTo){return}var gP=gS.view[dz(gN,gO)];if(gP.node==null){return}var i=gP.changes||(gP.changes=[]);if(dr(i,gR)==-1){i.push(gR)}}function eK(i){i.display.viewFrom=i.display.viewTo=i.doc.first;i.display.view=[];i.display.viewOffset=0}function dm(gV,gP,gR,gO){var gS=dz(gV,gP),gU,gT=gV.display.view;if(!a7||gR==gV.doc.first+gV.doc.size){return{index:gS,lineN:gR}}var gN=gV.display.viewFrom;for(var gQ=0;gQ0){if(gS==gT.length-1){return null}gU=(gN+gT[gS].size)-gP;gS++}else{gU=gN-gP}gP+=gU;gR+=gU}while(aW(gV.doc,gR)!=gR){if(gS==(gO<0?0:gT.length-1)){return null}gR+=gO*gT[gS-(gO<0?1:0)].size;gS+=gO}return{index:gS,lineN:gR}}function cX(i,gQ,gP){var gO=i.display,gN=gO.view;if(gN.length==0||gQ>=gO.viewTo||gP<=gO.viewFrom){gO.view=fd(i,gQ,gP);gO.viewFrom=gQ}else{if(gO.viewFrom>gQ){gO.view=fd(i,gQ,gO.viewFrom).concat(gO.view)}else{if(gO.viewFromgP){gO.view=gO.view.slice(0,dz(i,gP))}}}gO.viewTo=gP}function dj(gN){var gO=gN.display.view,gR=0;for(var gQ=0;gQ=i.display.viewTo){return}var gO=+new Date+i.options.workTime;var gP=b7(gQ.mode,dK(i,gQ.frontier));var gN=[];gQ.iter(gQ.frontier,Math.min(gQ.first+gQ.size,i.display.viewTo+500),function(gR){if(gQ.frontier>=i.display.viewFrom){var gU=gR.styles,gY=gR.text.length>i.options.maxHighlightLength;var gW=fT(i,gR,gY?b7(gQ.mode,gP):gP,true);gR.styles=gW.styles;var gT=gR.styleClasses,gV=gW.classes;if(gV){gR.styleClasses=gV}else{if(gT){gR.styleClasses=null}}var gX=!gU||gU.length!=gR.styles.length||gT!=gV&&(!gT||!gV||gT.bgClass!=gV.bgClass||gT.textClass!=gV.textClass);for(var gS=0;!gX&&gSgO){ep(i,i.options.workDelay);return true}});if(gN.length){cS(i,function(){for(var gR=0;gR=gQ.viewFrom&&gP.visible.to<=gQ.viewTo&&(gQ.updateLineNumbers==null||gQ.updateLineNumbers>=gQ.viewTo)&&gQ.renderedView==gQ.view&&dj(gV)==0){return false}if(ef(gV)){eK(gV);gP.dims=fw(gV)}var gO=gU.first+gU.size;var gS=Math.max(gP.visible.from-gV.options.viewportMargin,gU.first);var gT=Math.min(gO,gP.visible.to+gV.options.viewportMargin);if(gQ.viewFromgT&&gQ.viewTo-gT<20){gT=Math.min(gO,gQ.viewTo)}if(a7){gS=aW(gV.doc,gS);gT=ed(gV.doc,gT)}var gN=gS!=gQ.viewFrom||gT!=gQ.viewTo||gQ.lastWrapHeight!=gP.wrapperHeight||gQ.lastWrapWidth!=gP.wrapperWidth;cX(gV,gS,gT);gQ.viewOffset=bP(fy(gV.doc,gQ.viewFrom));gV.display.mover.style.top=gQ.viewOffset+"px";var i=dj(gV);if(!gN&&i==0&&!gP.force&&gQ.renderedView==gQ.view&&(gQ.updateLineNumbers==null||gQ.updateLineNumbers>=gQ.viewTo)){return false}var gR=dW();if(i>4){gQ.lineDiv.style.display="none"}cq(gV,gQ.updateLineNumbers,gP.dims);if(i>4){gQ.lineDiv.style.display=""}gQ.renderedView=gQ.view;if(gR&&dW()!=gR&&gR.offsetHeight){gR.focus()}eb(gQ.cursorDiv);eb(gQ.selectionDiv);gQ.gutters.style.height=gQ.sizer.style.minHeight=0;if(gN){gQ.lastWrapHeight=gP.wrapperHeight;gQ.lastWrapWidth=gP.wrapperWidth;ep(gV,400)}gQ.updateLineNumbers=null;return true}function co(gN,gQ){var i=gQ.viewport;for(var gP=true;;gP=false){if(!gP||!gN.options.lineWrapping||gQ.oldDisplayWidth==du(gN)){if(i&&i.top!=null){i={top:Math.min(gN.doc.height+bL(gN.display)-c1(gN),i.top)}}gQ.visible=ca(gN.display,gN.doc,i);if(gQ.visible.from>=gN.display.viewFrom&&gQ.visible.to<=gN.display.viewTo){break}}if(!B(gN,gQ)){break}a9(gN);var gO=dI(gN);bF(gN);fg(gN,gO);dG(gN,gO)}gQ.signal(gN,"update",gN);if(gN.display.viewFrom!=gN.display.reportedViewFrom||gN.display.viewTo!=gN.display.reportedViewTo){gQ.signal(gN,"viewportChange",gN,gN.display.viewFrom,gN.display.viewTo);gN.display.reportedViewFrom=gN.display.viewFrom;gN.display.reportedViewTo=gN.display.viewTo}}function d2(gN,i){var gP=new aJ(gN,i);if(B(gN,gP)){a9(gN);co(gN,gP);var gO=dI(gN);bF(gN);fg(gN,gO);dG(gN,gO);gP.finish()}}function cq(gY,gP,gX){var gU=gY.display,g0=gY.options.lineNumbers;var gN=gU.lineDiv,gZ=gN.firstChild;function gT(g1){var i=g1.nextSibling;if(c6&&cb&&gY.display.currentWheelTarget==g1){g1.style.display="none"}else{g1.parentNode.removeChild(g1)}return i}var gV=gU.view,gS=gU.viewFrom;for(var gQ=0;gQ-1){gW=false}aa(gY,gR,gS,gX)}if(gW){eb(gR.lineNumber);gR.lineNumber.appendChild(document.createTextNode(eF(gY.options,gS)))}gZ=gR.node.nextSibling}}gS+=gR.size}while(gZ){gZ=gT(gZ)}}function da(i){var gN=i.display.gutters.offsetWidth;i.display.sizer.style.marginLeft=gN+"px"}function dG(i,gN){i.display.sizer.style.minHeight=gN.docHeight+"px";i.display.heightForcer.style.top=gN.docHeight+"px";i.display.gutters.style.height=(gN.docHeight+i.display.barHeight+cZ(i))+"px"}function en(gN){var gO=gN.display.gutters,gS=gN.options.gutters;eb(gO);var gP=0;for(;gP-1&&!i.lineNumbers){i.gutters=i.gutters.slice(0);i.gutters.splice(gN,1)}}}function gu(i,gN){this.ranges=i;this.primIndex=gN}gu.prototype={primary:function(){return this.ranges[this.primIndex]},equals:function(gN){var gR=this;if(gN==this){return true}if(gN.primIndex!=this.primIndex||gN.ranges.length!=this.ranges.length){return false}for(var gP=0;gP=0&&ck(gR,gO.to())<=0){return gP}}return -1}};function d6(i,gN){this.anchor=i;this.head=gN}d6.prototype={from:function(){return aq(this.anchor,this.head)},to:function(){return bA(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};function cB(gN,gU){var gP=gN[gU];gN.sort(function(gW,i){return ck(gW.from(),i.from())});gU=dr(gN,gP);for(var gR=1;gR=0){var gS=aq(gO.from(),gV.from()),gT=bA(gO.to(),gV.to());var gQ=gO.empty()?gV.from()==gV.head:gO.from()==gO.head;if(gR<=gU){--gU}gN.splice(--gR,2,new d6(gQ?gT:gS,gQ?gS:gT))}}return new gu(gN,gU)}function e8(i,gN){return new gu([new d6(i,gN||i)],0)}function c3(i){if(!i.text){return i.to}return V(i.from.line+i.text.length-1,f2(i.text).length+(i.text.length==1?i.from.ch:0))}function b3(gP,gO){if(ck(gP,gO.from)<0){return gP}if(ck(gP,gO.to)<=0){return c3(gO)}var i=gP.line+gO.text.length-(gO.to.line-gO.from.line)-1,gN=gP.ch;if(gP.line==gO.to.line){gN+=c3(gO).ch-gO.to.ch}return V(i,gN)}function fD(gQ,gR){var gO=[];for(var gP=0;gP1){g3.remove(g1.line+1,gZ-1)}g3.insert(g1.line+1,gR)}}}}ad(g3,"change",g3,gW)}function eh(gP,gO,gN){function i(gV,gT,gR){if(gV.linked){for(var gS=0;gS1&&!gN.done[gN.done.length-2].ranges){gN.done.pop();return f2(gN.done)}}}}function f9(gS,gQ,i,gP){var gO=gS.history;gO.undone.length=0;var gN=+new Date,gT;var gU;if((gO.lastOp==gP||gO.lastOrigin==gQ.origin&&gQ.origin&&((gQ.origin.charAt(0)=="+"&&gS.cm&&gO.lastModTime>gN-gS.cm.options.historyEventDelay)||gQ.origin.charAt(0)=="*"))&&(gT=e3(gO,gO.lastOp==gP))){gU=f2(gT.changes);if(ck(gQ.from,gQ.to)==0&&ck(gQ.from,gU.to)==0){gU.to=c3(gQ)}else{gT.changes.push(dD(gS,gQ))}}else{var gR=f2(gO.done);if(!gR||!gR.ranges){cU(gS.sel,gO.done)}gT={changes:[dD(gS,gQ)],generation:gO.generation};gO.done.push(gT);while(gO.done.length>gO.undoDepth){gO.done.shift();if(!gO.done[0].ranges){gO.done.shift()}}}gO.done.push(i);gO.generation=++gO.maxGeneration;gO.lastModTime=gO.lastSelTime=gN;gO.lastOp=gO.lastSelOp=gP;gO.lastOrigin=gO.lastSelOrigin=gQ.origin;if(!gU){aE(gS,"historyAdded")}}function bD(gQ,i,gO,gP){var gN=i.charAt(0);return gN=="*"||gN=="+"&&gO.ranges.length==gP.ranges.length&&gO.somethingSelected()==gP.somethingSelected()&&new Date-gQ.history.lastSelTime<=(gQ.cm?gQ.cm.options.historyEventDelay:500)}function gF(gR,gP,i,gO){var gQ=gR.history,gN=gO&&gO.origin;if(i==gQ.lastSelOp||(gN&&gQ.lastSelOrigin==gN&&(gQ.lastModTime==gQ.lastSelTime&&gQ.lastOrigin==gN||bD(gR,gN,f2(gQ.done),gP)))){gQ.done[gQ.done.length-1]=gP}else{cU(gP,gQ.done)}gQ.lastSelTime=+new Date;gQ.lastSelOrigin=gN;gQ.lastSelOp=i;if(gO&&gO.clearRedo!==false){fX(gQ.undone)}}function cU(gN,i){var gO=f2(i);if(!(gO&&gO.ranges&&gO.equals(gN))){i.push(gN)}}function b2(gN,gR,gQ,gP){var i=gR["spans_"+gN.id],gO=0;gN.iter(Math.max(gN.first,gQ),Math.min(gN.first+gN.size,gP),function(gS){if(gS.markedSpans){(i||(i=gR["spans_"+gN.id]={}))[gO]=gS.markedSpans}++gO})}function bl(gP){if(!gP){return null}var gN;for(var gO=0;gO-1){f2(gW)[gN]=gU[gN];delete gU[gN]}}}}}}return gO}function fO(gR,gN,gQ,i){if(gR.cm&&gR.cm.display.shift||gR.extend){var gP=gN.anchor;if(i){var gO=ck(gQ,gP)<0;if(gO!=(ck(i,gP)<0)){gP=gQ;gQ=i}else{if(gO!=(ck(gQ,i)<0)){gQ=i}}}return new d6(gP,gQ)}else{return new d6(i||gQ,gQ)}}function gp(gP,gO,i,gN){bX(gP,new gu([fO(gP,gP.sel.primary(),gO,i)],0),gN)}function av(gS,gR,gP){var gO=[];for(var gQ=0;gQ=gV.ch:gN.to>gV.ch))){if(gT){aE(gO,"beforeCursorEnter");if(gO.explicitlyCleared){if(!gY.markedSpans){break}else{--gR;continue}}}if(!gO.atomic){continue}if(gQ){var gU=gO.find(gP<0?1:-1),gW=void 0;if(gP<0?gO.inclusiveRight:gO.inclusiveLeft){gU=gJ(gX,gU,-gP,gU&&gU.line==gV.line?gY:null)}if(gU&&gU.line==gV.line&&(gW=ck(gU,gQ))&&(gP<0?gW<0:gW>0)){return eZ(gX,gU,gV,gP,gT)}}var gS=gO.find(gP<0?-1:1);if(gP<0?gO.inclusiveLeft:gO.inclusiveRight){gS=gJ(gX,gS,gP,gS.line==gV.line?gY:null)}return gS?eZ(gX,gS,gV,gP,gT):null}}}return gV}function bY(gR,gS,gP,gN,i){var gO=gN||1;var gQ=eZ(gR,gS,gP,gO,i)||(!i&&eZ(gR,gS,gP,gO,true))||eZ(gR,gS,gP,-gO,i)||(!i&&eZ(gR,gS,gP,-gO,true));if(!gQ){gR.cantEdit=true;return V(gR.first,0)}return gQ}function gJ(gO,gP,gN,i){if(gN<0&&gP.ch==0){if(gP.line>gO.first){return f7(gO,V(gP.line-1))}else{return null}}else{if(gN>0&&gP.ch==(i||fy(gO,gP.line)).text.length){if(gP.line=0;--gN){J(gQ,{from:gO[gN].from,to:gO[gN].to,text:gN?[""]:gR.text})}}else{J(gQ,gR)}}function J(gO,gP){if(gP.text.length==1&&gP.text[0]==""&&ck(gP.from,gP.to)==0){return}var gN=fD(gO,gP);f9(gO,gP,gN,gO.cm?gO.cm.curOp.id:NaN);eo(gO,gP,gN,ev(gO,gP));var i=[];eh(gO,function(gR,gQ){if(!gQ&&dr(i,gR.history)==-1){dM(gR.history,gP);i.push(gR.history)}eo(gR,gP,null,ev(gR,gP))})}function cc(gY,gX,g0){if(gY.cm&&gY.cm.state.suppressEdits&&!g0){return}var gW=gY.history,gO,gQ=gY.sel;var gN=gX=="undo"?gW.done:gW.undone,gZ=gX=="undo"?gW.undone:gW.done;var gT=0;for(;gT=0;--gR){var gS=gU(gR);if(gS){return gS.v}}}function fH(gN,gP){if(gP==0){return}gN.first+=gP;gN.sel=new gu(bW(gN.sel.ranges,function(gQ){return new d6(V(gQ.anchor.line+gP,gQ.anchor.ch),V(gQ.head.line+gP,gQ.head.ch))}),gN.sel.primIndex);if(gN.cm){ag(gN.cm,gN.first,gN.first-gP,gP);for(var gO=gN.cm.display,i=gO.viewFrom;igQ.lastLine()){return}if(gR.from.linegO){gR={from:gR.from,to:V(gO,fy(gQ,gO).text.length),text:[gR.text[0]],origin:gR.origin}}gR.removed=gw(gQ,gR.from,gR.to);if(!gP){gP=fD(gQ,gR)}if(gQ.cm){aI(gQ.cm,gR,gN)}else{fS(gQ,gR,gN)}eB(gQ,gP,Y)}function aI(gX,gT,gR){var gW=gX.doc,gS=gX.display,gU=gT.from,gV=gT.to;var i=false,gQ=gU.line;if(!gX.options.lineWrapping){gQ=bQ(y(fy(gW,gU.line)));gW.iter(gQ,gV.line+1,function(gZ){if(gZ==gS.maxLine){i=true;return true}})}if(gW.sel.contains(gT.from,gT.to)>-1){U(gX)}fS(gW,gT,gR,be(gX));if(!gX.options.lineWrapping){gW.iter(gQ,gU.line+gT.text.length,function(g0){var gZ=ey(g0);if(gZ>gS.maxLineLength){gS.maxLine=g0;gS.maxLineLength=gZ;gS.maxLineChanged=true;i=false}});if(i){gX.curOp.updateMaxLine=true}}gW.frontier=Math.min(gW.frontier,gU.line);ep(gX,400);var gY=gT.text.length-(gV.line-gU.line)-1;if(gT.full){ag(gX)}else{if(gU.line==gV.line&&gT.text.length==1&&!d1(gX.doc,gT)){Q(gX,gU.line,"text")}else{ag(gX,gU.line,gV.line+1,gY)}}var gO=fE(gX,"changes"),gP=fE(gX,"change");if(gP||gO){var gN={from:gU,to:gV,text:gT.text,removed:gT.removed,origin:gT.origin};if(gP){ad(gX,"change",gX,gN)}if(gO){(gX.curOp.changeObjs||(gX.curOp.changeObjs=[])).push(gN)}}gX.display.selForContextMenu=null}function a1(gP,gO,gR,gQ,i){if(!gQ){gQ=gR}if(ck(gQ,gR)<0){var gN=gQ;gQ=gR;gR=gN}if(typeof gO=="string"){gO=gP.splitLines(gO)}bg(gP,{from:gR,to:gQ,text:gO,origin:i})}function H(gP,gO,gN,i){if(gN1||!(this.children[0] instanceof fh))){var gV=[];this.collapse(gV);this.children=[new fh(gV)];this.children[0].parent=this}},collapse:function(gN){var gP=this;for(var gO=0;gO50){var gP=gN.lines.length%25+25;for(var gU=gP;gU10);gP.parent.maybeSpill()},iterN:function(gN,gU,gT){var gS=this;for(var gO=0;gOgW.display.maxLineLength){gW.display.maxLine=gN;gW.display.maxLineLength=gT;gW.display.maxLineChanged=true}}}if(gQ!=null&&gW&&this.collapsed){ag(gW,gQ,gU+1)}this.lines.length=0;this.explicitlyCleared=true;if(this.atomic&&this.doc.cantEdit){this.doc.cantEdit=false;if(gW){eL(gW.doc)}}if(gW){ad(gW,"markerCleared",gW,this)}if(gP){al(gW)}if(this.parent){this.parent.clear()}};P.prototype.find=function(gQ,gO){var gU=this;if(gQ==null&&this.type=="bookmark"){gQ=1}var gT,gS;for(var gP=0;gP0||gW==0&&gQ.clearWhenEmpty!==false){return gQ}if(gQ.replacedWith){gQ.collapsed=true;gQ.widgetNode=gv("span",[gQ.replacedWith],"CodeMirror-widget");if(!gX.handleMouseEvents){gQ.widgetNode.setAttribute("cm-ignore-events","true")}if(gX.insertLeft){gQ.widgetNode.insertLeft=true}}if(gQ.collapsed){if(z(gV,gT.line,gT,gU,gQ)||gT.line!=gU.line&&z(gV,gU.line,gT,gU,gQ)){throw new Error("Inserting collapsed marker partially overlapping an existing one")}bz()}if(gQ.addToHistory){f9(gV,{from:gT,to:gU,origin:"markText"},gV.sel,NaN)}var gO=gT.line,gS=gV.cm,gN;gV.iter(gO,gU.line+1,function(i){if(gS&&gQ.collapsed&&!gS.options.lineWrapping&&y(i)==gS.display.maxLine){gN=true}if(gQ.collapsed&&gO!=gT.line){gz(i,0)}ci(i,new eu(gQ,gO==gT.line?gT.ch:null,gO==gU.line?gU.ch:null));++gO});if(gQ.collapsed){gV.iter(gT.line,gU.line+1,function(i){if(fP(gV,i)){gz(i,0)}})}if(gQ.clearOnEnter){b0(gQ,"beforeCursorEnter",function(){return gQ.clear()})}if(gQ.readOnly){fU();if(gV.history.done.length||gV.history.undone.length){gV.clearHistory()}}if(gQ.collapsed){gQ.id=++a4;gQ.atomic=true}if(gS){if(gN){gS.curOp.updateMaxLine=true}if(gQ.collapsed){ag(gS,gT.line,gU.line+1)}else{if(gQ.className||gQ.title||gQ.startStyle||gQ.endStyle||gQ.css){for(var gP=gT.line;gP<=gU.line;gP++){Q(gS,gP,"text")}}}if(gQ.atomic){eL(gS.doc)}ad(gS,"markerAdded",gS,gQ)}return gQ}function x(gP,gO){var gQ=this;this.markers=gP;this.primary=gO;for(var gN=0;gN=0;gP--){bg(gS,gU[gP])}if(gN){fr(this,gN)}else{if(this.cm){f1(this.cm)}}}),undo:cI(function(){cc(this,"undo")}),redo:cI(function(){cc(this,"redo")}),undoSelection:cI(function(){cc(this,"undo",true)}),redoSelection:cI(function(){cc(this,"redo",true)}),setExtending:function(i){this.extend=i},getExtending:function(){return this.extend},historySize:function(){var gQ=this.history,gN=0,gP=0;for(var gO=0;gO=gR.ch)){gQ.push(gP.marker.parent||gP.marker)}}}return gQ},findMarks:function(gQ,gP,gN){gQ=f7(this,gQ);gP=f7(this,gP);var gO=[],i=gQ.line;this.iter(gQ.line,gP.line+1,function(gR){var gT=gR.markedSpans;if(gT){for(var gS=0;gS=gU.to||gU.from==null&&i!=gQ.line||gU.from!=null&&i==gP.line&&gU.from>=gP.ch)&&(!gN||gN(gU.marker))){gO.push(gU.marker.parent||gU.marker)}}}++i});return gO},getAllMarks:function(){var i=[];this.iter(function(gO){var gN=gO.markedSpans;if(gN){for(var gP=0;gPgP){gN=gP;return true}gP-=gR;++i});return f7(this,V(i,gN))},indexFromPos:function(gO){gO=f7(this,gO);var i=gO.ch;if(gO.linegP){gP=i.from}if(i.to!=null&&i.to-1){gX.state.draggingText(gV);setTimeout(function(){return gX.display.input.focus()},20);return}try{var gN=gV.dataTransfer.getData("Text");if(gN){var gS;if(gX.state.draggingText&&!gX.state.draggingText.copy){gS=gX.listSelections()}eB(gX.doc,e8(gW,gW));if(gS){for(var gQ=0;gQ=0;gU--){a1(gN.doc,"",gR[gU].from,gR[gU].to,"+delete")}f1(gN)})}var eR={selectAll:ak,singleSelection:function(i){return i.setSelection(i.getCursor("anchor"),i.getCursor("head"),Y)},killLine:function(i){return ff(i,function(gO){if(gO.empty()){var gN=fy(i.doc,gO.head.line).text.length;if(gO.head.ch==gN&&gO.head.line0){gS=new V(gS.line,gS.ch+1);i.replaceRange(gN.charAt(gS.ch-1)+gN.charAt(gS.ch-2),V(gS.line,gS.ch-2),gS,"+transpose")}else{if(gS.line>i.doc.first){var gR=fy(i.doc,gS.line-1).text;if(gR){gS=new V(gS.line,1);i.replaceRange(gN.charAt(0)+i.doc.lineSeparator()+gR.charAt(gR.length-1),V(gS.line-1,gR.length-1),gS,"+transpose")}}}}gO.push(new d6(gS,gS))}i.setSelections(gO)})},newlineAndIndent:function(i){return cS(i,function(){var gN=i.listSelections();for(var gO=gN.length-1;gO>=0;gO--){i.replaceRange(i.doc.lineSeparator(),gN[gO].anchor,gN[gO].head,"+input")}gN=i.listSelections();for(var gP=0;gPgO-400&&ck(dl.pos,gT)==0){gQ="triple"}else{if(dv&&dv.time>gO-400&&ck(dv.pos,gT)==0){gQ="double";dl={time:gO,pos:gT}}else{gQ="single";dv={time:gO,pos:gT}}}var gR=gN.doc.sel,i=cb?gS.metaKey:gS.ctrlKey,gP;if(gN.options.dragDrop&&e2&&!gN.isReadOnly()&&gQ=="single"&&(gP=gR.contains(gT))>-1&&(ck((gP=gR.ranges[gP]).from(),gT)<0||gT.xRel>0)&&(ck(gP.to(),gT)>0||gT.xRel<0)){a3(gN,gS,gT,i)}else{n(gN,gS,gT,gQ,i)}}function a3(gO,gR,gS,gN){var gQ=gO.display,gP=+new Date;var i=c7(gO,function(gT){if(c6){gQ.scroller.draggable=false}gO.state.draggingText=false;eq(document,"mouseup",i);eq(gQ.scroller,"drop",i);if(Math.abs(gR.clientX-gT.clientX)+Math.abs(gR.clientY-gT.clientY)<10){cL(gT);if(!gN&&+new Date-200-1){gO=i[g5]}else{gO=new d6(gP,gP)}}else{gO=g6.sel.primary();g5=g6.sel.primIndex}if(f6?g4.shiftKey&&g4.metaKey:g4.altKey){gN="rect";if(!gS){gO=new d6(gP,gP)}gP=cs(gQ,g4,true,true);g5=-1}else{if(gN=="double"){var g2=gQ.findWordAt(gP);if(gQ.display.shift||g6.extend){gO=fO(g6,gO,g2.anchor,g2.head)}else{gO=g2}}else{if(gN=="triple"){var gV=new d6(V(gP.line,0),f7(g6,V(gP.line+1,0)));if(gQ.display.shift||g6.extend){gO=fO(g6,gO,gV.anchor,gV.head)}else{gO=gV}}else{gO=fO(g6,gO,gP)}}}if(!gS){g5=0;bX(g6,new gu([gO],0),L);gR=g6.sel}else{if(g5==-1){g5=i.length;bX(g6,cB(i.concat([gO]),g5),{scroll:false,origin:"*mouse"})}else{if(i.length>1&&i[g5].empty()&&gN=="single"&&!g4.shiftKey){bX(g6,cB(i.slice(0,g5).concat(i.slice(g5+1)),0),{scroll:false,origin:"*mouse"});gR=g6.sel}else{e(g6,g5,gO,L)}}}var g0=gP;function gZ(hh){if(ck(g0,hh)==0){return}g0=hh;if(gN=="rect"){var g9=[],he=gQ.options.tabSize;var g8=bU(fy(g6,gP.line).text,gP.ch,he);var hl=bU(fy(g6,hh.line).text,hh.ch,he);var ha=Math.min(g8,hl),hj=Math.max(g8,hl);for(var hm=Math.min(gP.line,hh.line),hc=Math.min(gQ.lastLine(),Math.max(gP.line,hh.line));hm<=hc;hm++){var hk=fy(g6,hm).text,hb=eC(hk,ha,he);if(ha==hj){g9.push(new d6(V(hm,hb),V(hm,hb)))}else{if(hk.length>hb){g9.push(new d6(V(hm,hb),V(hm,eC(hk,hj,he))))}}}if(!g9.length){g9.push(new d6(gP,gP))}bX(g6,cB(gR.ranges.slice(0,g5).concat(g9),g5),{origin:"*mouse",scroll:false});gQ.scrollIntoView(hh)}else{var hf=gO;var hd=hf.anchor,hg=hh;if(gN!="single"){var hi;if(gN=="double"){hi=gQ.findWordAt(hh)}else{hi=new d6(V(hh.line,0),f7(g6,V(hh.line+1,0)))}if(ck(hi.anchor,hd)>0){hg=hi.head;hd=aq(hf.from(),hi.anchor)}else{hg=hi.anchor;hd=bA(hf.to(),hi.head)}}var g7=gR.ranges.slice(0);g7[g5]=new d6(f7(g6,hd),hg);bX(g6,cB(g7,g5),L)}}var gX=g1.wrapper.getBoundingClientRect();var gT=0;function g3(g9){var g7=++gT;var hb=cs(gQ,g9,true,gN=="rect");if(!hb){return}if(ck(hb,g0)!=0){gQ.curOp.focus=dW();gZ(hb);var ha=ca(g1,g6);if(hb.line>=ha.to||hb.linegX.bottom?20:0;if(g8){setTimeout(c7(gQ,function(){if(gT!=g7){return}g1.scroller.scrollTop+=g8;g3(g9)}),50)}}}function gW(g7){gQ.state.selectingText=false;gT=Infinity;cL(g7);g1.input.focus();eq(document,"mousemove",gY);eq(document,"mouseup",gU);g6.history.lastSelOrigin=null}var gY=c7(gQ,function(g7){if(!gc(g7)){gW(g7)}else{g3(g7)}});var gU=c7(gQ,gW);gQ.state.selectingText=gU;b0(document,"mousemove",gY);b0(document,"mouseup",gU)}function gL(gX,gT,gV,gW){var gO,gN;try{gO=gT.clientX;gN=gT.clientY}catch(gT){return false}if(gO>=Math.floor(gX.display.gutters.getBoundingClientRect().right)){return false}if(gW){cL(gT)}var gU=gX.display;var gS=gU.lineDiv.getBoundingClientRect();if(gN>gS.bottom||!fE(gX,gV)){return bO(gT)}gN-=gS.top-gU.viewOffset;for(var gQ=0;gQ=gO){var gY=bK(gX.doc,gN);var gP=gX.options.gutters[gQ];aE(gX,gV,gX,gY,gP,gT);return bO(gT)}}}function m(i,gN){return gL(i,gN,"gutterClick",true)}function ax(i,gN){if(bb(i.display,gN)||dp(i,gN)){return}if(aR(i,gN,"contextmenu")){return}i.display.input.onContextMenu(gN)}function dp(i,gN){if(!fE(i,"gutterContextMenu")){return false}return gL(i,gN,"gutterContextMenu",false)}function cT(i){i.display.wrapper.className=i.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+i.options.theme.replace(/(^|\s)\s*/g," cm-s-");ai(i)}var ch={toString:function(){return"CodeMirror.Init"}};var fk={};var bf={};function eW(i){var gO=i.optionHandlers;function gN(gP,gS,gR,gQ){i.defaults[gP]=gS;if(gR){gO[gP]=gQ?function(gT,gV,gU){if(gU!=ch){gR(gT,gV,gU)}}:gR}}i.defineOption=gN;i.Init=ch;gN("value","",function(gP,gQ){return gP.setValue(gQ)},true);gN("mode",null,function(gP,gQ){gP.doc.modeOption=gQ;bt(gP)},true);gN("indentUnit",2,bt,true);gN("indentWithTabs",false);gN("smartIndent",true);gN("tabSize",4,function(gP){ex(gP);ai(gP);ag(gP)},true);gN("lineSeparator",null,function(gP,gS){gP.doc.lineSep=gS;if(!gS){return}var gR=[],gT=gP.doc.first;gP.doc.iter(function(gU){for(var gW=0;;){var gV=gU.text.indexOf(gS,gW);if(gV==-1){break}gW=gV+gS.length;gR.push(V(gT,gV))}gT++});for(var gQ=gR.length-1;gQ>=0;gQ--){a1(gP.doc,gS,gR[gQ],V(gR[gQ].line,gR[gQ].ch+gS.length))}});gN("specialChars",/[\u0000-\u001f\u007f\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g,function(gP,gR,gQ){gP.state.specialChars=new RegExp(gR.source+(gR.test("\t")?"":"|\t"),"g");if(gQ!=ch){gP.refresh()}});gN("specialCharPlaceholder",fx,function(gP){return gP.refresh()},true);gN("electricChars",true);gN("inputStyle",er?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},true);gN("spellcheck",false,function(gP,gQ){return gP.getInputField().spellcheck=gQ},true);gN("rtlMoveVisually",!aP);gN("wholeLineUpdateBefore",true);gN("theme","default",function(gP){cT(gP);dE(gP)},true);gN("keyMap","default",function(gP,gT,gQ){var gR=go(gT);var gS=gQ!=ch&&go(gQ);if(gS&&gS.detach){gS.detach(gP,gR)}if(gR.attach){gR.attach(gP,gS||null)}});gN("extraKeys",null);gN("lineWrapping",false,eV,true);gN("gutters",[],function(gP){cj(gP.options);dE(gP)},true);gN("fixedGutter",true,function(gP,gQ){gP.display.gutters.style.left=gQ?d7(gP.display)+"px":"0";gP.refresh()},true);gN("coverGutterNextToScrollbar",false,function(gP){return fg(gP)},true);gN("scrollbarStyle","native",function(gP){aD(gP);fg(gP);gP.display.scrollbars.setScrollTop(gP.doc.scrollTop);gP.display.scrollbars.setScrollLeft(gP.doc.scrollLeft)},true);gN("lineNumbers",false,function(gP){cj(gP.options);dE(gP)},true);gN("firstLineNumber",1,dE,true);gN("lineNumberFormatter",function(gP){return gP},dE,true);gN("showCursorWhenSelecting",false,bF,true);gN("resetSelectionOnContextMenu",true);gN("lineWiseCopyCut",true);gN("readOnly",false,function(gP,gQ){if(gQ=="nocursor"){aV(gP);gP.display.input.blur();gP.display.disabled=true}else{gP.display.disabled=false}gP.display.input.readOnlyChanged(gQ)});gN("disableInput",false,function(gP,gQ){if(!gQ){gP.display.input.reset()}},true);gN("dragDrop",true,gs);gN("allowDropFileTypes",null);gN("cursorBlinkRate",530);gN("cursorScrollMargin",0);gN("cursorHeight",1,bF,true);gN("singleCursorHeightPerLine",true,bF,true);gN("workTime",100);gN("workDelay",100);gN("flattenSpans",true,ex,true);gN("addModeClass",false,ex,true);gN("pollInterval",100);gN("undoDepth",200,function(gP,gQ){return gP.doc.history.undoDepth=gQ});gN("historyEventDelay",1250);gN("viewportMargin",10,function(gP){return gP.refresh()},true);gN("maxHighlightLength",10000,ex,true);gN("moveInputWithCursor",true,function(gP,gQ){if(!gQ){gP.display.input.resetPosition()}});gN("tabindex",null,function(gP,gQ){return gP.display.input.getField().tabIndex=gQ||""});gN("autofocus",null)}function dE(i){en(i);ag(i);setTimeout(function(){return eT(i)},20)}function gs(gN,gQ,gO){var gR=gO&&gO!=ch;if(!gQ!=!gR){var gP=gN.display.dragFunctions;var i=gQ?b0:eq;i(gN.display.scroller,"dragstart",gP.start);i(gN.display.scroller,"dragenter",gP.enter);i(gN.display.scroller,"dragover",gP.over);i(gN.display.scroller,"dragleave",gP.leave);i(gN.display.scroller,"drop",gP.drop)}}function eV(i){if(i.options.lineWrapping){fW(i.display.wrapper,"CodeMirror-wrap");i.display.sizer.style.minWidth="";i.display.sizerWidth=null}else{h(i.display.wrapper,"CodeMirror-wrap");f(i)}X(i);ag(i);ai(i);setTimeout(function(){return fg(i)},100)}function fn(gN,gP){var gU=this;if(!(this instanceof fn)){return new fn(gN,gP)}this.options=gP=gP?aN(gP):{};aN(fk,gP,false);cj(gP);var gT=gP.value;if(typeof gT=="string"){gT=new at(gT,gP.mode,null,gP.lineSeparator)}this.doc=gT;var gO=new fn.inputStyles[gP.inputStyle](this);var gS=this.display=new eY(gN,gT,gO);gS.wrapper.CodeMirror=this;en(this);cT(this);if(gP.lineWrapping){this.display.wrapper.className+=" CodeMirror-wrap"}if(gP.autofocus&&!er){gS.input.focus()}aD(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:false,delayingBlurEvent:false,focused:false,suppressEdits:false,pasteIncoming:false,cutIncoming:false,selectingText:false,draggingText:false,highlight:new gM(),keySeq:null,specialChars:null};if(dS&&l<11){setTimeout(function(){return gU.display.input.reset(true)},20)}gf(this);bj();cO(this);this.curOp.forceUpdate=true;em(this,gT);if((gP.autofocus&&!er)||this.hasFocus()){setTimeout(cA(cG,this),20)}else{aV(this)}for(var gR in bf){if(bf.hasOwnProperty(gR)){bf[gR](gU,gP[gR],ch)}}ef(this);if(gP.finishInit){gP.finishInit(this)}for(var gQ=0;gQ20*20}b0(gR.scroller,"touchstart",function(gV){if(!aR(gN,gV)&&!gP(gV)){gR.input.ensurePolled();clearTimeout(gT);var gU=+new Date;gR.activeTouch={start:gU,moved:false,prev:gU-i.end<=300?i:null};if(gV.touches.length==1){gR.activeTouch.left=gV.touches[0].pageX;gR.activeTouch.top=gV.touches[0].pageY}}});b0(gR.scroller,"touchmove",function(){if(gR.activeTouch){gR.activeTouch.moved=true}});b0(gR.scroller,"touchend",function(gV){var gX=gR.activeTouch;if(gX&&!bb(gR,gV)&&gX.left!=null&&!gX.moved&&new Date-gX.start<300){var gW=gN.coordsChar(gR.activeTouch,"page"),gU;if(!gX.prev||gO(gX,gX.prev)){gU=new d6(gW,gW)}else{if(!gX.prev.prev||gO(gX,gX.prev.prev)){gU=gN.findWordAt(gW)}else{gU=new d6(V(gW.line,0),f7(gN.doc,V(gW.line+1,0)))}}gN.setSelection(gU.anchor,gU.head);gN.focus();cL(gV)}gS()});b0(gR.scroller,"touchcancel",gS);b0(gR.scroller,"scroll",function(){if(gR.scroller.clientHeight){N(gN,gR.scroller.scrollTop);bH(gN,gR.scroller.scrollLeft,true);aE(gN,"scroll",gN)}});b0(gR.scroller,"mousewheel",function(gU){return c(gN,gU)});b0(gR.scroller,"DOMMouseScroll",function(gU){return c(gN,gU)});b0(gR.wrapper,"scroll",function(){return gR.wrapper.scrollTop=gR.wrapper.scrollLeft=0});gR.dragFunctions={enter:function(gU){if(!aR(gN,gU)){eD(gU)}},over:function(gU){if(!aR(gN,gU)){gK(gN,gU);eD(gU)}},start:function(gU){return O(gN,gU)},drop:c7(gN,bk),leave:function(gU){if(!aR(gN,gU)){di(gN)}}};var gQ=gR.input.getField();b0(gQ,"keyup",function(gU){return bh.call(gN,gU)});b0(gQ,"keydown",c7(gN,q));b0(gQ,"keypress",c7(gN,cC));b0(gQ,"focus",function(gU){return cG(gN,gU)});b0(gQ,"blur",function(gU){return aV(gN,gU)})}var a8=[];fn.defineInitHook=function(i){return a8.push(i)};function ab(g2,gR,g1,gP){var g0=g2.doc,gO;if(g1==null){g1="add"}if(g1=="smart"){if(!g0.mode.indent){g1="prev"}else{gO=dK(g2,gR)}}var gV=g2.options.tabSize;var g3=fy(g0,gR),gU=bU(g3.text,null,gV);if(g3.stateAfter){g3.stateAfter=null}var gN=g3.text.match(/^\s*/)[0],gY;if(!gP&&!/\S/.test(g3.text)){gY=0;g1="not"}else{if(g1=="smart"){gY=g0.mode.indent(gO,g3.text.slice(gN.length),g3.text);if(gY==cg||gY>150){if(!gP){return}g1="prev"}}}if(g1=="prev"){if(gR>g0.first){gY=bU(fy(g0,gR-1).text,null,gV)}else{gY=0}}else{if(g1=="add"){gY=gU+g2.options.indentUnit}else{if(g1=="subtract"){gY=gU-g2.options.indentUnit}else{if(typeof g1=="number"){gY=gU+g1}}}}gY=Math.max(0,gY);var gZ="",gX=0;if(g2.options.indentWithTabs){for(var gS=Math.floor(gY/gV);gS;--gS){gX+=gV;gZ+="\t"}}if(gX1){if(bm&&bm.text.join("\n")==gS){if(gP.ranges.length%bm.text.length==0){gN=[];for(var gT=0;gT=0;gO--){var g2=gP.ranges[gO];var gY=g2.from(),gX=g2.to();if(g2.empty()){if(gQ&&gQ>0){gY=V(gY.line,gY.ch-gQ)}else{if(g1.state.overwrite&&!gR){gX=V(gX.line,Math.min(fy(gZ,gX.line).text.length,gX.ch+f2(gU).length))}else{if(bm&&bm.lineWise&&bm.text.join("\n")==gS){gY=gX=V(gY.line,0)}}}}gV=g1.curOp.updateInput;var gW={from:gY,to:gX,text:gN?gN[gO%gN.length]:gU,origin:g0||(gR?"paste":g1.state.cutIncoming?"cut":"+input")};bg(g1.doc,gW);ad(g1,"inputRead",g1,gW)}if(gS&&!gR){gn(g1,gS)}f1(g1);g1.curOp.updateInput=gV;g1.curOp.typing=true;g1.state.pasteIncoming=g1.state.cutIncoming=false}function ba(gO,i){var gN=gO.clipboardData&&gO.clipboardData.getData("Text");if(gN){gO.preventDefault();if(!i.isReadOnly()&&!i.options.disableInput){cS(i,function(){return gq(i,gN,0,null,"paste")})}return true}}function gn(gN,gQ){if(!gN.options.electricChars||!gN.options.smartIndent){return}var gR=gN.doc.sel;for(var gP=gR.ranges.length-1;gP>=0;gP--){var gT=gR.ranges[gP];if(gT.head.ch>100||(gP&&gR.ranges[gP-1].head.line==gT.head.line)){continue}var gS=gN.getModeAt(gT.head);var gU=false;if(gS.electricChars){for(var gO=0;gO-1){gU=ab(gN,gT.head.line,"smart");break}}}else{if(gS.electricInput){if(gS.electricInput.test(fy(gN.doc,gT.head.line).text.slice(0,gT.head.ch))){gU=ab(gN,gT.head.line,"smart")}}}if(gU){ad(gN,"electricInput",gN,gT.head.line)}}}function dq(gN){var gS=[],gP=[];for(var gQ=0;gQ0){e(gV.doc,gU,new d6(gW,gR[gU].to()),Y)}}else{if(gZ.head.line>gS){ab(gV,gZ.head.line,gY,true);gS=gZ.head.line;if(gU==gV.doc.sel.primIndex){f1(gV)}}}}}),getTokenAt:function(gQ,gP){return cv(this,gQ,gP)},getLineTokens:function(gQ,gP){return cv(this,V(gQ),gP,true)},getTokenTypeAt:function(gW){gW=f7(this.doc,gW);var gS=de(this,fy(this.doc,gW.line));var gU=0,gV=(gS.length-1)/2,gR=gW.ch;var gQ;if(gR==0){gQ=gS[2]}else{for(;;){var gP=(gU+gV)>>1;if((gP?gS[gP*2-1]:0)>=gR){gV=gP}else{if(gS[gP*2+1]gS){gQ=gS;gP=true}}gR=fy(this.doc,gQ)}else{gR=gQ}return e7(this,gR,{top:0,left:0},gU||"page",gT).top+(gP?this.doc.height-bP(gR):0)},defaultTextHeight:function(){return aY(this.display)},defaultCharWidth:function(){return dL(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(gU,gR,gW,gS,gY){var gT=this.display;gU=d3(this,f7(this.doc,gU));var gV=gU.bottom,gQ=gU.left;gR.style.position="absolute";gR.setAttribute("cm-ignore-events","true");this.display.input.setUneditable(gR);gT.sizer.appendChild(gR);if(gS=="over"){gV=gU.top}else{if(gS=="above"||gS=="near"){var gP=Math.max(gT.wrapper.clientHeight,this.doc.height),gX=Math.max(gT.sizer.clientWidth,gT.lineSpace.clientWidth);if((gS=="above"||gU.bottom+gR.offsetHeight>gP)&&gU.top>gR.offsetHeight){gV=gU.top-gR.offsetHeight}else{if(gU.bottom+gR.offsetHeight<=gP){gV=gU.bottom}}if(gQ+gR.offsetWidth>gX){gQ=gX-gR.offsetWidth}}}gR.style.top=gV+"px";gR.style.left=gR.style.right="";if(gY=="right"){gQ=gT.sizer.clientWidth-gR.offsetWidth;gR.style.right="0px"}else{if(gY=="left"){gQ=0}else{if(gY=="middle"){gQ=(gT.sizer.clientWidth-gR.offsetWidth)/2}}gR.style.left=gQ+"px"}if(gW){E(this,gQ,gV,gQ+gR.offsetWidth,gV+gR.offsetHeight)}},triggerOnKeyDown:dg(q),triggerOnKeyPress:dg(cC),triggerOnKeyUp:bh,execCommand:function(gP){if(eR.hasOwnProperty(gP)){return eR[gP].call(null,this)}},triggerElectric:dg(function(gP){gn(this,gP)}),findPosH:function(gW,gS,gT,gQ){var gV=this;var gP=1;if(gS<0){gP=-1;gS=-gS}var gU=f7(this.doc,gW);for(var gR=0;gR0&&gP(gS.charAt(gV-1))){--gV}while(gR0.5){X(this)}aE(this,"refresh",this)}),swapDoc:dg(function(gQ){var gP=this.doc;gP.cm=null;em(this,gQ);ai(this);this.display.input.reset();this.scrollTo(gQ.scrollLeft,gQ.scrollTop);this.curOp.forceScroll=true;ad(this,"swapDoc",this,gP);return gP}),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}};bC(i);i.registerHelper=function(gQ,gP,gR){if(!gO.hasOwnProperty(gQ)){gO[gQ]=i[gQ]={_global:[]}}gO[gQ][gP]=gR};i.registerGlobalHelper=function(gR,gQ,gP,gS){i.registerHelper(gR,gQ,gS);gO[gR]._global.push({pred:gP,val:gS})}};function by(g3,gQ,gY,gX,gS){var gV=gQ.line,gW=gQ.ch,g2=gY;var gN=fy(g3,gV);function g1(){var g4=gV+gY;if(g4=g3.first+g3.size){return false}gV=g4;return gN=fy(g3,g4)}function g0(g5){var g4=(gS?u:ah)(gN,gW,gY,true);if(g4==null){if(!g5&&g1()){if(gS){gW=(gY<0?cY:cJ)(gN)}else{gW=gY<0?gN.text.length:0}}else{return false}}else{gW=g4}return true}if(gX=="char"){g0()}else{if(gX=="column"){g0(true)}else{if(gX=="word"||gX=="group"){var gZ=null,gT=gX=="group";var i=g3.cm&&g3.cm.getHelper(gQ,"wordChars");for(var gR=true;;gR=false){if(gY<0&&!g0(!gR)){break}var gO=gN.text.charAt(gW)||"\n";var gP=cF(gO,i)?"w":gT&&gO=="\n"?"n":!gT||/\s/.test(gO)?null:"p";if(gT&&!gR&&!gP){gP="s"}if(gZ&&gZ!=gP){if(gY<0){gY=1;g0()}break}if(gP){gZ=gP}if(gY>0&&!g0(!gR)){break}}}}}var gU=bY(g3,V(gV,gW),gQ,g2,true);if(!ck(gQ,gU)){gU.hitSide=true}return gU}function bs(gV,gQ,gN,gU){var gT=gV.doc,gS=gQ.left,gR;if(gU=="page"){var gP=Math.min(gV.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight);var i=Math.max(gP-0.5*aY(gV.display),3);gR=(gN>0?gQ.bottom:gQ.top)+gN*i}else{if(gU=="line"){gR=gN>0?gQ.bottom+3:gQ.top-3}}var gO;for(;;){gO=ge(gV,gS,gR);if(!gO.outside){break}if(gN<0?gR<=0:gR>=gT.height){gO.hitSide=true;break}gR+=gN*5}return gO}function dC(i){this.cm=i;this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null;this.polling=new gM();this.composing=null;this.gracePeriod=false;this.readDOMTimeout=null}dC.prototype=aN({init:function(gP){var gR=this;var gO=this,i=gO.cm;var gQ=gO.div=gP.lineDiv;gd(gQ,i.options.spellcheck);b0(gQ,"paste",function(gS){if(aR(i,gS)||ba(gS,i)){return}if(l<=11){setTimeout(c7(i,function(){if(!gO.pollContent()){ag(i)}}),20)}});b0(gQ,"compositionstart",function(gS){gR.composing={data:gS.data}});b0(gQ,"compositionupdate",function(gS){if(!gR.composing){gR.composing={data:gS.data}}});b0(gQ,"compositionend",function(gS){if(gR.composing){if(gS.data!=gR.composing.data){gR.readFromDOMSoon()}gR.composing=null}});b0(gQ,"touchstart",function(){return gO.forceCompositionEnd()});b0(gQ,"input",function(){if(!gR.composing){gR.readFromDOMSoon()}});function gN(gW){if(aR(i,gW)){return}if(i.somethingSelected()){dc({lineWise:false,text:i.getSelections()});if(gW.type=="cut"){i.replaceSelection("",null,"cut")}}else{if(!i.options.lineWiseCopyCut){return}else{var gT=dq(i);dc({lineWise:true,text:gT.text});if(gW.type=="cut"){i.operation(function(){i.setSelections(gT.ranges,0,Y);i.replaceSelection("",null,"cut")})}}}if(gW.clipboardData){gW.clipboardData.clearData();var gV=bm.text.join("\n");gW.clipboardData.setData("Text",gV);if(gW.clipboardData.getData("Text")==gV){gW.preventDefault();return}}var gU=aX(),gX=gU.firstChild;i.display.lineSpace.insertBefore(gU,i.display.lineSpace.firstChild);gX.value=bm.text.join("\n");var gS=document.activeElement;dT(gX);setTimeout(function(){i.display.lineSpace.removeChild(gU);gS.focus();if(gS==gQ){gO.showPrimarySelection()}},50)}b0(gQ,"copy",gN);b0(gQ,"cut",gN)},prepareSelection:function(){var i=f5(this.cm,false);i.focus=this.cm.state.focused;return i},showSelection:function(gN,i){if(!gN||!this.cm.display.view.length){return}if(gN.focus||i){this.showPrimarySelection()}this.showMultipleSelections(gN)},showPrimarySelection:function(){var gP=window.getSelection(),gS=this.cm.doc.sel.primary();var gQ=ay(this.cm,gP.anchorNode,gP.anchorOffset);var gU=ay(this.cm,gP.focusNode,gP.focusOffset);if(gQ&&!gQ.bad&&gU&&!gU.bad&&ck(aq(gQ,gU),gS.from())==0&&ck(bA(gQ,gU),gS.to())==0){return}var gO=cE(this.cm,gS.from());var gT=cE(this.cm,gS.to());if(!gO&&!gT){return}var gW=this.cm.display.view;var gR=gP.rangeCount&&gP.getRangeAt(0);if(!gO){gO={node:gW[0].measure.map[2],offset:0}}else{if(!gT){var gN=gW[gW.length-1].measure;var gX=gN.maps?gN.maps[gN.maps.length-1]:gN.map;gT={node:gX[gX.length-1],offset:gX[gX.length-2]-gX[gX.length-3]}}}var i;try{i=cr(gO.node,gO.offset,gT.offset,gT.node)}catch(gV){}if(i){if(!ct&&this.cm.state.focused){gP.collapse(gO.node,gO.offset);if(!i.collapsed){gP.removeAllRanges();gP.addRange(i)}}else{gP.removeAllRanges();gP.addRange(i)}if(gR&&gP.anchorNode==null){gP.addRange(gR)}else{if(ct){this.startGracePeriod()}}}this.rememberSelection()},startGracePeriod:function(){var i=this;clearTimeout(this.gracePeriod);this.gracePeriod=setTimeout(function(){i.gracePeriod=false;if(i.selectionChanged()){i.cm.operation(function(){return i.cm.curOp.selectionChanged=true})}},20)},showMultipleSelections:function(i){bV(this.cm.display.cursorDiv,i.cursors);bV(this.cm.display.selectionDiv,i.selection)},rememberSelection:function(){var i=window.getSelection();this.lastAnchorNode=i.anchorNode;this.lastAnchorOffset=i.anchorOffset;this.lastFocusNode=i.focusNode;this.lastFocusOffset=i.focusOffset},selectionInEditor:function(){var gN=window.getSelection();if(!gN.rangeCount){return false}var i=gN.getRangeAt(0).commonAncestorContainer;return gD(this.div,i)},focus:function(){if(this.cm.options.readOnly!="nocursor"){if(!this.selectionInEditor()){this.showSelection(this.prepareSelection(),true)}this.div.focus()}},blur:function(){this.div.blur()},getField:function(){return this.div},supportsTouch:function(){return true},receivedFocus:function(){var i=this;if(this.selectionInEditor()){this.pollSelection()}else{cS(this.cm,function(){return i.cm.curOp.selectionChanged=true})}function gN(){if(i.cm.state.focused){i.pollSelection();i.polling.set(i.cm.options.pollInterval,gN)}}this.polling.set(this.cm.options.pollInterval,gN)},selectionChanged:function(){var i=window.getSelection();return i.anchorNode!=this.lastAnchorNode||i.anchorOffset!=this.lastAnchorOffset||i.focusNode!=this.lastFocusNode||i.focusOffset!=this.lastFocusOffset},pollSelection:function(){if(!this.composing&&this.readDOMTimeout==null&&!this.gracePeriod&&this.selectionChanged()){var gP=window.getSelection(),i=this.cm;this.rememberSelection();var gN=ay(i,gP.anchorNode,gP.anchorOffset);var gO=ay(i,gP.focusNode,gP.focusOffset);if(gN&&gO){cS(i,function(){bX(i.doc,e8(gN,gO),Y);if(gN.bad||gO.bad){i.curOp.selectionChanged=true}})}}},pollContent:function(){if(this.readDOMTimeout!=null){clearTimeout(this.readDOMTimeout);this.readDOMTimeout=null}var gW=this.cm,g6=gW.display,g4=gW.doc.sel.primary();var g5=g4.from(),gQ=g4.to();if(g5.ch==0&&g5.line>gW.firstLine()){g5=V(g5.line-1,fy(gW.doc,g5.line-1).length)}if(gQ.ch==fy(gW.doc,gQ.line).text.length&&gQ.lineg6.viewTo-1){return false}var gT,gR,gV;if(g5.line==g6.viewFrom||(gT=dz(gW,g5.line))==0){gR=bQ(g6.view[0].line);gV=g6.view[0].node}else{gR=bQ(g6.view[gT].line);gV=g6.view[gT-1].node.nextSibling}var g3=dz(gW,gQ.line);var gY,g1;if(g3==g6.view.length-1){gY=g6.viewTo-1;g1=g6.lineDiv.lastChild}else{gY=bQ(g6.view[g3+1].line)-1;g1=g6.view[g3+1].node.previousSibling}if(!gV){return false}var g7=gW.doc.splitLines(gr(gW,gV,g1,gR,gY));var g0=gw(gW.doc,V(gR,0),V(gY,fy(gW.doc,gY).text.length));while(g7.length>1&&g0.length>1){if(f2(g7)==f2(g0)){g7.pop();g0.pop();gY--}else{if(g7[0]==g0[0]){g7.shift();g0.shift();gR++}else{break}}}var g2=0,gO=0;var gX=g7[0],gN=g0[0],i=Math.min(gX.length,gN.length);while(g21||g7[0]||ck(gS,gZ)){a1(gW.doc,g7,gS,gZ,"+input");return true}},ensurePolled:function(){this.forceCompositionEnd()},reset:function(){this.forceCompositionEnd()},forceCompositionEnd:function(){if(!this.composing){return}this.composing=null;if(!this.pollContent()){ag(this.cm)}this.div.blur();this.div.focus()},readFromDOMSoon:function(){var i=this;if(this.readDOMTimeout!=null){return}this.readDOMTimeout=setTimeout(function(){i.readDOMTimeout=null;if(i.composing){return}if(i.cm.isReadOnly()||!i.pollContent()){cS(i.cm,function(){return ag(i.cm)})}},80)},setUneditable:function(i){i.contentEditable="false"},onKeyPress:function(i){i.preventDefault();if(!this.cm.isReadOnly()){c7(this.cm,gq)(this.cm,String.fromCharCode(i.charCode==null?i.keyCode:i.charCode),0)}},readOnlyChanged:function(i){this.div.contentEditable=String(i!="nocursor")},onContextMenu:gm,resetPosition:gm,needsContentAttribute:true},dC.prototype);function cE(gS,gQ){var gR=fv(gS,gQ.line);if(!gR||gR.hidden){return null}var gU=fy(gS.doc,gQ.line);var gN=cy(gR,gU,gQ.line);var gO=a(gU),gP="left";if(gO){var i=aH(gO,gQ.ch);gP=i%2?"right":"left"}var gT=aK(gN.map,gQ.ch,gP);gT.offset=gT.collapse=="right"?gT.end:gT.start;return gT}function eE(gN,i){if(i){gN.bad=true}return gN}function gr(gU,gS,gT,gP,gN){var gV="",gO=false,i=gU.doc.lineSeparator();function gQ(gW){return function(gX){return gX.id==gW}}function gR(gZ){if(gZ.nodeType==1){var gW=gZ.getAttribute("cm-text");if(gW!=null){if(gW==""){gV+=gZ.textContent.replace(/\u200b/g,"")}else{gV+=gW}return}var gY=gZ.getAttribute("cm-marker"),g2;if(gY){var g0=gU.findMarks(V(gP,0),V(gN+1,0),gQ(+gY));if(g0.length&&(g2=g0[0].find())){gV+=gw(gU.doc,g2.from,g2.to).join(i)}return}if(gZ.getAttribute("contenteditable")=="false"){return}for(var gX=0;gX=9&&gS.hasSelection){gS.hasSelection=null}gN.poll()});b0(gP,"paste",function(gT){if(aR(i,gT)||ba(gT,i)){return}i.state.pasteIncoming=true;gN.fastPoll()});function gQ(gU){if(aR(i,gU)){return}if(i.somethingSelected()){dc({lineWise:false,text:i.getSelections()});if(gN.inaccurateSelection){gN.prevInput="";gN.inaccurateSelection=false;gP.value=bm.text.join("\n");dT(gP)}}else{if(!i.options.lineWiseCopyCut){return}else{var gT=dq(i);dc({lineWise:true,text:gT.text});if(gU.type=="cut"){i.setSelections(gT.ranges,null,Y)}else{gN.prevInput="";gP.value=gT.text.join("\n");dT(gP)}}}if(gU.type=="cut"){i.state.cutIncoming=true}}b0(gP,"cut",gQ);b0(gP,"copy",gQ);b0(gO.scroller,"paste",function(gT){if(bb(gO,gT)||aR(i,gT)){return}i.state.pasteIncoming=true;gN.focus()});b0(gO.lineSpace,"selectstart",function(gT){if(!bb(gO,gT)){cL(gT)}});b0(gP,"compositionstart",function(){var gT=i.getCursor("from");if(gN.composing){gN.composing.range.clear()}gN.composing={start:gT,range:i.markText(gT,i.getCursor("to"),{className:"CodeMirror-composing"})}});b0(gP,"compositionend",function(){if(gN.composing){gN.poll();gN.composing.range.clear();gN.composing=null}})},prepareSelection:function(){var gN=this.cm,gR=gN.display,gQ=gN.doc;var i=f5(gN);if(gN.options.moveInputWithCursor){var gS=d3(gN,gQ.sel.primary().head,"div");var gO=gR.wrapper.getBoundingClientRect(),gP=gR.lineDiv.getBoundingClientRect();i.teTop=Math.max(0,Math.min(gR.wrapper.clientHeight-10,gS.top+gP.top-gO.top));i.teLeft=Math.max(0,Math.min(gR.wrapper.clientWidth-10,gS.left+gP.left-gO.left))}return i},showSelection:function(gO){var i=this.cm,gN=i.display;bV(gN.cursorDiv,gO.cursors);bV(gN.selectionDiv,gO.selection);if(gO.teTop!=null){this.wrapper.style.top=gO.teTop+"px";this.wrapper.style.left=gO.teLeft+"px"}},reset:function(gP){if(this.contextMenuPending){return}var gN,gO,i=this.cm,gR=i.doc;if(i.somethingSelected()){this.prevInput="";var gS=gR.sel.primary();gN=dh&&(gS.to().line-gS.from().line>100||(gO=i.getSelection()).length>1000);var gQ=gN?"-":gO||i.getSelection();this.textarea.value=gQ;if(i.state.focused){dT(this.textarea)}if(dS&&l>=9){this.hasSelection=gQ}}else{if(!gP){this.prevInput=this.textarea.value="";if(dS&&l>=9){this.hasSelection=null}}}this.inaccurateSelection=gN},getField:function(){return this.textarea},supportsTouch:function(){return false},focus:function(){if(this.cm.options.readOnly!="nocursor"&&(!er||dW()!=this.textarea)){try{this.textarea.focus()}catch(i){}}},blur:function(){this.textarea.blur()},resetPosition:function(){this.wrapper.style.top=this.wrapper.style.left=0},receivedFocus:function(){this.slowPoll()},slowPoll:function(){var i=this;if(this.pollingFast){return}this.polling.set(this.cm.options.pollInterval,function(){i.poll();if(i.cm.state.focused){i.slowPoll()}})},fastPoll:function(){var gN=false,i=this;i.pollingFast=true;function gO(){var gP=i.poll();if(!gP&&!gN){gN=true;i.polling.set(60,gO)}else{i.pollingFast=false;i.slowPoll()}}i.polling.set(20,gO)},poll:function(){var gT=this;var i=this.cm,gO=this.textarea,gP=this.prevInput;if(this.contextMenuPending||!i.state.focused||(bu(gO)&&!gP&&!this.composing)||i.isReadOnly()||i.options.disableInput||i.state.keySeq){return false}var gR=gO.value;if(gR==gP&&!i.somethingSelected()){return false}if(dS&&l>=9&&this.hasSelection===gR||cb&&/[\uf700-\uf7ff]/.test(gR)){i.display.input.reset();return false}if(i.doc.sel==i.display.selForContextMenu){var gQ=gR.charCodeAt(0);if(gQ==8203&&!gP){gP="\u200b"}if(gQ==8666){this.reset();return this.cm.execCommand("undo")}}var gS=0,gN=Math.min(gP.length,gR.length);while(gS1000||gR.indexOf("\n")>-1){gO.value=gT.prevInput=""}else{gT.prevInput=gR}if(gT.composing){gT.composing.range.clear();gT.composing.range=i.markText(gT.composing.start,i.getCursor("to"),{className:"CodeMirror-composing"})}});return true},ensurePolled:function(){if(this.pollingFast&&this.poll()){this.pollingFast=false}},onKeyPress:function(){if(dS&&l>=9){this.hasSelection=null}this.fastPoll()},onContextMenu:function(gR){var gW=this,gX=gW.cm,gT=gX.display,gN=gW.textarea;var gV=cs(gX,gR),i=gT.scroller.scrollTop;if(!gV||ec){return}var gQ=gX.options.resetSelectionOnContextMenu;if(gQ&&gX.doc.sel.contains(gV)==-1){c7(gX,bX)(gX.doc,e8(gV),Y)}var gS=gN.style.cssText,g0=gW.wrapper.style.cssText;gW.wrapper.style.cssText="position: absolute";var gZ=gW.wrapper.getBoundingClientRect();gN.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(gR.clientY-gZ.top-5)+"px; left: "+(gR.clientX-gZ.left-5)+"px;\n z-index: 1000; background: "+(dS?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";var gY;if(c6){gY=window.scrollY}gT.input.focus();if(c6){window.scrollTo(null,gY)}gT.input.reset();if(!gX.somethingSelected()){gN.value=gW.prevInput=" "}gW.contextMenuPending=true;gT.selForContextMenu=gX.doc.sel;clearTimeout(gT.detectingSelectAll);function gP(){if(gN.selectionStart!=null){var g1=gX.somethingSelected();var g2="\u200b"+(g1?gN.value:"");gN.value="\u21da";gN.value=g2;gW.prevInput=g1?"":"\u200b";gN.selectionStart=1;gN.selectionEnd=g2.length;gT.selForContextMenu=gX.doc.sel}}function gU(){gW.contextMenuPending=false;gW.wrapper.style.cssText=g0;gN.style.cssText=gS;if(dS&&l<9){gT.scrollbars.setScrollTop(gT.scroller.scrollTop=i)}if(gN.selectionStart!=null){if(!dS||(dS&&l<9)){gP()}var g1=0,g2=function(){if(gT.selForContextMenu==gX.doc.sel&&gN.selectionStart==0&&gN.selectionEnd>0&&gW.prevInput=="\u200b"){c7(gX,ak)(gX)}else{if(g1++<10){gT.detectingSelectAll=setTimeout(g2,500)}else{gT.input.reset()}}};gT.detectingSelectAll=setTimeout(g2,200)}}if(dS&&l>=9){gP()}if(gC){eD(gR);var gO=function(){eq(window,"mouseup",gO);setTimeout(gU,20)};b0(window,"mouseup",gO)}else{setTimeout(gU,50)}},readOnlyChanged:function(i){if(!i){this.reset()}},setUneditable:gm,needsContentAttribute:false},W.prototype);function f3(gT,gU){gU=gU?aN(gU):{};gU.value=gT.value;if(!gU.tabindex&&gT.tabIndex){gU.tabindex=gT.tabIndex}if(!gU.placeholder&&gT.placeholder){gU.placeholder=gT.placeholder}if(gU.autofocus==null){var i=dW();gU.autofocus=i==gT||gT.getAttribute("autofocus")!=null&&i==document.body}function gQ(){gT.value=gS.getValue()}var gR;if(gT.form){b0(gT.form,"submit",gQ);if(!gU.leaveSubmitMethodAlone){var gN=gT.form;gR=gN.submit;try{var gP=gN.submit=function(){gQ();gN.submit=gR;gN.submit();gN.submit=gP}}catch(gO){}}}gU.finishInit=function(gV){gV.save=gQ;gV.getTextArea=function(){return gT};gV.toTextArea=function(){gV.toTextArea=isNaN;gQ();gT.parentNode.removeChild(gV.getWrapperElement());gT.style.display="";if(gT.form){eq(gT.form,"submit",gQ);if(typeof gT.form.submit=="function"){gT.form.submit=gR}}}};gT.style.display="none";var gS=fn(function(gV){return gT.parentNode.insertBefore(gV,gT.nextSibling)},gU);return gS}function f8(i){i.off=eq;i.on=b0;i.wheelEventPixels=az;i.Doc=at;i.splitLines=gh;i.countColumn=bU;i.findColumn=eC;i.isWordChar=fZ;i.Pass=cg;i.signal=aE;i.Line=gy;i.changeEnd=c3;i.scrollbarModel=bn;i.Pos=V;i.cmpPos=ck;i.modes=dA;i.mimeModes=aS;i.resolveMode=gE;i.getMode=fV;i.modeExtensions=dx;i.extendMode=eS;i.copyState=b7;i.startState=b4;i.innerMode=gA;i.commands=eR;i.keyMap=fu;i.keyName=fK;i.isModifierKey=eO;i.lookupKey=j;i.normalizeKeyMap=cM;i.StringStream=fb;i.SharedTextMarker=x;i.TextMarker=P;i.LineWidget=dJ;i.e_preventDefault=cL;i.e_stopPropagation=dy;i.e_stop=eD;i.addClass=fW;i.contains=gD;i.rmClass=h;i.keyNames=fA}eW(fn);dX(fn);var d="iter insert remove copy getEditor constructor".split(" ");for(var bN in at.prototype){if(at.prototype.hasOwnProperty(bN)&&dr(d,bN)<0){fn.prototype[bN]=(function(i){return function(){return i.apply(this.doc,arguments)}})(at.prototype[bN])}}bC(at);fn.inputStyles={textarea:W,contenteditable:dC};fn.defineMode=function(i){if(!fn.defaults.mode&&i!="null"){fn.defaults.mode=i}eG.apply(this,arguments)};fn.defineMIME=bo;fn.defineMode("null",function(){return({token:function(i){return i.skipToEnd()}})});fn.defineMIME("text/plain","null");fn.defineExtension=function(i,gN){fn.prototype[i]=gN};fn.defineDocExtension=function(i,gN){at.prototype[i]=gN};fn.fromTextArea=f3;f8(fn);fn.version="5.21.0";return fn})));