Upgraded phpmyadmin to 4.0.4 (All Languages) - No modifications yet
[openemr.git] / phpmyadmin / js / codemirror / lib / codemirror.js
blob5188f162ae8aa94e9c0e37debf406c615bbdf586
1 window.CodeMirror=(function(){function r(a9,a5){var ct={},bG=r.defaults;for(var aX in bG){if(bG.hasOwnProperty(aX)){ct[aX]=(a5&&a5.hasOwnProperty(aX)?a5:bG)[aX]}}var bJ=ak("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em");bJ.setAttribute("wrap","off");bJ.setAttribute("autocorrect","off");bJ.setAttribute("autocapitalize","off");var cp=ak("div",[bJ],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");var cR=ak("div",null,"CodeMirror-scrollbar-inner");var a8=ak("div",[cR],"CodeMirror-scrollbar");var aO=ak("div"),bD=ak("div",null,null,"position: relative; z-index: -1");var bA=ak("pre","\u00a0","CodeMirror-cursor"),bu=ak("pre","\u00a0","CodeMirror-cursor","visibility: hidden");var aT=ak("div",null,null,"position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;");var bU=ak("div",[aT,bA,bu,bD,aO],null,"position: relative; z-index: 0");var bl=ak("div",null,"CodeMirror-gutter-text"),a3=ak("div",[bl],"CodeMirror-gutter");var cM=ak("div",[a3,ak("div",[bU],"CodeMirror-lines")],null,"position: relative");var cC=ak("div",[cM],null,"position: relative");var bH=ak("div",[cC],"CodeMirror-scroll");bH.setAttribute("tabIndex","-1");var a1=ak("div",[cp,a8,bH],"CodeMirror"+(ct.lineWrapping?" CodeMirror-wrap":""));if(a9.appendChild){a9.appendChild(a1)}else{a9(a1)}c8();c1();if(i){bJ.style.width="0px"}if(!m){bH.draggable=true}bU.style.outline="none";if(ct.tabindex!=null){bJ.tabIndex=ct.tabindex}if(ct.autofocus){b1()}if(!ct.gutter&&!ct.lineNumbers){a3.style.display="none"}if(ah){cp.style.height="1px",cp.style.position="absolute"}if(W){a8.style.zIndex=-2;a8.style.visibility="hidden"}else{if(L){a8.style.minWidth="18px"}}var cA=new j(),aU=new j(),dl;var cH,c4=new al([new Q([new J("")])]),df=0,cO;cm();var dt={from:{line:0,ch:0},to:{line:0,ch:0},inverted:false};var cN,bO,bn,bW=0,bz,cT=false,cY=false,cf=false;var cV,cz,aZ,dj,bc,bf,c5;var bB=0,dm=0,cc=0,cd=0;var cw;var b6=db(0),c9=false,bN=true;var bS=false;var c0=null;aP(function(){bj(ct.value||"");cV=false})();var bx=new F();aE(bH,"mousedown",aP(cP));aE(bH,"dblclick",aP(co));aE(bU,"selectstart",f);if(!x){aE(bH,"contextmenu",bp)}aE(bH,"scroll",cE);aE(a8,"scroll",b2);aE(a8,"mousedown",function(){if(cO){setTimeout(b1,0)}});var cD=aE(window,"resize",function(){if(a1.parentNode){cJ(true)}else{cD()}},true);aE(bJ,"keyup",aP(cQ));aE(bJ,"input",bd);aE(bJ,"keydown",aP(cI));aE(bJ,"keypress",aP(bK));aE(bJ,"focus",dr);aE(bJ,"blur",a2);function b5(dv){if(ct.onDragEvent&&ct.onDragEvent(cF,R(dv))){return}ae(dv)}if(ct.dragDrop){aE(bH,"dragstart",a4);aE(bH,"dragenter",b5);aE(bH,"dragover",b5);aE(bH,"drop",aP(aK))}aE(bH,"paste",function(){b1();bd()});aE(bJ,"paste",function(){cf=true;bd()});aE(bJ,"cut",aP(function(){if(!ct.readOnly){bR("")}}));if(ah){aE(cC,"mouseup",function(){if(document.activeElement==bJ){bJ.blur()}b1()})}var c2;try{c2=(document.activeElement==bJ)}catch(cB){}if(c2||ct.autofocus){setTimeout(dr,20)}else{a2()}function bQ(dv){return dv>=0&&dv<c4.size}var cF=a1.CodeMirror={getValue:cu,setValue:aP(bj),getSelection:cv,replaceSelection:aP(bR),focus:function(){window.focus();b1();dr();bd()},setOption:function(dw,dx){var dv=ct[dw];ct[dw]=dx;if(dw=="mode"||dw=="indentUnit"){cm()}else{if(dw=="readOnly"&&dx=="nocursor"){a2();bJ.blur()}else{if(dw=="readOnly"&&!dx){c7(true)}else{if(dw=="theme"){c8()}else{if(dw=="lineWrapping"&&dv!=dx){aP(dc)()}else{if(dw=="tabSize"){cJ(true)}else{if(dw=="keyMap"){c1()}else{if(dw=="tabindex"){bJ.tabIndex=dx}else{if(dw=="showCursorWhenSelecting"){ds()}}}}}}}}}if(dw=="lineNumbers"||dw=="gutter"||dw=="firstLineNumber"||dw=="theme"||dw=="lineNumberFormatter"){bC();cJ(true)}},getOption:function(dv){return ct[dv]},getMode:function(){return cH},undo:aP(dq),redo:aP(de),indentLine:aP(function(dw,dv){if(typeof dv!="string"){if(dv==null){dv=ct.smartIndent?"smart":"prev"}else{dv=dv?"add":"subtract"}}if(bQ(dw)){b0(dw,dv)}}),indentSelection:aP(c6),historySize:function(){return{undo:bx.done.length,redo:bx.undone.length}},clearHistory:function(){bx=new F()},setHistory:function(dv){bx=new F();bx.done=dv.done;bx.undone=dv.undone},getHistory:function(){function dv(dB){for(var dA=0,dC=[],dD;dA<dB.length;++dA){dC.push(dD=[]);for(var dz=0,dy=dB[dA];dz<dy.length;++dz){var dw=[],dE=dy[dz];dD.push({start:dE.start,added:dE.added,old:dw});for(var dx=0;dx<dE.old.length;++dx){dw.push(au(dE.old[dx]))}}}return dC}return{done:dv(bx.done),undone:dv(bx.undone)}},matchBrackets:aP(function(){cK(true)}),getTokenAt:aP(function(dv){dv=bg(dv);return db(dv.line).getTokenAt(cH,cZ(dv.line),ct.tabSize,dv.ch)}),getStateAfter:function(dv){dv=cr(dv==null?c4.size-1:dv);return cZ(dv+1)},cursorCoords:function(dw,dv){if(dw==null){dw=dt.inverted}return this.charCoords(dw?dt.from:dt.to,dv)},charCoords:function(dw,dv){dw=bg(dw);if(dv=="local"){return dn(dw,false)}if(dv=="div"){return dn(dw,true)}return aM(dw)},coordsChar:function(dv){var dw=B(bU);return b9(dv.x-dw.left,dv.y-dw.top)},defaultTextHeight:function(){return ch()},markText:aP(b7),setBookmark:bh,findMarksAt:bL,setMarker:aP(cn),clearMarker:aP(aS),setLineClass:aP(bI),hideLine:aP(function(dv){return dg(dv,true)}),showLine:aP(function(dv){return dg(dv,false)}),onDeleteLine:function(dv,dw){if(typeof dv=="number"){if(!bQ(dv)){return null}dv=db(dv)}(dv.handlers||(dv.handlers=[])).push(dw);return dv},lineInfo:bi,getViewport:function(){return{from:dm,to:cc}},addWidget:function(dz,dx,dB,dy,dD){dz=dn(bg(dz));var dA=dz.yBot,dw=dz.x;dx.style.position="absolute";cC.appendChild(dx);if(dy=="over"){dA=dz.y}else{if(dy=="near"){var dv=Math.max(bH.offsetHeight,c4.height*ch()),dC=Math.max(cC.clientWidth,bU.clientWidth)-bt();if(dz.yBot+dx.offsetHeight>dv&&dz.y>dx.offsetHeight){dA=dz.y-dx.offsetHeight}if(dw+dx.offsetWidth>dC){dw=dC-dx.offsetWidth}}}dx.style.top=(dA+cX())+"px";dx.style.left=dx.style.right="";if(dD=="right"){dw=cC.clientWidth-dx.offsetWidth;dx.style.right="0px"}else{if(dD=="left"){dw=0}else{if(dD=="middle"){dw=(cC.clientWidth-dx.offsetWidth)/2}}dx.style.left=(dw+bt())+"px"}if(dB){aY(dw,dA,dw+dx.offsetWidth,dA+dx.offsetHeight)}},lineCount:function(){return c4.size},clipPos:bg,getCursor:function(dv){if(dv==null||dv=="head"){dv=dt.inverted}if(dv=="anchor"){dv=!dt.inverted}if(dv=="end"){dv=false}return aa(dv?dt.from:dt.to)},somethingSelected:function(){return !T(dt.from,dt.to)},setCursor:aP(function(dv,dx,dw){if(dx==null&&typeof dv.line=="number"){bv(dv.line,dv.ch,dw)}else{bv(dv,dx,dw)}}),setSelection:aP(function(dx,dw,dv){(dv?bZ:bX)(bg(dx),bg(dw||dx))}),getLine:function(dv){if(bQ(dv)){return db(dv).text}},getLineHandle:function(dv){if(bQ(dv)){return db(dv)}},setLine:aP(function(dv,dw){if(bQ(dv)){ci(dw,{line:dv,ch:0},{line:dv,ch:db(dv).text.length})}}),removeLine:aP(function(dv){if(bQ(dv)){ci("",{line:dv,ch:0},bg({line:dv+1,ch:0}))}}),replaceRange:aP(ci),getRange:function(dx,dw,dv){return dk(bg(dx),bg(dw),dv)},triggerOnKeyDown:aP(cI),execCommand:function(dv){return t[dv](cF)},moveH:aP(da),deleteH:aP(cS),moveV:aP(c3),toggleOverwrite:function(){if(cT){cT=false;bA.className=bA.className.replace(" CodeMirror-overwrite","")}else{cT=true;bA.className+=" CodeMirror-overwrite"}},posFromIndex:function(dw){var dx=0,dv;c4.iter(0,c4.size,function(dy){var dz=dy.text.length+1;if(dz>dw){dv=dw;return true}dw-=dz;++dx});return bg({line:dx,ch:dv})},indexFromPos:function(dw){if(dw.line<0||dw.ch<0){return 0}var dv=dw.ch;c4.iter(0,dw.line,function(dx){dv+=dx.text.length+1});return dv},scrollTo:function(dv,dw){if(dv!=null){bH.scrollLeft=dv}if(dw!=null){a8.scrollTop=bH.scrollTop=dw}cJ([])},getScrollInfo:function(){return{x:bH.scrollLeft,y:a8.scrollTop,height:a8.scrollHeight,width:bH.scrollWidth}},scrollIntoView:function(dw){var dv=dn(dw?bg(dw):dt.inverted?dt.from:dt.to);aY(dv.x,dv.y,dv.x,dv.yBot)},setSize:function(dx,dv){function dw(dy){dy=String(dy);return/^\d+$/.test(dy)?dy+"px":dy}if(dx!=null){a1.style.width=dw(dx)}if(dv!=null){bH.style.height=dw(dv)}cF.refresh()},operation:function(dv){return aP(dv)()},compoundChange:function(dv){return cg(dv)},refresh:function(){cJ(true,null,bW);if(a8.scrollHeight>bW){a8.scrollTop=bW}},getInputField:function(){return bJ},getWrapperElement:function(){return a1},getScrollerElement:function(){return bH},getGutterElement:function(){return a3}};function db(dv){return M(c4,dv)}function br(dw,dv){bf=true;var dx=dv-dw.height;for(var dy=dw;dy;dy=dy.parent){dy.height+=dx}}function ce(dv,dw){if(!dv.styles){dv.highlight(cH,dv.stateAfter=cZ(X(dv)),ct.tabSize)}return dv.getContent(ct.tabSize,dw,ct.lineWrapping)}function bj(dv){var dw={line:0,ch:0};bb(dw,{line:c4.size-1,ch:db(c4.size-1).text.length},h(dv),dw,dw);cV=true}function cu(dw){var dv=[];c4.iter(0,c4.size,function(dx){dv.push(dx.text)});return dv.join(dw||"\n")}function b2(dv){if(Math.abs(a8.scrollTop-bW)>1){bW=bH.scrollTop=a8.scrollTop;cJ([])}}function cE(dv){if(ct.fixedGutter&&a3.style.left!=bH.scrollLeft+"px"){a3.style.left=bH.scrollLeft+"px"}if(Math.abs(bH.scrollTop-bW)>1){bW=bH.scrollTop;if(a8.scrollTop!=bW){a8.scrollTop=bW}cJ([])}if(ct.onScroll){ct.onScroll(cF)}}function cP(dH){bs(ad(dH,"shiftKey"));for(var dB=ar(dH);dB!=a1;dB=dB.parentNode){if(dB.parentNode==cC&&dB!=cM){return}}for(var dB=ar(dH);dB!=a1;dB=dB.parentNode){if(dB.parentNode==bl){if(ct.onGutterClick){ct.onGutterClick(cF,u(bl.childNodes,dB)+dm,dH)}return f(dH)}}var dw=bq(dH);switch(E(dH)){case 3:if(x){bp(dH)}return;case 2:if(dw){bv(dw.line,dw.ch,true)}setTimeout(b1,20);f(dH);return}if(!dw){if(ar(dH)==bH){f(dH)}return}if(!cO){dr()}var dx=+new Date,dK="single";if(bn&&bn.time>dx-400&&T(bn.pos,dw)){dK="triple";f(dH);setTimeout(b1,20);a6(dw.line)}else{if(bO&&bO.time>dx-400&&T(bO.pos,dw)){dK="double";bn={time:dx,pos:dw};f(dH);var dv=bT(dw);bZ(dv.from,dv.to)}else{bO={time:dx,pos:dw}}}function dC(dM){if(m){bH.draggable=false}bz=false;dG();dA();if(Math.abs(dH.clientX-dM.clientX)+Math.abs(dH.clientY-dM.clientY)<10){f(dM);bv(dw.line,dw.ch,true);b1()}}var dL=dw,dz;if(ct.dragDrop&&ac&&!ct.readOnly&&!T(dt.from,dt.to)&&!D(dw,dt.from)&&!D(dt.to,dw)&&dK=="single"){if(m){bH.draggable=true}var dG=aE(document,"mouseup",aP(dC),true);var dA=aE(bH,"drop",aP(dC),true);bz=true;if(bH.dragDrop){bH.dragDrop()}return}f(dH);if(dK=="single"){bv(dw.line,dw.ch,true)}var dJ=dt.from,dy=dt.to;function dE(dN){if(dK=="single"){bZ(bg(dw),dN);return}dJ=bg(dJ);dy=bg(dy);if(dK=="double"){var dM=bT(dN);if(D(dN,dJ)){bZ(dM.from,dy)}else{bZ(dJ,dM.to)}}else{if(dK=="triple"){if(D(dN,dJ)){bZ(dy,bg({line:dN.line,ch:0}))}else{bZ(dJ,bg({line:dN.line+1,ch:0}))}}}}function dI(dM){var dO=bq(dM,true);if(dO&&!T(dO,dL)){if(!cO){dr()}dL=dO;dE(dO);cV=false;var dN=b3();if(dO.line>=dN.to||dO.line<dN.from){dz=setTimeout(aP(function(){dI(dM)}),150)}}}function dF(dM){clearTimeout(dz);var dN=bq(dM);if(dN){dE(dN)}f(dM);b1();cV=true;dD();dG()}var dD=aE(document,"mousemove",aP(function(dM){clearTimeout(dz);f(dM);if(!U&&!E(dM)){dF(dM)}else{dI(dM)}}),true);var dG=aE(document,"mouseup",aP(dF),true)}function co(dv){for(var dw=ar(dv);dw!=a1;dw=dw.parentNode){if(dw.parentNode==bl){return f(dv)}}f(dv)}function aK(dz){if(ct.onDragEvent&&ct.onDragEvent(cF,R(dz))){return}f(dz);var dC=bq(dz,true),dw=dz.dataTransfer.files;if(!dC||ct.readOnly){return}if(dw&&dw.length&&window.FileReader&&window.File){var dB=dw.length,dA=Array(dB),dx=0;var dy=function(dF,dE){var dD=new FileReader;dD.onload=function(){dA[dE]=dD.result;if(++dx==dB){dC=bg(dC);aP(function(){var dG=ci(dA.join(""),dC,dC);bZ(dC,dG)})()}};dD.readAsText(dF)};for(var dv=0;dv<dB;++dv){dy(dw[dv],dv)}}else{if(bz&&!(D(dC,dt.from)||D(dt.to,dC))){return}try{var dA=dz.dataTransfer.getData("Text");if(dA){cg(function(){var dE=dt.from,dD=dt.to;bZ(dC,dC);if(bz){ci("",dE,dD)}bR(dA);b1()})}}catch(dz){}}}function a4(dw){var dv=cv();dw.dataTransfer.setData("Text",dv);if(dw.dataTransfer.setDragImage){dw.dataTransfer.setDragImage(ak("img"),0,0)}}function bF(dx,dv){if(typeof dx=="string"){dx=t[dx];if(!dx){return false}}var dw=cN;try{if(ct.readOnly){cY=true}if(dv){cN=null}dx(cF)}catch(dy){if(dy!=aq){throw dy}return false}finally{cN=dw;cY=false}return true}var b4;function dh(dB){var dv=at(ct.keyMap),dy=dv.auto;clearTimeout(b4);if(dy&&!aj(dB)){b4=setTimeout(function(){if(at(ct.keyMap)==dv){ct.keyMap=(dy.call?dy.call(null,cF):dy)}},50)}var dw=w[ad(dB,"keyCode")],dA=false;if(dw==null||dB.altGraphKey){return false}if(ad(dB,"altKey")){dw="Alt-"+dw}if(ad(dB,d?"metaKey":"ctrlKey")){dw="Ctrl-"+dw}if(ad(dB,d?"ctrlKey":"metaKey")){dw="Cmd-"+dw}var dz=false;function dx(){dz=true}if(ad(dB,"shiftKey")){dA=av("Shift-"+dw,ct.extraKeys,ct.keyMap,function(dC){return bF(dC,true)},dx)||av(dw,ct.extraKeys,ct.keyMap,function(dC){if(typeof dC=="string"&&/^go[A-Z]/.test(dC)){return bF(dC)}},dx)}else{dA=av(dw,ct.extraKeys,ct.keyMap,bF,dx)}if(dz){dA=false}if(dA){f(dB);di();if(I){dB.oldKeyCode=dB.keyCode;dB.keyCode=0}}return dA}function cq(dx,dv){var dw=av("'"+dv+"'",ct.extraKeys,ct.keyMap,function(dy){return bF(dy,true)});if(dw){f(dx);di()}return dw}var dd=null;function cI(dx){if(!cO){dr()}if(U&&dx.keyCode==27){dx.returnValue=false}if(bS){if(cb()){bS=false}}if(ct.onKeyEvent&&ct.onKeyEvent(cF,R(dx))){return}var dv=ad(dx,"keyCode");bs(dv==16||ad(dx,"shiftKey"));var dw=dh(dx);if(ax){dd=dw?dv:null;if(!dw&&dv==88&&ad(dx,K?"metaKey":"ctrlKey")){bR("")}}}function bK(dy){if(bS){cb()}if(ct.onKeyEvent&&ct.onKeyEvent(cF,R(dy))){return}var dx=ad(dy,"keyCode"),dv=ad(dy,"charCode");if(ax&&dx==dd){dd=null;f(dy);return}if(((ax&&(!dy.which||dy.which<10))||ah)&&dh(dy)){return}var dw=String.fromCharCode(dv==null?dx:dv);if(ct.electricChars&&cH.electricChars&&ct.smartIndent&&!ct.readOnly){if(cH.electricChars.indexOf(dw)>-1){setTimeout(aP(function(){b0(dt.to.line,"smart")}),75)}}if(cq(dy,dw)){return}bd()}function cQ(dv){if(ct.onKeyEvent&&ct.onKeyEvent(cF,R(dv))){return}if(ad(dv,"keyCode")==16){cN=null}}function dr(){if(ct.readOnly=="nocursor"){return}if(!cO){if(ct.onFocus){ct.onFocus(cF)}cO=true;if(bH.className.search(/\bCodeMirror-focused\b/)==-1){bH.className+=" CodeMirror-focused"}}aJ();di()}function a2(){if(cO){if(ct.onBlur){ct.onBlur(cF)}cO=false;if(cw){aP(function(){if(cw){cw();cw=null}})()}bH.className=bH.className.replace(" CodeMirror-focused","")}clearInterval(dl);setTimeout(function(){if(!cO){cN=null}},150)}function bb(dB,dA,dz,dw,dv){if(cY){return}var dy=[];c4.iter(dB.line,dA.line+1,function(dC){dy.push(k(dC.text,dC.markedSpans))});if(bx){bx.addChange(dB.line,dz.length,dy);while(bx.done.length>ct.undoDepth){bx.done.shift()}}var dx=Y(e(dy[0]),e(P(dy)),dB.ch,dA.ch,dz);aQ(dB,dA,dx,dw,dv)}function cG(dA,dB){if(!dA.length){return}var dC=dA.pop(),dw=[];for(var dx=dC.length-1;dx>=0;dx-=1){var dz=dC[dx];var dD=[],dv=dz.start+dz.added;c4.iter(dz.start,dv,function(dE){dD.push(k(dE.text,dE.markedSpans))});dw.push({start:dz.start,added:dz.old.length,old:dD});var dy={line:dz.start+dz.old.length-1,ch:C(au(P(dD)),au(P(dz.old)))};aQ({line:dz.start,ch:0},{line:dv-1,ch:db(dv-1).text.length},dz.old,dy,dy)}cV=true;dB.push(dw)}function dq(){cG(bx.done,bx.undone)}function de(){cG(bx.undone,bx.done)}function aQ(dK,dz,dw,dv,dO){if(cY){return}var dN=false,dy=b6.text.length;if(!ct.lineWrapping){c4.iter(dK.line,dz.line+1,function(dP){if(!dP.hidden&&dP.text.length==dy){dN=true;return true}})}if(dK.line!=dz.line||dw.length>1){bf=true}var dI=dz.line-dK.line,dH=db(dK.line),dx=db(dz.line);var dE=P(dw);if(dK.ch==0&&dz.ch==0&&au(dE)==""){var dF=[],dG=null;for(var dL=0,dM=dw.length-1;dL<dM;++dL){dF.push(new J(au(dw[dL]),e(dw[dL])))}dx.update(dx.text,e(dE));if(dI){c4.remove(dK.line,dI,c5)}if(dF.length){c4.insert(dK.line,dF)}}else{if(dH==dx){if(dw.length==1){dH.update(dH.text.slice(0,dK.ch)+au(dw[0])+dH.text.slice(dz.ch),e(dw[0]))}else{for(var dF=[],dL=1,dM=dw.length-1;dL<dM;++dL){dF.push(new J(au(dw[dL]),e(dw[dL])))}dF.push(new J(au(dE)+dH.text.slice(dz.ch),e(dE)));dH.update(dH.text.slice(0,dK.ch)+au(dw[0]),e(dw[0]));c4.insert(dK.line+1,dF)}}else{if(dw.length==1){dH.update(dH.text.slice(0,dK.ch)+au(dw[0])+dx.text.slice(dz.ch),e(dw[0]));c4.remove(dK.line+1,dI,c5)}else{var dF=[];dH.update(dH.text.slice(0,dK.ch)+au(dw[0]),e(dw[0]));dx.update(au(dE)+dx.text.slice(dz.ch),e(dE));for(var dL=1,dM=dw.length-1;dL<dM;++dL){dF.push(new J(au(dw[dL]),e(dw[dL])))}if(dI>1){c4.remove(dK.line+1,dI-1,c5)}c4.insert(dK.line+1,dF)}}}if(ct.lineWrapping){var dB=Math.max(5,bH.clientWidth/bE()-3);c4.iter(dK.line,dK.line+dw.length,function(dP){if(dP.hidden){return}var dQ=Math.ceil(dP.text.length/dB)||1;if(dQ!=dP.height){br(dP,dQ)}})}else{c4.iter(dK.line,dK.line+dw.length,function(dQ){var dP=dQ.text;if(!dQ.hidden&&dP.length>dy){b6=dQ;dy=dP.length;bN=true;dN=false}});if(dN){c9=true}}df=Math.min(df,dK.line);b8(400);var dD=dw.length-dI-1;aZ.push({from:dK.line,to:dz.line+1,diff:dD});if(ct.onChange){for(var dL=0;dL<dw.length;++dL){if(typeof dw[dL]!="string"){dw[dL]=dw[dL].text}}var dC={from:dK,to:dz,text:dw};if(dj){for(var dA=dj;dA.next;dA=dA.next){}dA.next=dC}else{dj=dC}}function dJ(dP){return dP<=Math.min(dz.line,dz.line+dD)?dP:dP+dD}bX(bg(dv),bg(dO),dJ(dt.from.line),dJ(dt.to.line))}function aN(){var dv=c4.height*ch()+2*cX();return dv*0.99>bH.offsetHeight?dv:false}function aR(dw){var dv=aN();a8.style.display=dv?"block":"none";if(dv){cR.style.height=cC.style.minHeight=dv+"px";a8.style.height=bH.clientHeight+"px";if(dw!=null){a8.scrollTop=bH.scrollTop=dw;if(m){setTimeout(function(){if(a8.scrollTop!=dw){return}a8.scrollTop=dw+(dw?-1:1);a8.scrollTop=dw},0)}}}else{cC.style.minHeight=""}cM.style.top=bB*ch()+"px"}function bY(){b6=db(0);bN=true;var dv=b6.text.length;c4.iter(1,c4.size,function(dx){var dw=dx.text;if(!dx.hidden&&dw.length>dv){dv=dw.length;b6=dx}});c9=false}function ci(dw,dz,dy){dz=bg(dz);if(!dy){dy=dz}else{dy=bg(dy)}dw=h(dw);function dx(dC){if(D(dC,dz)){return dC}if(!D(dy,dC)){return dv}var dA=dC.line+dw.length-(dy.line-dz.line)-1;var dB=dC.ch;if(dC.line==dy.line){dB+=P(dw).length-(dy.ch-(dy.line==dz.line?dz.ch:0))}return{line:dA,ch:dB}}var dv;a0(dw,dz,dy,function(dA){dv=dA;return{from:dx(dt.from),to:dx(dt.to)}});return dv}function bR(dv,dw){a0(h(dv),dt.from,dt.to,function(dx){if(dw=="end"){return{from:dx,to:dx}}else{if(dw=="start"){return{from:dt.from,to:dt.from}}else{return{from:dt.from,to:dx}}}})}function a0(dy,dA,dz,dv){var dx=dy.length==1?dy[0].length+dA.ch:P(dy).length;var dw=dv({line:dA.line+dy.length-1,ch:dx});bb(dA,dz,dy,dw.from,dw.to)}function dk(dA,dz,dy){var dw=dA.line,dv=dz.line;if(dw==dv){return db(dw).text.slice(dA.ch,dz.ch)}var dx=[db(dw).text.slice(dA.ch)];c4.iter(dw+1,dv,function(dB){dx.push(dB.text)});dx.push(db(dv).text.slice(0,dz.ch));return dx.join(dy||"\n")}function cv(dv){return dk(dt.from,dt.to,dv)}function aJ(){if(bS){return}cA.set(ct.pollInterval,function(){cb();if(cO){aJ()}})}function bd(){var dv=false;bS=true;function dw(){var dx=cb();if(!dx&&!dv){dv=true;cA.set(60,dw)}else{bS=false;aJ()}}cA.set(20,dw)}var by="";function cb(){if(!cO||b(bJ)||ct.readOnly){return false}var dw=bJ.value;if(dw==by){return false}if(!cW){ba()}cN=null;var dx=0,dv=Math.min(by.length,dw.length);while(dx<dv&&by[dx]==dw[dx]){++dx}if(dx<by.length){dt.from={line:dt.from.line,ch:dt.from.ch-(by.length-dx)}}else{if(cT&&T(dt.from,dt.to)&&!cf){dt.to={line:dt.to.line,ch:Math.min(db(dt.to.line).text.length,dt.to.ch+(dw.length-dx))}}}bR(dw.slice(dx),"end");if(dw.length>1000){bJ.value=by=""}else{by=dw}if(!cW){aW()}cf=false;return true}function c7(dv){if(!T(dt.from,dt.to)){by="";bJ.value=cv();if(cO){aF(bJ)}}else{if(dv){by=bJ.value=""}}}function b1(){if(ct.readOnly!="nocursor"&&(I||document.activeElement!=bJ)){bJ.focus()}}function cL(){var dy=cj();aY(dy.x,dy.y,dy.x,dy.yBot);if(!cO){return}var dw=cC.getBoundingClientRect(),dv=null;if(dy.y+dw.top<0){dv=true}else{if(dy.y+dw.top+ch()>(window.innerHeight||document.documentElement.clientHeight)){dv=false}}if(dv!=null){var dx=bA.style.display=="none";if(dx){bA.style.display="";bA.style.left=dy.x+"px";bA.style.top=(dy.y-bB)+"px"}bA.scrollIntoView(dv);if(dx){bA.style.display="none"}}}function cj(){var dw=dn(dt.inverted?dt.from:dt.to);var dv=ct.lineWrapping?Math.min(dw.x,bU.offsetWidth):dw.x;return{x:dv,y:dw.y,yBot:dw.yBot}}function aY(dw,dy,dv,dx){var dz=bm(dw,dy,dv,dx);if(dz.scrollLeft!=null){bH.scrollLeft=dz.scrollLeft}if(dz.scrollTop!=null){a8.scrollTop=bH.scrollTop=dz.scrollTop}}function bm(dy,dF,dw,dE){var dB=bt(),dK=cX();dF+=dK;dE+=dK;dy+=dB;dw+=dB;var dH=bH.clientHeight,dz=a8.scrollTop,dJ={};var dx=aN()||Infinity;var dv=dF<dK+10,dD=dE+dK>dx-10;if(dF<dz){dJ.scrollTop=dv?0:Math.max(0,dF)}else{if(dE>dz+dH){dJ.scrollTop=(dD?dx:dE)-dH}}var dG=bH.clientWidth,dI=bH.scrollLeft;var dC=ct.fixedGutter?a3.clientWidth:0;var dA=dy<dC+dB+10;if(dy<dI+dC||dA){if(dA){dy=0}dJ.scrollLeft=Math.max(0,dy-10-dC)}else{if(dw>dG+dI-3){dJ.scrollLeft=dw+10-dG}}return dJ}function b3(dz){var dv=ch(),dy=(dz!=null?dz:a8.scrollTop)-cX();var dx=Math.max(0,Math.floor(dy/dv));var dw=Math.ceil((dy+bH.clientHeight)/dv);return{from:af(c4,dx),to:af(c4,dw)}}function cJ(dE,dA,dy){if(!bH.clientWidth){dm=cc=bB=0;return}var dz=b3(dy);if(dE!==true&&dE.length==0&&dz.from>dm&&dz.to<cc){aR(dy);return}var dF=Math.max(dz.from-100,0),dG=Math.min(c4.size,dz.to+100);if(dm<dF&&dF-dm<20){dF=dm}if(cc>dG&&cc-dG<20){dG=Math.min(c4.size,cc)}var dI=dE===true?[]:cs([{from:dm,to:cc,domStart:0}],dE);var dD=0;for(var dB=0;dB<dI.length;++dB){var dC=dI[dB];if(dC.from<dF){dC.domStart+=(dF-dC.from);dC.from=dF}if(dC.to>dG){dC.to=dG}if(dC.from>=dC.to){dI.splice(dB--,1)}else{dD+=dC.to-dC.from}}if(dD==dG-dF&&dF==dm&&dG==cc){aR(dy);return}dI.sort(function(dK,dJ){return dK.domStart-dJ.domStart});var dx=ch(),dv=a3.style.display;aO.style.display="none";be(dF,dG,dI);aO.style.display=a3.style.display="";var dw=dF!=dm||dG!=cc||cd!=bH.clientHeight+dx;if(dw){cd=bH.clientHeight+dx}if(dF!=dm||dG!=cc&&ct.onViewportChange){setTimeout(function(){if(ct.onViewportChange){ct.onViewportChange(cF,dF,dG)}})}dm=dF;cc=dG;bB=a(c4,dF);b8(100);if(aO.childNodes.length!=cc-dm){throw new Error("BAD PATCH! "+JSON.stringify(dI)+" size="+(cc-dm)+" nodes="+aO.childNodes.length)}function dH(){var dK=aO.firstChild,dJ=false;c4.iter(dm,cc,function(dM){if(!dK){return}if(!dM.hidden){var dL=Math.round(dK.offsetHeight/dx)||1;if(dM.height!=dL){br(dM,dL);bf=dJ=true}}dK=dK.nextSibling});return dJ}if(ct.lineWrapping){dH()}a3.style.display=dv;if(dw||bf){a7()&&ct.lineWrapping&&dH()&&a7()}aR(dy);ds();if(!dA&&ct.onUpdate){ct.onUpdate(cF)}return true}function cs(dE,dC){for(var dz=0,dx=dC.length||0;dz<dx;++dz){var dB=dC[dz],dv=[],dD=dB.diff||0;for(var dy=0,dw=dE.length;dy<dw;++dy){var dA=dE[dy];if(dB.to<=dA.from&&dB.diff){dv.push({from:dA.from+dD,to:dA.to+dD,domStart:dA.domStart})}else{if(dB.to<=dA.from||dB.from>=dA.to){dv.push(dA)}else{if(dB.from>dA.from){dv.push({from:dA.from,to:dB.from,domStart:dA.domStart})}if(dB.to<dA.to){dv.push({from:dB.to+dD,to:dA.to+dD,domStart:dA.domStart+(dB.to-dA.from)})}}}}dE=dv}return dE}function be(dD,dE,dG){function dv(dI){var dH=dI.nextSibling;dI.parentNode.removeChild(dI);return dH}if(!dG.length){aH(aO)}else{var dz=0,dx=aO.firstChild,dw;for(var dA=0;dA<dG.length;++dA){var dF=dG[dA];while(dF.domStart>dz){dx=dv(dx);dz++}for(var dy=0,dC=dF.to-dF.from;dy<dC;++dy){dx=dx.nextSibling;dz++}}while(dx){dx=dv(dx)}}var dB=dG.shift(),dx=aO.firstChild,dy=dD;c4.iter(dD,dE,function(dH){if(dB&&dB.to==dy){dB=dG.shift()}if(!dB||dB.from>dy){if(dH.hidden){var dI=ak("pre")}else{var dI=ce(dH);if(dH.className){dI.className=dH.className}if(dH.bgClassName){var dJ=ak("pre","\u00a0",dH.bgClassName,"position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: -2");dI=ak("div",[dJ,dI],null,"position: relative")}}aO.insertBefore(dI,dx)}else{dx=dx.nextSibling}++dy})}function a7(){if(!ct.gutter&&!ct.lineNumbers){return}var dw=cM.offsetHeight,dE=bH.clientHeight;a3.style.height=(dw-dE<2?dE:dw)+"px";var dC=document.createDocumentFragment(),dA=dm,dD;c4.iter(dm,Math.max(cc,dm+1),function(dG){if(dG.hidden){dC.appendChild(ak("pre"))}else{var dF=dG.gutterMarker;var dJ=ct.lineNumbers?ct.lineNumberFormatter(dA+ct.firstLineNumber):null;if(dF&&dF.text){dJ=dF.text.replace("%N%",dJ!=null?dJ:"")}else{if(dJ==null){dJ="\u00a0"}}var dI=dC.appendChild(ak("pre",null,dF&&dF.style));dI.innerHTML=dJ;for(var dH=1;dH<dG.height;++dH){dI.appendChild(ak("br"));dI.appendChild(document.createTextNode("\u00a0"))}if(!dF){dD=dA}}++dA});a3.style.display="none";s(bl,dC);if(dD!=null&&ct.lineNumbers){var dy=bl.childNodes[dD-dm];var dz=String(c4.size).length,dv=aB(dy.firstChild),dx="";while(dv.length+dx.length<dz){dx+="\u00a0"}if(dx){dy.insertBefore(document.createTextNode(dx),dy.firstChild)}}a3.style.display="";var dB=Math.abs((parseInt(bU.style.marginLeft)||0)-a3.offsetWidth)>2;bU.style.marginLeft=a3.offsetWidth+"px";bf=false;return dB}function ds(){var dy=T(dt.from,dt.to);var dJ=dn(dt.from,true);var dE=dy?dJ:dn(dt.to,true);var dC=dt.inverted?dJ:dE,dw=ch();var dv=B(a1),dx=B(aO);cp.style.top=Math.max(0,Math.min(bH.offsetHeight,dC.y+dx.top-dv.top))+"px";cp.style.left=Math.max(0,Math.min(bH.offsetWidth,dC.x+dx.left-dv.left))+"px";if(dy||ct.showCursorWhenSelecting){bA.style.top=dC.y+"px";bA.style.left=(ct.lineWrapping?Math.min(dC.x,bU.offsetWidth):dC.x)+"px";bA.style.display=""}else{bA.style.display="none"}if(!dy){var dH=dJ.y==dE.y,dB=document.createDocumentFragment();var dF=bU.clientWidth||bU.offsetWidth;var dA=bU.clientHeight||bU.offsetHeight;var dI=function(dO,dN,dM,dK){var dL=n?"width: "+(!dM?dF:dF-dM-dO)+"px":"right: "+(dM-1)+"px";dB.appendChild(ak("div",null,"CodeMirror-selected","position: absolute; left: "+dO+"px; top: "+dN+"px; "+dL+"; height: "+dK+"px"))};if(dt.from.ch&&dJ.y>=0){var dG=dH?dF-dE.x:0;dI(dJ.x,dJ.y,dG,dw)}var dz=Math.max(0,dJ.y+(dt.from.ch?dw:0));var dD=Math.min(dE.y,dA)-dz;if(dD>0.2*dw){dI(0,dz,0,dD)}if((!dH||!dt.from.ch)&&dE.y<dA-0.5*dw){dI(0,dE.y,dF-dE.x,dw)}s(bD,dB);bD.style.display=""}else{bD.style.display="none"}}function bs(dv){if(dv){cN=cN||(dt.inverted?dt.to:dt.from)}else{cN=null}}function bZ(dx,dw){var dv=cN&&bg(cN);if(dv){if(D(dv,dx)){dx=dv}else{if(D(dw,dv)){dw=dv}}}bX(dx,dw);cz=true}function bX(dC,dB,dv,dA){c0=null;if(dv==null){dv=dt.from.line;dA=dt.to.line}if(T(dt.from,dC)&&T(dt.to,dB)){return}if(D(dB,dC)){var dy=dB;dB=dC;dC=dy}if(dC.line!=dv){var dz=ck(dC,dv,dt.from.ch);if(!dz){dg(dC.line,false)}else{dC=dz}}if(dB.line!=dA){dB=ck(dB,dA,dt.to.ch)}if(T(dC,dB)){dt.inverted=false}else{if(T(dC,dt.to)){dt.inverted=false}else{if(T(dB,dt.from)){dt.inverted=true}}}if(ct.autoClearEmptyLines&&T(dt.from,dt.to)){var dx=dt.inverted?dC:dB;if(dx.line!=dt.from.line&&dt.from.line<c4.size){var dw=db(dt.from.line);if(/^\s+$/.test(dw.text)){setTimeout(aP(function(){if(dw.parent&&/^\s+$/.test(dw.text)){var dD=X(dw);ci("",{line:dD,ch:0},{line:dD,ch:dw.text.length})}},10))}}}dt.from=dC;dt.to=dB;bc=true}function ck(dA,dw,dx){function dz(dD){var dF=dA.line+dD,dC=dD==1?c4.size:-1;while(dF!=dC){var dB=db(dF);if(!dB.hidden){var dE=dA.ch;if(dy||dE>dx||dE>dB.text.length){dE=dB.text.length}return{line:dF,ch:dE}}dF+=dD}}var dv=db(dA.line);var dy=dA.ch==dv.text.length&&dA.ch!=dx;if(!dv.hidden){return dA}if(dA.line>=dw){return dz(1)||dz(-1)}else{return dz(-1)||dz(1)}}function bv(dv,dx,dw){var dy=bg({line:dv,ch:dx||0});(dw?bZ:bX)(dy,dy)}function cr(dv){return Math.max(0,Math.min(dv,c4.size-1))}function bg(dx){if(dx.line<0){return{line:0,ch:0}}if(dx.line>=c4.size){return{line:c4.size-1,ch:db(c4.size-1).text.length}}var dv=dx.ch,dw=db(dx.line).text.length;if(dv==null||dv>dw){return{line:dx.line,ch:dw}}else{if(dv<0){return{line:dx.line,ch:0}}else{return dx}}}function cU(dy,dC){var dz=dt.inverted?dt.from:dt.to,dD=dz.line,dv=dz.ch;var dB=db(dD);function dw(){for(var dE=dD+dy,dG=dy<0?-1:c4.size;dE!=dG;dE+=dy){var dF=db(dE);if(!dF.hidden){dD=dE;dB=dF;return true}}}function dA(dE){if(dv==(dy<0?0:dB.text.length)){if(!dE&&dw()){dv=dy<0?dB.text.length:0}else{return false}}else{dv+=dy}return true}if(dC=="char"){dA()}else{if(dC=="column"){dA(true)}else{if(dC=="word"){var dx=false;for(;;){if(dy<0){if(!dA()){break}}if(N(dB.text.charAt(dv))){dx=true}else{if(dx){if(dy<0){dy=1;dA()}break}}if(dy>0){if(!dA()){break}}}}}}return{line:dD,ch:dv}}function da(dv,dw){var dx=dv<0?dt.from:dt.to;if(cN||T(dt.from,dt.to)){dx=cU(dv,dw)}bv(dx.line,dx.ch,true)}function cS(dv,dw){if(!T(dt.from,dt.to)){ci("",dt.from,dt.to)}else{if(dv<0){ci("",cU(dv,dw),dt.to)}else{ci("",dt.from,cU(dv,dw))}}cz=true}function c3(dw,dy){var dA=0,dB=dn(dt.inverted?dt.from:dt.to,true);if(c0!=null){dB.x=c0}if(dy=="page"){var dv=Math.min(bH.clientHeight,window.innerHeight||document.documentElement.clientHeight);var dz=b9(dB.x,dB.y+dv*dw)}else{if(dy=="line"){var dx=ch();var dz=b9(dB.x,dB.y+0.5*dx+dw*dx)}}if(dy=="page"){a8.scrollTop+=dn(dz,true).y-dB.y}bv(dz.line,dz.ch,true);c0=dB.x}function bT(dA){var dy=db(dA.line).text;var dz=dA.ch,dx=dA.ch;if(dy){if(dA.after===false||dx==dy.length){--dz}else{++dx}var dw=dy.charAt(dz);var dv=N(dw)?N:/\s/.test(dw)?function(dB){return/\s/.test(dB)}:function(dB){return !/\s/.test(dB)&&N(dB)};while(dz>0&&dv(dy.charAt(dz-1))){--dz}while(dx<dy.length&&dv(dy.charAt(dx))){++dx}}return{from:{line:dA.line,ch:dz},to:{line:dA.line,ch:dx}}}function a6(dv){bZ({line:dv,ch:0},bg({line:dv+1,ch:0}))}function c6(dx){if(T(dt.from,dt.to)){return b0(dt.from.line,dx)}var dw=dt.to.line-(dt.to.ch?0:1);for(var dv=dt.from.line;dv<=dw;++dv){b0(dv,dx)}}function b0(dx,dE){if(!dE){dE="add"}if(dE=="smart"){if(!cH.indent){dE="prev"}else{var dv=cZ(dx)}}var dF=db(dx),dz=dF.indentation(ct.tabSize),dw=dF.text.match(/^\s*/)[0],dB;if(dE=="smart"){dB=cH.indent(dv,dF.text.slice(dw.length),dF.text);if(dB==aq){dE="prev"}}if(dE=="prev"){if(dx){dB=db(dx-1).indentation(ct.tabSize)}else{dB=0}}else{if(dE=="add"){dB=dz+ct.indentUnit}else{if(dE=="subtract"){dB=dz-ct.indentUnit}}}dB=Math.max(0,dB);var dD=dB-dz;var dC="",dA=0;if(ct.indentWithTabs){for(var dy=Math.floor(dB/ct.tabSize);dy;--dy){dA+=ct.tabSize;dC+="\t"}}if(dA<dB){dC+=az(dB-dA)}if(dC!=dw){ci(dC,{line:dx,ch:0},{line:dx,ch:dw.length})}dF.stateAfter=null}function cm(){cH=r.getMode(ct,ct.mode);c4.iter(0,c4.size,function(dv){dv.stateAfter=null});df=0;b8(100)}function bC(){var dv=ct.gutter||ct.lineNumbers;a3.style.display=dv?"":"none";if(dv){bf=true}else{aO.parentNode.style.marginLeft=0}}function dc(dx,dw){if(ct.lineWrapping){a1.className+=" CodeMirror-wrap";var dv=bH.clientWidth/bE()-3;c4.iter(0,c4.size,function(dy){if(dy.hidden){return}var dz=Math.ceil(dy.text.length/dv)||1;if(dz!=1){br(dy,dz)}});bU.style.minWidth=bu.style.left=""}else{a1.className=a1.className.replace(" CodeMirror-wrap","");bY();c4.iter(0,c4.size,function(dy){if(dy.height!=1&&!dy.hidden){br(dy,1)}})}aZ.push({from:0,to:c4.size})}function c8(){bH.className=bH.className.replace(/\s*cm-s-\S+/g,"")+ct.theme.replace(/(^|\s)\s*/g," cm-s-")}function c1(){var dv=g[ct.keyMap].style;a1.className=a1.className.replace(/\s*cm-keymap-\S+/g,"")+(dv?" cm-keymap-"+dv:"")}function du(dw,dv){this.lines=[];this.type=dw;if(dv){this.style=dv}}du.prototype.clear=aP(function(){var dy,dv;for(var dx=0;dx<this.lines.length;++dx){var dw=this.lines[dx];var dz=aI(dw.markedSpans,this);if(dz.from!=null){dy=X(dw)}if(dz.to!=null){dv=X(dw)}dw.markedSpans=aD(dw.markedSpans,dz)}if(dy!=null){aZ.push({from:dy,to:dv+1})}this.lines.length=0;this.explicitlyCleared=true});du.prototype.find=function(){var dA,dz;for(var dw=0;dw<this.lines.length;++dw){var dv=this.lines[dw];var dx=aI(dv.markedSpans,this);if(dx.from!=null||dx.to!=null){var dy=X(dv);if(dx.from!=null){dA={line:dy,ch:dx.from}}if(dx.to!=null){dz={line:dy,ch:dx.to}}}}if(this.type=="bookmark"){return dA}return dA&&{from:dA,to:dz}};function b7(dB,dA,dz,dx){dB=bg(dB);dA=bg(dA);var dw=new du("range",dz);if(dx){for(var dy in dx){if(dx.hasOwnProperty(dy)){dw[dy]=dx[dy]}}}var dv=dB.line;c4.iter(dv,dA.line+1,function(dC){var dD={from:dv==dB.line?dB.ch:null,to:dv==dA.line?dA.ch:null,marker:dw};dC.markedSpans=(dC.markedSpans||[]).concat([dD]);dw.lines.push(dC);++dv});aZ.push({from:dB.line,to:dA.line+1});return dw}function bh(dy){dy=bg(dy);var dw=new du("bookmark"),dv=db(dy.line);bx.addChange(dy.line,1,[k(dv.text,dv.markedSpans)],true);var dx={from:dy.ch,to:dy.ch,marker:dw};dv.markedSpans=(dv.markedSpans||[]).concat([dx]);dw.lines.push(dv);return dw}function bL(dz){dz=bg(dz);var dy=[],dw=db(dz.line).markedSpans;if(dw){for(var dv=0;dv<dw.length;++dv){var dx=dw[dv];if((dx.from==null||dx.from<=dz.ch)&&(dx.to==null||dx.to>=dz.ch)){dy.push(dx.marker)}}}return dy}function cn(dv,dx,dw){if(typeof dv=="number"){dv=db(cr(dv))}dv.gutterMarker={text:dx,style:dw};bf=true;return dv}function aS(dv){if(typeof dv=="number"){dv=db(cr(dv))}dv.gutterMarker=null;bf=true}function bk(dw,dy){var dx=dw,dv=dw;if(typeof dw=="number"){dv=db(cr(dw))}else{dx=X(dw)}if(dx==null){return null}if(dy(dv,dx)){aZ.push({from:dx,to:dx+1})}else{return null}return dv}function bI(dw,dv,dx){return bk(dw,function(dy){if(dy.className!=dv||dy.bgClassName!=dx){dy.className=dv;dy.bgClassName=dx;return true}})}function dg(dw,dv){return bk(dw,function(dx,dA){if(dx.hidden!=dv){dx.hidden=dv;if(!ct.lineWrapping){if(dv&&dx.text.length==b6.text.length){c9=true}else{if(!dv&&dx.text.length>b6.text.length){b6=dx;c9=false}}}br(dx,dv?0:1);var dz=dt.from.line,dy=dt.to.line;if(dv&&(dz==dA||dy==dA)){var dC=dz==dA?ck({line:dz,ch:0},dz,0):dt.from;var dB=dy==dA?ck({line:dy,ch:0},dy,0):dt.to;if(!dB){return}bX(dC,dB)}return(bf=true)}})}function bi(dw){if(typeof dw=="number"){if(!bQ(dw)){return null}var dx=dw;dw=db(dw);if(!dw){return null}}else{var dx=X(dw);if(dx==null){return null}}var dv=dw.gutterMarker;return{line:dx,handle:dw,text:dw.text,markerText:dv&&dv.text,markerClass:dv&&dv.style,lineClass:dw.className,bgClass:dw.bgClassName}}function cx(dv,dy){if(dy==0){return{top:0,left:0}}var dB=ce(dv,dy);s(aT,dB);var dx=dB.anchor;var dA=dx.offsetTop,dz=dx.offsetLeft;if(U&&dA==0&&dz==0){var dw=ak("span","x");dx.parentNode.insertBefore(dw,dx.nextSibling);dA=dw.offsetTop}return{top:dA,left:dz}}function dn(dA,dy){var dv,dw=ch(),dz=dw*(a(c4,dA.line)-(dy?bB:0));if(dA.ch==0){dv=0}else{var dx=cx(db(dA.line),dA.ch);dv=dx.left;if(ct.lineWrapping){dz+=Math.max(0,dx.top)}}return{x:dv,y:dz,yBot:dz+dw}}function b9(dG,dF){var dD=ch(),dA=bE(),dM=bB+Math.floor(dF/dD);if(dM<0){return{line:0,ch:0}}var dH=af(c4,dM);if(dH>=c4.size){return{line:c4.size-1,ch:db(c4.size-1).text.length}}var dw=db(dH),dJ=dw.text;var dO=ct.lineWrapping,dE=dO?dM-a(c4,dH):0;if(dG<=0&&dE==0){return{line:dH,ch:0}}var dB=false;function dN(dQ){var dR=cx(dw,dQ);if(dO){var dS=Math.round(dR.top/dD);dB=dS!=dE;return Math.max(0,dR.left+(dS-dE)*bH.clientWidth)}return dR.left}var dL=0,dK=0,dx=dJ.length,dv;var dI=Math.min(dx,Math.ceil((dG+dE*bH.clientWidth*0.9)/dA));for(;;){var dC=dN(dI);if(dC<=dG&&dI<dx){dI=Math.min(dx,Math.ceil(dI*1.2))}else{dv=dC;dx=dI;break}}if(dG>dv){return{line:dH,ch:dx}}dI=Math.floor(dx*0.8);dC=dN(dI);if(dC<dG){dL=dI;dK=dC}for(;;){if(dx-dL<=1){var dz=dG-dK<dv-dG;return{line:dH,ch:dz?dL:dx,after:dz}}var dP=Math.ceil((dL+dx)/2),dy=dN(dP);if(dy>dG){dx=dP;dv=dy;if(dB){dv+=1000}}else{dL=dP;dK=dy}}}function aM(dx){var dv=dn(dx,true),dw=B(bU);return{x:dw.left+dv.x,y:dw.top+dv.y,yBot:dw.top+dv.yBot}}var bo,aV,aL;function ch(){if(aL==null){aL=ak("pre");for(var dw=0;dw<49;++dw){aL.appendChild(document.createTextNode("x"));aL.appendChild(ak("br"))}aL.appendChild(document.createTextNode("x"))}var dv=aO.clientHeight;if(dv==aV){return bo}aV=dv;s(aT,aL.cloneNode(true));bo=aT.firstChild.offsetHeight/50||1;aH(aT);return bo}var dp,bV=0;function bE(){if(bH.clientWidth==bV){return dp}bV=bH.clientWidth;var dv=ak("span","x");var dw=ak("pre",[dv]);s(aT,dw);return(dp=dv.offsetWidth||10)}function cX(){return bU.offsetTop}function bt(){return bU.offsetLeft}function bq(dz,dy){var dx=B(bH,true),dv,dA;try{dv=dz.clientX;dA=dz.clientY}catch(dz){return null}if(!dy&&(dv-dx.left>bH.clientWidth||dA-dx.top>bH.clientHeight)){return null}var dw=B(bU,true);return b9(dv-dw.left,dA-dw.top)}var bP;function bp(dw){var dA=bq(dw),dz=a8.scrollTop;if(!dA||ax){return}if(T(dt.from,dt.to)||D(dA,dt.from)||!D(dA,dt.to)){aP(bv)(dA.line,dA.ch)}var dy=bJ.style.cssText;cp.style.position="absolute";bJ.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(dw.clientY-5)+"px; left: "+(dw.clientX-5)+"px; z-index: 1000; background: white; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";b1();c7(true);if(T(dt.from,dt.to)){bJ.value=by=" "}function dv(){cp.style.position="relative";bJ.style.cssText=dy;if(I){a8.scrollTop=dz}aJ();if(bJ.selectionStart!=null){clearTimeout(bP);var dC=bJ.value=" "+(T(dt.from,dt.to)?"":bJ.value),dB=0;by=" ";bJ.selectionStart=1;bJ.selectionEnd=dC.length;bP=setTimeout(function dD(){if(by==" "&&bJ.selectionStart==0){aP(t.selectAll)(cF)}else{if(dB++<10){bP=setTimeout(dD,500)}else{c7()}}},200)}}if(x){ae(dw);var dx=aE(window,"mouseup",function(){dx();setTimeout(dv,20)},true)}else{setTimeout(dv,50)}}function di(){clearInterval(dl);var dv=true;bA.style.visibility="";dl=setInterval(function(){bA.style.visibility=(dv=!dv)?"":"hidden"},ct.cursorBlinkRate)}var bM={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"};function cK(dB){var dv=dt.inverted?dt.from:dt.to,dD=db(dv.line),dw=dv.ch-1;var dA=(dw>=0&&bM[dD.text.charAt(dw)])||bM[dD.text.charAt(++dw)];if(!dA){return}var dE=dA.charAt(0),dC=dA.charAt(1)==">",dO=dC?1:-1,dJ=dD.styles;for(var dP=dw+1,dL=0,dN=dJ.length;dL<dN;dL+=2){if((dP-=dJ[dL].length)<=0){var dM=dJ[dL+1];break}}var dy=[dD.text.charAt(dw)],dI=/[(){}[\]]/;function dG(d1,dW,dX){if(!d1.text){return}var d0=d1.styles,dV=dC?0:d1.text.length-1,dY;for(var dS=dC?0:d0.length-2,dU=dC?d0.length:-2;dS!=dU;dS+=2*dO){var dZ=d0[dS];if(d0[dS+1]!=dM){dV+=dO*dZ.length;continue}for(var dR=dC?0:dZ.length-1,dQ=dC?dZ.length:-1;dR!=dQ;dR+=dO,dV+=dO){if(dV>=dW&&dV<dX&&dI.test(dY=dZ.charAt(dR))){var dT=bM[dY];if(dT.charAt(1)==">"==dC){dy.push(dY)}else{if(dy.pop()!=dT.charAt(0)){return{pos:dV,match:false}}else{if(!dy.length){return{pos:dV,match:true}}}}}}}}for(var dL=dv.line,dN=dC?Math.min(dL+100,c4.size):Math.max(-1,dL-100);dL!=dN;dL+=dO){var dD=db(dL),dz=dL==dv.line;var dF=dG(dD,dz&&dC?dw+1:0,dz&&!dC?dw:dD.text.length);if(dF){break}}if(!dF){dF={pos:null,match:false}}var dM=dF.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";var dK=b7({line:dv.line,ch:dw},{line:dv.line,ch:dw+1},dM),dx=dF.pos!=null&&b7({line:dL,ch:dF.pos},{line:dL,ch:dF.pos+1},dM);var dH=aP(function(){dK.clear();dx&&dx.clear()});if(dB){setTimeout(dH,800)}else{cw=dH}}function bw(dB){var dA,dx;for(var dw=dB,dy=dB-40;dw>dy;--dw){if(dw==0){return 0}var dv=db(dw-1);if(dv.stateAfter){return dw}var dz=dv.indentation(ct.tabSize);if(dx==null||dA>dz){dx=dw-1;dA=dz}}return dx}function cZ(dx){var dw=bw(dx),dv=dw&&db(dw-1).stateAfter;if(!dv){dv=v(cH)}else{dv=o(cH,dv)}c4.iter(dw,dx,function(dy){dy.process(cH,dv,ct.tabSize);dy.stateAfter=(dw==dx-1||dw%5==0)?o(cH,dv):null});return dv}function cl(){if(df>=cc){return}var dv=+new Date+ct.workTime,dx=o(cH,cZ(df));var dw=df;c4.iter(df,cc,function(dy){if(df>=dm){dy.highlight(cH,dx,ct.tabSize);dy.stateAfter=o(cH,dx)}else{dy.process(cH,dx,ct.tabSize);dy.stateAfter=df%5==0?o(cH,dx):null}++df;if(+new Date>dv){b8(ct.workDelay);return true}});if(cc>dw&&df>=dm){aP(function(){aZ.push({from:dw,to:df})})()}}function b8(dv){if(df<cc){aU.set(dv,cl)}}function ba(){cV=cz=dj=null;aZ=[];bc=false;c5=[]}function aW(){if(c9){bY()}if(bN&&!ct.lineWrapping){var dv=bu.offsetWidth,dB=cx(b6,b6.text.length).left;if(!L){bu.style.left=dB+"px";bU.style.minWidth=(dB+dv)+"px"}bN=false}var dz,dw;if(bc){var dA=cj();dz=bm(dA.x,dA.y,dA.x,dA.yBot)}if(aZ.length||dz&&dz.scrollTop!=null){dw=cJ(aZ,true,dz&&dz.scrollTop)}if(!dw){if(bc){ds()}if(bf){a7()}}if(dz){cL()}if(bc){di()}if(cO&&(cV===true||(cV!==false&&bc))){c7(cz)}if(bc&&ct.matchBrackets){setTimeout(aP(function(){if(cw){cw();cw=null}if(T(dt.from,dt.to)){cK(false)}}),20)}var dC=bc,dx=c5;if(dj&&ct.onChange&&cF){ct.onChange(cF,dj)}if(dC&&ct.onCursorActivity){ct.onCursorActivity(cF)}for(var dy=0;dy<dx.length;++dy){dx[dy](cF)}if(dw&&ct.onUpdate){ct.onUpdate(cF)}}var cW=0;function aP(dv){return function(){if(!cW++){ba()}try{var dw=dv.apply(this,arguments)}finally{if(!--cW){aW()}}return dw}}function cg(dv){bx.startCompound();try{return dv()}finally{bx.endCompound()}}for(var ca in c){if(c.propertyIsEnumerable(ca)&&!cF.propertyIsEnumerable(ca)){cF[ca]=c[ca]}}for(var cy=0;cy<ay.length;++cy){ay[cy](cF)}return cF}r.defaults={value:"",mode:null,theme:"default",indentUnit:2,indentWithTabs:false,smartIndent:true,tabSize:4,keyMap:"default",extraKeys:null,electricChars:true,autoClearEmptyLines:false,onKeyEvent:null,onDragEvent:null,lineWrapping:false,lineNumbers:false,gutter:false,fixedGutter:false,firstLineNumber:1,showCursorWhenSelecting:false,readOnly:false,dragDrop:true,onChange:null,onCursorActivity:null,onViewportChange:null,onGutterClick:null,onUpdate:null,onFocus:null,onBlur:null,onScroll:null,matchBrackets:false,cursorBlinkRate:530,workTime:100,workDelay:200,pollInterval:100,undoDepth:40,tabindex:null,autofocus:null,lineNumberFormatter:function(aJ){return aJ}};var i=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent);var K=i||/Mac/.test(navigator.platform);var ag=/Win/.test(navigator.platform);var A=r.modes={},am=r.mimeModes={};r.defineMode=function(aJ,aL){if(!r.defaults.mode&&aJ!="null"){r.defaults.mode=aJ}if(arguments.length>2){aL.dependencies=[];for(var aK=2;aK<arguments.length;++aK){aL.dependencies.push(arguments[aK])}}A[aJ]=aL};r.defineMIME=function(aK,aJ){am[aK]=aJ};r.resolveMode=function(aJ){if(typeof aJ=="string"&&am.hasOwnProperty(aJ)){aJ=am[aJ]}else{if(typeof aJ=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(aJ)){return r.resolveMode("application/xml")}}if(typeof aJ=="string"){return{name:aJ}}else{return aJ||{name:"null"}}};r.getMode=function(aK,aJ){var aJ=r.resolveMode(aJ);var aM=A[aJ.name];if(!aM){return r.getMode(aK,"text/plain")}var aN=aM(aK,aJ);if(ab.hasOwnProperty(aJ.name)){var aL=ab[aJ.name];for(var aO in aL){if(!aL.hasOwnProperty(aO)){continue}if(aN.hasOwnProperty(aO)){aN["_"+aO]=aN[aO]}aN[aO]=aL[aO]}}aN.name=aJ.name;return aN};r.listModes=function(){var aK=[];for(var aJ in A){if(A.propertyIsEnumerable(aJ)){aK.push(aJ)}}return aK};r.listMIMEs=function(){var aK=[];for(var aJ in am){if(am.propertyIsEnumerable(aJ)){aK.push({mime:aJ,mode:am[aJ]})}}return aK};var c=r.extensions={};r.defineExtension=function(aJ,aK){c[aJ]=aK};var ay=[];r.defineInitHook=function(aJ){ay.push(aJ)};var ab=r.modeExtensions={};r.extendMode=function(aL,aK){var aJ=ab.hasOwnProperty(aL)?ab[aL]:(ab[aL]={});for(var aM in aK){if(aK.hasOwnProperty(aM)){aJ[aM]=aK[aM]}}};var t=r.commands={selectAll:function(aJ){aJ.setSelection({line:0,ch:0},{line:aJ.lineCount()-1})},killLine:function(aJ){var aM=aJ.getCursor(true),aL=aJ.getCursor(false),aK=!T(aM,aL);if(!aK&&aJ.getLine(aM.line).length==aM.ch){aJ.replaceRange("",aM,{line:aM.line+1,ch:0})}else{aJ.replaceRange("",aM,aK?aL:{line:aM.line})}},deleteLine:function(aJ){var aK=aJ.getCursor().line;aJ.replaceRange("",{line:aK,ch:0},{line:aK})},undo:function(aJ){aJ.undo()},redo:function(aJ){aJ.redo()},goDocStart:function(aJ){aJ.setCursor(0,0,true)},goDocEnd:function(aJ){aJ.setSelection({line:aJ.lineCount()-1},null,true)},goLineStart:function(aJ){aJ.setCursor(aJ.getCursor().line,0,true)},goLineStartSmart:function(aJ){var aM=aJ.getCursor();var aL=aJ.getLine(aM.line),aK=Math.max(0,aL.search(/\S/));aJ.setCursor(aM.line,aM.ch<=aK&&aM.ch?0:aK,true)},goLineEnd:function(aJ){aJ.setSelection({line:aJ.getCursor().line},null,true)},goLineUp:function(aJ){aJ.moveV(-1,"line")},goLineDown:function(aJ){aJ.moveV(1,"line")},goPageUp:function(aJ){aJ.moveV(-1,"page")},goPageDown:function(aJ){aJ.moveV(1,"page")},goCharLeft:function(aJ){aJ.moveH(-1,"char")},goCharRight:function(aJ){aJ.moveH(1,"char")},goColumnLeft:function(aJ){aJ.moveH(-1,"column")},goColumnRight:function(aJ){aJ.moveH(1,"column")},goWordLeft:function(aJ){aJ.moveH(-1,"word")},goWordRight:function(aJ){aJ.moveH(1,"word")},delCharLeft:function(aJ){aJ.deleteH(-1,"char")},delCharRight:function(aJ){aJ.deleteH(1,"char")},delWordLeft:function(aJ){aJ.deleteH(-1,"word")},delWordRight:function(aJ){aJ.deleteH(1,"word")},indentAuto:function(aJ){aJ.indentSelection("smart")},indentMore:function(aJ){aJ.indentSelection("add")},indentLess:function(aJ){aJ.indentSelection("subtract")},insertTab:function(aJ){aJ.replaceSelection("\t","end")},defaultTab:function(aJ){if(aJ.somethingSelected()){aJ.indentSelection("add")}else{aJ.replaceSelection("\t","end")}},transposeChars:function(aJ){var aL=aJ.getCursor(),aK=aJ.getLine(aL.line);if(aL.ch>0&&aL.ch<aK.length-1){aJ.replaceRange(aK.charAt(aL.ch)+aK.charAt(aL.ch-1),{line:aL.line,ch:aL.ch-1},{line:aL.line,ch:aL.ch+1})}},newlineAndIndent:function(aJ){aJ.replaceSelection("\n","end");aJ.indentLine(aJ.getCursor().line)},toggleOverwrite:function(aJ){aJ.toggleOverwrite()}};var g=r.keyMap={};g.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharRight",Backspace:"delCharLeft",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite"};g.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Alt-Up":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Down":"goDocEnd","Ctrl-Left":"goWordLeft","Ctrl-Right":"goWordRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delWordLeft","Ctrl-Delete":"delWordRight","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore",fallthrough:"basic"};g.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goWordLeft","Alt-Right":"goWordRight","Cmd-Left":"goLineStart","Cmd-Right":"goLineEnd","Alt-Backspace":"delWordLeft","Ctrl-Alt-Backspace":"delWordRight","Alt-Delete":"delWordRight","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore",fallthrough:["basic","emacsy"]};g["default"]=K?g.macDefault:g.pcDefault;g.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharRight","Ctrl-H":"delCharLeft","Alt-D":"delWordRight","Alt-Backspace":"delWordLeft","Ctrl-K":"killLine","Ctrl-T":"transposeChars"};function at(aJ){if(typeof aJ=="string"){return g[aJ]}else{return aJ}}function av(aK,aJ,aO,aM,aL){function aN(aT){aT=at(aT);var aR=aT[aK];if(aR===false){if(aL){aL()}return true}if(aR!=null&&aM(aR)){return true}if(aT.nofallthrough){if(aL){aL()}return true}var aQ=aT.fallthrough;if(aQ==null){return false}if(Object.prototype.toString.call(aQ)!="[object Array]"){return aN(aQ)}for(var aP=0,aS=aQ.length;aP<aS;++aP){if(aN(aQ[aP])){return true}}return false}if(aJ&&aN(aJ)){return true}return aN(aO)}function aj(aK){var aJ=w[ad(aK,"keyCode")];return aJ=="Ctrl"||aJ=="Alt"||aJ=="Shift"||aJ=="Mod"}r.isModifierKey=aj;r.fromTextArea=function(aQ,aS){if(!aS){aS={}}aS.value=aQ.value;if(!aS.tabindex&&aQ.tabindex){aS.tabindex=aQ.tabindex}if(aS.autofocus==null){var aJ=document.body;try{aJ=document.activeElement}catch(aM){}aS.autofocus=aJ==aQ||aQ.getAttribute("autofocus")!=null&&aJ==document.body}function aO(){aQ.value=aR.getValue()}if(aQ.form){var aL=aE(aQ.form,"submit",aO,true);var aK=aQ.form,aP=aK.submit;aQ.form.submit=function aN(){aO();aK.submit=aP;aK.submit();aK.submit=aN}}aQ.style.display="none";var aR=r(function(aT){aQ.parentNode.insertBefore(aT,aQ.nextSibling)},aS);aR.save=aO;aR.getTextArea=function(){return aQ};aR.toTextArea=function(){aO();aQ.parentNode.removeChild(aR.getWrapperElement());aQ.style.display="";if(aQ.form){aL();if(typeof aQ.form.submit=="function"){aQ.form.submit=aP}}};return aR};var x=/gecko\/\d/i.test(navigator.userAgent);var U=/MSIE \d/.test(navigator.userAgent);var L=/MSIE [1-7]\b/.test(navigator.userAgent);var I=/MSIE [1-8]\b/.test(navigator.userAgent);var n=U&&document.documentMode==5;var m=/WebKit\//.test(navigator.userAgent);var l=m&&/Qt\/\d+\.\d+/.test(navigator.userAgent);var p=/Chrome\//.test(navigator.userAgent);var ax=/Opera\//.test(navigator.userAgent);var G=/Apple Computer/.test(navigator.vendor);var ah=/KHTML\//.test(navigator.userAgent);var W=/Mac OS X 10\D([7-9]|\d\d)\D/.test(navigator.userAgent);var aG=ax&&navigator.userAgent.match(/Version\/(\d*\.\d*)/);if(aG){aG=Number(aG[1])}var d=K&&(l||ax&&(aG==null||aG<12.11));function o(aM,aJ){if(aJ===true){return aJ}if(aM.copyState){return aM.copyState(aJ)}var aL={};for(var aN in aJ){var aK=aJ[aN];if(aK instanceof Array){aK=aK.concat([])}aL[aN]=aK}return aL}r.copyState=o;function v(aL,aK,aJ){return aL.startState?aL.startState(aK,aJ):true}r.startState=v;r.innerMode=function(aL,aJ){while(aL.innerMode){var aK=aL.innerMode(aJ);aJ=aK.state;aL=aK.mode}return aK||{mode:aL,state:aJ}};function ai(aJ,aK){this.pos=this.start=0;this.string=aJ;this.tabSize=aK||8}ai.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==0},peek:function(){return this.string.charAt(this.pos)||undefined},next:function(){if(this.pos<this.string.length){return this.string.charAt(this.pos++)}},eat:function(aJ){var aL=this.string.charAt(this.pos);if(typeof aJ=="string"){var aK=aL==aJ}else{var aK=aL&&(aJ.test?aJ.test(aL):aJ(aL))}if(aK){++this.pos;return aL}},eatWhile:function(aJ){var aK=this.pos;while(this.eat(aJ)){}return this.pos>aK},eatSpace:function(){var aJ=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++this.pos}return this.pos>aJ},skipToEnd:function(){this.pos=this.string.length},skipTo:function(aJ){var aK=this.string.indexOf(aJ,this.pos);if(aK>-1){this.pos=aK;return true}},backUp:function(aJ){this.pos-=aJ},column:function(){return ap(this.string,this.start,this.tabSize)},indentation:function(){return ap(this.string,null,this.tabSize)},match:function(aM,aK,aJ){if(typeof aM=="string"){var aN=function(aO){return aJ?aO.toLowerCase():aO};if(aN(this.string).indexOf(aN(aM),this.pos)==this.pos){if(aK!==false){this.pos+=aM.length}return true}}else{var aL=this.string.slice(this.pos).match(aM);if(aL&&aL.index>0){return null}if(aL&&aK!==false){this.pos+=aL[0].length}return aL}},current:function(){return this.string.slice(this.start,this.pos)}};r.StringStream=ai;function Z(aL,aK,aJ){this.from=aL;this.to=aK;this.marker=aJ}function aI(aL,aJ){if(aL){for(var aK=0;aK<aL.length;++aK){var aM=aL[aK];if(aM.marker==aJ){return aM}}}}function aD(aK,aL){var aM;for(var aJ=0;aJ<aK.length;++aJ){if(aK[aJ]!=aL){(aM||(aM=[])).push(aK[aJ])}}return aM}function V(aK,aL,aN){if(aK){for(var aO=0,aQ;aO<aK.length;++aO){var aR=aK[aO],aP=aR.marker;var aJ=aR.from==null||(aP.inclusiveLeft?aR.from<=aL:aR.from<aL);if(aJ||aP.type=="bookmark"&&aR.from==aL&&aR.from!=aN){var aM=aR.to==null||(aP.inclusiveRight?aR.to>=aL:aR.to>aL);(aQ||(aQ=[])).push({from:aR.from,to:aM?null:aR.to,marker:aP})}}}return aQ}function aw(aL,aO){if(aL){for(var aN=0,aK;aN<aL.length;++aN){var aP=aL[aN],aJ=aP.marker;var aQ=aP.to==null||(aJ.inclusiveRight?aP.to>=aO:aP.to>aO);if(aQ||aJ.type=="bookmark"&&aP.from==aO){var aM=aP.from==null||(aJ.inclusiveLeft?aP.from<=aO:aP.from<aO);(aK||(aK=[])).push({from:aM?null:aP.from-aO,to:aP.to==null?null:aP.to-aO,marker:aJ})}}}return aK}function Y(aR,aW,aK,aN,aQ){if(!aR&&!aW){return aQ}var aP=V(aR,aK);var aU=aw(aW,aN);var aV=aQ.length==1,aL=P(aQ).length+(aV?aK:0);if(aP){for(var aM=0;aM<aP.length;++aM){var aT=aP[aM];if(aT.to==null){var aX=aI(aU,aT.marker);if(!aX){aT.to=aK}else{if(aV){aT.to=aX.to==null?null:aX.to+aL}}}}}if(aU){for(var aM=0;aM<aU.length;++aM){var aT=aU[aM];if(aT.to!=null){aT.to+=aL}if(aT.from==null){var aX=aI(aP,aT.marker);if(!aX){aT.from=aL;if(aV){(aP||(aP=[])).push(aT)}}}else{aT.from+=aL;if(aV){(aP||(aP=[])).push(aT)}}}}var aO=[k(aQ[0],aP)];if(!aV){var aS=aQ.length-2,aJ;if(aS>0&&aP){for(var aM=0;aM<aP.length;++aM){if(aP[aM].to==null){(aJ||(aJ=[])).push({from:null,to:null,marker:aP[aM].marker})}}}for(var aM=0;aM<aS;++aM){aO.push(k(aQ[aM+1],aJ))}aO.push(k(P(aQ),aU))}return aO}function au(aJ){return typeof aJ=="string"?aJ:aJ.text}function e(aM){if(typeof aM=="string"){return null}var aL=aM.markedSpans,aJ=null;for(var aK=0;aK<aL.length;++aK){if(aL[aK].marker.explicitlyCleared){if(!aJ){aJ=aL.slice(0,aK)}}else{if(aJ){aJ.push(aL[aK])}}}return !aJ?aL:aJ.length?aJ:null}function k(aK,aJ){return aJ?{text:aK,markedSpans:aJ}:aK}function aA(aL){var aN=aL.markedSpans;if(!aN){return}for(var aM=0;aM<aN.length;++aM){var aK=aN[aM].marker.lines;var aJ=u(aK,aL);aK.splice(aJ,1)}aL.markedSpans=null}function aC(aK,aM){if(!aM){return}for(var aL=0;aL<aM.length;++aL){var aJ=aM[aL].marker.lines.push(aK)}aK.markedSpans=aM}var ao=" ";if(x||(U&&!L)){ao="\u200b"}else{if(ax){ao=""}}function J(aK,aJ){this.text=aK;this.height=1;aC(this,aJ)}J.prototype={update:function(aK,aJ){this.text=aK;this.stateAfter=this.styles=null;aA(this);aC(this,aJ)},highlight:function(aP,aM,aN){var aO=new ai(this.text,aN),aJ=this.styles||(this.styles=[]);var aQ=aJ.length=0;if(this.text==""&&aP.blankLine){aP.blankLine(aM)}while(!aO.eol()){var aK=aP.token(aO,aM),aL=aO.current();aO.start=aO.pos;if(aQ&&aJ[aQ-1]==aK){aJ[aQ-2]+=aL}else{if(aL){aJ[aQ++]=aL;aJ[aQ++]=aK}}if(aO.pos>5000){aJ[aQ++]=this.text.slice(aO.pos);aJ[aQ++]=null;break}}},process:function(aM,aJ,aK){var aL=new ai(this.text,aK);if(this.text==""&&aM.blankLine){aM.blankLine(aJ)}while(!aL.eol()&&aL.pos<=5000){aM.token(aL,aJ);aL.start=aL.pos}},getTokenAt:function(aP,aM,aN,aL){var aJ=this.text,aO=new ai(aJ,aN);while(aO.pos<aL&&!aO.eol()){aO.start=aO.pos;var aK=aP.token(aO,aM)}return{start:aO.start,end:aO.pos,string:aO.current(),className:aK||null,state:aM}},indentation:function(aJ){return ap(this.text,null,aJ)},getContent:function(aY,aJ,aU){var aP=true,aN=0,a5=/[\t\u0000-\u0019\u200b\u2028\u2029\uFEFF]/g;var aX=ak("pre");function a6(bk,bp,bh){if(!bp){return}if(aP&&U&&bp.charAt(0)==" "){bp="\u00a0"+bp.slice(1)}aP=false;if(!a5.test(bp)){aN+=bp.length;var bl=document.createTextNode(bp)}else{var bl=document.createDocumentFragment(),bn=0;while(true){a5.lastIndex=bn;var bi=a5.exec(bp);var bm=bi?bi.index-bn:bp.length-bn;if(bm){bl.appendChild(document.createTextNode(bp.slice(bn,bn+bm)));aN+=bm}if(!bi){break}bn+=bm+1;if(bi[0]=="\t"){var bo=aY-aN%aY;bl.appendChild(ak("span",az(bo),"cm-tab"));aN+=bo}else{var bj=ak("span","\u2022","cm-invalidchar");bj.title="\\u"+bi[0].charCodeAt(0).toString(16);bl.appendChild(bj);aN+=1}}}if(bh){bk.appendChild(ak("span",[bl],bh))}else{bk.appendChild(bl)}}var a9=a6;if(aJ!=null){var a3=0,aQ=aX.anchor=ak("span");a9=function(bj,bm,bk){var bi=bm.length;if(aJ>=a3&&aJ<a3+bi){var bl=aJ-a3;if(bl){a6(bj,bm.slice(0,bl),bk);if(aU){var bh=bm.slice(bl-1,bl+1);if(H.test(bh)){bj.appendChild(ak("wbr"))}else{if(!L&&/\w\w/.test(bh)){bj.appendChild(document.createTextNode("\u200d"))}}}}bj.appendChild(aQ);a6(aQ,ax?bm.slice(bl,bl+1):bm.slice(bl),bk);if(ax){a6(bj,bm.slice(bl+1),bk)}aJ--;a3+=bi}else{a3+=bi;a6(bj,bm,bk);if(a3==aJ&&a3==bd){y(aQ,ao);bj.appendChild(aQ)}else{if(a3>aJ+10&&/\s/.test(bm)){a9=function(){}}}}}}var a2=this.styles,aR=this.text,aZ=this.markedSpans;var bd=aR.length;function aM(bh){if(!bh){return null}return"cm-"+bh.replace(/ +/g," cm-")}if(!aR&&aJ==null){a9(aX," ")}else{if(!aZ||!aZ.length){for(var ba=0,aT=0;aT<bd;ba+=2){var a1=a2[ba],bc=a2[ba+1],a4=a1.length;if(aT+a4>bd){a1=a1.slice(0,bd-aT)}aT+=a4;a9(aX,a1,aM(bc))}}else{aZ.sort(function(bi,bh){return bi.from-bh.from});var aO=0,ba=0,aW="",bc,bg=0;var bf=aZ[0].from||0,a8=[],be=0;var bb=function(){var bh;while(be<aZ.length&&((bh=aZ[be]).from==aO||bh.from==null)){if(bh.marker.type=="range"){a8.push(bh)}++be}bf=be<aZ.length?aZ[be].from:Infinity;for(var bi=0;bi<a8.length;++bi){var bj=a8[bi].to;if(bj==null){bj=Infinity}if(bj==aO){a8.splice(bi--,1)}else{bf=Math.min(bj,bf)}}};var a0=0;while(aO<bd){if(bf==aO){bb()}var aV=Math.min(bd,bf);while(true){if(aW){var aL=aO+aW.length;var aK=bc;for(var a7=0;a7<a8.length;++a7){var aS=a8[a7];aK=(aK?aK+" ":"")+aS.marker.style;if(aS.marker.endStyle&&aS.to===Math.min(aL,aV)){aK+=" "+aS.marker.endStyle}if(aS.marker.startStyle&&aS.from===aO){aK+=" "+aS.marker.startStyle}}a9(aX,aL>aV?aW.slice(0,aV-aO):aW,aK);if(aL>=aV){aW=aW.slice(aV-aO);aO=aV;break}aO=aL}aW=a2[ba++];bc=aM(a2[ba++])}}}}return aX},cleanUp:function(){this.parent=null;aA(this)}};function Q(aK){this.lines=aK;this.parent=null;for(var aL=0,aM=aK.length,aJ=0;aL<aM;++aL){aK[aL].parent=this;aJ+=aK[aL].height}this.height=aJ}Q.prototype={chunkSize:function(){return this.lines.length},remove:function(aJ,aP,aN){for(var aM=aJ,aO=aJ+aP;aM<aO;++aM){var aK=this.lines[aM];this.height-=aK.height;aK.cleanUp();if(aK.handlers){for(var aL=0;aL<aK.handlers.length;++aL){aN.push(aK.handlers[aL])}}}this.lines.splice(aJ,aP)},collapse:function(aJ){aJ.splice.apply(aJ,[aJ.length,0].concat(this.lines))},insertHeight:function(aK,aL,aJ){this.height+=aJ;this.lines=this.lines.slice(0,aK).concat(aL).concat(this.lines.slice(aK));for(var aM=0,aN=aL.length;aM<aN;++aM){aL[aM].parent=this}},iterN:function(aJ,aM,aL){for(var aK=aJ+aM;aJ<aK;++aJ){if(aL(this.lines[aJ])){return true}}}};function al(aM){this.children=aM;var aL=0,aJ=0;for(var aK=0,aO=aM.length;aK<aO;++aK){var aN=aM[aK];aL+=aN.chunkSize();aJ+=aN.height;aN.parent=this}this.size=aL;this.height=aJ;this.parent=null}al.prototype={chunkSize:function(){return this.size},remove:function(aL,aK,aO){this.size-=aK;for(var aM=0;aM<this.children.length;++aM){var aJ=this.children[aM],aP=aJ.chunkSize();if(aL<aP){var aN=Math.min(aK,aP-aL),aQ=aJ.height;aJ.remove(aL,aN,aO);this.height-=aQ-aJ.height;if(aP==aN){this.children.splice(aM--,1);aJ.parent=null}if((aK-=aN)==0){break}aL=0}else{aL-=aP}}if(this.size-aK<25){var aR=[];this.collapse(aR);this.children=[new Q(aR)];this.children[0].parent=this}},collapse:function(aJ){for(var aK=0,aL=this.children.length;aK<aL;++aK){this.children[aK].collapse(aJ)}},insert:function(aK,aL){var aJ=0;for(var aM=0,aN=aL.length;aM<aN;++aM){aJ+=aL[aM].height}this.insertHeight(aK,aL,aJ)},insertHeight:function(aK,aR,aQ){this.size+=aR.length;this.height+=aQ;for(var aL=0,aN=this.children.length;aL<aN;++aL){var aJ=this.children[aL],aO=aJ.chunkSize();if(aK<=aO){aJ.insertHeight(aK,aR,aQ);if(aJ.lines&&aJ.lines.length>50){while(aJ.lines.length>50){var aM=aJ.lines.splice(aJ.lines.length-25,25);var aP=new Q(aM);aJ.height-=aP.height;this.children.splice(aL+1,0,aP);aP.parent=this}this.maybeSpill()}break}aK-=aO}},maybeSpill:function(){if(this.children.length<=10){return}var aM=this;do{var aK=aM.children.splice(aM.children.length-5,5);var aL=new al(aK);if(!aM.parent){var aN=new al(aM.children);aN.parent=aM;aM.children=[aN,aL];aM=aN}else{aM.size-=aL.size;aM.height-=aL.height;var aJ=u(aM.parent.children,aM);aM.parent.children.splice(aJ+1,0,aL)}aL.parent=aM.parent}while(aM.children.length>10);aM.parent.maybeSpill()},iter:function(aL,aK,aJ){this.iterN(aL,aK-aL,aJ)},iterN:function(aJ,aQ,aP){for(var aK=0,aN=this.children.length;aK<aN;++aK){var aO=this.children[aK],aM=aO.chunkSize();if(aJ<aM){var aL=Math.min(aQ,aM-aJ);if(aO.iterN(aJ,aL,aP)){return true}if((aQ-=aL)==0){break}aJ=0}else{aJ-=aM}}}};function M(aJ,aN){while(!aJ.lines){for(var aK=0;;++aK){var aM=aJ.children[aK],aL=aM.chunkSize();if(aN<aL){aJ=aM;break}aN-=aL}}return aJ.lines[aN]}function X(aJ){if(aJ.parent==null){return null}var aN=aJ.parent,aM=u(aN.lines,aJ);for(var aK=aN.parent;aK;aN=aK,aK=aK.parent){for(var aL=0;;++aL){if(aK.children[aL]==aN){break}aM+=aK.children[aL].chunkSize()}}return aM}function af(aP,aN){var aL=0;outer:do{for(var aM=0,aO=aP.children.length;aM<aO;++aM){var aK=aP.children[aM],aJ=aK.height;if(aN<aJ){aP=aK;continue outer}aN-=aJ;aL+=aK.chunkSize()}return aL}while(!aP.lines);for(var aM=0,aO=aP.lines.length;aM<aO;++aM){var aR=aP.lines[aM],aQ=aR.height;if(aN<aQ){break}aN-=aQ}return aL+aM}function a(aJ,aP){var aL=0;outer:do{for(var aK=0,aN=aJ.children.length;aK<aN;++aK){var aO=aJ.children[aK],aM=aO.chunkSize();if(aP<aM){aJ=aO;continue outer}aP-=aM;aL+=aO.height}return aL}while(!aJ.lines);for(var aK=0;aK<aP;++aK){aL+=aJ.lines[aK].height}return aL}function F(){this.time=0;this.done=[];this.undone=[];this.compound=0;this.closed=false}F.prototype={addChange:function(aJ,aO,aK){this.undone.length=0;var aL=+new Date,aQ=P(this.done),aR=aQ&&P(aQ);var aN=aL-this.time;if(aQ&&!this.closed&&this.compound){aQ.push({start:aJ,added:aO,old:aK})}else{if(aN>400||!aR||this.closed||aR.start>aJ+aK.length||aR.start+aR.added<aJ){this.done.push([{start:aJ,added:aO,old:aK}]);this.closed=false}else{var aP=Math.max(0,aR.start-aJ),aS=Math.max(0,(aJ+aK.length)-(aR.start+aR.added));for(var aM=aP;aM>0;--aM){aR.old.unshift(aK[aM-1])}for(var aM=aS;aM>0;--aM){aR.old.push(aK[aK.length-aM])}if(aP){aR.start=aJ}aR.added+=aO-(aK.length-aP-aS)}}this.time=aL},startCompound:function(){if(!this.compound++){this.closed=true}},endCompound:function(){if(!--this.compound){this.closed=true}}};function z(){ae(this)}function R(aJ){if(!aJ.stop){aJ.stop=z}return aJ}function f(aJ){if(aJ.preventDefault){aJ.preventDefault()}else{aJ.returnValue=false}}function q(aJ){if(aJ.stopPropagation){aJ.stopPropagation()}else{aJ.cancelBubble=true}}function ae(aJ){f(aJ);q(aJ)}r.e_stop=ae;r.e_preventDefault=f;r.e_stopPropagation=q;function ar(aJ){return aJ.target||aJ.srcElement}function E(aK){var aJ=aK.which;if(aJ==null){if(aK.button&1){aJ=1}else{if(aK.button&2){aJ=3}else{if(aK.button&4){aJ=2}}}}if(K&&aK.ctrlKey&&aJ==1){aJ=3}return aJ}function ad(aK,aL){var aJ=aK.override&&aK.override.hasOwnProperty(aL);return aJ?aK.override[aL]:aK[aL]}function aE(aM,aL,aK,aJ){if(typeof aM.addEventListener=="function"){aM.addEventListener(aL,aK,false);if(aJ){return function(){aM.removeEventListener(aL,aK,false)}}}else{var aN=function(aO){aK(aO||window.event)};aM.attachEvent("on"+aL,aN);if(aJ){return function(){aM.detachEvent("on"+aL,aN)}}}}r.connect=aE;function j(){this.id=null}j.prototype={set:function(aJ,aK){clearTimeout(this.id);this.id=setTimeout(aK,aJ)}};var aq=r.Pass={toString:function(){return"CodeMirror.Pass"}};var ac=function(){if(I){return false}var aJ=ak("div");return"draggable" in aJ||"dragDrop" in aJ}();var S=function(){var aJ=ak("textarea");aJ.value="foo\nbar";if(aJ.value.indexOf("\r")>-1){return"\r\n"}return"\n"}();var H=/^$/;if(x){H=/$'/}else{if(G){H=/\-[^ \-?]|\?[^ !'\"\),.\-\/:;\?\]\}]/}else{if(p){H=/\-[^ \-\.?]|\?[^ \-\.?\]\}:;!'\"\),\/]|[\.!\"#&%\)*+,:;=>\]|\}~][\(\{\[<]|\$'/}}}function ap(aK,aJ,aM){if(aJ==null){aJ=aK.search(/[^\s\u00a0]/);if(aJ==-1){aJ=aK.length}}for(var aL=0,aN=0;aL<aJ;++aL){if(aK.charAt(aL)=="\t"){aN+=aM-(aN%aM)}else{++aN}}return aN}function B(aM,aJ){try{var aL=aM.getBoundingClientRect();aL={top:aL.top,left:aL.left}}catch(aN){aL={top:0,left:0}}if(!aJ){if(window.pageYOffset==null){var aK=document.documentElement||document.body.parentNode;if(aK.scrollTop==null){aK=document.body}aL.top+=aK.scrollTop;aL.left+=aK.scrollLeft}else{aL.top+=window.pageYOffset;aL.left+=window.pageXOffset}}return aL}function aB(aJ){return aJ.textContent||aJ.innerText||aJ.nodeValue||""}var an=[""];function az(aJ){while(an.length<=aJ){an.push(P(an)+" ")}return an[aJ]}function P(aJ){return aJ[aJ.length-1]}function aF(aJ){if(i){aJ.selectionStart=0;aJ.selectionEnd=aJ.value.length}else{aJ.select()}}function T(aK,aJ){return aK.line==aJ.line&&aK.ch==aJ.ch}function D(aK,aJ){return aK.line<aJ.line||(aK.line==aJ.line&&aK.ch<aJ.ch)}function aa(aJ){return{line:aJ.line,ch:aJ.ch}}function ak(aJ,aN,aM,aL){var aO=document.createElement(aJ);if(aM){aO.className=aM}if(aL){aO.style.cssText=aL}if(typeof aN=="string"){y(aO,aN)}else{if(aN){for(var aK=0;aK<aN.length;++aK){aO.appendChild(aN[aK])}}}return aO}function aH(aJ){aJ.innerHTML="";return aJ}function s(aJ,aK){aH(aJ).appendChild(aK)}function y(aJ,aK){if(I){aJ.innerHTML="";aJ.appendChild(document.createTextNode(aK))}else{aJ.textContent=aK}}function C(aM,aL){if(!aL){return 0}if(!aM){return aL.length}for(var aK=aM.length,aJ=aL.length;aK>=0&&aJ>=0;--aK,--aJ){if(aM.charAt(aK)!=aL.charAt(aJ)){break}}return aJ+1}function u(aM,aJ){if(aM.indexOf){return aM.indexOf(aJ)}for(var aK=0,aL=aM.length;aK<aL;++aK){if(aM[aK]==aJ){return aK}}return -1}var O=/[\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc]/;function N(aJ){return/\w/.test(aJ)||aJ>"\x80"&&(aJ.toUpperCase()!=aJ.toLowerCase()||O.test(aJ))}var h="\n\nb".split(/\n/).length!=3?function(aO){var aP=0,aJ=[],aN=aO.length;while(aP<=aN){var aM=aO.indexOf("\n",aP);if(aM==-1){aM=aO.length}var aL=aO.slice(aP,aO.charAt(aM-1)=="\r"?aM-1:aM);var aK=aL.indexOf("\r");if(aK!=-1){aJ.push(aL.slice(0,aK));aP+=aK+1}else{aJ.push(aL);aP=aM+1}}return aJ}:function(aJ){return aJ.split(/\r\n?|\n/)};r.splitLines=h;var b=window.getSelection?function(aK){try{return aK.selectionStart!=aK.selectionEnd}catch(aJ){return false}}:function(aL){try{var aJ=aL.ownerDocument.selection.createRange()}catch(aK){}if(!aJ||aJ.parentElement()!=aL){return false}return aJ.compareEndPoints("StartToEnd",aJ)!=0};r.defineMode("null",function(){return{token:function(aJ){aJ.skipToEnd()}}});r.defineMIME("text/plain","null");var w={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",91:"Mod",92:"Mod",93:"Mod",109:"-",107:"=",127:"Delete",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63276:"PageUp",63277:"PageDown",63275:"End",63273:"Home",63234:"Left",63232:"Up",63235:"Right",63233:"Down",63302:"Insert",63272:"Delete"};r.keyNames=w;(function(){for(var aJ=0;aJ<10;aJ++){w[aJ+48]=String(aJ)}for(var aJ=65;aJ<=90;aJ++){w[aJ]=String.fromCharCode(aJ)}for(var aJ=1;aJ<=12;aJ++){w[aJ+111]=w[aJ+63235]="F"+aJ}})();r.version="2.38";return r})();