From f6b0dc5d8d16f231ad6e0b8832ed018cef221afb Mon Sep 17 00:00:00 2001 From: llj Date: Tue, 11 Dec 2012 15:14:55 +0800 Subject: [PATCH] [file_edit] upgraded codemirror to v2.36 to fix md link bug, and fixed css mode bug --- media/codemirror/codemirror-2.36.js | 4 ++++ media/codemirror/codemirror.js | 1 - templates/repo_edit_file.html | 2 +- templates/snippets/editor_set_mode.html | 2 +- templates/snippets/file_view_js.html | 2 +- 5 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 media/codemirror/codemirror-2.36.js delete mode 100644 media/codemirror/codemirror.js diff --git a/media/codemirror/codemirror-2.36.js b/media/codemirror/codemirror-2.36.js new file mode 100644 index 0000000000..0ed9a57956 --- /dev/null +++ b/media/codemirror/codemirror-2.36.js @@ -0,0 +1,4 @@ +window.CodeMirror=function(){"use strict";function a(d,e){function kc(a){f.onDragEvent&&f.onDragEvent(oc,X(a))||$(a)}function nc(a){return a>=0&&Hb.size>a}function pc(a){return R(Hb,a)}function qc(a,b){Yb=!0;for(var c=b-a.height,d=a;d;d=d.parent)d.height+=c}function rc(a,b){return a.styles||a.highlight(Gb,a.stateAfter=he(S(a)),f.tabSize),a.getContent(f.tabSize,b,f.lineWrapping)}function sc(a){var b={line:0,ch:0};Kc(b,{line:Hb.size-1,ch:pc(Hb.size-1).text.length},Ab(a),b,b),Tb=!0}function tc(a){var b=[];return Hb.iter(0,Hb.size,function(a){b.push(a.text)}),b.join(a||"\n")}function uc(){Math.abs(F.scrollTop-Ob)>1&&(Ob=vb.scrollTop=F.scrollTop,gd([]))}function vc(){f.fixedGutter&&hb.style.left!=vb.scrollLeft+"px"&&(hb.style.left=vb.scrollLeft+"px"),Math.abs(vb.scrollTop-Ob)>1&&(Ob=vb.scrollTop,F.scrollTop!=Ob&&(F.scrollTop=Ob),gd([])),f.onScroll&&f.onScroll(oc)}function wc(a){function h(b){t&&(vb.draggable=!1),Pb=!1,k(),l(),10>Math.abs(a.clientX-b.clientX)+Math.abs(a.clientY-b.clientY)&&(Y(b),pd(c.line,c.ch,!0),ad())}function q(a){if("single"==e)md(c,a);else if("double"==e){var b=wd(a);qb(a,m)?md(b.from,n):md(m,b.to)}else"triple"==e&&(qb(a,m)?md(n,rd({line:a.line,ch:0})):md(m,rd({line:a.line+1,ch:0})))}function r(a){var b=ae(a,!0);if(b&&!pb(b,i)){Jb||Ic(),i=b,q(b),Tb=!1;var c=fd();(b.line>=c.to||b.lined-400&&pb(Nb.pos,c))e="triple",Y(a),setTimeout(ad,20),xd(c.line);else if(Mb&&Mb.time>d-400&&pb(Mb.pos,c)){e="double",Nb={time:d,pos:c},Y(a);var g=wd(c);md(g.from,g.to)}else Mb={time:d,pos:c};var j,i=c;if(f.dragDrop&&fb&&!f.readOnly&&!pb(Kb.from,Kb.to)&&!qb(c,Kb.from)&&!qb(Kb.to,c)&&"single"==e){t&&(vb.draggable=!0);var k=cb(document,"mouseup",ne(h),!0),l=cb(vb,"drop",ne(h),!0);return Pb=!0,vb.dragDrop&&vb.dragDrop(),void 0}Y(a),"single"==e&&pd(c.line,c.ch,!0);var m=Kb.from,n=Kb.to,u=cb(document,"mousemove",ne(function(a){clearTimeout(j),Y(a),p||ab(a)?r(a):s(a)}),!0),k=cb(document,"mouseup",ne(s),!0)}function xc(a){for(var b=_(a);b!=yb;b=b.parentNode)if(b.parentNode==gb)return Y(a);Y(a)}function yc(a){if(!f.onDragEvent||!f.onDragEvent(oc,X(a))){Y(a);var b=ae(a,!0),c=a.dataTransfer.files;if(b&&!f.readOnly)if(c&&c.length&&window.FileReader&&window.File)for(var d=c.length,e=Array(d),g=0,h=function(a,c){var f=new FileReader;f.onload=function(){e[c]=f.result,++g==d&&(b=rd(b),ne(function(){var a=Sc(e.join(""),b,b);md(b,a)})())},f.readAsText(a)},i=0;d>i;++i)h(c[i],i);else{if(Pb&&!qb(b,Kb.from)&&!qb(Kb.to,b))return;try{var e=a.dataTransfer.getData("Text");e&&oe(function(){var a=Kb.from,c=Kb.to;md(b,b),Pb&&Sc("",a,c),Tc(e),ad()})}catch(a){}}}}function zc(a){var b=Wc();a.dataTransfer.setData("Text",b),a.dataTransfer.setDragImage&&a.dataTransfer.setDragImage(sb("img"),0,0)}function Ac(a,b){if("string"==typeof a&&(a=j[a],!a))return!1;var c=Lb;try{f.readOnly&&(Rb=!0),b&&(Lb=null),a(oc)}catch(d){if(d!=eb)throw d;return!1}finally{Lb=c,Rb=!1}return!0}function Cc(a){function j(){i=!0}var b=l(f.keyMap),d=b.auto;clearTimeout(Bc),d&&!n(a)&&(Bc=setTimeout(function(){l(f.keyMap)==b&&(f.keyMap=d.call?d.call(null,oc):d)},50));var e=Cb[bb(a,"keyCode")],g=!1,h=v&&c;if(null==e||a.altGraphKey)return!1;bb(a,"altKey")&&(e="Alt-"+e),bb(a,h?"metaKey":"ctrlKey")&&(e="Ctrl-"+e),bb(a,h?"ctrlKey":"metaKey")&&(e="Cmd-"+e);var i=!1;return g=bb(a,"shiftKey")?m("Shift-"+e,f.extraKeys,f.keyMap,function(a){return Ac(a,!0)},j)||m(e,f.extraKeys,f.keyMap,function(a){return"string"==typeof a&&/^go[A-Z]/.test(a)?Ac(a):void 0},j):m(e,f.extraKeys,f.keyMap,Ac,j),i&&(g=!1),g&&(Y(a),de(),r&&(a.oldKeyCode=a.keyCode,a.keyCode=0)),g}function Dc(a,b){var c=m("'"+b+"'",f.extraKeys,f.keyMap,function(a){return Ac(a,!0)});return c&&(Y(a),de()),c}function Fc(a){if(Jb||Ic(),p&&27==a.keyCode&&(a.returnValue=!1),gc&&$c()&&(gc=!1),!f.onKeyEvent||!f.onKeyEvent(oc,X(a))){var b=bb(a,"keyCode");ld(16==b||bb(a,"shiftKey"));var d=Cc(a);v&&(Ec=d?b:null,!d&&88==b&&bb(a,c?"metaKey":"ctrlKey")&&Tc(""))}}function Gc(a){if(gc&&$c(),!f.onKeyEvent||!f.onKeyEvent(oc,X(a))){var b=bb(a,"keyCode"),c=bb(a,"charCode");if(v&&b==Ec)return Ec=null,Y(a),void 0;if(!(v&&(!a.which||10>a.which)||x)||!Cc(a)){var d=String.fromCharCode(null==c?b:c);f.electricChars&&Gb.electricChars&&f.smartIndent&&!f.readOnly&&Gb.electricChars.indexOf(d)>-1&&setTimeout(ne(function(){zd(Kb.to.line,"smart")}),75),Dc(a,d)||Yc()}}}function Hc(a){f.onKeyEvent&&f.onKeyEvent(oc,X(a))||16==bb(a,"keyCode")&&(Lb=null)}function Ic(){"nocursor"!=f.readOnly&&(Jb||(f.onFocus&&f.onFocus(oc),Jb=!0,-1==vb.className.search(/\bCodeMirror-focused\b/)&&(vb.className+=" CodeMirror-focused")),Xc(),de())}function Jc(){Jb&&(f.onBlur&&f.onBlur(oc),Jb=!1,cc&&ne(function(){cc&&(cc(),cc=null)})(),vb.className=vb.className.replace(" CodeMirror-focused","")),clearInterval(Fb),setTimeout(function(){Jb||(Lb=null)},150)}function Kc(a,b,c,d,e){if(!Rb){var g=[];if(Hb.iter(a.line,b.line+1,function(a){g.push(K(a.text,a.markedSpans))}),ic)for(ic.addChange(a.line,c.length,g);ic.done.length>f.undoDepth;)ic.done.shift();var h=H(J(g[0]),J(nb(g)),a.ch,b.ch,c);Oc(a,b,h,d,e)}}function Lc(a,b){if(a.length){for(var c=a.pop(),d=[],e=c.length-1;e>=0;e-=1){var f=c[e],g=[],h=f.start+f.added;Hb.iter(f.start,h,function(a){g.push(K(a.text,a.markedSpans))}),d.push({start:f.start,added:f.old.length,old:g});var i={line:f.start+f.old.length-1,ch:wb(I(nb(g)),I(nb(f.old)))};Oc({line:f.start,ch:0},{line:h-1,ch:pc(h-1).text.length},f.old,i,i)}Tb=!0,b.push(d)}}function Mc(){Lc(ic.done,ic.undone)}function Nc(){Lc(ic.undone,ic.done)}function Oc(a,b,c,d,e){function u(a){return Math.min(b.line,b.line+r)>=a?a:a+r}if(!Rb){var g=!1,h=dc.text.length;f.lineWrapping||Hb.iter(a.line,b.line+1,function(a){return a.hidden||a.text.length!=h?void 0:(g=!0,!0)}),(a.line!=b.line||c.length>1)&&(Yb=!0);var i=b.line-a.line,j=pc(a.line),k=pc(b.line),l=nb(c);if(0==a.ch&&0==b.ch&&""==I(l)){for(var m=[],o=0,p=c.length-1;p>o;++o)m.push(new O(I(c[o]),J(c[o])));k.update(k.text,J(l)),i&&Hb.remove(a.line,i,Zb),m.length&&Hb.insert(a.line,m)}else if(j==k)if(1==c.length)j.update(j.text.slice(0,a.ch)+I(c[0])+j.text.slice(b.ch),J(c[0]));else{for(var m=[],o=1,p=c.length-1;p>o;++o)m.push(new O(I(c[o]),J(c[o])));m.push(new O(I(l)+j.text.slice(b.ch),J(l))),j.update(j.text.slice(0,a.ch)+I(c[0]),J(c[0])),Hb.insert(a.line+1,m)}else if(1==c.length)j.update(j.text.slice(0,a.ch)+I(c[0])+k.text.slice(b.ch),J(c[0])),Hb.remove(a.line+1,i,Zb);else{var m=[];j.update(j.text.slice(0,a.ch)+I(c[0]),J(c[0])),k.update(I(l)+k.text.slice(b.ch),J(l));for(var o=1,p=c.length-1;p>o;++o)m.push(new O(I(c[o]),J(c[o])));i>1&&Hb.remove(a.line+1,i-1,Zb),Hb.insert(a.line+1,m)}if(f.lineWrapping){var q=Math.max(5,vb.clientWidth/Zd()-3);Hb.iter(a.line,a.line+c.length,function(a){if(!a.hidden){var b=Math.ceil(a.text.length/q)||1;b!=a.height&&qc(a,b)}})}else Hb.iter(a.line,a.line+c.length,function(a){var b=a.text;!a.hidden&&b.length>h&&(dc=a,h=b.length,fc=!0,g=!1)}),g&&(ec=!0);Ib=Math.min(Ib,a.line),je(400);var r=c.length-i-1;if(Vb.push({from:a.line,to:b.line+1,diff:r}),f.onChange){for(var o=0;c.length>o;++o)"string"!=typeof c[o]&&(c[o]=c[o].text);var s={from:a,to:b,text:c};if(Wb){for(var t=Wb;t.next;t=t.next);t.next=s}else Wb=s}nd(rd(d),rd(e),u(Kb.from.line),u(Kb.to.line))}}function Pc(){var a=Hb.height*Wd()+2*$d();return.99*a>vb.offsetHeight?a:!1}function Qc(a){var b=Pc();F.style.display=b?"block":"none",b?(C.style.height=lb.style.minHeight=b+"px",F.style.height=vb.clientHeight+"px",null!=a&&(F.scrollTop=vb.scrollTop=a,t&&setTimeout(function(){F.scrollTop==a&&(F.scrollTop=a+(a?-1:1),F.scrollTop=a)},0))):lb.style.minHeight="",ib.style.top=$b*Wd()+"px"}function Rc(){dc=pc(0),fc=!0;var a=dc.text.length;Hb.iter(1,Hb.size,function(b){var c=b.text;!b.hidden&&c.length>a&&(a=c.length,dc=b)}),ec=!1}function Sc(a,b,c){function d(d){if(qb(d,b))return d;if(!qb(c,d))return e;var f=d.line+a.length-(c.line-b.line)-1,g=d.ch;return d.line==c.line&&(g+=nb(a).length-(c.ch-(c.line==b.line?b.ch:0))),{line:f,ch:g}}b=rd(b),c=c?rd(c):b,a=Ab(a);var e;return Uc(a,b,c,function(a){return e=a,{from:d(Kb.from),to:d(Kb.to)}}),e}function Tc(a,b){Uc(Ab(a),Kb.from,Kb.to,function(a){return"end"==b?{from:a,to:a}:"start"==b?{from:Kb.from,to:Kb.from}:{from:Kb.from,to:a}})}function Uc(a,b,c,d){var e=1==a.length?a[0].length+b.ch:nb(a).length,f=d({line:b.line+a.length-1,ch:e});Kc(b,c,a,f.from,f.to)}function Vc(a,b,c){var d=a.line,e=b.line;if(d==e)return pc(d).text.slice(a.ch,b.ch);var f=[pc(d).text.slice(a.ch)];return Hb.iter(d+1,e,function(a){f.push(a.text)}),f.push(pc(e).text.slice(0,b.ch)),f.join(c||"\n")}function Wc(a){return Vc(Kb.from,Kb.to,a)}function Xc(){gc||Db.set(f.pollInterval,function(){$c(),Jb&&Xc()})}function Yc(){function b(){var c=$c();c||a?(gc=!1,Xc()):(a=!0,Db.set(60,b))}var a=!1;gc=!0,Db.set(20,b)}function $c(){if(!Jb||Bb(w)||f.readOnly)return!1;var a=w.value;if(a==Zc)return!1;me||ke(),Lb=null;for(var b=0,c=Math.min(Zc.length,a.length);c>b&&Zc[b]==a[b];)++b;return Zc.length>b?Kb.from={line:Kb.from.line,ch:Kb.from.ch-(Zc.length-b)}:Qb&&pb(Kb.from,Kb.to)&&!Sb&&(Kb.to={line:Kb.to.line,ch:Math.min(pc(Kb.to.line).text.length,Kb.to.ch+(a.length-b))}),Tc(a.slice(b),"end"),a.length>1e3?w.value=Zc="":Zc=a,me||le(),Sb=!1,!0}function _c(a){pb(Kb.from,Kb.to)?a&&(Zc=w.value=""):(Zc="",w.value=Wc(),Jb&&ob(w))}function ad(){"nocursor"!=f.readOnly&&w.focus()}function bd(){var a=cd();if(dd(a.x,a.y,a.x,a.yBot),Jb){var b=lb.getBoundingClientRect(),c=null;if(0>a.y+b.top?c=!0:a.y+b.top+Wd()>(window.innerHeight||document.documentElement.clientHeight)&&(c=!1),null!=c){var d="none"==M.style.display;d&&(M.style.display="",M.style.left=a.x+"px",M.style.top=a.y-$b+"px"),M.scrollIntoView(c),d&&(M.style.display="none")}}}function cd(){var a=Qd(Kb.inverted?Kb.from:Kb.to),b=f.lineWrapping?Math.min(a.x,Z.offsetWidth):a.x;return{x:b,y:a.y,yBot:a.yBot}}function dd(a,b,c,d){var e=ed(a,b,c,d);null!=e.scrollLeft&&(vb.scrollLeft=e.scrollLeft),null!=e.scrollTop&&(F.scrollTop=vb.scrollTop=e.scrollTop)}function ed(a,b,c,d){var e=_d(),g=$d();b+=g,d+=g,a+=e,c+=e;var h=vb.clientHeight,i=F.scrollTop,j={},k=Pc()||1/0,l=g+10>b,m=d+g>k-10;i>b?j.scrollTop=l?0:Math.max(0,b):d>i+h&&(j.scrollTop=(m?k:d)-h);var n=vb.clientWidth,o=vb.scrollLeft,p=f.fixedGutter?hb.clientWidth:0,q=p+e+10>a;return o+p>a||q?(q&&(a=0),j.scrollLeft=Math.max(0,a-10-p)):c>n+o-3&&(j.scrollLeft=c+10-n),j}function fd(a){var b=Wd(),c=(null!=a?a:F.scrollTop)-$d(),d=Math.max(0,Math.floor(c/b)),e=Math.ceil((c+vb.clientHeight)/b);return{from:T(Hb,d),to:T(Hb,e)}}function gd(a,b,c){function o(){var a=G.firstChild,b=!1;return Hb.iter(_b,ac,function(c){if(a){if(!c.hidden){var d=Math.round(a.offsetHeight/l)||1;c.height!=d&&(qc(c,d),Yb=b=!0)}a=a.nextSibling}}),b}if(!vb.clientWidth)return _b=ac=$b=0,void 0;var d=fd(c);if(a!==!0&&0==a.length&&d.from>_b&&ac>d.to)return Qc(c),void 0;var e=Math.max(d.from-100,0),g=Math.min(Hb.size,d.to+100);e>_b&&20>e-_b&&(e=_b),ac>g&&20>ac-g&&(g=Math.min(Hb.size,ac));for(var h=a===!0?[]:hd([{from:_b,to:ac,domStart:0}],a),i=0,j=0;h.length>j;++j){var k=h[j];e>k.from&&(k.domStart+=e-k.from,k.from=e),k.to>g&&(k.to=g),k.from>=k.to?h.splice(j--,1):i+=k.to-k.from}if(i==g-e&&e==_b&&g==ac)return Qc(c),void 0;h.sort(function(a,b){return a.domStart-b.domStart});var l=Wd(),m=hb.style.display;G.style.display="none",id(e,g,h),G.style.display=hb.style.display="";var n=e!=_b||g!=ac||bc!=vb.clientHeight+l;if(n&&(bc=vb.clientHeight+l),(e!=_b||g!=ac&&f.onViewportChange)&&setTimeout(function(){f.onViewportChange&&f.onViewportChange(oc,e,g)}),_b=e,ac=g,$b=U(Hb,e),je(100),G.childNodes.length!=ac-_b)throw Error("BAD PATCH! "+JSON.stringify(h)+" size="+(ac-_b)+" nodes="+G.childNodes.length);return f.lineWrapping&&o(),hb.style.display=m,(n||Yb)&&jd()&&f.lineWrapping&&o()&&jd(),Qc(c),kd(),!b&&f.onUpdate&&f.onUpdate(oc),!0}function hd(a,b){for(var c=0,d=b.length||0;d>c;++c){for(var e=b[c],f=[],g=e.diff||0,h=0,i=a.length;i>h;++h){var j=a[h];e.to<=j.from&&e.diff?f.push({from:j.from+g,to:j.to+g,domStart:j.domStart}):e.to<=j.from||e.from>=j.to?f.push(j):(e.from>j.from&&f.push({from:j.from,to:e.from,domStart:j.domStart}),e.toh;++h){for(var i=c[h];i.domStart>e;)f=d(f),e++;for(var j=0,k=i.to-i.from;k>j;++j)f=f.nextSibling,e++}for(;f;)f=d(f)}else tb(G);var l=c.shift(),f=G.firstChild,j=a;Hb.iter(a,b,function(a){if(l&&l.to==j&&(l=c.shift()),!l||l.from>j){if(a.hidden)var b=sb("pre");else{var b=rc(a);if(a.className&&(b.className=a.className),a.bgClassName){var d=sb("pre","\u00a0",a.bgClassName,"position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: -2");b=sb("div",[d,b],null,"position: relative")}}G.insertBefore(b,f)}else f=f.nextSibling;++j})}function jd(){if(f.gutter||f.lineNumbers){var a=ib.offsetHeight,b=vb.clientHeight;hb.style.height=(2>a-b?b:a)+"px";var e,c=document.createDocumentFragment(),d=_b;if(Hb.iter(_b,Math.max(ac,_b+1),function(a){if(a.hidden)c.appendChild(sb("pre"));else{var b=a.gutterMarker,g=f.lineNumbers?f.lineNumberFormatter(d+f.firstLineNumber):null;b&&b.text?g=b.text.replace("%N%",null!=g?g:""):null==g&&(g="\u00a0");var h=c.appendChild(sb("pre",null,b&&b.style));h.innerHTML=g;for(var i=1;a.height>i;++i)h.appendChild(sb("br")),h.appendChild(document.createTextNode("\u00a0"));b||(e=d)}++d}),hb.style.display="none",ub(gb,c),null!=e&&f.lineNumbers){for(var g=gb.childNodes[e-_b],h=(Hb.size+"").length,i=kb(g.firstChild),j="";h>i.length+j.length;)j+="\u00a0";j&&g.insertBefore(document.createTextNode(j),g.firstChild)}hb.style.display="";var k=Math.abs((parseInt(Z.style.marginLeft)||0)-hb.offsetWidth)>2;return Z.style.marginLeft=hb.offsetWidth+"px",Yb=!1,k}}function kd(){var a=pb(Kb.from,Kb.to),b=Qd(Kb.from,!0),c=a?b:Qd(Kb.to,!0),d=Kb.inverted?b:c,e=Wd(),g=jb(yb),h=jb(G);if(B.style.top=Math.max(0,Math.min(vb.offsetHeight,d.y+h.top-g.top))+"px",B.style.left=Math.max(0,Math.min(vb.offsetWidth,d.x+h.left-g.left))+"px",a)M.style.top=d.y+"px",M.style.left=(f.lineWrapping?Math.min(d.x,Z.offsetWidth):d.x)+"px",M.style.display="",L.style.display="none";else{var i=b.y==c.y,j=document.createDocumentFragment(),k=Z.clientWidth||Z.offsetWidth,l=Z.clientHeight||Z.offsetHeight,m=function(a,b,c,d){var e=s?"width: "+(c?k-c-a:k)+"px":"right: "+c+"px";j.appendChild(sb("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px; top: "+b+"px; "+e+"; height: "+d+"px"))};if(Kb.from.ch&&b.y>=0){var n=i?k-c.x:0;m(b.x,b.y,n,e)}var o=Math.max(0,b.y+(Kb.from.ch?e:0)),p=Math.min(c.y,l)-o;p>.2*e&&m(0,o,0,p),i&&Kb.from.ch||!(l-.5*e>c.y)||m(0,c.y,k-c.x,e),ub(L,j),M.style.display="none",L.style.display=""}}function ld(a){Lb=a?Lb||(Kb.inverted?Kb.to:Kb.from):null}function md(a,b){var c=Lb&&rd(Lb);c&&(qb(c,a)?a=c:qb(b,c)&&(b=c)),nd(a,b),Ub=!0}function nd(a,b,c,d){if(hc=null,null==c&&(c=Kb.from.line,d=Kb.to.line),!pb(Kb.from,a)||!pb(Kb.to,b)){if(qb(b,a)){var e=b;b=a,a=e}if(a.line!=c){var g=od(a,c,Kb.from.ch);g?a=g:Nd(a.line,!1)}if(b.line!=d&&(b=od(b,d,Kb.to.ch)),pb(a,b)?Kb.inverted=!1:pb(a,Kb.to)?Kb.inverted=!1:pb(b,Kb.from)&&(Kb.inverted=!0),f.autoClearEmptyLines&&pb(Kb.from,Kb.to)){var h=Kb.inverted?a:b;if(h.line!=Kb.from.line&&Kb.from.linec||h>g.text.length)&&(h=g.text.length),{line:d,ch:h}}d+=b}}var e=pc(a.line),f=a.ch==e.text.length&&a.ch!=c;return e.hidden?a.line>=b?d(1)||d(-1):d(-1)||d(1):a}function pd(a,b,c){var d=rd({line:a,ch:b||0});(c?md:nd)(d,d)}function qd(a){return Math.max(0,Math.min(a,Hb.size-1))}function rd(a){if(0>a.line)return{line:0,ch:0};if(a.line>=Hb.size)return{line:Hb.size-1,ch:pc(Hb.size-1).text.length};var b=a.ch,c=pc(a.line).text.length;return null==b||b>c?{line:a.line,ch:c}:0>b?{line:a.line,ch:0}:a}function sd(a,b){function g(){for(var b=d+a,c=0>a?-1:Hb.size;b!=c;b+=a){var e=pc(b);if(!e.hidden)return d=b,f=e,!0}}function h(b){if(e==(0>a?0:f.text.length)){if(b||!g())return!1;e=0>a?f.text.length:0}else e+=a;return!0}var c=Kb.inverted?Kb.from:Kb.to,d=c.line,e=c.ch,f=pc(d);if("char"==b)h();else if("column"==b)h(!0);else if("word"==b)for(var i=!1;!(0>a)||h();){if(zb(f.text.charAt(e)))i=!0;else if(i){0>a&&(a=1,h());break}if(a>0&&!h())break}return{line:d,ch:e}}function td(a,b){var c=0>a?Kb.from:Kb.to;(Lb||pb(Kb.from,Kb.to))&&(c=sd(a,b)),pd(c.line,c.ch,!0)}function ud(a,b){pb(Kb.from,Kb.to)?0>a?Sc("",sd(a,b),Kb.to):Sc("",Kb.from,sd(a,b)):Sc("",Kb.from,Kb.to),Ub=!0}function vd(a,b){var d=Qd(Kb.inverted?Kb.from:Kb.to,!0);if(null!=hc&&(d.x=hc),"page"==b)var e=Math.min(vb.clientHeight,window.innerHeight||document.documentElement.clientHeight),f=Rd(d.x,d.y+e*a);else if("line"==b)var g=Wd(),f=Rd(d.x,d.y+.5*g+a*g);"page"==b&&(F.scrollTop+=Qd(f,!0).y-d.y),pd(f.line,f.ch,!0),hc=d.x}function wd(a){var b=pc(a.line).text,c=a.ch,d=a.ch;if(b){a.after===!1||d==b.length?--c:++d;for(var e=b.charAt(c),f=zb(e)?zb:/\s/.test(e)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&zb(a)};c>0&&f(b.charAt(c-1));)--c;for(;b.length>d&&f(b.charAt(d));)++d}return{from:{line:a.line,ch:c},to:{line:a.line,ch:d}}}function xd(a){md({line:a,ch:0},rd({line:a+1,ch:0}))}function yd(a){if(pb(Kb.from,Kb.to))return zd(Kb.from.line,a);for(var b=Kb.to.line-(Kb.to.ch?0:1),c=Kb.from.line;b>=c;++c)zd(c,a)}function zd(a,b){if(b||(b="add"),"smart"==b)if(Gb.indent)var c=he(a);else b="prev";var h,d=pc(a),e=d.indentation(f.tabSize),g=d.text.match(/^\s*/)[0];"smart"==b&&(h=Gb.indent(c,d.text.slice(g.length),d.text),h==eb&&(b="prev")),"prev"==b?h=a?pc(a-1).indentation(f.tabSize):0:"add"==b?h=e+f.indentUnit:"subtract"==b&&(h=e-f.indentUnit),h=Math.max(0,h);var j="",k=0;if(f.indentWithTabs)for(var l=Math.floor(h/f.tabSize);l;--l)k+=f.tabSize,j+=" ";h>k&&(j+=mb(h-k)),j!=g&&Sc(j,{line:a,ch:0},{line:a,ch:g.length}),d.stateAfter=null}function Ad(){Gb=a.getMode(f,f.mode),Hb.iter(0,Hb.size,function(a){a.stateAfter=null}),Ib=0,je(100)}function Bd(){var a=f.gutter||f.lineNumbers;hb.style.display=a?"":"none",a?Yb=!0:G.parentNode.style.marginLeft=0}function Cd(){if(f.lineWrapping){yb.className+=" CodeMirror-wrap";var c=vb.clientWidth/Zd()-3;Hb.iter(0,Hb.size,function(a){if(!a.hidden){var b=Math.ceil(a.text.length/c)||1;1!=b&&qc(a,b)}}),Z.style.minWidth=N.style.left=""}else yb.className=yb.className.replace(" CodeMirror-wrap",""),Rc(),Hb.iter(0,Hb.size,function(a){1==a.height||a.hidden||qc(a,1)});Vb.push({from:0,to:Hb.size})}function Dd(){vb.className=vb.className.replace(/\s*cm-s-\S+/g,"")+f.theme.replace(/(^|\s)\s*/g," cm-s-")}function Ed(){var a=k[f.keyMap].style;yb.className=yb.className.replace(/\s*cm-keymap-\S+/g,"")+(a?" cm-keymap-"+a:"")}function Fd(a,b){this.lines=[],this.type=a,b&&(this.style=b)}function Gd(a,b,c,d){a=rd(a),b=rd(b);var e=new Fd("range",c);if(d)for(var f in d)d.hasOwnProperty(f)&&(e[f]=d[f]);var g=a.line;return Hb.iter(g,b.line+1,function(c){var d={from:g==a.line?a.ch:null,to:g==b.line?b.ch:null,marker:e};c.markedSpans=(c.markedSpans||[]).concat([d]),e.lines.push(c),++g}),Vb.push({from:a.line,to:b.line+1}),e}function Hd(a){a=rd(a);var b=new Fd("bookmark"),c=pc(a.line);ic.addChange(a.line,1,[K(c.text,c.markedSpans)],!0);var d={from:a.ch,to:a.ch,marker:b};return c.markedSpans=(c.markedSpans||[]).concat([d]),b.lines.push(c),b}function Id(a){a=rd(a);var b=[],c=pc(a.line).markedSpans;if(c)for(var d=0;c.length>d;++d){var e=c[d];(null==e.from||e.from<=a.ch)&&(null==e.to||e.to>=a.ch)&&b.push(e.marker)}return b}function Jd(a,b,c){return"number"==typeof a&&(a=pc(qd(a))),a.gutterMarker={text:b,style:c},Yb=!0,a}function Kd(a){"number"==typeof a&&(a=pc(qd(a))),a.gutterMarker=null,Yb=!0}function Ld(a,b){var c=a,d=a;return"number"==typeof a?d=pc(qd(a)):c=S(a),null==c?null:b(d,c)?(Vb.push({from:c,to:c+1}),d):null}function Md(a,b,c){return Ld(a,function(a){return a.className!=b||a.bgClassName!=c?(a.className=b,a.bgClassName=c,!0):void 0})}function Nd(a,b){return Ld(a,function(a,c){if(a.hidden!=b){a.hidden=b,f.lineWrapping||(b&&a.text.length==dc.text.length?ec=!0:!b&&a.text.length>dc.text.length&&(dc=a,ec=!1)),qc(a,b?0:1);var d=Kb.from.line,e=Kb.to.line;if(b&&(d==c||e==c)){var g=d==c?od({line:d,ch:0},d,0):Kb.from,h=e==c?od({line:e,ch:0},e,0):Kb.to;if(!h)return;nd(g,h)}return Yb=!0}})}function Od(a){if("number"==typeof a){if(!nc(a))return null;var b=a;if(a=pc(a),!a)return null}else{var b=S(a);if(null==b)return null}var c=a.gutterMarker;return{line:b,handle:a,text:a.text,markerText:c&&c.text,markerClass:c&&c.style,lineClass:a.className,bgClass:a.bgClassName}}function Pd(a,b){if(0==b)return{top:0,left:0};var c=rc(a,b);ub(W,c);var d=c.anchor,e=d.offsetTop,f=d.offsetLeft;if(p&&0==e&&0==f){var g=sb("span","x");d.parentNode.insertBefore(g,d.nextSibling),e=g.offsetTop}return{top:e,left:f}}function Qd(a,b){var c,d=Wd(),e=d*(U(Hb,a.line)-(b?$b:0));if(0==a.ch)c=0;else{var g=Pd(pc(a.line),a.ch);c=g.left,f.lineWrapping&&(e+=Math.max(0,g.top))}return{x:c,y:e,yBot:e+d}}function Rd(a,b){function m(a){var b=Pd(h,a);if(j){var d=Math.round(b.top/c);return l=d!=k,Math.max(0,b.left+(d-k)*vb.clientWidth)}return b.left}var c=Wd(),d=Zd(),e=$b+Math.floor(b/c);if(0>e)return{line:0,ch:0};var g=T(Hb,e);if(g>=Hb.size)return{line:Hb.size-1,ch:pc(Hb.size-1).text.length};var h=pc(g),i=h.text,j=f.lineWrapping,k=j?e-U(Hb,g):0;if(0>=a&&0==k)return{line:g,ch:0};for(var q,l=!1,n=0,o=0,p=i.length,r=Math.min(p,Math.ceil((a+.9*k*vb.clientWidth)/d));;){var s=m(r);if(!(a>=s&&p>r)){q=s,p=r;break}r=Math.min(p,Math.ceil(1.2*r))}if(a>q)return{line:g,ch:p};for(r=Math.floor(.8*p),s=m(r),a>s&&(n=r,o=s);;){if(1>=p-n){var t=q-a>a-o;return{line:g,ch:t?n:p,after:t}}var u=Math.ceil((n+p)/2),v=m(u);v>a?(p=u,q=v,l&&(q+=1e3)):(n=u,o=v)}}function Sd(a){var b=Qd(a,!0),c=jb(Z);return{x:c.left+b.x,y:c.top+b.y,yBot:c.top+b.yBot}}function Wd(){if(null==Vd){Vd=sb("pre");for(var a=0;49>a;++a)Vd.appendChild(document.createTextNode("x")),Vd.appendChild(sb("br"));Vd.appendChild(document.createTextNode("x"))}var b=G.clientHeight;return b==Ud?Td:(Ud=b,ub(W,Vd.cloneNode(!0)),Td=W.firstChild.offsetHeight/50||1,tb(W),Td)}function Zd(){if(vb.clientWidth==Yd)return Xd;Yd=vb.clientWidth;var a=sb("span","x"),b=sb("pre",[a]);return ub(W,b),Xd=a.offsetWidth||10}function $d(){return Z.offsetTop}function _d(){return Z.offsetLeft}function ae(a,b){var d,e,c=jb(vb,!0);try{d=a.clientX,e=a.clientY}catch(a){return null}if(!b&&(d-c.left>vb.clientWidth||e-c.top>vb.clientHeight))return null;var f=jb(Z,!0);return Rd(d-f.left,e-f.top)}function ce(a){function e(){if(B.style.position="relative",w.style.cssText=d,r&&(F.scrollTop=c),Xc(),null!=w.selectionStart){clearTimeout(be);var a=w.value=" "+(pb(Kb.from,Kb.to)?"":w.value),b=0;Zc=" ",w.selectionStart=1,w.selectionEnd=a.length,be=setTimeout(function e(){" "==Zc&&0==w.selectionStart?ne(j.selectAll)(oc):10>b++?be=setTimeout(e,500):_c()},200)}}var b=ae(a),c=F.scrollTop;if(b&&!v){(pb(Kb.from,Kb.to)||qb(b,Kb.from)||!qb(b,Kb.to))&&ne(pd)(b.line,b.ch);var d=w.style.cssText;if(B.style.position="absolute",w.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(a.clientY-5)+"px; left: "+(a.clientX-5)+"px; z-index: 1000; background: white; "+"border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",ad(),_c(!0),pb(Kb.from,Kb.to)&&(w.value=Zc=" "),o){$(a);var f=cb(window,"mouseup",function(){f(),setTimeout(e,20)},!0)}else setTimeout(e,50)}}function de(){clearInterval(Fb);var a=!0;M.style.visibility="",Fb=setInterval(function(){M.style.visibility=(a=!a)?"":"hidden"},f.cursorBlinkRate)}function fe(a){function p(a,b,c){if(a.text)for(var f,d=a.styles,e=g?0:a.text.length-1,i=g?0:d.length-2,j=g?d.length:-2;i!=j;i+=2*h){var k=d[i];if(d[i+1]==m){for(var l=g?0:k.length-1,p=g?k.length:-1;l!=p;l+=h,e+=h)if(e>=b&&c>e&&o.test(f=k.charAt(l))){var q=ee[f];if(">"==q.charAt(1)==g)n.push(f);else{if(n.pop()!=q.charAt(0))return{pos:e,match:!1};if(!n.length)return{pos:e,match:!0}}}}else e+=h*k.length}}var b=Kb.inverted?Kb.from:Kb.to,c=pc(b.line),d=b.ch-1,e=d>=0&&ee[c.text.charAt(d)]||ee[c.text.charAt(++d)];if(e){for(var g=(e.charAt(0),">"==e.charAt(1)),h=g?1:-1,i=c.styles,j=d+1,k=0,l=i.length;l>k;k+=2)if(0>=(j-=i[k].length)){var m=i[k+1];break}for(var n=[c.text.charAt(d)],o=/[(){}[\]]/,k=b.line,l=g?Math.min(k+100,Hb.size):Math.max(-1,k-100);k!=l;k+=h){var c=pc(k),q=k==b.line,r=p(c,q&&g?d+1:0,q&&!g?d:c.text.length);if(r)break}r||(r={pos:null,match:!1});var m=r.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket",s=Gd({line:b.line,ch:d},{line:b.line,ch:d+1},m),t=null!=r.pos&&Gd({line:k,ch:r.pos},{line:k,ch:r.pos+1},m),u=ne(function(){s.clear(),t&&t.clear()});a?setTimeout(u,800):cc=u}}function ge(a){for(var b,c,d=a,e=a-40;d>e;--d){if(0==d)return 0;var g=pc(d-1);if(g.stateAfter)return d;var h=g.indentation(f.tabSize);(null==c||b>h)&&(c=d-1,b=h)}return c}function he(a){var b=ge(a),c=b&&pc(b-1).stateAfter;return c=c?z(Gb,c):A(Gb),Hb.iter(b,a,function(d){d.process(Gb,c,f.tabSize),d.stateAfter=b==a-1||0==b%5?z(Gb,c):null}),c}function ie(){if(!(Ib>=ac)){var a=+new Date+f.workTime,b=z(Gb,he(Ib)),c=Ib;Hb.iter(Ib,ac,function(c){return Ib>=_b?(c.highlight(Gb,b,f.tabSize),c.stateAfter=z(Gb,b)):(c.process(Gb,b,f.tabSize),c.stateAfter=0==Ib%5?z(Gb,b):null),++Ib,+new Date>a?(je(f.workDelay),!0):void 0}),ac>c&&Ib>=_b&&ne(function(){Vb.push({from:c,to:Ib})})()}}function je(a){ac>Ib&&Eb.set(a,ie)}function ke(){Tb=Ub=Wb=null,Vb=[],Xb=!1,Zb=[]}function le(){if(ec&&Rc(),fc&&!f.lineWrapping){var a=N.offsetWidth,b=Pd(dc,dc.text.length).left;q||(N.style.left=b+"px",Z.style.minWidth=b+a+"px"),fc=!1}var c,d;if(Xb){var e=cd();c=ed(e.x,e.y,e.x,e.yBot)}(Vb.length||c&&null!=c.scrollTop)&&(d=gd(Vb,!0,c&&c.scrollTop)),d||(Xb&&kd(),Yb&&jd()),c&&bd(),Xb&&de(),Jb&&(Tb===!0||Tb!==!1&&Xb)&&_c(Ub),Xb&&f.matchBrackets&&setTimeout(ne(function(){cc&&(cc(),cc=null),pb(Kb.from,Kb.to)&&fe(!1)}),20);var g=Xb,h=Zb;Wb&&f.onChange&&oc&&f.onChange(oc,Wb),g&&f.onCursorActivity&&f.onCursorActivity(oc);for(var i=0;h.length>i;++i)h[i](oc);d&&f.onUpdate&&f.onUpdate(oc)}function ne(a){return function(){me++||ke();try{var b=a.apply(this,arguments)}finally{--me||le()}return b}}function oe(a){ic.startCompound();try{return a()}finally{ic.endCompound()}}var f={},i=a.defaults;for(var u in i)i.hasOwnProperty(u)&&(f[u]=(e&&e.hasOwnProperty(u)?e:i)[u]);var w=sb("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em");w.setAttribute("wrap","off"),w.setAttribute("autocorrect","off"),w.setAttribute("autocapitalize","off");var B=sb("div",[w],null,"overflow: hidden; position: relative; width: 3px; height: 0px;"),C=sb("div",null,"CodeMirror-scrollbar-inner"),F=sb("div",[C],"CodeMirror-scrollbar"),G=sb("div"),L=sb("div",null,null,"position: relative; z-index: -1"),M=sb("pre","\u00a0","CodeMirror-cursor"),N=sb("pre","\u00a0","CodeMirror-cursor","visibility: hidden"),W=sb("div",null,null,"position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"),Z=sb("div",[W,M,N,L,G],null,"position: relative; z-index: 0"),gb=sb("div",null,"CodeMirror-gutter-text"),hb=sb("div",[gb],"CodeMirror-gutter"),ib=sb("div",[hb,sb("div",[Z],"CodeMirror-lines")],null,"position: relative"),lb=sb("div",[ib],null,"position: relative"),vb=sb("div",[lb],"CodeMirror-scroll");vb.setAttribute("tabIndex","-1");var yb=sb("div",[B,F,vb],"CodeMirror"+(f.lineWrapping?" CodeMirror-wrap":""));d.appendChild?d.appendChild(yb):d(yb),Dd(),Ed(),b&&(w.style.width="0px"),t||(vb.draggable=!0),Z.style.outline="none",null!=f.tabindex&&(w.tabIndex=f.tabindex),f.autofocus&&ad(),f.gutter||f.lineNumbers||(hb.style.display="none"),x&&(B.style.height="1px",B.style.position="absolute"),y?(F.style.zIndex=-2,F.style.visibility="hidden"):q&&(F.style.minWidth="18px");var Fb,Gb,Jb,Db=new db,Eb=new db,Hb=new Q([new P([new O("")])]),Ib=0;Ad();var Lb,Mb,Nb,Pb,Tb,Ub,Vb,Wb,Xb,Yb,Zb,cc,Kb={from:{line:0,ch:0},to:{line:0,ch:0},inverted:!1},Ob=0,Qb=!1,Rb=!1,Sb=!1,$b=0,_b=0,ac=0,bc=0,dc=pc(0),ec=!1,fc=!0,gc=!1,hc=null;ne(function(){sc(f.value||""),Tb=!1})();var ic=new V;cb(vb,"mousedown",ne(wc)),cb(vb,"dblclick",ne(xc)),cb(Z,"selectstart",Y),o||cb(vb,"contextmenu",ce),cb(vb,"scroll",vc),cb(F,"scroll",uc),cb(F,"mousedown",function(){Jb&&setTimeout(ad,0)});var jc=cb(window,"resize",function(){yb.parentNode?gd(!0):jc()},!0);cb(w,"keyup",ne(Hc)),cb(w,"input",Yc),cb(w,"keydown",ne(Fc)),cb(w,"keypress",ne(Gc)),cb(w,"focus",Ic),cb(w,"blur",Jc),f.dragDrop&&(cb(vb,"dragstart",zc),cb(vb,"dragenter",kc),cb(vb,"dragover",kc),cb(vb,"drop",ne(yc))),cb(vb,"paste",function(){ad(),Yc()}),cb(w,"paste",function(){Sb=!0,Yc()}),cb(w,"cut",ne(function(){f.readOnly||Tc("")})),x&&cb(lb,"mouseup",function(){document.activeElement==w&&w.blur(),ad()});var lc;try{lc=document.activeElement==w}catch(mc){}lc||f.autofocus?setTimeout(Ic,20):Jc();var Bc,oc=yb.CodeMirror={getValue:tc,setValue:ne(sc),getSelection:Wc,replaceSelection:ne(Tc),focus:function(){window.focus(),ad(),Ic(),Yc()},setOption:function(a,b){var c=f[a];f[a]=b,"mode"==a||"indentUnit"==a?Ad():"readOnly"==a&&"nocursor"==b?(Jc(),w.blur()):"readOnly"!=a||b?"theme"==a?Dd():"lineWrapping"==a&&c!=b?ne(Cd)():"tabSize"==a?gd(!0):"keyMap"==a?Ed():"tabindex"==a&&(w.tabIndex=b):_c(!0),("lineNumbers"==a||"gutter"==a||"firstLineNumber"==a||"theme"==a||"lineNumberFormatter"==a)&&(Bd(),gd(!0))},getOption:function(a){return f[a]},getMode:function(){return Gb},undo:ne(Mc),redo:ne(Nc),indentLine:ne(function(a,b){"string"!=typeof b&&(b=null==b?f.smartIndent?"smart":"prev":b?"add":"subtract"),nc(a)&&zd(a,b)}),indentSelection:ne(yd),historySize:function(){return{undo:ic.done.length,redo:ic.undone.length}},clearHistory:function(){ic=new V},setHistory:function(a){ic=new V,ic.done=a.done,ic.undone=a.undone},getHistory:function(){function a(a){for(var d,b=0,c=[];a.length>b;++b){c.push(d=[]);for(var e=0,f=a[b];f.length>e;++e){var g=[],h=f[e];d.push({start:h.start,added:h.added,old:g});for(var i=0;h.old.length>i;++i)g.push(I(h.old[i]))}}return c}return{done:a(ic.done),undone:a(ic.undone)}},matchBrackets:ne(function(){fe(!0)}),getTokenAt:ne(function(a){return a=rd(a),pc(a.line).getTokenAt(Gb,he(a.line),f.tabSize,a.ch)}),getStateAfter:function(a){return a=qd(null==a?Hb.size-1:a),he(a+1)},cursorCoords:function(a,b){return null==a&&(a=Kb.inverted),this.charCoords(a?Kb.from:Kb.to,b)},charCoords:function(a,b){return a=rd(a),"local"==b?Qd(a,!1):"div"==b?Qd(a,!0):Sd(a)},coordsChar:function(a){var b=jb(Z);return Rd(a.x-b.left,a.y-b.top)},defaultTextHeight:function(){return Wd()},markText:ne(Gd),setBookmark:Hd,findMarksAt:Id,setMarker:ne(Jd),clearMarker:ne(Kd),setLineClass:ne(Md),hideLine:ne(function(a){return Nd(a,!0)}),showLine:ne(function(a){return Nd(a,!1)}),onDeleteLine:function(a,b){if("number"==typeof a){if(!nc(a))return null;a=pc(a)}return(a.handlers||(a.handlers=[])).push(b),a},lineInfo:Od,getViewport:function(){return{from:_b,to:ac}},addWidget:function(a,b,c,d,e){a=Qd(rd(a));var f=a.yBot,g=a.x;if(b.style.position="absolute",lb.appendChild(b),"over"==d)f=a.y;else if("near"==d){var h=Math.max(vb.offsetHeight,Hb.height*Wd()),i=Math.max(lb.clientWidth,Z.clientWidth)-_d();a.yBot+b.offsetHeight>h&&a.y>b.offsetHeight&&(f=a.y-b.offsetHeight),g+b.offsetWidth>i&&(g=i-b.offsetWidth)}b.style.top=f+$d()+"px",b.style.left=b.style.right="","right"==e?(g=lb.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?g=0:"middle"==e&&(g=(lb.clientWidth-b.offsetWidth)/2),b.style.left=g+_d()+"px"),c&&dd(g,f,g+b.offsetWidth,f+b.offsetHeight) +},lineCount:function(){return Hb.size},clipPos:rd,getCursor:function(a){return null==a&&(a=Kb.inverted),rb(a?Kb.from:Kb.to)},somethingSelected:function(){return!pb(Kb.from,Kb.to)},setCursor:ne(function(a,b,c){null==b&&"number"==typeof a.line?pd(a.line,a.ch,c):pd(a,b,c)}),setSelection:ne(function(a,b,c){(c?md:nd)(rd(a),rd(b||a))}),getLine:function(a){return nc(a)?pc(a).text:void 0},getLineHandle:function(a){return nc(a)?pc(a):void 0},setLine:ne(function(a,b){nc(a)&&Sc(b,{line:a,ch:0},{line:a,ch:pc(a).text.length})}),removeLine:ne(function(a){nc(a)&&Sc("",{line:a,ch:0},rd({line:a+1,ch:0}))}),replaceRange:ne(Sc),getRange:function(a,b,c){return Vc(rd(a),rd(b),c)},triggerOnKeyDown:ne(Fc),execCommand:function(a){return j[a](oc)},moveH:ne(td),deleteH:ne(ud),moveV:ne(vd),toggleOverwrite:function(){Qb?(Qb=!1,M.className=M.className.replace(" CodeMirror-overwrite","")):(Qb=!0,M.className+=" CodeMirror-overwrite")},posFromIndex:function(a){var c,b=0;return Hb.iter(0,Hb.size,function(d){var e=d.text.length+1;return e>a?(c=a,!0):(a-=e,++b,void 0)}),rd({line:b,ch:c})},indexFromPos:function(a){if(0>a.line||0>a.ch)return 0;var b=a.ch;return Hb.iter(0,a.line,function(a){b+=a.text.length+1}),b},scrollTo:function(a,b){null!=a&&(vb.scrollLeft=a),null!=b&&(F.scrollTop=vb.scrollTop=b),gd([])},getScrollInfo:function(){return{x:vb.scrollLeft,y:F.scrollTop,height:F.scrollHeight,width:vb.scrollWidth}},scrollIntoView:function(a){var b=Qd(a?rd(a):Kb.inverted?Kb.from:Kb.to);dd(b.x,b.y,b.x,b.yBot)},setSize:function(a,b){function c(a){return a+="",/^\d+$/.test(a)?a+"px":a}null!=a&&(yb.style.width=c(a)),null!=b&&(vb.style.height=c(b)),oc.refresh()},operation:function(a){return ne(a)()},compoundChange:function(a){return oe(a)},refresh:function(){gd(!0,null,Ob),F.scrollHeight>Ob&&(F.scrollTop=Ob)},getInputField:function(){return w},getWrapperElement:function(){return yb},getScrollerElement:function(){return vb},getGutterElement:function(){return hb}},Ec=null,Zc="";Fd.prototype.clear=ne(function(){for(var a,b,c=0;this.lines.length>c;++c){var d=this.lines[c],e=D(d.markedSpans,this);null!=e.from&&(a=S(d)),null!=e.to&&(b=S(d)),d.markedSpans=E(d.markedSpans,e)}null!=a&&Vb.push({from:a,to:b+1}),this.lines.length=0,this.explicitlyCleared=!0}),Fd.prototype.find=function(){for(var a,b,c=0;this.lines.length>c;++c){var d=this.lines[c],e=D(d.markedSpans,this);if(null!=e.from||null!=e.to){var f=S(d);null!=e.from&&(a={line:f,ch:e.from}),null!=e.to&&(b={line:f,ch:e.to})}}return"bookmark"==this.type?a:a&&{from:a,to:b}};var Td,Ud,Vd,Xd,be,Yd=0,ee={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},me=0;for(var pe in g)g.propertyIsEnumerable(pe)&&!oc.propertyIsEnumerable(pe)&&(oc[pe]=g[pe]);for(var qe=0;h.length>qe;++qe)h[qe](oc);return oc}function l(a){return"string"==typeof a?k[a]:a}function m(a,b,c,d,e){function f(b){b=l(b);var c=b[a];if(c===!1)return e&&e(),!0;if(null!=c&&d(c))return!0;if(b.nofallthrough)return e&&e(),!0;var g=b.fallthrough;if(null==g)return!1;if("[object Array]"!=Object.prototype.toString.call(g))return f(g);for(var h=0,i=g.length;i>h;++h)if(f(g[h]))return!0;return!1}return b&&f(b)?!0:f(c)}function n(a){var b=Cb[bb(a,"keyCode")];return"Ctrl"==b||"Alt"==b||"Shift"==b||"Mod"==b}function z(a,b){if(b===!0)return b;if(a.copyState)return a.copyState(b);var c={};for(var d in b){var e=b[d];e instanceof Array&&(e=e.concat([])),c[d]=e}return c}function A(a,b,c){return a.startState?a.startState(b,c):!0}function B(a,b){this.pos=this.start=0,this.string=a,this.tabSize=b||8}function D(a,b){if(a)for(var c=0;a.length>c;++c){var d=a[c];if(d.marker==b)return d}}function E(a,b){for(var c,d=0;a.length>d;++d)a[d]!=b&&(c||(c=[])).push(a[d]);return c}function F(a,b,c){if(a)for(var e,d=0;a.length>d;++d){var f=a[d],g=f.marker,h=null==f.from||(g.inclusiveLeft?b>=f.from:b>f.from);if(h||"bookmark"==g.type&&f.from==b&&f.from!=c){var i=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);(e||(e=[])).push({from:f.from,to:i?null:f.to,marker:g})}}return e}function G(a,b){if(a)for(var d,c=0;a.length>c;++c){var e=a[c],f=e.marker,g=null==e.to||(f.inclusiveRight?e.to>=b:e.to>b);if(g||"bookmark"==f.type&&e.from==b){var h=null==e.from||(f.inclusiveLeft?b>=e.from:b>e.from);(d||(d=[])).push({from:h?null:e.from-b,to:null==e.to?null:e.to-b,marker:f})}}return d}function H(a,b,c,d,e){if(!a&&!b)return e;var f=F(a,c),g=G(b,d),h=1==e.length,i=nb(e).length+(h?c:0);if(f)for(var j=0;f.length>j;++j){var k=f[j];if(null==k.to){var l=D(g,k.marker);l?h&&(k.to=null==l.to?null:l.to+i):k.to=c}}if(g)for(var j=0;g.length>j;++j){var k=g[j];if(null!=k.to&&(k.to+=i),null==k.from){var l=D(f,k.marker);l||(k.from=i,h&&(f||(f=[])).push(k))}else k.from+=i,h&&(f||(f=[])).push(k)}var m=[K(e[0],f)];if(!h){var o,n=e.length-2;if(n>0&&f)for(var j=0;f.length>j;++j)null==f[j].to&&(o||(o=[])).push({from:null,to:null,marker:f[j].marker});for(var j=0;n>j;++j)m.push(K(e[j+1],o));m.push(K(nb(e),g))}return m}function I(a){return"string"==typeof a?a:a.text}function J(a){if("string"==typeof a)return null;for(var b=a.markedSpans,c=null,d=0;b.length>d;++d)b[d].marker.explicitlyCleared?c||(c=b.slice(0,d)):c&&c.push(b[d]);return c?c.length?c:null:b}function K(a,b){return b?{text:a,markedSpans:b}:a}function L(a){var b=a.markedSpans;if(b){for(var c=0;b.length>c;++c){var d=b[c].marker.lines,e=xb(d,a);d.splice(e,1)}a.markedSpans=null}}function M(a,b){if(b){for(var c=0;b.length>c;++c)b[c].marker.lines.push(a);a.markedSpans=b}}function O(a,b){this.text=a,this.height=1,M(this,b)}function P(a){this.lines=a,this.parent=null;for(var b=0,c=a.length,d=0;c>b;++b)a[b].parent=this,d+=a[b].height;this.height=d}function Q(a){this.children=a;for(var b=0,c=0,d=0,e=a.length;e>d;++d){var f=a[d];b+=f.chunkSize(),c+=f.height,f.parent=this}this.size=b,this.height=c,this.parent=null}function R(a,b){for(;!a.lines;)for(var c=0;;++c){var d=a.children[c],e=d.chunkSize();if(e>b){a=d;break}b-=e}return a.lines[b]}function S(a){if(null==a.parent)return null;for(var b=a.parent,c=xb(b.lines,a),d=b.parent;d;b=d,d=d.parent){var e=0;for(d.children.length;d.children[e]!=b;++e)c+=d.children[e].chunkSize()}return c}function T(a,b){var c=0;a:do{for(var d=0,e=a.children.length;e>d;++d){var f=a.children[d],g=f.height;if(g>b){a=f;continue a}b-=g,c+=f.chunkSize()}return c}while(!a.lines);for(var d=0,e=a.lines.length;e>d;++d){var h=a.lines[d],i=h.height;if(i>b)break;b-=i}return c+d}function U(a,b){var c=0;a:do{for(var d=0,e=a.children.length;e>d;++d){var f=a.children[d],g=f.chunkSize();if(g>b){a=f;continue a}b-=g,c+=f.height}return c}while(!a.lines);for(var d=0;b>d;++d)c+=a.lines[d].height;return c}function V(){this.time=0,this.done=[],this.undone=[],this.compound=0,this.closed=!1}function W(){$(this)}function X(a){return a.stop||(a.stop=W),a}function Y(a){a.preventDefault?a.preventDefault():a.returnValue=!1}function Z(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function $(a){Y(a),Z(a)}function _(a){return a.target||a.srcElement}function ab(a){var b=a.which;return null==b&&(1&a.button?b=1:2&a.button?b=3:4&a.button&&(b=2)),c&&a.ctrlKey&&1==b&&(b=3),b}function bb(a,b){var c=a.override&&a.override.hasOwnProperty(b);return c?a.override[b]:a[b]}function cb(a,b,c,d){if("function"==typeof a.addEventListener){if(a.addEventListener(b,c,!1),d)return function(){a.removeEventListener(b,c,!1)}}else{var e=function(a){c(a||window.event)};if(a.attachEvent("on"+b,e),d)return function(){a.detachEvent("on"+b,e)}}}function db(){this.id=null}function ib(a,b,c){null==b&&(b=a.search(/[^\s\u00a0]/),-1==b&&(b=a.length));for(var d=0,e=0;b>d;++d)" "==a.charAt(d)?e+=c-e%c:++e;return e}function jb(a,b){try{var c=a.getBoundingClientRect();c={top:c.top,left:c.left}}catch(d){c={top:0,left:0}}if(!b)if(null==window.pageYOffset){var e=document.documentElement||document.body.parentNode;null==e.scrollTop&&(e=document.body),c.top+=e.scrollTop,c.left+=e.scrollLeft}else c.top+=window.pageYOffset,c.left+=window.pageXOffset;return c}function kb(a){return a.textContent||a.innerText||a.nodeValue||""}function mb(a){for(;a>=lb.length;)lb.push(nb(lb)+" ");return lb[a]}function nb(a){return a[a.length-1]}function ob(a){b?(a.selectionStart=0,a.selectionEnd=a.value.length):a.select()}function pb(a,b){return a.line==b.line&&a.ch==b.ch}function qb(a,b){return a.linef;++f)e.appendChild(b[f]);return e}function tb(a){return a.innerHTML="",a}function ub(a,b){tb(a).appendChild(b)}function vb(a,b){r?(a.innerHTML="",a.appendChild(document.createTextNode(b))):a.textContent=b}function wb(a,b){if(!b)return 0;if(!a)return b.length;for(var c=a.length,d=b.length;c>=0&&d>=0&&a.charAt(c)==b.charAt(d);--c,--d);return d+1}function xb(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;d>c;++c)if(a[c]==b)return c;return-1}function zb(a){return/\w/.test(a)||a>"\u0080"&&(a.toUpperCase()!=a.toLowerCase()||yb.test(a))}a.defaults={value:"",mode:null,theme:"default",indentUnit:2,indentWithTabs:!1,smartIndent:!0,tabSize:4,keyMap:"default",extraKeys:null,electricChars:!0,autoClearEmptyLines:!1,onKeyEvent:null,onDragEvent:null,lineWrapping:!1,lineNumbers:!1,gutter:!1,fixedGutter:!1,firstLineNumber:1,readOnly:!1,dragDrop:!0,onChange:null,onCursorActivity:null,onViewportChange:null,onGutterClick:null,onUpdate:null,onFocus:null,onBlur:null,onScroll:null,matchBrackets:!1,cursorBlinkRate:530,workTime:100,workDelay:200,pollInterval:100,undoDepth:40,tabindex:null,autofocus:null,lineNumberFormatter:function(a){return a}};var b=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent),c=b||/Mac/.test(navigator.platform);/Win/.test(navigator.platform);var e=a.modes={},f=a.mimeModes={};a.defineMode=function(b,c){if(a.defaults.mode||"null"==b||(a.defaults.mode=b),arguments.length>2){c.dependencies=[];for(var d=2;arguments.length>d;++d)c.dependencies.push(arguments[d])}e[b]=c},a.defineMIME=function(a,b){f[a]=b},a.resolveMode=function(b){if("string"==typeof b&&f.hasOwnProperty(b))b=f[b];else if("string"==typeof b&&/^[\w\-]+\/[\w\-]+\+xml$/.test(b))return a.resolveMode("application/xml");return"string"==typeof b?{name:b}:b||{name:"null"}},a.getMode=function(b,c){var c=a.resolveMode(c),d=e[c.name];if(!d)return a.getMode(b,"text/plain");var f=d(b,c);if(i.hasOwnProperty(c.name)){var g=i[c.name];for(var h in g)g.hasOwnProperty(h)&&(f[h]=g[h])}return f.name=c.name,f},a.listModes=function(){var a=[];for(var b in e)e.propertyIsEnumerable(b)&&a.push(b);return a},a.listMIMEs=function(){var a=[];for(var b in f)f.propertyIsEnumerable(b)&&a.push({mime:b,mode:f[b]});return a};var g=a.extensions={};a.defineExtension=function(a,b){g[a]=b};var h=[];a.defineInitHook=function(a){h.push(a)};var i=a.modeExtensions={};a.extendMode=function(a,b){var c=i.hasOwnProperty(a)?i[a]:i[a]={};for(var d in b)b.hasOwnProperty(d)&&(c[d]=b[d])};var j=a.commands={selectAll:function(a){a.setSelection({line:0,ch:0},{line:a.lineCount()-1})},killLine:function(a){var b=a.getCursor(!0),c=a.getCursor(!1),d=!pb(b,c);d||a.getLine(b.line).length!=b.ch?a.replaceRange("",b,d?c:{line:b.line}):a.replaceRange("",b,{line:b.line+1,ch:0})},deleteLine:function(a){var b=a.getCursor().line;a.replaceRange("",{line:b,ch:0},{line:b})},undo:function(a){a.undo()},redo:function(a){a.redo()},goDocStart:function(a){a.setCursor(0,0,!0)},goDocEnd:function(a){a.setSelection({line:a.lineCount()-1},null,!0)},goLineStart:function(a){a.setCursor(a.getCursor().line,0,!0)},goLineStartSmart:function(a){var b=a.getCursor(),c=a.getLine(b.line),d=Math.max(0,c.search(/\S/));a.setCursor(b.line,d>=b.ch&&b.ch?0:d,!0)},goLineEnd:function(a){a.setSelection({line:a.getCursor().line},null,!0)},goLineUp:function(a){a.moveV(-1,"line")},goLineDown:function(a){a.moveV(1,"line")},goPageUp:function(a){a.moveV(-1,"page")},goPageDown:function(a){a.moveV(1,"page")},goCharLeft:function(a){a.moveH(-1,"char")},goCharRight:function(a){a.moveH(1,"char")},goColumnLeft:function(a){a.moveH(-1,"column")},goColumnRight:function(a){a.moveH(1,"column")},goWordLeft:function(a){a.moveH(-1,"word")},goWordRight:function(a){a.moveH(1,"word")},delCharLeft:function(a){a.deleteH(-1,"char")},delCharRight:function(a){a.deleteH(1,"char")},delWordLeft:function(a){a.deleteH(-1,"word")},delWordRight:function(a){a.deleteH(1,"word")},indentAuto:function(a){a.indentSelection("smart")},indentMore:function(a){a.indentSelection("add")},indentLess:function(a){a.indentSelection("subtract")},insertTab:function(a){a.replaceSelection(" ","end")},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.replaceSelection(" ","end")},transposeChars:function(a){var b=a.getCursor(),c=a.getLine(b.line);b.ch>0&&b.ch=this.string.length},sol:function(){return 0==this.pos},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){return this.posb},eatSpace:function(){for(var a=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>a},skipToEnd:function(){this.pos=this.string.length},skipTo:function(a){var b=this.string.indexOf(a,this.pos);return b>-1?(this.pos=b,!0):void 0},backUp:function(a){this.pos-=a},column:function(){return ib(this.string,this.start,this.tabSize)},indentation:function(){return ib(this.string,null,this.tabSize)},match:function(a,b,c){if("string"!=typeof a){var e=this.string.slice(this.pos).match(a);return e&&e.index>0?null:(e&&b!==!1&&(this.pos+=e[0].length),e)}var d=function(a){return c?a.toLowerCase():a};return d(this.string).indexOf(d(a),this.pos)==this.pos?(b!==!1&&(this.pos+=a.length),!0):void 0},current:function(){return this.string.slice(this.start,this.pos)}},a.StringStream=B;var N=" ";o||p&&!q?N="\u200b":v&&(N=""),O.prototype={update:function(a,b){this.text=a,this.stateAfter=this.styles=null,L(this),M(this,b)},highlight:function(a,b,c){var d=new B(this.text,c),e=this.styles||(this.styles=[]),f=e.length=0;for(""==this.text&&a.blankLine&&a.blankLine(b);!d.eol();){var g=a.token(d,b),h=d.current();if(d.start=d.pos,f&&e[f-1]==g?e[f-2]+=h:h&&(e[f++]=h,e[f++]=g),d.pos>5e3){e[f++]=this.text.slice(d.pos),e[f++]=null;break}}},process:function(a,b,c){var d=new B(this.text,c);for(""==this.text&&a.blankLine&&a.blankLine(b);!d.eol()&&5e3>=d.pos;)a.token(d,b),d.start=d.pos},getTokenAt:function(a,b,c,d){for(var e=this.text,f=new B(e,c);d>f.pos&&!f.eol();){f.start=f.pos;var g=a.token(f,b)}return{start:f.start,end:f.pos,string:f.current(),className:g||null,state:b}},indentation:function(a){return ib(this.text,null,a)},getContent:function(a,b,c){function h(b,c,g){if(c){if(d&&p&&" "==c.charAt(0)&&(c="\u00a0"+c.slice(1)),d=!1,f.test(c))for(var h=document.createDocumentFragment(),i=0;;){f.lastIndex=i;var j=f.exec(c),k=j?j.index-i:c.length-i;if(k&&(h.appendChild(document.createTextNode(c.slice(i,i+k))),e+=k),!j)break;if(i+=k+1," "==j[0]){var l=a-e%a;h.appendChild(sb("span",mb(l),"cm-tab")),e+=l}else{var m=sb("span","\u2022","cm-invalidchar");m.title="\\u"+j[0].charCodeAt(0).toString(16),h.appendChild(m),e+=1}}else{e+=c.length;var h=document.createTextNode(c)}g?b.appendChild(sb("span",[h],g)):b.appendChild(h)}}function r(a){return a?"cm-"+a.replace(/ +/g," cm-"):null}var d=!0,e=0,f=/[\t\u0000-\u0019\u200b\u2028\u2029\uFEFF]/g,g=sb("pre"),i=h;if(null!=b){var j=0,k=g.anchor=sb("span");i=function(a,d,e){var f=d.length;if(b>=j&&j+f>b){var g=b-j;if(g&&(h(a,d.slice(0,g),e),c)){var l=d.slice(g-1,g+1);hb.test(l)?a.appendChild(sb("wbr")):!q&&/\w\w/.test(l)&&a.appendChild(document.createTextNode("\u200d"))}a.appendChild(k),h(k,v?d.slice(g,g+1):d.slice(g),e),v&&h(a,d.slice(g+1),e),b--,j+=f}else j+=f,h(a,d,e),j==b&&j==o?(vb(k,N),a.appendChild(k)):j>b+10&&/\s/.test(d)&&(i=function(){})}}var l=this.styles,m=this.text,n=this.markedSpans,o=m.length;if(m||null!=b)if(n&&n.length){n.sort(function(a,b){return a.from-b.from});for(var w,y=0,s=0,z="",B=n[0].from||0,C=[],D=0,E=function(){for(var a;n.length>D&&((a=n[D]).from==y||null==a.from);)"range"==a.marker.type&&C.push(a),++D;B=n.length>D?n[D].from:1/0;for(var b=0;C.length>b;++b){var c=C[b].to;null==c&&(c=1/0),c==y?C.splice(b--,1):B=Math.min(c,B)}};o>y;){B==y&&E();for(var G=Math.min(o,B);;){if(z){for(var H=y+z.length,I=w,J=0;C.length>J;++J){var K=C[J];I=(I?I+" ":"")+K.marker.style,K.marker.endStyle&&K.to===Math.min(H,G)&&(I+=" "+K.marker.endStyle),K.marker.startStyle&&K.from===y&&(I+=" "+K.marker.startStyle)}if(i(g,H>G?z.slice(0,G-y):z,I),H>=G){z=z.slice(G-y),y=G;break}y=H}z=l[s++],w=r(l[s++])}}}else for(var s=0,t=0;o>t;s+=2){var u=l[s],w=l[s+1],x=u.length;t+x>o&&(u=u.slice(0,o-t)),t+=x,i(g,u,r(w))}else i(g," ");return g},cleanUp:function(){this.parent=null,L(this)}},P.prototype={chunkSize:function(){return this.lines.length},remove:function(a,b,c){for(var d=a,e=a+b;e>d;++d){var f=this.lines[d];if(this.height-=f.height,f.cleanUp(),f.handlers)for(var g=0;f.handlers.length>g;++g)c.push(f.handlers[g])}this.lines.splice(a,b)},collapse:function(a){a.splice.apply(a,[a.length,0].concat(this.lines))},insertHeight:function(a,b,c){this.height+=c,this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));for(var d=0,e=b.length;e>d;++d)b[d].parent=this},iterN:function(a,b,c){for(var d=a+b;d>a;++a)if(c(this.lines[a]))return!0}},Q.prototype={chunkSize:function(){return this.size},remove:function(a,b,c){this.size-=b;for(var d=0;this.children.length>d;++d){var e=this.children[d],f=e.chunkSize();if(f>a){var g=Math.min(b,f-a),h=e.height;if(e.remove(a,g,c),this.height-=h-e.height,f==g&&(this.children.splice(d--,1),e.parent=null),0==(b-=g))break;a=0}else a-=f}if(25>this.size-b){var i=[];this.collapse(i),this.children=[new P(i)],this.children[0].parent=this}},collapse:function(a){for(var b=0,c=this.children.length;c>b;++b)this.children[b].collapse(a)},insert:function(a,b){for(var c=0,d=0,e=b.length;e>d;++d)c+=b[d].height;this.insertHeight(a,b,c)},insertHeight:function(a,b,c){this.size+=b.length,this.height+=c;for(var d=0,e=this.children.length;e>d;++d){var f=this.children[d],g=f.chunkSize();if(g>=a){if(f.insertHeight(a,b,c),f.lines&&f.lines.length>50){for(;f.lines.length>50;){var h=f.lines.splice(f.lines.length-25,25),i=new P(h);f.height-=i.height,this.children.splice(d+1,0,i),i.parent=this}this.maybeSpill()}break}a-=g}},maybeSpill:function(){if(!(10>=this.children.length)){var a=this;do{var b=a.children.splice(a.children.length-5,5),c=new Q(b);if(a.parent){a.size-=c.size,a.height-=c.height;var e=xb(a.parent.children,a);a.parent.children.splice(e+1,0,c)}else{var d=new Q(a.children);d.parent=a,a.children=[d,c],a=d}c.parent=a.parent}while(a.children.length>10);a.parent.maybeSpill()}},iter:function(a,b,c){this.iterN(a,b-a,c)},iterN:function(a,b,c){for(var d=0,e=this.children.length;e>d;++d){var f=this.children[d],g=f.chunkSize();if(g>a){var h=Math.min(b,g-a);if(f.iterN(a,h,c))return!0;if(0==(b-=h))break;a=0}else a-=g}}},V.prototype={addChange:function(a,b,c){this.undone.length=0;var d=+new Date,e=nb(this.done),f=e&&nb(e),g=d-this.time;if(e&&!this.closed&&this.compound)e.push({start:a,added:b,old:c});else if(g>400||!f||this.closed||f.start>a+c.length||a>f.start+f.added)this.done.push([{start:a,added:b,old:c}]),this.closed=!1;else{for(var h=Math.max(0,f.start-a),i=Math.max(0,a+c.length-(f.start+f.added)),j=h;j>0;--j)f.old.unshift(c[j-1]);for(var j=i;j>0;--j)f.old.push(c[c.length-j]);h&&(f.start=a),f.added+=b-(c.length-h-i)}this.time=d},startCompound:function(){this.compound++||(this.closed=!0)},endCompound:function(){--this.compound||(this.closed=!0)}},a.e_stop=$,a.e_preventDefault=Y,a.e_stopPropagation=Z,a.connect=cb,db.prototype={set:function(a,b){clearTimeout(this.id),this.id=setTimeout(b,a)}};var eb=a.Pass={toString:function(){return"CodeMirror.Pass"}},fb=function(){if(r)return!1;var a=sb("div");return"draggable"in a||"dragDrop"in a}();(function(){var a=sb("textarea");return a.value="foo\nbar",a.value.indexOf("\r")>-1?"\r\n":"\n"})();var hb=/^$/;o?hb=/$'/:w?hb=/\-[^ \-?]|\?[^ !'\"\),.\-\/:;\?\]\}]/:u&&(hb=/\-[^ \-\.?]|\?[^ \-\.?\]\}:;!'\"\),\/]|[\.!\"#&%\)*+,:;=>\]|\}~][\(\{\[<]|\$'/);var lb=[""],yb=/[\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc]/,Ab=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;d>=b;){var e=a.indexOf("\n",b);-1==e&&(e=a.length);var f=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),g=f.indexOf("\r");-1!=g?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)};a.splitLines=Ab;var Bb=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(b){return!1}}:function(a){try{var b=a.ownerDocument.selection.createRange()}catch(c){}return b&&b.parentElement()==a?0!=b.compareEndPoints("StartToEnd",b):!1};a.defineMode("null",function(){return{token:function(a){a.skipToEnd()}}}),a.defineMIME("text/plain","null");var Cb={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"};return a.keyNames=Cb,function(){for(var a=0;10>a;a++)Cb[a+48]=a+"";for(var a=65;90>=a;a++)Cb[a]=String.fromCharCode(a);for(var a=1;12>=a;a++)Cb[a+111]=Cb[a+63235]="F"+a}(),a.version="2.36",a}(),CodeMirror.defineMode("clike",function(a,b){function l(a,b){var c=a.next();if(h[c]){var i=h[c](a,b);if(i!==!1)return i}if('"'==c||"'"==c)return b.tokenize=m(c),b.tokenize(a,b);if(/[\[\]{}\(\),;\:\.]/.test(c))return k=c,null;if(/\d/.test(c))return a.eatWhile(/[\w\.]/),"number";if("/"==c){if(a.eat("*"))return b.tokenize=n,n(a,b);if(a.eat("/"))return a.skipToEnd(),"comment"}if(j.test(c))return a.eatWhile(j),"operator";a.eatWhile(/[\w\$_]/);var l=a.current();return d.propertyIsEnumerable(l)?(f.propertyIsEnumerable(l)&&(k="newstatement"),"keyword"):e.propertyIsEnumerable(l)?(f.propertyIsEnumerable(l)&&(k="newstatement"),"builtin"):g.propertyIsEnumerable(l)?"atom":"variable"}function m(a){return function(b,c){for(var e,d=!1,f=!1;null!=(e=b.next());){if(e==a&&!d){f=!0;break}d=!d&&"\\"==e}return(f||!d&&!i)&&(c.tokenize=null),"string"}}function n(a,b){for(var d,c=!1;d=a.next();){if("/"==d&&c){b.tokenize=null;break}c="*"==d}return"comment"}function o(a,b,c,d,e){this.indented=a,this.column=b,this.type=c,this.align=d,this.prev=e}function p(a,b,c){return a.context=new o(a.indented,b,c,null,a.context)}function q(a){var b=a.context.type;return(")"==b||"]"==b||"}"==b)&&(a.indented=a.context.indented),a.context=a.context.prev}var k,c=a.indentUnit,d=b.keywords||{},e=b.builtin||{},f=b.blockKeywords||{},g=b.atoms||{},h=b.hooks||{},i=b.multiLineStrings,j=/[+\-*&%=<>!?|\/]/;return{startState:function(a){return{tokenize:null,context:new o((a||0)-c,0,"top",!1),indented:0,startOfLine:!0}},token:function(a,b){var c=b.context;if(a.sol()&&(null==c.align&&(c.align=!1),b.indented=a.indentation(),b.startOfLine=!0),a.eatSpace())return null;k=null;var d=(b.tokenize||l)(a,b);if("comment"==d||"meta"==d)return d;if(null==c.align&&(c.align=!0),";"!=k&&":"!=k||"statement"!=c.type)if("{"==k)p(b,a.column(),"}");else if("["==k)p(b,a.column(),"]");else if("("==k)p(b,a.column(),")");else if("}"==k){for(;"statement"==c.type;)c=q(b);for("}"==c.type&&(c=q(b));"statement"==c.type;)c=q(b)}else k==c.type?q(b):(("}"==c.type||"top"==c.type)&&";"!=k||"statement"==c.type&&"newstatement"==k)&&p(b,a.column(),"statement");else q(b);return b.startOfLine=!1,d},indent:function(a,b){if(a.tokenize==n)return CodeMirror.Pass;if(a.tokenize!=l&&null!=a.tokenize)return 0;var d=a.context,e=b&&b.charAt(0);"statement"==d.type&&"}"==e&&(d=d.prev);var f=e==d.type;return"statement"==d.type?d.indented+("{"==e?0:c):d.align?d.column+(f?0:1):d.indented+(f?0:c)},electricChars:"{}"}}),function(){function a(a){for(var b={},c=a.split(" "),d=0;c.length>d;++d)b[c[d]]=!0;return b}function c(a,b){return b.startOfLine?(a.skipToEnd(),"meta"):!1}function d(a,b){for(var c;null!=(c=a.next());)if('"'==c&&!a.eat('"')){b.tokenize=null;break}return"string"}function e(a,b){for(var c=0;a.length>c;++c)CodeMirror.defineMIME(a[c],b)}var b="auto if break int case long char register continue return default short do sizeof double static else struct entry switch extern typedef float union for unsigned goto while enum void const signed volatile";e(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:a(b),blockKeywords:a("case do else for if switch while struct"),atoms:a("null"),hooks:{"#":c}}),e(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:a(b+" asm dynamic_cast namespace reinterpret_cast try bool explicit new "+"static_cast typeid catch operator template typename class friend private "+"this using const_cast inline public throw virtual delete mutable protected "+"wchar_t"),blockKeywords:a("catch class do else finally for if struct switch try while"),atoms:a("true false null"),hooks:{"#":c}}),CodeMirror.defineMIME("text/x-java",{name:"clike",keywords:a("abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while"),blockKeywords:a("catch class do else finally for if switch try while"),atoms:a("true false null"),hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"}}}),CodeMirror.defineMIME("text/x-csharp",{name:"clike",keywords:a("abstract as base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),blockKeywords:a("catch class do else finally for foreach if struct switch try while"),builtin:a("Boolean Byte Char DateTime DateTimeOffset Decimal Double Guid Int16 Int32 Int64 Object SByte Single String TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),atoms:a("true false null"),hooks:{"@":function(a,b){return a.eat('"')?(b.tokenize=d,d(a,b)):(a.eatWhile(/[\w\$_]/),"meta")}}}),CodeMirror.defineMIME("text/x-scala",{name:"clike",keywords:a("abstract case catch class def do else extends false final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try trye type val var while with yield _ : = => <- <: <% >: # @ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector :: #:: Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),blockKeywords:a("catch class do else finally for forSome if match switch try while"),atoms:a("true false null"),hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"}}})}(),CodeMirror.defineMode("css",function(a){function i(a){for(var b={},c=0;a.length>c;++c)b[a[c]]=!0;return b}function j(a,b){return c=b,a}function k(a,b){var d=a.next(); +if("@"==d)return a.eatWhile(/[\w\\\-]/),j("def",a.current());if("/"==d&&a.eat("*"))return b.tokenize=l,l(a,b);if("<"==d&&a.eat("!"))return b.tokenize=m,m(a,b);if("="==d)j(null,"compare");else{if(("~"==d||"|"==d)&&a.eat("="))return j(null,"compare");if('"'==d||"'"==d)return b.tokenize=n(d),b.tokenize(a,b);if("#"==d)return a.eatWhile(/[\w\\\-]/),j("atom","hash");if("!"==d)return a.match(/^\s*\w*/),j("keyword","important");if(/\d/.test(d))return a.eatWhile(/[\w.%]/),j("number","unit");if("-"!==d)return/[,+>*\/]/.test(d)?j(null,"select-op"):"."==d&&a.match(/^-?[_a-z][_a-z0-9-]*/i)?j("qualifier",c):":"==d?j("operator",d):/[;{}\[\]\(\)]/.test(d)?j(null,d):(a.eatWhile(/[\w\\\-]/),j("property","variable"));if(/\d/.test(a.peek()))return a.eatWhile(/[\w.%]/),j("number","unit");if(a.match(/^[^-]+-/))return j("meta",c)}}function l(a,b){for(var d,c=!1;null!=(d=a.next());){if(c&&"/"==d){b.tokenize=k;break}c="*"==d}return j("comment","comment")}function m(a,b){for(var d,c=0;null!=(d=a.next());){if(c>=2&&">"==d){b.tokenize=k;break}c="-"==d?c+1:0}return j("comment","comment")}function n(a){return function(b,c){for(var e,d=!1;null!=(e=b.next())&&(e!=a||d);)d=!d&&"\\"==e;return d||(c.tokenize=k),j("string","string")}}var c,b=a.indentUnit,d=i(["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"]),e=i(["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid"]),f=i(["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid-cell","grid-column","grid-column-align","grid-column-sizing","grid-column-span","grid-columns","grid-flow","grid-row","grid-row-align","grid-row-sizing","grid-row-span","grid-rows","grid-template","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-shadow","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"]),g=i(["black","silver","gray","white","maroon","red","purple","fuchsia","green","lime","olive","yellow","navy","blue","teal","aqua"]),h=i(["above","absolute","activeborder","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","auto","avoid","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break-all","break-word","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","compact","condensed","contain","content","content-box","context-menu","continuous","copy","cover","crop","cross","crosshair","currentcolor","cursive","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ew-resize","expanded","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-table","inset","inside","intrinsic","invert","italic","justify","kannada","katakana","katakana-iroha","khmer","landscape","lao","large","larger","left","level","lighter","line-through","linear","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","navy","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","overlay","overline","padding","padding-box","painted","paused","persian","plus-darker","plus-lighter","pointer","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radio","read-only","read-write","read-write-plaintext-only","relative","repeat","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scroll","scrollbar","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","single","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","white","wider","window","windowframe","windowtext","x-large","x-small","xor","xx-large","xx-small","yellow"]);return{startState:function(a){return{tokenize:k,baseIndent:a||0,stack:[]}},token:function(a,b){if(a.eatSpace())return null;var i=b.tokenize(a,b),j=b.stack[b.stack.length-1];return"property"==i?"propertyValue"==j?i=h[a.current()]?"string-2":g[a.current()]?"keyword":"variable-2":"rule"==j?f[a.current()]||(i+=" error"):j&&"@media{"!=j?"@media"==j?i=d[a.current()]?"attribute":/^(only|not)$/i.test(a.current())?"keyword":"and"==a.current().toLowerCase()?"error":e[a.current()]?"error":"attribute error":"@mediaType"==j?i=d[a.current()]?"attribute":"and"==a.current().toLowerCase()?"operator":/^(only|not)$/i.test(a.current())?"error":e[a.current()]?"error":"error":"@mediaType("==j?f[a.current()]||(d[a.current()]?i="error":"and"==a.current().toLowerCase()?i="operator":/^(only|not)$/i.test(a.current())?i="error":i+=" error"):i="error":i="tag":"atom"==i?j&&"@media{"!=j?"propertyValue"==j?/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(a.current())||(i+=" error"):i="error":i="builtin":"@media"==j&&"{"==c&&(i="error"),"{"==c?"@media"==j||"@mediaType"==j?(b.stack.pop(),b.stack[b.stack.length-1]="@media{"):b.stack.push("rule"):"}"==c?(b.stack.pop(),"propertyValue"==j&&b.stack.pop()):"@media"==c?b.stack.push("@media"):"@media"==j&&/\b(keyword|attribute)\b/.test(i)?b.stack.push("@mediaType"):"@mediaType"==j&&","==a.current()?b.stack.pop():"@mediaType"==j&&"("==c?b.stack.push("@mediaType("):"@mediaType("==j&&")"==c?b.stack.pop():"rule"==j&&":"==c?b.stack.push("propertyValue"):"propertyValue"==j&&";"==c&&b.stack.pop(),i},indent:function(a,c){var d=a.stack.length;return/^\}/.test(c)&&(d-="propertyValue"==a.stack[a.stack.length-1]?2:1),a.baseIndent+d*b},electricChars:"}"}}),CodeMirror.defineMIME("text/css","css"),CodeMirror.defineMode("htmlmixed",function(a){function e(a,e){var f=b.token(a,e.htmlState);return"tag"==f&&">"==a.current()&&e.htmlState.context&&(/^script$/i.test(e.htmlState.context.tagName)?(e.token=g,e.localState=c.startState(b.indent(e.htmlState,""))):/^style$/i.test(e.htmlState.context.tagName)&&(e.token=h,e.localState=d.startState(b.indent(e.htmlState,"")))),f}function f(a,b,c){var f,d=a.current(),e=d.search(b);return e>-1?a.backUp(d.length-e):(f=d.match(/<\/?$/))&&(a.backUp(d.length),a.match(b,!1)||a.match(d[0])),c}function g(a,b){return a.match(/^<\/\s*script\s*>/i,!1)?(b.token=e,b.localState=null,e(a,b)):f(a,/<\/\s*script\s*>/,c.token(a,b.localState))}function h(a,b){return a.match(/^<\/\s*style\s*>/i,!1)?(b.token=e,b.localState=null,e(a,b)):f(a,/<\/\s*style\s*>/,d.token(a,b.localState))}var b=CodeMirror.getMode(a,{name:"xml",htmlMode:!0}),c=CodeMirror.getMode(a,"javascript"),d=CodeMirror.getMode(a,"css");return{startState:function(){var a=b.startState();return{token:e,localState:null,mode:"html",htmlState:a}},copyState:function(a){if(a.localState)var e=CodeMirror.copyState(a.token==h?d:c,a.localState);return{token:a.token,localState:e,mode:a.mode,htmlState:CodeMirror.copyState(b,a.htmlState)}},token:function(a,b){return b.token(a,b)},indent:function(a,f){return a.token==e||/^\s*<\//.test(f)?b.indent(a.htmlState,f):a.token==g?c.indent(a.localState,f):d.indent(a.localState,f)},electricChars:"/{}:",innerMode:function(a){var f=a.token==e?b:a.token==g?c:d;return{state:a.localState||a.htmlState,mode:f}}}},"xml","javascript","css"),CodeMirror.defineMIME("text/html","htmlmixed"),CodeMirror.defineMode("javascript",function(a,b){function h(a,b,c){return b.tokenize=c,c(a,b)}function i(a,b){for(var d,c=!1;null!=(d=a.next());){if(d==b&&!c)return!1;c=!c&&"\\"==d}return c}function l(a,b,c){return j=a,k=c,b}function m(a,b){var c=a.next();if('"'==c||"'"==c)return h(a,b,n(c));if(/[\[\]{}\(\),;\:\.]/.test(c))return l(c);if("0"==c&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),l("number","number");if(/\d/.test(c)||"-"==c&&a.eat(/\d/))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),l("number","number");if("/"==c)return a.eat("*")?h(a,b,o):a.eat("/")?(a.skipToEnd(),l("comment","comment")):"operator"==b.lastType||"keyword c"==b.lastType||/^[\[{}\(,;:]$/.test(b.lastType)?(i(a,"/"),a.eatWhile(/[gimy]/),l("regexp","string-2")):(a.eatWhile(g),l("operator",null,a.current()));if("#"==c)return a.skipToEnd(),l("error","error");if(g.test(c))return a.eatWhile(g),l("operator",null,a.current());a.eatWhile(/[\w\$_]/);var d=a.current(),e=f.propertyIsEnumerable(d)&&f[d];return e&&"."!=b.lastType?l(e.type,e.style,d):l("variable","variable",d)}function n(a){return function(b,c){return i(b,a)||(c.tokenize=m),l("string","string")}}function o(a,b){for(var d,c=!1;d=a.next();){if("/"==d&&c){b.tokenize=m;break}c="*"==d}return l("comment","comment")}function q(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.prev=e,this.info=f,null!=d&&(this.align=d)}function r(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0}function s(a,b,c,e,f){var g=a.cc;for(t.state=a,t.stream=f,t.marked=null,t.cc=g,a.lexical.hasOwnProperty("align")||(a.lexical.align=!0);;){var h=g.length?g.pop():d?E:D;if(h(c,e)){for(;g.length&&g[g.length-1].lex;)g.pop()();return t.marked?t.marked:"variable"==c&&r(a,e)?"variable-2":b}}}function u(){for(var a=arguments.length-1;a>=0;a--)t.cc.push(arguments[a])}function v(){return u.apply(null,arguments),!0}function w(a){var b=t.state;if(b.context){t.marked="def";for(var c=b.localVars;c;c=c.next)if(c.name==a)return;b.localVars={name:a,next:b.localVars}}}function y(){t.state.context={prev:t.state.context,vars:t.state.localVars},t.state.localVars=x}function z(){t.state.localVars=t.state.context.vars,t.state.context=t.state.context.prev}function A(a,b){var c=function(){var c=t.state;c.lexical=new q(c.indented,t.stream.column(),a,null,c.lexical,b)};return c.lex=!0,c}function B(){var a=t.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function C(a){return function(b){return b==a?v():";"==a?u():v(arguments.callee)}}function D(a){return"var"==a?v(A("vardef"),O,C(";"),B):"keyword a"==a?v(A("form"),E,D,B):"keyword b"==a?v(A("form"),D,B):"{"==a?v(A("}"),L,B):";"==a?v():"function"==a?v(U):"for"==a?v(A("form"),C("("),A(")"),Q,C(")"),B,D,B):"variable"==a?v(A("stat"),H):"switch"==a?v(A("form"),E,A("}","switch"),C("{"),L,B,B):"case"==a?v(E,C(":")):"default"==a?v(C(":")):"catch"==a?v(A("form"),y,C("("),V,C(")"),D,B,z):u(A("stat"),E,C(";"),B)}function E(a){return p.hasOwnProperty(a)?v(G):"function"==a?v(U):"keyword c"==a?v(F):"("==a?v(A(")"),F,C(")"),B,G):"operator"==a?v(E):"["==a?v(A("]"),K(E,"]"),B,G):"{"==a?v(A("}"),K(J,"}"),B,G):v()}function F(a){return a.match(/[;\}\)\],]/)?u():u(E)}function G(a,b){if("operator"==a&&/\+\+|--/.test(b))return v(G);if("operator"==a&&"?"==b)return v(E,C(":"),E);if(";"!=a)return"("==a?v(A(")"),K(E,")"),B,G):"."==a?v(I,G):"["==a?v(A("]"),E,C("]"),B,G):void 0}function H(a){return":"==a?v(B,D):u(G,C(";"),B)}function I(a){return"variable"==a?(t.marked="property",v()):void 0}function J(a){return"variable"==a&&(t.marked="property"),p.hasOwnProperty(a)?v(C(":"),E):void 0}function K(a,b){function c(d){return","==d?v(a,c):d==b?v():v(C(b))}return function(d){return d==b?v():u(a,c)}}function L(a){return"}"==a?v():u(D,L)}function M(a){return":"==a?v(N):u()}function N(a){return"variable"==a?(t.marked="variable-3",v()):u()}function O(a,b){return"variable"==a?(w(b),e?v(M,P):v(P)):u()}function P(a,b){return"="==b?v(E,P):","==a?v(O):void 0}function Q(a){return"var"==a?v(O,C(";"),S):";"==a?v(S):"variable"==a?v(R):v(S)}function R(a,b){return"in"==b?v(E):v(G,S)}function S(a,b){return";"==a?v(T):"in"==b?v(E):v(E,C(";"),T)}function T(a){")"!=a&&v(E)}function U(a,b){return"variable"==a?(w(b),v(U)):"("==a?v(A(")"),y,K(V,")"),B,D,z):void 0}function V(a,b){return"variable"==a?(w(b),e?v(M):v()):void 0}var j,k,c=a.indentUnit,d=b.json,e=b.typescript,f=function(){function a(a){return{type:a,style:"keyword"}}var b=a("keyword a"),c=a("keyword b"),d=a("keyword c"),f=a("operator"),g={type:"atom",style:"atom"},h={"if":b,"while":b,"with":b,"else":c,"do":c,"try":c,"finally":c,"return":d,"break":d,"continue":d,"new":d,"delete":d,"throw":d,"var":a("var"),"const":a("var"),let:a("var"),"function":a("function"),"catch":a("catch"),"for":a("for"),"switch":a("switch"),"case":a("case"),"default":a("default"),"in":f,"typeof":f,"instanceof":f,"true":g,"false":g,"null":g,undefined:g,NaN:g,Infinity:g};if(e){var i={type:"variable",style:"variable-3"},j={"interface":a("interface"),"class":a("class"),"extends":a("extends"),constructor:a("constructor"),"public":a("public"),"private":a("private"),"protected":a("protected"),"static":a("static"),"super":a("super"),string:i,number:i,bool:i,any:i};for(var k in j)h[k]=j[k]}return h}(),g=/[+\-*&%=<>!?|]/,p={atom:!0,number:!0,variable:!0,string:!0,regexp:!0},t={state:null,column:null,marked:null,cc:null},x={name:"this",next:{name:"arguments"}};return B.lex=!0,{startState:function(a){return{tokenize:m,lastType:null,cc:[],lexical:new q((a||0)-c,0,"block",!1),localVars:b.localVars,context:b.localVars&&{vars:b.localVars},indented:0}},token:function(a,b){if(a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation()),a.eatSpace())return null;var c=b.tokenize(a,b);return"comment"==j?c:(b.lastType=j,s(b,c,j,k,a))},indent:function(a,b){if(a.tokenize==o)return CodeMirror.Pass;if(a.tokenize!=m)return 0;var d=b&&b.charAt(0),e=a.lexical;"stat"==e.type&&"}"==d&&(e=e.prev);var f=e.type,g=d==f;return"vardef"==f?e.indented+("operator"==a.lastType||","==a.lastType?4:0):"form"==f&&"{"==d?e.indented:"form"==f?e.indented+c:"stat"==f?e.indented+("operator"==a.lastType||","==a.lastType?c:0):"switch"!=e.info||g?e.align?e.column+(g?0:1):e.indented+(g?0:c):e.indented+(/^(?:case|default)\b/.test(b)?c:2*c)},electricChars:":{}",jsonMode:d}}),CodeMirror.defineMIME("text/javascript","javascript"),CodeMirror.defineMIME("application/json",{name:"javascript",json:!0}),CodeMirror.defineMIME("text/typescript",{name:"javascript",typescript:!0}),CodeMirror.defineMIME("application/typescript",{name:"javascript",typescript:!0}),CodeMirror.defineMode("markdown",function(a,b){function B(a,b,c){return b.f=b.inline=c,c(a,b)}function C(a,b,c){return b.f=b.block=c,c(a,b)}function D(a){return a.linkTitle=!1,a.em=!1,a.strong=!1,a.quote=!1,c||a.f!=F||(a.f=K,a.block=E),null}function E(a,c){if(c.list!==!1&&c.indentationDiff>=0?(4>c.indentationDiff&&(c.indentation-=c.indentationDiff),c.list=null):c.list=!1,c.indentationDiff>=4)return c.indentation-=4,a.skipToEnd(),k;if(a.eatSpace())return null;if("#"===a.peek()||h&&a.match(z))c.header=!0;else if(a.eat(">"))c.indentation++,c.quote=!0;else{if("["===a.peek())return B(a,c,M);if(a.match(w,!0))return n;if(a.match(x,!0)||a.match(y,!0))c.indentation+=4,c.list=!0;else if(b.fencedCodeBlocks&&a.match(/^```([\w+#]*)/,!0))return c.localMode=f(RegExp.$1),c.localMode&&(c.localState=c.localMode.startState()),C(a,c,G),k}return B(a,c,c.inline)}function F(a,b){var e=d.token(a,b.htmlState);return c&&"tag"===e&&"openTag"!==b.htmlState.type&&!b.htmlState.context&&(b.f=K,b.block=E),b.md_inside&&-1!=a.current().indexOf(">")&&(b.f=K,b.block=E,b.htmlState.context=void 0),e}function G(a,b){return a.sol()&&a.match(/^```/,!0)?(b.localMode=b.localState=null,b.f=K,b.block=E,k):b.localMode?b.localMode.token(a,b.localState):(a.skipToEnd(),k)}function I(a){var b=[];return a.strong?b.push(a.em?v:u):a.em&&b.push(t),a.linkText&&b.push(r),a.code&&b.push(k),a.header&&b.push(j),a.quote&&b.push(l),a.list!==!1&&b.push(m),b.length?b.join(" "):null}function J(a,b){return a.match(A,!0)?I(b):void 0}function K(a,c){var d=c.text(a,c);if(d!==void 0)return d;if(c.list)return c.list=null,m;var e=a.next();if("\\"===e)return a.next(),I(c);if(c.linkTitle){c.linkTitle=!1;var f=e;"("===e&&(f=")"),f=(f+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");var h="^\\s*(?:[^"+f+"\\\\]+|\\\\\\\\|\\\\.)"+f;if(a.match(RegExp(h),!0))return s}if("`"===e){var i=I(c),j=a.pos;a.eatWhile("`");var k=1+a.pos-j;return c.code?k===g?(c.code=!1,i):I(c):(g=k,c.code=!0,I(c))}if(c.code)return I(c);if("!"===e&&a.match(/\[.*\] ?(?:\(|\[)/,!1))return a.match(/\[.*\]/),c.inline=c.f=L,o;if("["===e&&a.match(/.*\](\(| ?\[)/,!1))return c.linkText=!0,I(c);if("]"===e&&c.linkText){var l=I(c);return c.linkText=!1,c.inline=c.f=L,l}if("<"===e&&a.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!0))return B(a,c,Q(p,">"));if("<"===e&&a.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!0))return B(a,c,Q(q,">"));if("<"===e&&a.match(/^\w/,!1)){if(-1!=a.string.indexOf(">")){var r=a.string.substring(1,a.string.indexOf(">"));/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(r)&&(c.md_inside=!0)}return a.backUp(1),C(a,c,F)}if("<"===e&&a.match(/^\/\w*?>/))return c.md_inside=!1,"tag";var t=!1;if(!b.underscoresBreakWords&&"_"===e&&"_"!==a.peek()&&a.match(/(\w)/,!1)){var u=a.pos-2;if(u>=0){var v=a.string.charAt(u);"_"!==v&&v.match(/(\w)/,!1)&&(t=!0)}}var i=I(c);if("*"===e||"_"===e&&!t){if(c.strong===e&&a.eat(e))return c.strong=!1,i;if(!c.strong&&a.eat(e))return c.strong=e,I(c);if(c.em===e)return c.em=!1,i;if(!c.em)return c.em=e,I(c)}else if(" "===e&&(a.eat("*")||a.eat("_"))){if(" "===a.peek())return I(c);a.backUp(1)}return I(c)}function L(a,b){if(a.eatSpace())return null;var c=a.next();return"("===c||"["===c?B(a,b,Q(s,"("===c?")":"]")):"error"}function M(a,b){return a.match(/^[^\]]*\]:/,!0)?(b.f=N,r):B(a,b,K)}function N(a,b){return a.eatSpace()?null:(a.match(/^[^\s]+/,!0),void 0===a.peek()?b.linkTitle=!0:a.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,!0),b.f=b.inline=K,s)}function P(a){return O[a]||(a=(a+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1"),O[a]=RegExp("^(?:[^\\\\]|\\\\.)*?("+a+")")),O[a]}function Q(a,b,c){return c=c||K,function(d,e){return d.match(P(b)),e.inline=e.f=c,a}}var c=CodeMirror.mimeModes.hasOwnProperty("text/html"),d=CodeMirror.getMode(a,c?"text/html":"text/plain"),e={html:"htmlmixed",js:"javascript",json:"application/json",c:"text/x-csrc","c++":"text/x-c++src",java:"text/x-java",csharp:"text/x-csharp","c#":"text/x-csharp"},f=function(){var b,f,c={},d={},g=CodeMirror.listModes();for(b=0;g.length>b;b++)c[g[b]]=g[b];var h=CodeMirror.listMIMEs();for(b=0;h.length>b;b++)f=h[b].mime,d[f]=h[b].mime;for(var i in e)(e[i]in c||e[i]in d)&&(c[i]=e[i]);return function(b){return c[b]?CodeMirror.getMode(a,c[b]):null}}();void 0===b.underscoresBreakWords&&(b.underscoresBreakWords=!0),void 0===b.fencedCodeBlocks&&(b.fencedCodeBlocks=!1);var g=0,h=!1,i=!1,j="header",k="comment",l="quote",m="string",n="hr",o="tag",p="link",q="link",r="link",s="string",t="em",u="strong",v="emstrong",w=/^([*\-=_])(?:\s*\1){2,}\s*$/,x=/^[*\-+]\s+/,y=/^[0-9]+\.\s+/,z=/^(?:\={1,}|-{1,})$/,A=/^[^!\[\]*_\\<>` "'(]+/,O=[];return{startState:function(){return h=!1,i=!1,{f:E,block:E,htmlState:CodeMirror.startState(d),indentation:0,inline:K,text:J,linkText:!1,linkTitle:!1,em:!1,strong:!1,header:!1,list:!1,quote:!1}},copyState:function(a){return{f:a.f,block:a.block,htmlState:CodeMirror.copyState(d,a.htmlState),indentation:a.indentation,localMode:a.localMode,localState:a.localMode?CodeMirror.copyState(a.localMode,a.localState):null,inline:a.inline,text:a.text,linkTitle:a.linkTitle,em:a.em,strong:a.strong,header:a.header,list:a.list,quote:a.quote,md_inside:a.md_inside}},token:function(a,b){if(a.sol()){if(a.match(/^\s*$/,!0))return h=!1,D(b);i&&(h=!0,i=!1),i=!0,b.header=!1,b.code=!1,b.f=b.block;var c=a.match(/^\s*/,!0)[0].replace(/\t/g," ").length,d=4*Math.floor((c-b.indentation)/4);if(d>4&&(d=4),c=b.indentation+d,b.indentationDiff=c-b.indentation,b.indentation=c,c>0)return null}return b.f(a,b)},blankLine:D,getType:I}},"xml"),CodeMirror.defineMIME("text/x-markdown","markdown"),CodeMirror.defineMode("perl",function(){function f(a,b,c,d,e){return b.chain=null,b.style=null,b.tail=null,b.tokenize=function(a,b){for(var g,f=!1,i=0;g=a.next();){if(g===c[i]&&!f)return void 0!==c[++i]?(b.chain=c[i],b.style=d,b.tail=e):e&&a.eatWhile(e),b.tokenize=h,d;f=!f&&"\\"==g}return d},b.tokenize(a,b)}function g(a,b,c){return b.tokenize=function(a,b){return a.string==c&&(b.tokenize=h),a.skipToEnd(),"string"},b.tokenize(a,b)}function h(a,b){if(a.eatSpace())return null;if(b.chain)return f(a,b,b.chain,b.style,b.tail);if(a.match(/^\-?[\d\.]/,!1)&&a.match(/^(\-?(\d*\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F]+|0b[01]+|\d+(e[+-]?\d+)?)/))return"number";if(a.match(/^<<(?=\w)/))return a.eatWhile(/\w/),g(a,b,a.current().substr(2));if(a.sol()&&a.match(/^\=item(?!\w)/))return g(a,b,"=cut");var h=a.next();if('"'==h||"'"==h){if(a.prefix(3)=="<<"+h){var i=a.pos;a.eatWhile(/\w/);var j=a.current().substr(1);if(j&&a.eat(h))return g(a,b,j);a.pos=i}return f(a,b,[h],"string")}if("q"==h){var k=a.look(-2);if(!k||!/\w/.test(k))if(k=a.look(0),"x"==k){if(k=a.look(1),"("==k)return a.eatSuffix(2),f(a,b,[")"],d,e);if("["==k)return a.eatSuffix(2),f(a,b,["]"],d,e);if("{"==k)return a.eatSuffix(2),f(a,b,["}"],d,e);if("<"==k)return a.eatSuffix(2),f(a,b,[">"],d,e);if(/[\^'"!~\/]/.test(k))return a.eatSuffix(1),f(a,b,[a.eat(k)],d,e)}else if("q"==k){if(k=a.look(1),"("==k)return a.eatSuffix(2),f(a,b,[")"],"string");if("["==k)return a.eatSuffix(2),f(a,b,["]"],"string");if("{"==k)return a.eatSuffix(2),f(a,b,["}"],"string");if("<"==k)return a.eatSuffix(2),f(a,b,[">"],"string");if(/[\^'"!~\/]/.test(k))return a.eatSuffix(1),f(a,b,[a.eat(k)],"string")}else if("w"==k){if(k=a.look(1),"("==k)return a.eatSuffix(2),f(a,b,[")"],"bracket");if("["==k)return a.eatSuffix(2),f(a,b,["]"],"bracket");if("{"==k)return a.eatSuffix(2),f(a,b,["}"],"bracket");if("<"==k)return a.eatSuffix(2),f(a,b,[">"],"bracket");if(/[\^'"!~\/]/.test(k))return a.eatSuffix(1),f(a,b,[a.eat(k)],"bracket")}else if("r"==k){if(k=a.look(1),"("==k)return a.eatSuffix(2),f(a,b,[")"],d,e);if("["==k)return a.eatSuffix(2),f(a,b,["]"],d,e);if("{"==k)return a.eatSuffix(2),f(a,b,["}"],d,e);if("<"==k)return a.eatSuffix(2),f(a,b,[">"],d,e);if(/[\^'"!~\/]/.test(k))return a.eatSuffix(1),f(a,b,[a.eat(k)],d,e)}else if(/[\^'"!~\/(\[{<]/.test(k)){if("("==k)return a.eatSuffix(1),f(a,b,[")"],"string");if("["==k)return a.eatSuffix(1),f(a,b,["]"],"string");if("{"==k)return a.eatSuffix(1),f(a,b,["}"],"string");if("<"==k)return a.eatSuffix(1),f(a,b,[">"],"string");if(/[\^'"!~\/]/.test(k))return f(a,b,[a.eat(k)],"string")}}if("m"==h){var k=a.look(-2);if((!k||!/\w/.test(k))&&(k=a.eat(/[(\[{<\^'"!~\/]/))){if(/[\^'"!~\/]/.test(k))return f(a,b,[k],d,e);if("("==k)return f(a,b,[")"],d,e);if("["==k)return f(a,b,["]"],d,e);if("{"==k)return f(a,b,["}"],d,e);if("<"==k)return f(a,b,[">"],d,e)}}if("s"==h){var k=/[\/>\]})\w]/.test(a.look(-2));if(!k&&(k=a.eat(/[(\[{<\^'"!~\/]/)))return"["==k?f(a,b,["]","]"],d,e):"{"==k?f(a,b,["}","}"],d,e):"<"==k?f(a,b,[">",">"],d,e):"("==k?f(a,b,[")",")"],d,e):f(a,b,[k,k],d,e)}if("y"==h){var k=/[\/>\]})\w]/.test(a.look(-2));if(!k&&(k=a.eat(/[(\[{<\^'"!~\/]/)))return"["==k?f(a,b,["]","]"],d,e):"{"==k?f(a,b,["}","}"],d,e):"<"==k?f(a,b,[">",">"],d,e):"("==k?f(a,b,[")",")"],d,e):f(a,b,[k,k],d,e)}if("t"==h){var k=/[\/>\]})\w]/.test(a.look(-2));if(!k&&(k=a.eat("r"),k&&(k=a.eat(/[(\[{<\^'"!~\/]/))))return"["==k?f(a,b,["]","]"],d,e):"{"==k?f(a,b,["}","}"],d,e):"<"==k?f(a,b,[">",">"],d,e):"("==k?f(a,b,[")",")"],d,e):f(a,b,[k,k],d,e)}if("`"==h)return f(a,b,[h],"variable-2");if("/"==h)return/~\s*$/.test(a.prefix())?f(a,b,[h],d,e):"operator";if("$"==h){var i=a.pos;if(a.eatWhile(/\d/)||a.eat("{")&&a.eatWhile(/\d/)&&a.eat("}"))return"variable-2";a.pos=i}if(/[$@%]/.test(h)){var i=a.pos;if(a.eat("^")&&a.eat(/[A-Z]/)||!/[@$%&]/.test(a.look(-2))&&a.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){var k=a.current();if(c[k])return"variable-2"}a.pos=i}if(/[$@%&]/.test(h)&&(a.eatWhile(/[\w$\[\]]/)||a.eat("{")&&a.eatWhile(/[\w$\[\]]/)&&a.eat("}"))){var k=a.current();return c[k]?"variable-2":"variable"}if("#"==h&&"$"!=a.look(-2))return a.skipToEnd(),"comment";if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(h)){var i=a.pos;if(a.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/),c[a.current()])return"operator";a.pos=i}if("_"==h&&1==a.pos){if("_END__"==a.suffix(6))return f(a,b,["\0"],"comment");if("_DATA__"==a.suffix(7))return f(a,b,["\0"],"variable-2");if("_C__"==a.suffix(7))return f(a,b,["\0"],"string") +}if(/\w/.test(h)){var i=a.pos;if("{"==a.look(-2)&&("}"==a.look(0)||a.eatWhile(/\w/)&&"}"==a.look(0)))return"string";a.pos=i}if(/[A-Z]/.test(h)){var l=a.look(-2),i=a.pos;if(a.eatWhile(/[A-Z_]/),!/[\da-z]/.test(a.look(0))){var k=c[a.current()];return k?(k[1]&&(k=k[0]),":"!=l?1==k?"keyword":2==k?"def":3==k?"atom":4==k?"operator":5==k?"variable-2":"meta":"meta"):"meta"}a.pos=i}if(/[a-zA-Z_]/.test(h)){var l=a.look(-2);a.eatWhile(/\w/);var k=c[a.current()];return k?(k[1]&&(k=k[0]),":"!=l?1==k?"keyword":2==k?"def":3==k?"atom":4==k?"operator":5==k?"variable-2":"meta":"meta"):"meta"}return null}var c={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,"if":[1,1],elsif:[1,1],"else":[1,1],"while":[1,1],unless:[1,1],"for":[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,"break":1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,"continue":[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,"default":1,defined:1,"delete":1,die:1,"do":1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,"goto":1,grep:1,hex:1,"import":1,index:1,"int":1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,"new":1,next:1,no:1,oct:1,open:1,opendir:1,ord:1,our:2,pack:1,"package":1,pipe:1,pop:1,pos:1,print:1,printf:1,prototype:1,push:1,q:null,qq:null,qr:null,quotemeta:null,qw:null,qx:null,rand:1,read:1,readdir:1,readline:1,readlink:1,readpipe:1,recv:1,redo:1,ref:1,rename:1,require:1,reset:1,"return":1,reverse:1,rewinddir:1,rindex:1,rmdir:1,s:null,say:1,scalar:1,seek:1,seekdir:1,select:1,semctl:1,semget:1,semop:1,send:1,setgrent:1,sethostent:1,setnetent:1,setpgrp:1,setpriority:1,setprotoent:1,setpwent:1,setservent:1,setsockopt:1,shift:1,shmctl:1,shmget:1,shmread:1,shmwrite:1,shutdown:1,sin:1,sleep:1,socket:1,socketpair:1,sort:1,splice:1,split:1,sprintf:1,sqrt:1,srand:1,stat:1,state:1,study:1,sub:1,substr:1,symlink:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,tell:1,telldir:1,tie:1,tied:1,time:1,times:1,tr:null,truncate:1,uc:1,ucfirst:1,umask:1,undef:1,unlink:1,unpack:1,unshift:1,untie:1,use:1,utime:1,values:1,vec:1,wait:1,waitpid:1,wantarray:1,warn:1,when:1,write:1,y:null},d="string-2",e=/[goseximacplud]/;return{startState:function(){return{tokenize:h,chain:null,style:null,tail:null}},token:function(a,b){return(b.tokenize||h)(a,b)},electricChars:"{}"}}),CodeMirror.defineMIME("text/x-perl","perl"),CodeMirror.StringStream.prototype.look=function(a){return this.string.charAt(this.pos+(a||0))},CodeMirror.StringStream.prototype.prefix=function(a){if(a){var b=this.pos-a;return this.string.substr(b>=0?b:0,a)}return this.string.substr(0,this.pos-1)},CodeMirror.StringStream.prototype.suffix=function(a){var b=this.string.length,c=b-this.pos+1;return this.string.substr(this.pos,a&&b>a?a:c)},CodeMirror.StringStream.prototype.nsuffix=function(a){var b=this.pos,c=a||this.string.length-this.pos+1;return this.pos+=c,this.string.substr(b,c)},CodeMirror.StringStream.prototype.eatSuffix=function(a){var c,b=this.pos+a;this.pos=0>=b?0:b>=(c=this.string.length-1)?c:b},function(){function a(a){for(var b={},c=a.split(" "),d=0;c.length>d;++d)b[c[d]]=!0;return b}function b(a){return function(b,c){return b.match(a)?c.tokenize=null:b.skipToEnd(),"string"}}var c={name:"clike",keywords:a("abstract and array as break case catch class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw trait try use var while xor die echo empty exit eval include include_once isset list require require_once return print unset __halt_compiler self static parent"),blockKeywords:a("catch do else elseif for foreach if switch try while"),atoms:a("true false null TRUE FALSE NULL"),multiLineStrings:!0,hooks:{$:function(a){return a.eatWhile(/[\w\$_]/),"variable-2"},"<":function(a,c){return a.match(/<",!1);)a.next();return"comment"},"/":function(a){if(a.eat("/")){for(;!a.eol()&&!a.match("?>",!1);)a.next();return"comment"}return!1}}};CodeMirror.defineMode("php",function(a,b){function f(a,b){var c=b.curMode==e;if(a.sol()&&'"'!=b.pending&&(b.pending=null),c)return c&&null==b.php.tokenize&&a.match("?>")?(b.curMode=d,b.curState=b.html,"meta"):e.token(a,b.curState);if(a.match(/^<\?\w*/))return b.curMode=e,b.curState=b.php,"meta";if('"'==b.pending){for(;!a.eol()&&'"'!=a.next(););var f="string"}else if(b.pending&&a.pos/.test(g)?'"':{end:a.pos,style:f},a.backUp(g.length-h)),f}var d=CodeMirror.getMode(a,"text/html"),e=CodeMirror.getMode(a,c);return{startState:function(){var a=CodeMirror.startState(d),c=CodeMirror.startState(e);return{html:a,php:c,curMode:b.startOpen?e:d,curState:b.startOpen?c:a,pending:null}},copyState:function(a){var h,b=a.html,c=CodeMirror.copyState(d,b),f=a.php,g=CodeMirror.copyState(e,f);return h=a.curMode==d?c:g,{html:c,php:g,curMode:a.curMode,curState:h,pending:a.pending}},token:f,indent:function(a,b){return a.curMode!=e&&/^\s*<\//.test(b)||a.curMode==e&&/^\?>/.test(b)?d.indent(a.html,b):a.curMode.indent(a.curState,b)},electricChars:"/{}:",innerMode:function(a){return{state:a.curState,mode:a.curMode}}}},"htmlmixed"),CodeMirror.defineMIME("application/x-httpd-php","php"),CodeMirror.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:!0}),CodeMirror.defineMIME("text/x-php",c)}(),CodeMirror.defineMode("python",function(a,b){function d(a){return RegExp("^(("+a.join(")|(")+"))\\b")}function t(a,b){if(a.sol()){var d=b.scopes[0].offset;if(a.eatSpace()){var l=a.indentation();return l>d?s="indent":d>l&&(s="dedent"),null}d>0&&w(a,b)}if(a.eatSpace())return null;var m=a.peek();if("#"===m)return a.skipToEnd(),"comment";if(a.match(/^[0-9\.]/,!1)){var n=!1;if(a.match(/^\d*\.\d+(e[\+\-]?\d+)?/i)&&(n=!0),a.match(/^\d+\.\d*/)&&(n=!0),a.match(/^\.\d+/)&&(n=!0),n)return a.eat(/J/i),"number";var o=!1;if(a.match(/^0x[0-9a-f]+/i)&&(o=!0),a.match(/^0b[01]+/i)&&(o=!0),a.match(/^0o[0-7]+/i)&&(o=!0),a.match(/^[1-9]\d*(e[\+\-]?\d+)?/)&&(a.eat(/J/i),o=!0),a.match(/^0(?![\dx])/i)&&(o=!0),o)return a.eat(/L/i),"number"}return a.match(p)?(b.tokenize=u(a.current()),b.tokenize(a,b)):a.match(i)||a.match(h)?null:a.match(g)||a.match(e)||a.match(k)?"operator":a.match(f)?null:a.match(q)?"keyword":a.match(r)?"builtin":a.match(j)?"variable":(a.next(),c)}function u(a){function f(f,g){for(;!f.eol();)if(f.eatWhile(/[^'"\\]/),f.eat("\\")){if(f.next(),d&&f.eol())return e}else{if(f.match(a))return g.tokenize=t,e;f.eat(/['"]/)}if(d){if(b.singleLineStringErrors)return c;g.tokenize=t}return e}for(;"rub".indexOf(a.charAt(0).toLowerCase())>=0;)a=a.substr(1);var d=1==a.length,e="string";return f.isString=!0,f}function v(b,c,d){d=d||"py";var e=0;if("py"===d){if("py"!==c.scopes[0].type)return c.scopes[0].offset=b.indentation(),void 0;for(var f=0;c.scopes.length>f;++f)if("py"===c.scopes[f].type){e=c.scopes[f].offset+a.indentUnit;break}}else e=b.column()+b.current().length;c.scopes.unshift({offset:e,type:d})}function w(a,b,c){if(c=c||"py",1!=b.scopes.length){if("py"===b.scopes[0].type){for(var d=a.indentation(),e=-1,f=0;b.scopes.length>f;++f)if(d===b.scopes[f].offset){e=f;break}if(-1===e)return!0;for(;b.scopes[0].offset!==d;)b.scopes.shift();return!1}return"py"===c?(b.scopes[0].offset=a.indentation(),!1):b.scopes[0].type!=c?!0:(b.scopes.shift(),!1)}}function x(a,b){s=null;var d=b.tokenize(a,b),e=a.current();if("."===e)return d=a.match(j,!1)?null:c,null===d&&"meta"===b.lastToken&&(d="meta"),d;if("@"===e)return a.match(j,!1)?"meta":c;"variable"!==d&&"builtin"!==d||"meta"!==b.lastToken||(d="meta"),("pass"===e||"return"===e)&&(b.dedent+=1),"lambda"===e&&(b.lambda=!0),(":"===e&&!b.lambda&&"py"==b.scopes[0].type||"indent"===s)&&v(a,b);var f="[({".indexOf(e);return-1!==f&&v(a,b,"])}".slice(f,f+1)),"dedent"===s&&w(a,b)?c:(f="])}".indexOf(e),-1!==f&&w(a,b,e)?c:(b.dedent>0&&a.eol()&&"py"==b.scopes[0].type&&(b.scopes.length>1&&b.scopes.shift(),b.dedent-=1),d))}var c="error",e=RegExp("^[\\+\\-\\*/%&|\\^~<>!]"),f=RegExp("^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]"),g=RegExp("^((==)|(!=)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))"),h=RegExp("^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))"),i=RegExp("^((//=)|(>>=)|(<<=)|(\\*\\*=))"),j=RegExp("^[_A-Za-z][_A-Za-z0-9]*"),k=d(["and","or","not","is","in"]),l=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield"],m=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"],n={builtins:["apply","basestring","buffer","cmp","coerce","execfile","file","intern","long","raw_input","reduce","reload","unichr","unicode","xrange","False","True","None"],keywords:["exec","print"]},o={builtins:["ascii","bytes","exec","print"],keywords:["nonlocal","False","True","None"]};if(b.version&&3===parseInt(b.version,10)){l=l.concat(o.keywords),m=m.concat(o.builtins);var p=RegExp("^(([rb]|(br))?('{3}|\"{3}|['\"]))","i")}else{l=l.concat(n.keywords),m=m.concat(n.builtins);var p=RegExp("^(([rub]|(ur)|(br))?('{3}|\"{3}|['\"]))","i")}var q=d(l),r=d(m),s=null,y={startState:function(a){return{tokenize:t,scopes:[{offset:a||0,type:"py"}],lastToken:null,lambda:!1,dedent:0}},token:function(a,b){var c=x(a,b);return b.lastToken=c,a.eol()&&a.lambda&&(b.lambda=!1),c},indent:function(a){return a.tokenize!=t?a.tokenize.isString?CodeMirror.Pass:0:a.scopes[0].offset}};return y}),CodeMirror.defineMIME("text/x-python","python"),CodeMirror.defineMode("ruby",function(a){function c(a){for(var b={},c=0,d=a.length;d>c;++c)b[a[c]]=!0;return b}function i(a,b,c){return c.tokenize.push(a),a(b,c)}function j(a,b){if(h=null,a.sol()&&a.match("=begin")&&a.eol())return b.tokenize.push(n),"comment";if(a.eatSpace())return null;var d,c=a.next();if("`"==c||"'"==c||'"'==c||"/"==c&&!a.eol()&&" "!=a.peek())return i(l(c,"string",'"'==c||"`"==c),a,b);if("%"==c){var e,f=!1;a.eat("s")?e="atom":a.eat(/[WQ]/)?(e="string",f=!0):a.eat(/[wxqr]/)&&(e="string");var j=a.eat(/[^\w\s]/);return j?(g.propertyIsEnumerable(j)&&(j=g[j]),i(l(j,e,f,!0),a,b)):"operator"}if("#"==c)return a.skipToEnd(),"comment";if("<"==c&&(d=a.match(/^<-?[\`\"\']?([a-zA-Z_?]\w*)[\`\"\']?(?:;|$)/)))return i(m(d[1]),a,b);if("0"==c)return a.eat("x")?a.eatWhile(/[\da-fA-F]/):a.eat("b")?a.eatWhile(/[01]/):a.eatWhile(/[0-7]/),"number";if(/\d/.test(c))return a.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+\-]?[\d_]+)?/),"number";if("?"==c){for(;a.match(/^\\[CM]-/););return a.eat("\\")?a.eatWhile(/\w/):a.next(),"string"}return":"==c?a.eat("'")?i(l("'","atom",!1),a,b):a.eat('"')?i(l('"',"atom",!0),a,b):(a.eatWhile(/[\w\?]/),"atom"):"@"==c?(a.eat("@"),a.eatWhile(/[\w\?]/),"variable-2"):"$"==c?(a.next(),a.eatWhile(/[\w\?]/),"variable-3"):/\w/.test(c)?(a.eatWhile(/[\w\?]/),a.eat(":")?"atom":"ident"):"|"!=c||!b.varList&&"{"!=b.lastTok&&"do"!=b.lastTok?/[\(\)\[\]{}\\;]/.test(c)?(h=c,null):"-"==c&&a.eat(">")?"arrow":/[=+\-\/*:\.^%<>~|]/.test(c)?(a.eatWhile(/[=+\-\/*:\.^%<>~|]/),"operator"):null:(h="|",null)}function k(){var a=1;return function(b,c){if("}"==b.peek()){if(a--,0==a)return c.tokenize.pop(),c.tokenize[c.tokenize.length-1](b,c)}else"{"==b.peek()&&a++;return j(b,c)}}function l(a,b,c,d){return function(e,f){for(var h,g=!1;null!=(h=e.next());){if(h==a&&(d||!g)){f.tokenize.pop();break}if(c&&"#"==h&&!g&&e.eat("{")){f.tokenize.push(k(arguments.callee));break}g=!g&&"\\"==h}return b}}function m(a){return function(b,c){return b.match(a)?c.tokenize.pop():b.skipToEnd(),"string"}}function n(a,b){return a.sol()&&a.match("=end")&&a.eol()&&b.tokenize.pop(),a.skipToEnd(),"comment"}var h,d=c(["alias","and","BEGIN","begin","break","case","class","def","defined?","do","else","elsif","END","end","ensure","false","for","if","in","module","next","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield","nil","raise","throw","catch","fail","loop","callcc","caller","lambda","proc","public","protected","private","require","load","require_relative","extend","autoload"]),e=c(["def","class","case","for","while","do","module","then","catch","loop","proc","begin"]),f=c(["end","until"]),g={"[":"]","{":"}","(":")"};return{startState:function(){return{tokenize:[j],indented:0,context:{type:"top",indented:-a.indentUnit},continuedLine:!1,lastTok:null,varList:!1}},token:function(a,b){a.sol()&&(b.indented=a.indentation());var g,c=b.tokenize[b.tokenize.length-1](a,b);if("ident"==c){var i=a.current();c=d.propertyIsEnumerable(a.current())?"keyword":/^[A-Z]/.test(i)?"tag":"def"==b.lastTok||"class"==b.lastTok||b.varList?"def":"variable",e.propertyIsEnumerable(i)?g="indent":f.propertyIsEnumerable(i)?g="dedent":"if"!=i&&"unless"!=i||a.column()!=a.indentation()||(g="indent")}return(h||c&&"comment"!=c)&&(b.lastTok=i||h||c),"|"==h&&(b.varList=!b.varList),"indent"==g||/[\(\[\{]/.test(h)?b.context={prev:b.context,type:h||c,indented:b.indented}:("dedent"==g||/[\)\]\}]/.test(h))&&b.context.prev&&(b.context=b.context.prev),a.eol()&&(b.continuedLine="\\"==h||"operator"==c),c},indent:function(b,c){if(b.tokenize[b.tokenize.length-1]!=j)return 0;var d=c&&c.charAt(0),e=b.context,f=e.type==g[d]||"keyword"==e.type&&/^(?:end|until|else|elsif|when|rescue)\b/.test(c);return e.indented+(f?0:a.indentUnit)+(b.continuedLine?a.indentUnit:0)},electricChars:"}de"}}),CodeMirror.defineMIME("text/x-ruby","ruby"),CodeMirror.defineMode("shell",function(){function c(a,c){for(var d=c.split(" "),e=0;d.length>e;e++)b[d[e]]=a}function d(a,c){var d=a.sol(),h=a.next();if("'"===h||'"'===h||"`"===h)return c.tokens.unshift(e(h)),g(a,c);if("#"===h)return d&&a.eat("!")?(a.skipToEnd(),"meta"):(a.skipToEnd(),"comment");if("$"===h)return c.tokens.unshift(f),g(a,c);if("+"===h||"="===h)return"operator";if("-"===h)return a.eat("-"),a.eatWhile(/\w/),"attribute";if(/\d/.test(h)&&(a.eatWhile(/\d/),!/\w/.test(a.peek())))return"number";a.eatWhile(/\w/);var i=a.current();return"="===a.peek()&&/\w+/.test(i)?"def":b.hasOwnProperty(i)?b[i]:null}function e(a){return function(b,c){for(var d,e=!1,g=!1;null!=(d=b.next());){if(d===a&&!g){e=!0;break}if("$"===d&&!g&&"'"!==a){g=!0,b.backUp(1),c.tokens.unshift(f);break}g=!g&&"\\"===d}return(e||!g)&&c.tokens.shift(),"`"===a||")"===a?"quote":"string"}}function g(a,b){return(b.tokens[0]||d)(a,b)}var b={};c("atom","true false"),c("keyword","if then do else elif while until for in esac fi fin fil done exit set unset export function"),c("builtin","ab awk bash beep cat cc cd chown chmod chroot clear cp curl cut diff echo find gawk gcc get git grep kill killall ln ls make mkdir openssl mv nc node npm ping ps restart rm rmdir sed service sh shopt shred source sort sleep ssh start stop su sudo tee telnet top touch vi vim wall wc wget who write yes zsh");var f=function(a,b){b.tokens.length>1&&a.eat("$");var c=a.next(),d=/\w/;return"{"===c&&(d=/[^}]/),"("===c?(b.tokens[0]=e(")"),g(a,b)):(/\d/.test(c)||(a.eatWhile(d),a.eat("}")),b.tokens.shift(),"def")};return{startState:function(){return{tokens:[]}},token:function(a,b){return a.eatSpace()?null:g(a,b)}}}),CodeMirror.defineMIME("text/x-sh","shell"),CodeMirror.defineMode("xml",function(a,b){function h(a,b){function c(c){return b.tokenize=c,c(a,b)}var d=a.next();if("<"==d){if(a.eat("!"))return a.eat("[")?a.match("CDATA[")?c(k("atom","]]>")):null:a.match("--")?c(k("comment","-->")):a.match("DOCTYPE",!0,!0)?(a.eatWhile(/[\w\._\-]/),c(l(1))):null;if(a.eat("?"))return a.eatWhile(/[\w\._\-]/),b.tokenize=k("meta","?>"),"meta";var e=a.eat("/");f="";for(var h;h=a.eat(/[^\s\u00a0=<>\"\'\/?]/);)f+=h;return f?(g=e?"closeTag":"openTag",b.tokenize=i,"tag"):"error"}if("&"==d){var j;return j=a.eat("#")?a.eat("x")?a.eatWhile(/[a-fA-F\d]/)&&a.eat(";"):a.eatWhile(/[\d]/)&&a.eat(";"):a.eatWhile(/[\w\.\-:]/)&&a.eat(";"),j?"atom":"error"}return a.eatWhile(/[^&<]/),null}function i(a,b){var c=a.next();return">"==c||"/"==c&&a.eat(">")?(b.tokenize=h,g=">"==c?"endTag":"selfcloseTag","tag"):"="==c?(g="equals",null):/[\'\"]/.test(c)?(b.tokenize=j(c),b.tokenize(a,b)):(a.eatWhile(/[^\s\u00a0=<>\"\']/),"word")}function j(a){return function(b,c){for(;!b.eol();)if(b.next()==a){c.tokenize=i;break}return"string"}}function k(a,b){return function(c,d){for(;!c.eol();){if(c.match(b)){d.tokenize=h;break}c.next()}return a}}function l(a){return function(b,c){for(var d;null!=(d=b.next());){if("<"==d)return c.tokenize=l(a+1),c.tokenize(b,c);if(">"==d){if(1==a){c.tokenize=h;break}return c.tokenize=l(a-1),c.tokenize(b,c)}}return"meta"}}function o(){for(var a=arguments.length-1;a>=0;a--)m.cc.push(arguments[a])}function p(){return o.apply(null,arguments),!0}function q(a,b){var c=d.doNotIndent.hasOwnProperty(a)||m.context&&m.context.noIndent;m.context={prev:m.context,tagName:a,indent:m.indented,startOfLine:b,noIndent:c}}function r(){m.context&&(m.context=m.context.prev)}function s(a){if("openTag"==a)return m.tagName=f,p(w,t(m.startOfLine));if("closeTag"==a){var b=!1;return m.context?m.context.tagName!=f&&(d.implicitlyClosed.hasOwnProperty(m.context.tagName.toLowerCase())&&r(),b=!m.context||m.context.tagName!=f):b=!0,b&&(n="error"),p(u(b))}return p()}function t(a){return function(b){return"selfcloseTag"==b||"endTag"==b&&d.autoSelfClosers.hasOwnProperty(m.tagName.toLowerCase())?(v(m.tagName.toLowerCase()),p()):"endTag"==b?(v(m.tagName.toLowerCase()),q(m.tagName,a),p()):p()}}function u(a){return function(b){return a&&(n="error"),"endTag"==b?(r(),p()):(n="error",p(arguments.callee))}}function v(a){for(var b;;){if(!m.context)return;if(b=m.context.tagName.toLowerCase(),!d.contextGrabbers.hasOwnProperty(b)||!d.contextGrabbers[b].hasOwnProperty(a))return;r()}}function w(a){return"word"==a?(n="attribute",p(x,w)):"endTag"==a||"selfcloseTag"==a?o():(n="error",p(w))}function x(a){return"equals"==a?p(y,w):(d.allowMissing?"word"==a&&(n="attribute"):n="error","endTag"==a||"selfcloseTag"==a?o():p())}function y(a){return"string"==a?p(z):"word"==a&&d.allowUnquoted?(n="string",p()):(n="error","endTag"==a||"selfCloseTag"==a?o():p())}function z(a){return"string"==a?p(z):o()}var f,g,m,n,c=a.indentUnit,d=b.htmlMode?{autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0}:{autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1},e=b.alignCDATA;return{startState:function(){return{tokenize:h,cc:[],indented:0,startOfLine:!0,tagName:null,context:null}},token:function(a,b){if(a.sol()&&(b.startOfLine=!0,b.indented=a.indentation()),a.eatSpace())return null;n=g=f=null;var c=b.tokenize(a,b);if(b.type=g,(c||g)&&"comment"!=c)for(m=b;;){var d=b.cc.pop()||s;if(d(g||c))break}return b.startOfLine=!1,n||c},indent:function(a,b,d){var f=a.context;if(a.tokenize!=i&&a.tokenize!=h||f&&f.noIndent)return d?d.match(/^(\s*)/)[0].length:0;if(e&&/=0&&e<_t.size}function dn(e){return q(_t,e)}function vn(e,t){Jt=!0;var n=t-e.height;for(var r=e;r;r=r.parent)r.height+=n}function mn(e,t){return e.styles||e.highlight(Mt,e.stateAfter=oi(R(e)),s.tabSize),e.getContent(s.tabSize,t,s.lineWrapping)}function gn(e){var t={line:0,ch:0};Hn(t,{line:_t.size-1,ch:dn(_t.size-1).text.length},St(e),t,t),zt=!0}function yn(e){var t=[];return _t.iter(0,_t.size,function(e){t.push(e.text)}),t.join(e||"\n")}function bn(e){A.scrollTop!=It&&(It=Ct.scrollTop=A.scrollTop,sr([]))}function wn(e){s.fixedGutter&&at.style.left!=Ct.scrollLeft+"px"&&(at.style.left=Ct.scrollLeft+"px"),Ct.scrollTop!=It&&(It=Ct.scrollTop,A.scrollTop!=It&&(A.scrollTop=It),sr([])),s.onScroll&&s.onScroll(pn)}function En(e){function u(t){g&&(Ct.draggable=!1),qt=!1,l(),c(),Math.abs(e.clientX-t.clientX)+Math.abs(e.clientY-t.clientY)<10&&($(t),dr(n.line,n.ch,!0),Zn())}function m(e){if(i=="single")cr(n,e);else if(i=="double"){var t=Er(e);pt(e,d)?cr(t.from,v):cr(d,t.to)}else i=="triple"&&(pt(e,d)?cr(v,mr({line:e.line,ch:0})):cr(d,mr({line:e.line+1,ch:0})))}function y(e){var t=Zr(e,!0);if(t&&!ht(t,a)){Pt||Dn(),a=t,m(t),zt=!1;var n=ir();if(t.line>=n.to||t.liner-400&&ht(Ft.pos,n))i="triple",$(e),setTimeout(Zn,20),Sr(n.line);else if(jt&&jt.time>r-400&&ht(jt.pos,n)){i="double",Ft={time:r,pos:n},$(e);var o=Er(n);cr(o.from,o.to)}else jt={time:r,pos:n};var a=n,f;if(s.dragDrop&&nt&&!s.readOnly&&!ht(Ht.from,Ht.to)&&!pt(n,Ht.from)&&!pt(Ht.to,n)&&i=="single"){g&&(Ct.draggable=!0);var l=Z(document,"mouseup",hi(u),!0),c=Z(Ct,"drop",hi(u),!0);qt=!0,Ct.dragDrop&&Ct.dragDrop();return}$(e),i=="single"&&dr(n.line,n.ch,!0);var d=Ht.from,v=Ht.to,w=Z(document,"mousemove",hi(function(e){clearTimeout(f),$(e),!p&&!G(e)?b(e):y(e)}),!0),l=Z(document,"mouseup",hi(b),!0)}function Sn(e){for(var t=Q(e);t!=kt;t=t.parentNode)if(t.parentNode==st)return $(e);$(e)}function xn(e){if(s.onDragEvent&&s.onDragEvent(pn,V(e)))return;$(e);var t=Zr(e,!0),n=e.dataTransfer.files;if(!t||s.readOnly)return;if(n&&n.length&&window.FileReader&&window.File){var r=n.length,i=Array(r),o=0,u=function(e,n){var s=new FileReader;s.onload=function(){i[n]=s.result,++o==r&&(t=mr(t),hi(function(){var e=zn(i.join(""),t,t);cr(t,e)})())},s.readAsText(e)};for(var a=0;a-1&&setTimeout(hi(function(){Tr(Ht.to.line,"smart")}),75);if(Ln(e,r))return;Kn()}function _n(e){if(s.onKeyEvent&&s.onKeyEvent(pn,V(e)))return;Y(e,"keyCode")==16&&(Bt=null)}function Dn(){if(s.readOnly=="nocursor")return;Pt||(s.onFocus&&s.onFocus(pn),Pt=!0,Ct.className.search(/\bCodeMirror-focused\b/)==-1&&(Ct.className+=" CodeMirror-focused")),Jn(),ni()}function Pn(){Pt&&(s.onBlur&&s.onBlur(pn),Pt=!1,en&&hi(function(){en&&(en(),en=null)})(),Ct.className=Ct.className.replace(" CodeMirror-focused","")),clearInterval(Ot),setTimeout(function(){Pt||(Bt=null)},150)}function Hn(e,t,n,r,i){if(Ut)return;var o=[];_t.iter(e.line,t.line+1,function(e){o.push(D(e.text,e.markedSpans))});if(un){un.addChange(e.line,n.length,o);while(un.done.length>s.undoDepth)un.done.shift()}var u=O(_(o[0]),_(lt(o)),e.ch,t.ch,n);In(e,t,u,r,i)}function Bn(e,t){if(!e.length)return;var n=e.pop(),r=[];for(var i=n.length-1;i>=0;i-=1){var s=n[i],o=[],u=s.start+s.added;_t.iter(s.start,u,function(e){o.push(D(e.text,e.markedSpans))}),r.push({start:s.start,added:s.old.length,old:o});var a={line:s.start+s.old.length-1,ch:bt(M(lt(o)),M(lt(s.old)))};In({line:s.start,ch:0},{line:u-1,ch:dn(u-1).text.length},s.old,a,a)}zt=!0,t.push(r)}function jn(){Bn(un.done,un.undone)}function Fn(){Bn(un.undone,un.done)}function In(e,t,n,r,i){function w(e){return e<=Math.min(t.line,t.line+g)?e:e+g}if(Ut)return;var o=!1,u=tn.text.length;s.lineWrapping||_t.iter(e.line,t.line+1,function(e){if(!e.hidden&&e.text.length==u)return o=!0,!0});if(e.line!=t.line||n.length>1)Jt=!0;var a=t.line-e.line,f=dn(e.line),l=dn(t.line),c=lt(n);if(e.ch==0&&t.ch==0&&M(c)==""){var h=[],p=null;for(var d=0,v=n.length-1;d1&&_t.remove(e.line+1,a-1,Kt),_t.insert(e.line+1,h)}if(s.lineWrapping){var m=Math.max(5,Ct.clientWidth/Qr()-3);_t.iter(e.line,e.line+n.length,function(e){if(e.hidden)return;var t=Math.ceil(e.text.length/m)||1;t!=e.height&&vn(e,t)})}else _t.iter(e.line,e.line+n.length,function(e){var t=e.text;!e.hidden&&t.length>u&&(tn=e,u=t.length,rn=!0,o=!1)}),o&&(nn=!0);Dt=Math.min(Dt,e.line),ai(400);var g=n.length-a-1;Xt.push({from:e.line,to:t.line+1,diff:g});if(s.onChange){for(var d=0;dCt.offsetHeight?e:!1}function Rn(e){var t=qn();A.style.display=t?"block":"none",t?(L.style.height=Nt.style.minHeight=t+"px",A.style.height=Ct.clientHeight+"px",e!=null&&(A.scrollTop=Ct.scrollTop=e,g&&setTimeout(function(){if(A.scrollTop!=e)return;A.scrollTop=e+(e?-1:1),A.scrollTop=e},0))):Nt.style.minHeight="",yt.style.top=Qt*$r()+"px"}function Un(){tn=dn(0),rn=!0;var e=tn.text.length;_t.iter(1,_t.size,function(t){var n=t.text;!t.hidden&&n.length>e&&(e=n.length,tn=t)}),nn=!1}function zn(e,t,n){function r(r){if(pt(r,t))return r;if(!pt(n,r))return i;var s=r.line+e.length-(n.line-t.line)-1,o=r.ch;return r.line==n.line&&(o+=lt(e).length-(n.ch-(n.line==t.line?t.ch:0))),{line:s,ch:o}}t=mr(t),n?n=mr(n):n=t,e=St(e);var i;return Xn(e,t,n,function(e){return i=e,{from:r(Ht.from),to:r(Ht.to)}}),i}function Wn(e,t){Xn(St(e),Ht.from,Ht.to,function(e){return t=="end"?{from:e,to:e}:t=="start"?{from:Ht.from,to:Ht.from}:{from:Ht.from,to:e}})}function Xn(e,t,n,r){var i=e.length==1?e[0].length+t.ch:lt(e).length,s=r({line:t.line+e.length-1,ch:i});Hn(t,n,e,s.from,s.to)}function Vn(e,t,n){var r=e.line,i=t.line;if(r==i)return dn(r).text.slice(e.ch,t.ch);var s=[dn(r).text.slice(e.ch)];return _t.iter(r+1,i,function(e){s.push(e.text)}),s.push(dn(i).text.slice(0,t.ch)),s.join(n||"\n")}function $n(e){return Vn(Ht.from,Ht.to,e)}function Jn(){if(sn)return;Lt.set(s.pollInterval,function(){Gn(),Pt&&Jn()})}function Kn(){function t(){var n=Gn();!n&&!e?(e=!0,Lt.set(60,t)):(sn=!1,Jn())}var e=!1;sn=!0,Lt.set(20,t)}function Gn(){if(!Pt||xt(N)||s.readOnly)return!1;var e=N.value;if(e==Qn)return!1;ci||fi(),Bt=null;var t=0,n=Math.min(Qn.length,e.length);while(t1e3?N.value=Qn="":Qn=e,ci||li(),!0}function Yn(e){ht(Ht.from,Ht.to)?e&&(Qn=N.value=""):(Qn="",N.value=$n(),Pt&&ct(N))}function Zn(){s.readOnly!="nocursor"&&N.focus()}function er(){var e=tr();nr(e.x,e.y,e.x,e.yBot);if(!Pt)return;var t=Nt.getBoundingClientRect(),n=null;e.y+t.top<0?n=!0:e.y+t.top+$r()>(window.innerHeight||document.documentElement.clientHeight)&&(n=!1);if(n!=null){var r=B.style.display=="none";r&&(B.style.display="",B.style.left=e.x+"px",B.style.top=e.y-Qt+"px"),B.scrollIntoView(n),r&&(B.style.display="none")}}function tr(){var e=Rr(Ht.inverted?Ht.from:Ht.to),t=s.lineWrapping?Math.min(e.x,rt.offsetWidth):e.x;return{x:t,y:e.y,yBot:e.yBot}}function nr(e,t,n,r){var i=rr(e,t,n,r);i.scrollLeft!=null&&(Ct.scrollLeft=i.scrollLeft),i.scrollTop!=null&&(A.scrollTop=Ct.scrollTop=i.scrollTop)}function rr(e,t,n,r){var i=Yr(),o=Gr();t+=o,r+=o,e+=i,n+=i;var u=Ct.clientHeight,a=A.scrollTop,f={},l=qn()||Infinity,c=tl-10;ta+u&&(f.scrollTop=(h?l:r)-u);var p=Ct.clientWidth,d=Ct.scrollLeft,v=s.fixedGutter?at.clientWidth:0,m=ep+d-3&&(f.scrollLeft=n+10-p),f}function ir(e){var t=$r(),n=(e!=null?e:A.scrollTop)-Gr(),r=Math.max(0,Math.floor(n/t)),i=Math.ceil((n+Ct.clientHeight)/t);return{from:U(_t,r),to:U(_t,i)}}function sr(e,t,n){function d(){var e=P.firstChild,t=!1;return _t.iter(Gt,Yt,function(n){if(!e)return;if(!n.hidden){var r=Math.round(e.offsetHeight/c)||1;n.height!=r&&(vn(n,r),Jt=t=!0)}e=e.nextSibling}),t}if(!Ct.clientWidth){Gt=Yt=Qt=0;return}var r=ir(n);if(e!==!0&&e.length==0&&r.from>Gt&&r.too&&Yt-o<20&&(o=Math.min(_t.size,Yt));var u=e===!0?[]:or([{from:Gt,to:Yt,domStart:0}],e),a=0;for(var f=0;fo&&(l.to=o),l.from>=l.to?u.splice(f--,1):a+=l.to-l.from}if(a==o-i&&i==Gt&&o==Yt){Rn(n);return}u.sort(function(e,t){return e.domStart-t.domStart});var c=$r(),h=at.style.display;P.style.display="none",ur(i,o,u),P.style.display=at.style.display="";var p=i!=Gt||o!=Yt||Zt!=Ct.clientHeight+c;p&&(Zt=Ct.clientHeight+c),(i!=Gt||o!=Yt&&s.onViewportChange)&&setTimeout(function(){s.onViewportChange&&s.onViewportChange(pn,i,o)}),Gt=i,Yt=o,Qt=z(_t,i),ai(100);if(P.childNodes.length!=Yt-Gt)throw new Error("BAD PATCH! "+JSON.stringify(u)+" size="+(Yt-Gt)+" nodes="+P.childNodes.length);return s.lineWrapping&&d(),at.style.display=h,(p||Jt)&&ar()&&s.lineWrapping&&d()&&ar(),Rn(n),fr(),!t&&s.onUpdate&&s.onUpdate(pn),!0}function or(e,t){for(var n=0,r=t.length||0;n=f.to?s.push(f):(i.from>f.from&&s.push({from:f.from,to:i.from,domStart:f.domStart}),i.toi)s=r(s),i++;for(var f=0,l=a.to-a.from;ff){if(e.hidden)var t=vt("pre");else{var t=mn(e);e.className&&(t.className=e.className);if(e.bgClassName){var r=vt("pre","\u00a0",e.bgClassName,"position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: -2");t=vt("div",[r,t],null,"position: relative")}}P.insertBefore(t,s)}else s=s.nextSibling;++f})}function ar(){if(!s.gutter&&!s.lineNumbers)return;var e=yt.offsetHeight,t=Ct.clientHeight;at.style.height=(e-t<2?t:e)+"px";var n=document.createDocumentFragment(),r=Gt,i;_t.iter(Gt,Math.max(Yt,Gt+1),function(e){if(e.hidden)n.appendChild(vt("pre"));else{var t=e.gutterMarker,o=s.lineNumbers?s.lineNumberFormatter(r+s.firstLineNumber):null;t&&t.text?o=t.text.replace("%N%",o!=null?o:""):o==null&&(o="\u00a0");var u=n.appendChild(vt("pre",null,t&&t.style));u.innerHTML=o;for(var a=1;a2;return rt.style.marginLeft=at.offsetWidth+"px",Jt=!1,l}function fr(){var e=ht(Ht.from,Ht.to),t=Rr(Ht.from,!0),n=e?t:Rr(Ht.to,!0),r=Ht.inverted?t:n,i=$r(),o=ot(kt),u=ot(P);C.style.top=Math.max(0,Math.min(Ct.offsetHeight,r.y+u.top-o.top))+"px",C.style.left=Math.max(0,Math.min(Ct.offsetWidth,r.x+u.left-o.left))+"px";if(e)B.style.top=r.y+"px",B.style.left=(s.lineWrapping?Math.min(r.x,rt.offsetWidth):r.x)+"px",B.style.display="",H.style.display="none";else{var a=t.y==n.y,f=document.createDocumentFragment(),l=rt.clientWidth||rt.offsetWidth,c=rt.clientHeight||rt.offsetHeight,h=function(e,t,n,r){var i=m?"width: "+(n?l-n-e:l)+"px":"right: "+n+"px";f.appendChild(vt("div",null,"CodeMirror-selected","position: absolute; left: "+e+"px; top: "+t+"px; "+i+"; height: "+r+"px"))};if(Ht.from.ch&&t.y>=0){var p=a?l-n.x:0;h(t.x,t.y,p,i)}var d=Math.max(0,t.y+(Ht.from.ch?i:0)),v=Math.min(n.y,c)-d;v>.2*i&&h(0,d,0,v),(!a||!Ht.from.ch)&&n.yn||u>o.text.length)u=o.text.length;return{line:r,ch:u}}r+=t}}var i=dn(e.line),s=e.ch==i.text.length&&e.ch!=n;return i.hidden?e.line>=t?r(1)||r(-1):r(-1)||r(1):e}function dr(e,t,n){var r=mr({line:e,ch:t||0});(n?cr:hr)(r,r)}function vr(e){return Math.max(0,Math.min(e,_t.size-1))}function mr(e){if(e.line<0)return{line:0,ch:0};if(e.line>=_t.size)return{line:_t.size-1,ch:dn(_t.size-1).text.length};var t=e.ch,n=dn(e.line).text.length;return t==null||t>n?{line:e.line,ch:n}:t<0?{line:e.line,ch:0}:e}function gr(e,t){function o(){for(var t=r+e,n=e<0?-1:_t.size;t!=n;t+=e){var i=dn(t);if(!i.hidden)return r=t,s=i,!0}}function u(t){if(i==(e<0?0:s.text.length)){if(!!t||!o())return!1;i=e<0?s.text.length:0}else i+=e;return!0}var n=Ht.inverted?Ht.from:Ht.to,r=n.line,i=n.ch,s=dn(r);if(t=="char")u();else if(t=="column")u(!0);else if(t=="word"){var a=!1;for(;;){if(e<0&&!u())break;if(Et(s.text.charAt(i)))a=!0;else if(a){e<0&&(e=1,u());break}if(e>0&&!u())break}}return{line:r,ch:i}}function yr(e,t){var n=e<0?Ht.from:Ht.to;if(Bt||ht(Ht.from,Ht.to))n=gr(e,t);dr(n.line,n.ch,!0)}function br(e,t){ht(Ht.from,Ht.to)?e<0?zn("",gr(e,t),Ht.to):zn("",Ht.from,gr(e,t)):zn("",Ht.from,Ht.to),Wt=!0}function wr(e,t){var n=0,r=Rr(Ht.inverted?Ht.from:Ht.to,!0);on!=null&&(r.x=on);if(t=="page")var i=Math.min(Ct.clientHeight,window.innerHeight||document.documentElement.clientHeight),s=Ur(r.x,r.y+i*e);else if(t=="line")var o=$r(),s=Ur(r.x,r.y+.5*o+e*o);t=="page"&&(A.scrollTop+=Rr(s,!0).y-r.y),dr(s.line,s.ch,!0),on=r.x}function Er(e){var t=dn(e.line).text,n=e.ch,r=e.ch;if(t){e.after===!1||r==t.length?--n:++r;var i=t.charAt(n),s=Et(i)?Et:/\s/.test(i)?function(e){return/\s/.test(e)}:function(e){return!/\s/.test(e)&&!Et(e)};while(n>0&&s(t.charAt(n-1)))--n;while(r=e.ch)&&t.push(i.marker)}return t}function Pr(e,t,n){return typeof e=="number"&&(e=dn(vr(e))),e.gutterMarker={text:t,style:n},Jt=!0,e}function Hr(e){typeof e=="number"&&(e=dn(vr(e))),e.gutterMarker=null,Jt=!0}function Br(e,t){var n=e,r=e;return typeof e=="number"?r=dn(vr(e)):n=R(e),n==null?null:t(r,n)?(Xt.push({from:n,to:n+1}),r):null}function jr(e,t,n){return Br(e,function(e){if(e.className!=t||e.bgClassName!=n)return e.className=t,e.bgClassName=n,!0})}function Fr(e,t){return Br(e,function(e,n){if(e.hidden!=t){e.hidden=t,s.lineWrapping||(t&&e.text.length==tn.text.length?nn=!0:!t&&e.text.length>tn.text.length&&(tn=e,nn=!1)),vn(e,t?0:1);var r=Ht.from.line,i=Ht.to.line;if(t&&(r==n||i==n)){var o=r==n?pr({line:r,ch:0},r,0):Ht.from,u=i==n?pr({line:i,ch:0},i,0):Ht.to;if(!u)return;hr(o,u)}return Jt=!0}})}function Ir(e){if(typeof e=="number"){if(!hn(e))return null;var t=e;e=dn(e);if(!e)return null}else{var t=R(e);if(t==null)return null}var n=e.gutterMarker;return{line:t,handle:e,text:e.text,markerText:n&&n.text,markerClass:n&&n.style,lineClass:e.className,bgClass:e.bgClassName}}function qr(e,t){if(t==0)return{top:0,left:0};var n=s.lineWrapping&&t=_t.size)return{line:_t.size-1,ch:dn(_t.size-1).text.length};var u=dn(o),a=u.text,f=s.lineWrapping,l=f?i-z(_t,o):0;if(e<=0&&l==0)return{line:o,ch:0};var c=!1,p=0,d=0,v=a.length,m,g=Math.min(v,Math.ceil((e+l*Ct.clientWidth*.9)/r));for(;;){var y=h(g);if(!(y<=e&&gm)return{line:o,ch:v};g=Math.floor(v*.8),y=h(g),ye?(v=w,m=E,c&&(m+=1e3)):(p=w,d=E)}}function zr(e){var t=Rr(e,!0),n=ot(rt);return{x:n.left+t.x,y:n.top+t.y,yBot:n.top+t.yBot}}function $r(){if(Vr==null){Vr=vt("pre");for(var e=0;e<49;++e)Vr.appendChild(document.createTextNode("x")),Vr.appendChild(vt("br"));Vr.appendChild(document.createTextNode("x"))}var t=P.clientHeight;return t==Xr?Wr:(Xr=t,gt(J,Vr.cloneNode(!0)),Wr=J.firstChild.offsetHeight/50||1,mt(J),Wr)}function Qr(){if(Ct.clientWidth==Kr)return Jr;Kr=Ct.clientWidth;var e=vt("span","x"),t=vt("pre",[e]);return gt(J,t),Jr=e.offsetWidth||10}function Gr(){return rt.offsetTop}function Yr(){return rt.offsetLeft}function Zr(e,t){var n=ot(Ct,!0),r,i;try{r=e.clientX,i=e.clientY}catch(e){return null}if(!t&&(r-n.left>Ct.clientWidth||i-n.top>Ct.clientHeight))return null;var s=ot(rt,!0);return Ur(r-s.left,i-s.top)}function ti(e){function i(){C.style.position="relative",N.style.cssText=r,v&&(A.scrollTop=n),Jn();if(N.selectionStart!=null){clearTimeout(ei);var e=N.value=" "+(ht(Ht.from,Ht.to)?"":N.value),t=0;Qn=" ",N.selectionStart=1,N.selectionEnd=e.length,ei=setTimeout(function i(){Qn==" "&&N.selectionStart==0?hi(u.selectAll)(pn):t++<10?ei=setTimeout(i,500):Yn()},200)}}var t=Zr(e),n=A.scrollTop;if(!t||b)return;(ht(Ht.from,Ht.to)||pt(t,Ht.from)||!pt(t,Ht.to))&&hi(dr)(t.line,t.ch);var r=N.style.cssText;C.style.position="absolute",N.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(e.clientY-5)+"px; left: "+(e.clientX-5)+"px; z-index: 1000; background: white; "+"border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",Zn(),Yn(!0),ht(Ht.from,Ht.to)&&(N.value=Qn=" ");if(h){K(e);var s=Z(window,"mouseup",function(){s(),setTimeout(i,20)},!0)}else setTimeout(i,50)}function ni(){clearInterval(Ot);var e=!0;B.style.visibility="",Ot=setInterval(function(){B.style.visibility=(e=!e)?"":"hidden"},s.cursorBlinkRate)}function ii(e){function v(e,t,n){if(!e.text)return;var r=e.styles,i=o?0:e.text.length-1,s;for(var a=o?0:r.length-2,f=o?r.length:-2;a!=f;a+=2*u){var l=r[a];if(r[a+1]!=h){i+=u*l.length;continue}for(var c=o?0:l.length-1,v=o?l.length:-1;c!=v;c+=u,i+=u)if(i>=t&&i"==o)p.push(s);else{if(p.pop()!=m.charAt(0))return{pos:i,match:!1};if(!p.length)return{pos:i,match:!0}}}}}var t=Ht.inverted?Ht.from:Ht.to,n=dn(t.line),r=t.ch-1,i=r>=0&&ri[n.text.charAt(r)]||ri[n.text.charAt(++r)];if(!i)return;var s=i.charAt(0),o=i.charAt(1)==">",u=o?1:-1,a=n.styles;for(var f=r+1,l=0,c=a.length;li;--r){if(r==0)return 0;var o=dn(r-1);if(o.stateAfter)return r;var u=o.indentation(s.tabSize);if(n==null||t>u)n=r-1,t=u}return n}function oi(e){var t=si(e),n=t&&dn(t-1).stateAfter;return n?n=x(Mt,n):n=T(Mt),_t.iter(t,e,function(r){r.process(Mt,n,s.tabSize),r.stateAfter=t==e-1||t%5==0?x(Mt,n):null}),n}function ui(){if(Dt>=Yt)return;var e=+(new Date)+s.workTime,t=x(Mt,oi(Dt)),n=Dt;_t.iter(Dt,Yt,function(n){Dt>=Gt?(n.highlight(Mt,t,s.tabSize),n.stateAfter=x(Mt,t)):(n.process(Mt,t,s.tabSize),n.stateAfter=Dt%5==0?x(Mt,t):null),++Dt;if(+(new Date)>e)return ai(s.workDelay),!0}),Yt>n&&Dt>=Gt&&hi(function(){Xt.push({from:n,to:Dt})})()}function ai(e){Dtu&&e.y>t.offsetHeight&&(s=e.y-t.offsetHeight),o+t.offsetWidth>a&&(o=a-t.offsetWidth)}t.style.top=s+Gr()+"px",t.style.left=t.style.right="",i=="right"?(o=Nt.clientWidth-t.offsetWidth,t.style.right="0px"):(i=="left"?o=0:i=="middle"&&(o=(Nt.clientWidth-t.offsetWidth)/2),t.style.left=o+Yr()+"px"),n&&nr(o,s,o+t.offsetWidth,s+t.offsetHeight)},lineCount:function(){return _t.size},clipPos:mr,getCursor:function(e){return e==null&&(e=Ht.inverted),dt(e?Ht.from:Ht.to)},somethingSelected:function(){return!ht(Ht.from,Ht.to)},setCursor:hi(function(e,t,n){t==null&&typeof e.line=="number"?dr(e.line,e.ch,n):dr(e,t,n)}),setSelection:hi(function(e,t,n){(n?cr:hr)(mr(e),mr(t||e))}),getLine:function(e){if(hn(e))return dn(e).text},getLineHandle:function(e){if(hn(e))return dn(e)},setLine:hi(function(e,t){hn(e)&&zn(t,{line:e,ch:0},{line:e,ch:dn(e).text.length})}),removeLine:hi(function(e){hn(e)&&zn("",{line:e,ch:0},mr({line:e+1,ch:0}))}),replaceRange:hi(zn),getRange:function(e,t,n){return Vn(mr(e),mr(t),n)},triggerOnKeyDown:hi(On),execCommand:function(e){return u[e](pn)},moveH:hi(yr),deleteH:hi(br),moveV:hi(wr),toggleOverwrite:function(){Rt?(Rt=!1,B.className=B.className.replace(" CodeMirror-overwrite","")):(Rt=!0,B.className+=" CodeMirror-overwrite")},posFromIndex:function(e){var t=0,n;return _t.iter(0,_t.size,function(r){var i=r.text.length+1;if(i>e)return n=e,!0;e-=i,++t}),mr({line:t,ch:n})},indexFromPos:function(e){if(e.line<0||e.ch<0)return 0;var t=e.ch;return _t.iter(0,e.line,function(e){t+=e.text.length+1}),t},scrollTo:function(e,t){e!=null&&(Ct.scrollLeft=e),t!=null&&(A.scrollTop=Ct.scrollTop=t),sr([])},getScrollInfo:function(){return{x:Ct.scrollLeft,y:A.scrollTop,height:A.scrollHeight,width:Ct.scrollWidth}},setSize:function(e,t){function n(e){return e=String(e),/^\d+$/.test(e)?e+"px":e}e!=null&&(kt.style.width=n(e)),t!=null&&(Ct.style.height=n(t)),pn.refresh()},operation:function(e){return hi(e)()},compoundChange:function(e){return pi(e)},refresh:function(){sr(!0,null,It),A.scrollHeight>It&&(A.scrollTop=It)},getInputField:function(){return N},getWrapperElement:function(){return kt},getScrollerElement:function(){return Ct},getGutterElement:function(){return at}},Cn,An=null,Qn="";Or.prototype.clear=hi(function(){var e=Infinity,t=-Infinity;for(var n=0;n",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},ci=0;for(var di in o)o.propertyIsEnumerable(di)&&!pn.propertyIsEnumerable(di)&&(pn[di]=o[di]);return pn}function f(e){return typeof e=="string"?a[e]:e}function l(e,t,n,r,i){function s(t){t=f(t);var n=t[e];if(n===!1)return i&&i(),!0;if(n!=null&&r(n))return!0;if(t.nofallthrough)return i&&i(),!0;var o=t.fallthrough;if(o==null)return!1;if(Object.prototype.toString.call(o)!="[object Array]")return s(o);for(var u=0,a=o.length;u=t:s.to>t);(i||(i=[])).push({from:s.from,to:a?null:s.to,marker:o})}}return i}function A(e,t){if(e)for(var n=0,r;n=t:i.to>t);if(o||s.type=="bookmark"&&i.from==t){var u=i.from==null||(s.inclusiveLeft?i.from<=t:i.from0&&s)for(var f=0;f=0&&r>=0;--n,--r)if(e.charAt(n)!=t.charAt(r))break;return r+1}function wt(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;n2){n.dependencies=[];for(var r=2;r0&&t.ch=this.string.length},sol:function(){return this.pos==0},peek:function(){return this.string.charAt(this.pos)||undefined},next:function(){if(this.post},eatSpace:function(){var e=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos)))++this.pos;return this.pos>e},skipToEnd:function(){this.pos=this.string.length},skipTo:function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},backUp:function(e){this.pos-=e},column:function(){return st(this.string,this.start,this.tabSize)},indentation:function(){return st(this.string,null,this.tabSize)},match:function(e,t,n){if(typeof e!="string"){var i=this.string.slice(this.pos).match(e);return i&&i.index>0?null:(i&&t!==!1&&(this.pos+=i[0].length),i)}var r=function(e){return n?e.toLowerCase():e};if(r(this.string).indexOf(r(e),this.pos)==this.pos)return t!==!1&&(this.pos+=e.length),!0},current:function(){return this.string.slice(this.start,this.pos)}},e.StringStream=N;var B=" ";h||p&&!d?B="\u200b":b&&(B=""),j.prototype={update:function(e,t){this.text=e,this.stateAfter=this.styles=null,P(this),H(this,t)},highlight:function(e,t,n){var r=new N(this.text,n),i=this.styles||(this.styles=[]),s=i.length=0;this.text==""&&e.blankLine&&e.blankLine(t);while(!r.eol()){var o=e.token(r,t),u=r.current();r.start=r.pos,s&&i[s-1]==o?i[s-2]+=u:u&&(i[s++]=u,i[s++]=o);if(r.pos>5e3){i[s++]=this.text.slice(r.pos),i[s++]=null;break}}},process:function(e,t,n){var r=new N(this.text,n);this.text==""&&e.blankLine&&e.blankLine(t);while(!r.eol()&&r.pos<=5e3)e.token(r,t),r.start=r.pos},getTokenAt:function(e,t,n,r){var i=this.text,s=new N(i,n);while(s.pos=f&&tf&&(u(e,r.slice(0,t-f),i),n&&e.appendChild(vt("wbr"))),e.appendChild(l);var o=t-f;u(l,b?r.slice(o,o+1):r.slice(o),i),b&&u(e,r.slice(o+1),i),t--,f+=s}else f+=s,u(e,r,i),f==t&&f==v?(yt(l,B),e.appendChild(l)):f>t+10&&/\s/.test(r)&&(a=function(){})}}var c=this.styles,h=this.text,d=this.markedSpans,v=h.length;if(!h&&t==null)a(o," ");else if(!d||!d.length)for(var g=0,y=0;yv&&(w=w.slice(0,v-y)),y+=S,a(o,w,m(E))}else{d.sort(function(e,t){return e.from-t.from});var x=0,g=0,T="",E,N=0,C=d[0].from||0,k=[],L=0,A=function(){var e;while(LM?T.slice(0,M-x):T,D);if(_>=M){T=T.slice(M-x),x=M;break}x=_}T=c[g++],E=m(c[g++])}}}return o},cleanUp:function(){this.parent=null,P(this)}},F.prototype={chunkSize:function(){return this.lines.length},remove:function(e,t,n){for(var r=e,i=e+t;r50){while(s.lines.length>50){var u=s.lines.splice(s.lines.length-25,25),a=new F(u);s.height-=a.height,this.children.splice(r+1,0,a),a.parent=this}this.maybeSpill()}break}e-=o}},maybeSpill:function(){if(this.children.length<=10)return;var e=this;do{var t=e.children.splice(e.children.length-5,5),n=new I(t);if(!e.parent){var r=new I(e.children);r.parent=e,e.children=[r,n],e=r}else{e.size-=n.size,e.height-=n.height;var i=wt(e.parent.children,e);e.parent.children.splice(i+1,0,n)}n.parent=e.parent}while(e.children.length>10);e.parent.maybeSpill()},iter:function(e,t,n){this.iterN(e,t-e,n)},iterN:function(e,t,n){for(var r=0,i=this.children.length;r400||!s||this.closed||s.start>e+n.length||s.start+s.added0;--f)s.old.unshift(n[f-1]);for(var f=a;f>0;--f)s.old.push(n[n.length-f]);u&&(s.start=e),s.added+=t-(n.length-u-a)}this.time=r},startCompound:function(){this.compound++||(this.closed=!0)},endCompound:function(){--this.compound||(this.closed=!0)}},e.e_stop=K,e.e_preventDefault=$,e.e_stopPropagation=J,e.connect=Z,et.prototype={set:function(e,t){clearTimeout(this.id),this.id=setTimeout(t,e)}};var tt=e.Pass={toString:function(){return"CodeMirror.Pass"}},nt=function(){if(v)return!1;var e=vt("div");return"draggable"in e||"dragDrop"in e}(),rt=function(){var e=vt("textarea");return e.value="foo\nbar",e.value.indexOf("\r")>-1?"\r\n":"\n"}(),it=/^$/;h?it=/$'/:w?it=/\-[^ \-?]|\?[^ !'\"\),.\-\/:;\?\]\}]/:y&&(it=/\-[^ \-\.?]|\?[^ \-\.?\]\}:;!'\"\),\/]|[\.!\"#&%\)*+,:;=>\]|\}~][\(\{\[<]|\$'/);var at=[""],St="\n\nb".split(/\n/).length!=3?function(e){var t=0,n=[],r=e.length;while(t<=r){var i=e.indexOf("\n",t);i==-1&&(i=e.length);var s=e.slice(t,e.charAt(i-1)=="\r"?i-1:i),o=s.indexOf("\r");o!=-1?(n.push(s.slice(0,o)),t+=o+1):(n.push(s),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)};e.splitLines=St;var xt=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(t){return!1}}:function(e){try{var t=e.ownerDocument.selection.createRange()}catch(n){}return!t||t.parentElement()!=e?!1:t.compareEndPoints("StartToEnd",t)!=0};e.defineMode("null",function(){return{token:function(e){e.skipToEnd()}}}),e.defineMIME("text/plain","null");var Tt={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"};return e.keyNames=Tt,function(){for(var e=0;e<10;e++)Tt[e+48]=String(e);for(var e=65;e<=90;e++)Tt[e]=String.fromCharCode(e);for(var e=1;e<=12;e++)Tt[e+111]=Tt[e+63235]="F"+e}(),e.version="2.33 +",e}(),CodeMirror.defineMode("clike",function(e,t){function c(e,t){var n=e.next();if(u[n]){var a=u[n](e,t);if(a!==!1)return a}if(n=='"'||n=="'")return t.tokenize=h(n),t.tokenize(e,t);if(/[\[\]{}\(\),;\:\.]/.test(n))return l=n,null;if(/\d/.test(n))return e.eatWhile(/[\w\.]/),"number";if(n=="/"){if(e.eat("*"))return t.tokenize=p,p(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(f.test(n))return e.eatWhile(f),"operator";e.eatWhile(/[\w\$_]/);var c=e.current();return r.propertyIsEnumerable(c)?(s.propertyIsEnumerable(c)&&(l="newstatement"),"keyword"):i.propertyIsEnumerable(c)?(s.propertyIsEnumerable(c)&&(l="newstatement"),"builtin"):o.propertyIsEnumerable(c)?"atom":"variable"}function h(e){return function(t,n){var r=!1,i,s=!1;while((i=t.next())!=null){if(i==e&&!r){s=!0;break}r=!r&&i=="\\"}if(s||!r&&!a)n.tokenize=null;return"string"}}function p(e,t){var n=!1,r;while(r=e.next()){if(r=="/"&&n){t.tokenize=null;break}n=r=="*"}return"comment"}function d(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function v(e,t,n){return e.context=new d(e.indented,t,n,null,e.context)}function m(e){var t=e.context.type;if(t==")"||t=="]"||t=="}")e.indented=e.context.indented;return e.context=e.context.prev}var n=e.indentUnit,r=t.keywords||{},i=t.builtin||{},s=t.blockKeywords||{},o=t.atoms||{},u=t.hooks||{},a=t.multiLineStrings,f=/[+\-*&%=<>!?|\/]/,l;return{startState:function(e){return{tokenize:null,context:new d((e||0)-n,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;e.sol()&&(n.align==null&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0);if(e.eatSpace())return null;l=null;var r=(t.tokenize||c)(e,t);if(r=="comment"||r=="meta")return r;n.align==null&&(n.align=!0);if(l!=";"&&l!=":"||n.type!="statement")if(l=="{")v(t,e.column(),"}");else if(l=="[")v(t,e.column(),"]");else if(l=="(")v(t,e.column(),")");else if(l=="}"){while(n.type=="statement")n=m(t);n.type=="}"&&(n=m(t));while(n.type=="statement")n=m(t)}else l==n.type?m(t):(n.type=="}"||n.type=="top"||n.type=="statement"&&l=="newstatement")&&v(t,e.column(),"statement");else m(t);return t.startOfLine=!1,r},indent:function(e,t){if(e.tokenize!=c&&e.tokenize!=null)return 0;var r=e.context,i=t&&t.charAt(0);r.type=="statement"&&i=="}"&&(r=r.prev);var s=i==r.type;return r.type=="statement"?r.indented+(i=="{"?0:n):r.align?r.column+(s?0:1):r.indented+(s?0:n)},electricChars:"{}"}}),function(){function e(e){var t={},n=e.split(" ");for(var r=0;r <- <: <% >: # @ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector :: #:: Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),blockKeywords:e("catch class do else finally for forSome if match switch try while"),atoms:e("true false null"),hooks:{"@":function(e,t){return e.eatWhile(/[\w\$_]/),"meta"}}})}(),CodeMirror.defineMode("css",function(e){function a(e){var t={};for(var n=0;n*\/]/.test(r)?f(null,"select-op"):r=="."&&e.match(/^\w+/)?f("qualifier",n):r==":"?f("operator",r):/[;{}\[\]\(\)]/.test(r)?f(null,r):(e.eatWhile(/[\w\\\-]/),f("property","variable"));if(/\d/.test(e.peek()))return e.eatWhile(/[\w.%]/),f("number","unit");if(e.match(/^[^-]+-/))return f("meta",n)}}function c(e,t){var n=!1,r;while((r=e.next())!=null){if(n&&r=="/"){t.tokenize=l;break}n=r=="*"}return f("comment","comment")}function h(e,t){var n=0,r;while((r=e.next())!=null){if(n>=2&&r==">"){t.tokenize=l;break}n=r=="-"?n+1:0}return f("comment","comment")}function p(e){return function(t,n){var r=!1,i;while((i=t.next())!=null){if(i==e&&!r)break;r=!r&&i=="\\"}return r||(n.tokenize=l),f("string","string")}}var t=e.indentUnit,n,r=a(["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"]),i=a(["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid"]),s=a(["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid-cell","grid-column","grid-column-align","grid-column-sizing","grid-column-span","grid-columns","grid-flow","grid-row","grid-row-align","grid-row-sizing","grid-row-span","grid-rows","grid-template","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-shadow","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"]),o=a(["black","silver","gray","white","maroon","red","purple","fuchsia","green","lime","olive","yellow","navy","blue","teal","aqua"]),u=a(["above","absolute","activeborder","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","auto","avoid","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break-all","break-word","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","compact","condensed","contain","content","content-box","context-menu","continuous","copy","cover","crop","cross","crosshair","currentcolor","cursive","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ew-resize","expanded","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-table","inset","inside","intrinsic","invert","italic","justify","kannada","katakana","katakana-iroha","khmer","landscape","lao","large","larger","left","level","lighter","line-through","linear","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","navy","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","overlay","overline","padding","padding-box","painted","paused","persian","plus-darker","plus-lighter","pointer","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radio","read-only","read-write","read-write-plaintext-only","relative","repeat","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scroll","scrollbar","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","single","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","white","wider","window","windowframe","windowtext","x-large","x-small","xor","xx-large","xx-small","yellow"]);return{startState:function(e){return{tokenize:l,baseIndent:e||0,stack:[]}},token:function(e,t){if(e.eatSpace())return null;var a=t.tokenize(e,t),f=t.stack[t.stack.length-1];return a=="property"?f=="propertyValue"?u[e.current()]?a="string-2":o[e.current()]?a="keyword":a="variable-2":f=="rule"?s[e.current()]||(a+=" error"):!f||f=="@media{"?a="tag":f=="@media"?r[e.current()]?a="attribute":/^(only|not)$/i.test(e.current())?a="keyword":e.current().toLowerCase()=="and"?a="error":i[e.current()]?a="error":a="attribute error":f=="@mediaType"?r[e.current()]?a="attribute":e.current().toLowerCase()=="and"?a="operator":/^(only|not)$/i.test(e.current())?a="error":i[e.current()]?a="error":a="error":f=="@mediaType("?s[e.current()]||(r[e.current()]?a="error":e.current().toLowerCase()=="and"?a="operator":/^(only|not)$/i.test(e.current())?a="error":a+=" error"):a="error":a=="atom"?!f||f=="@media{"?a="builtin":f=="propertyValue"?/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(e.current())||(a+=" error"):a="error":f=="@media"&&n=="{"&&(a="error"),n=="{"?f=="@media"||f=="@mediaType"?(t.stack.pop(),t.stack[t.stack.length-1]="@media{"):t.stack.push("rule"):n=="}"?(t.stack.pop(),f=="propertyValue"&&t.stack.pop()):n=="@media"?t.stack.push("@media"):f=="@media"&&/\b(keyword|attribute)\b/.test(a)?t.stack.push("@mediaType"):f=="@mediaType"&&e.current()==","?t.stack.pop():f=="@mediaType"&&n=="("?t.stack.push("@mediaType("):f=="@mediaType("&&n==")"?t.stack.pop():f=="rule"&&n==":"?t.stack.push("propertyValue"):f=="propertyValue"&&n==";"&&t.stack.pop(),a},indent:function(e,n){var r=e.stack.length;return/^\}/.test(n)&&(r-=e.stack[e.stack.length-1]=="propertyValue"?2:1),e.baseIndent+r*t},electricChars:"}"}}),CodeMirror.defineMIME("text/css","css"),CodeMirror.defineMode("htmlmixed",function(e,t){function s(e,t){var s=n.token(e,t.htmlState);return s=="tag"&&e.current()==">"&&t.htmlState.context&&(/^script$/i.test(t.htmlState.context.tagName)?(t.token=u,t.localState=r.startState(n.indent(t.htmlState,"")),t.mode="javascript"):/^style$/i.test(t.htmlState.context.tagName)&&(t.token=a,t.localState=i.startState(n.indent(t.htmlState,"")),t.mode="css")),s}function o(e,t,n){var r=e.current(),i=r.search(t),s;if(i>-1)e.backUp(r.length-i);else if(s=r.match(/<\/?$/))e.backUp(r[0].length),e.match(t,!1)||e.match(r[0]);return n}function u(e,t){return e.match(/^<\/\s*script\s*>/i,!1)?(t.token=s,t.localState=null,t.mode="html",s(e,t)):o(e,/<\/\s*script\s*>/,r.token(e,t.localState))}function a(e,t){return e.match(/^<\/\s*style\s*>/i,!1)?(t.token=s,t.localState=null,t.mode="html",s(e,t)):o(e,/<\/\s*style\s*>/,i.token(e,t.localState))}var n=CodeMirror.getMode(e,{name:"xml",htmlMode:!0}),r=CodeMirror.getMode(e,"javascript"),i=CodeMirror.getMode(e,"css");return{startState:function(){var e=n.startState();return{token:s,localState:null,mode:"html",htmlState:e}},copyState:function(e){if(e.localState)var t=CodeMirror.copyState(e.token==a?i:r,e.localState);return{token:e.token,localState:t,mode:e.mode,htmlState:CodeMirror.copyState(n,e.htmlState)}},token:function(e,t){return t.token(e,t)},indent:function(e,t){return e.token==s||/^\s*<\//.test(t)?n.indent(e.htmlState,t):e.token==u?r.indent(e.localState,t):i.indent(e.localState,t)},electricChars:"/{}:"}},"xml","javascript","css"),CodeMirror.defineMIME("text/html","htmlmixed"),CodeMirror.defineMode("javascript",function(e,t){function o(e,t,n){return t.tokenize=n,n(e,t)}function u(e,t){var n=!1,r;while((r=e.next())!=null){if(r==t&&!n)return!1;n=!n&&r=="\\"}return n}function l(e,t,n){return a=e,f=n,t}function c(e,t){var n=e.next();if(n=='"'||n=="'")return o(e,t,h(n));if(/[\[\]{}\(\),;\:\.]/.test(n))return l(n);if(n=="0"&&e.eat(/x/i))return e.eatWhile(/[\da-f]/i),l("number","number");if(/\d/.test(n)||n=="-"&&e.eat(/\d/))return e.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),l("number","number");if(n=="/")return e.eat("*")?o(e,t,p):e.eat("/")?(e.skipToEnd(),l("comment","comment")):t.reAllowed?(u(e,"/"),e.eatWhile(/[gimy]/),l("regexp","string-2")):(e.eatWhile(s),l("operator",null,e.current()));if(n=="#")return e.skipToEnd(),l("error","error");if(s.test(n))return e.eatWhile(s),l("operator",null,e.current());e.eatWhile(/[\w\$_]/);var r=e.current(),a=i.propertyIsEnumerable(r)&&i[r];return a&&t.kwAllowed?l(a.type,a.style,r):l("variable","variable",r)}function h(e){return function(t,n){return u(t,e)||(n.tokenize=c),l("string","string")}}function p(e,t){var n=!1,r;while(r=e.next()){if(r=="/"&&n){t.tokenize=c;break}n=r=="*"}return l("comment","comment")}function v(e,t,n,r,i,s){this.indented=e,this.column=t,this.type=n,this.prev=i,this.info=s,r!=null&&(this.align=r)}function m(e,t){for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0}function g(e,t,n,i,s){var o=e.cc;y.state=e,y.stream=s,y.marked=null,y.cc=o,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);for(;;){var u=o.length?o.pop():r?A:L;if(u(n,i)){while(o.length&&o[o.length-1].lex)o.pop()();return y.marked?y.marked:n=="variable"&&m(e,i)?"variable-2":t}}}function b(){for(var e=arguments.length-1;e>=0;e--)y.cc.push(arguments[e])}function w(){return b.apply(null,arguments),!0}function E(e){var t=y.state;if(t.context){y.marked="def";for(var n=t.localVars;n;n=n.next)if(n.name==e)return;t.localVars={name:e,next:t.localVars}}}function x(){y.state.context||(y.state.localVars=S),y.state.context={prev:y.state.context,vars:y.state.localVars}}function T(){y.state.localVars=y.state.context.vars,y.state.context=y.state.context.prev}function N(e,t){var n=function(){var n=y.state;n.lexical=new v(n.indented,y.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function C(){var e=y.state;e.lexical.prev&&(e.lexical.type==")"&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function k(e){return function(n){return n==e?w():e==";"?b():w(arguments.callee)}}function L(e){return e=="var"?w(N("vardef"),j,k(";"),C):e=="keyword a"?w(N("form"),A,L,C):e=="keyword b"?w(N("form"),L,C):e=="{"?w(N("}"),B,C):e==";"?w():e=="function"?w(z):e=="for"?w(N("form"),k("("),N(")"),I,k(")"),C,L,C):e=="variable"?w(N("stat"),_):e=="switch"?w(N("form"),A,N("}","switch"),k("{"),B,C,C):e=="case"?w(A,k(":")):e=="default"?w(k(":")):e=="catch"?w(N("form"),x,k("("),W,k(")"),L,C,T):b(N("stat"),A,k(";"),C)}function A(e){return d.hasOwnProperty(e)?w(M):e=="function"?w(z):e=="keyword c"?w(O):e=="("?w(N(")"),O,k(")"),C,M):e=="operator"?w(A):e=="["?w(N("]"),H(A,"]"),C,M):e=="{"?w(N("}"),H(P,"}"),C,M):w()}function O(e){return e.match(/[;\}\)\],]/)?b():b(A)}function M(e,t){if(e=="operator"&&/\+\+|--/.test(t))return w(M);if(e=="operator"&&t=="?")return w(A,k(":"),A);if(e==";")return;if(e=="(")return w(N(")"),H(A,")"),C,M);if(e==".")return w(D,M);if(e=="[")return w(N("]"),A,k("]"),C,M)}function _(e){return e==":"?w(C,L):b(M,k(";"),C)}function D(e){if(e=="variable")return y.marked="property",w()}function P(e){e=="variable"&&(y.marked="property");if(d.hasOwnProperty(e))return w(k(":"),A)}function H(e,t){function n(r){return r==","?w(e,n):r==t?w():w(k(t))}return function(i){return i==t?w():b(e,n)}}function B(e){return e=="}"?w():b(L,B)}function j(e,t){return e=="variable"?(E(t),w(F)):w()}function F(e,t){if(t=="=")return w(A,F);if(e==",")return w(j)}function I(e){return e=="var"?w(j,R):e==";"?b(R):e=="variable"?w(q):b(R)}function q(e,t){return t=="in"?w(A):w(M,R)}function R(e,t){return e==";"?w(U):t=="in"?w(A):w(A,k(";"),U)}function U(e){e!=")"&&w(A)}function z(e,t){if(e=="variable")return E(t),w(z);if(e=="(")return w(N(")"),x,H(W,")"),C,L,T)}function W(e,t){if(e=="variable")return E(t),w()}var n=e.indentUnit,r=t.json,i=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),n=e("keyword b"),r=e("keyword c"),i=e("operator"),s={type:"atom",style:"atom"};return{"if":t,"while":t,"with":t,"else":n,"do":n,"try":n,"finally":n,"return":r,"break":r,"continue":r,"new":r,"delete":r,"throw":r,"var":e("var"),"const":e("var"),let:e("var"),"function":e("function"),"catch":e("catch"),"for":e("for"),"switch":e("switch"),"case":e("case"),"default":e("default"),"in":i,"typeof":i,"instanceof":i,"true":s,"false":s,"null":s,"undefined":s,NaN:s,Infinity:s}}(),s=/[+\-*&%=<>!?|]/,a,f,d={atom:!0,number:!0,variable:!0,string:!0,regexp:!0},y={state:null,column:null,marked:null,cc:null},S={name:"this",next:{name:"arguments"}};return C.lex=!0,{startState:function(e){return{tokenize:c,reAllowed:!0,kwAllowed:!0,cc:[],lexical:new v((e||0)-n,0,"block",!1),localVars:t.localVars,context:t.localVars&&{vars:t.localVars},indented:0}},token:function(e,t){e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation());if(e.eatSpace())return null;var n=t.tokenize(e,t);return a=="comment"?n:(t.reAllowed=a=="operator"||a=="keyword c"||!!a.match(/^[\[{}\(,;:]$/),t.kwAllowed=a!=".",g(t,n,a,f,e))},indent:function(e,t){if(e.tokenize!=c)return 0;var r=t&&t.charAt(0),i=e.lexical;i.type=="stat"&&r=="}"&&(i=i.prev);var s=i.type,o=r==s;return s=="vardef"?i.indented+4:s=="form"&&r=="{"?i.indented:s=="stat"||s=="form"?i.indented+n:i.info=="switch"&&!o?i.indented+(/^(?:case|default)\b/.test(t)?n:2*n):i.align?i.column+(o?0:1):i.indented+(o?0:n)},electricChars:":{}"}}),CodeMirror.defineMIME("text/javascript","javascript"),CodeMirror.defineMIME("application/json",{name:"javascript",json:!0}),CodeMirror.defineMode("markdown",function(e,t){function T(e,t,n){return t.f=t.inline=n,n(e,t)}function N(e,t,n){return t.f=t.block=n,n(e,t)}function C(e){return e.linkTitle=!1,e.code=!1,e.em=!1,e.strong=!1,e.quote=!1,!n&&e.f==L&&(e.f=M,e.block=k),null}function k(e,t){var n;t.list!==!1&&t.indentationDiff>=0?(t.indentationDiff<4&&(t.indentation-=t.indentationDiff),t.list=null):t.list=!1;if(t.indentationDiff>=4)return t.indentation-=4,e.skipToEnd(),a;if(e.eatSpace())return null;if(e.peek()==="#"||s&&e.match(S))t.header=!0;else if(e.eat(">"))t.indentation++,t.quote=!0;else{if(e.peek()==="[")return T(e,t,P);if(e.match(b,!0))return c;if(n=e.match(w,!0)||e.match(E,!0))t.indentation+=4,t.list=!0}return T(e,t,t.inline)}function L(e,t){var i=r.token(e,t.htmlState);return n&&i==="tag"&&t.htmlState.type!=="openTag"&&!t.htmlState.context&&(t.f=M,t.block=k),t.md_inside&&e.current().indexOf(">")!=-1&&(t.f=M,t.block=k,t.htmlState.context=undefined),i}function A(e){var t=[];return e.strong?t.push(e.em?y:g):e.em&&t.push(m),e.code&&t.push(a),e.header&&t.push(u),e.quote&&t.push(f),e.list!==!1&&t.push(l),t.length?t.join(" "):null}function O(e,t){return e.match(x,!0)?A(t):undefined}function M(e,t){var n=t.text(e,t);if(typeof n!="undefined")return n;if(t.list)return t.list=null,l;var r=e.next();if(r==="\\")return e.next(),A(t);if(t.linkTitle){t.linkTitle=!1;var s=r;r==="("&&(s=")"),s=(s+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");var o="^\\s*(?:[^"+s+"\\\\]+|\\\\\\\\|\\\\.)"+s;if(e.match(new RegExp(o),!0))return v}if(r==="`"){var u=A(t),a=e.pos;e.eatWhile("`");var f=1+e.pos-a;return t.code?f===i?(t.code=!1,u):A(t):(i=f,t.code=!0,A(t))}if(t.code)return A(t);if(r==="["&&e.match(/.*\] ?(?:\(|\[)/,!1))return T(e,t,_);if(r==="<"&&e.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!0))return T(e,t,j(h,">"));if(r==="<"&&e.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!0))return T(e,t,j(p,">"));if(r==="<"&&e.match(/^\w/,!1)){var c=!1;if(e.string.indexOf(">")!=-1){var d=e.string.substring(1,e.string.indexOf(">"));/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(d)&&(t.md_inside=!0)}return e.backUp(1),N(e,t,L)}if(r==="<"&&e.match(/^\/\w*?>/))return t.md_inside=!1,"tag";var u=A(t);if(r==="*"||r==="_"){if(t.strong===r&&e.eat(r))return t.strong=!1,u;if(!t.strong&&e.eat(r))return t.strong=r,A(t);if(t.em===r)return t.em=!1,u;if(!t.em)return t.em=r,A(t)}else if(r===" ")if(e.eat("*")||e.eat("_")){if(e.peek()===" ")return A(t);e.backUp(1)}return A(t)}function _(e,t){while(!e.eol()){var n=e.next();n==="\\"&&e.next();if(n==="]")return t.inline=t.f=D,d}return d}function D(e,t){if(e.eatSpace())return null;var n=e.next();return n==="("||n==="["?T(e,t,j(v,n==="("?")":"]")):"error"}function P(e,t){return e.match(/^[^\]]*\]:/,!0)?(t.f=H,d):T(e,t,M)}function H(e,t){return e.eatSpace()?null:(e.match(/^[^\s]+/,!0),e.peek()===undefined?t.linkTitle=!0:e.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,!0),t.f=t.inline=M,v)}function B(e){return B[e]||(e=(e+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1"),B[e]=new RegExp("^(?:[^\\\\]+?|\\\\.)*?("+e+")")),B[e]}function j(e,t,n){return n=n||M,function(r,i){return r.match(B(t)),i.inline=i.f=n,e}}var n=CodeMirror.mimeModes.hasOwnProperty("text/html"),r=CodeMirror.getMode(e,n?"text/html":"text/plain"),i=0,s=!1,o=!1,u="header",a="comment",f="quote",l="string",c="hr",h="link",p="link",d="link",v="string",m="em",g="strong",y="emstrong",b=/^([*\-=_])(?:\s*\1){2,}\s*$/,w=/^[*\-+]\s+/,E=/^[0-9]+\.\s+/,S=/^(?:\={1,}|-{1,})$/,x=/^[^\[*_\\<>` "'(]+/;return{startState:function(){return{f:k,block:k,htmlState:CodeMirror.startState(r),indentation:0,inline:M,text:O,linkTitle:!1,em:!1,strong:!1,header:!1,list:!1,quote:!1}},copyState:function(e){return{f:e.f,block:e.block,htmlState:CodeMirror.copyState(r,e.htmlState),indentation:e.indentation,inline:e.inline,text:e.text,linkTitle:e.linkTitle,em:e.em,strong:e.strong,header:e.header,list:e.list,quote:e.quote,md_inside:e.md_inside}},token:function(e,t){if(e.sol()){if(e.match(/^\s*$/,!0))return s=!1,C(t);o&&(s=!0,o=!1),o=!0,t.header=!1,t.f=t.block;var n=e.match(/^\s*/,!0)[0].replace(/\t/g," ").length;t.indentationDiff=n-t.indentation,t.indentation=n;if(n>0)return null}return t.f(e,t)},blankLine:C,getType:A}},"xml"),CodeMirror.defineMIME("text/x-markdown","markdown"),CodeMirror.defineMode("perl",function(e,t){function s(e,t,n,r,i){return t.chain=null,t.style=null,t.tail=null,t.tokenize=function(e,t){var s=!1,o,a=0;while(o=e.next()){if(o===n[a]&&!s)return n[++a]!==undefined?(t.chain=n[a],t.style=r,t.tail=i):i&&e.eatWhile(i),t.tokenize=u,r;s=!s&&o=="\\"}return r},t.tokenize(e,t)}function o(e,t,n){return t.tokenize=function(e,t){return e.string==n&&(t.tokenize=u),e.skipToEnd(),"string"},t.tokenize(e,t)}function u(e,t){if(e.eatSpace())return null;if(t.chain)return s(e,t,t.chain,t.style,t.tail);if(e.match(/^\-?[\d\.]/,!1)&&e.match(/^(\-?(\d*\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F]+|0b[01]+|\d+(e[+-]?\d+)?)/))return"number";if(e.match(/^<<(?=\w)/))return e.eatWhile(/\w/),o(e,t,e.current().substr(2));if(e.sol()&&e.match(/^\=item(?!\w)/))return o(e,t,"=cut");var u=e.next();if(u=='"'||u=="'"){if(e.prefix(3)=="<<"+u){var a=e.pos;e.eatWhile(/\w/);var f=e.current().substr(1);if(f&&e.eat(u))return o(e,t,f);e.pos=a}return s(e,t,[u],"string")}if(u=="q"){var l=e.look(-2);if(!l||!/\w/.test(l)){l=e.look(0);if(l=="x"){l=e.look(1);if(l=="(")return e.eatSuffix(2),s(e,t,[")"],r,i);if(l=="[")return e.eatSuffix(2),s(e,t,["]"],r,i);if(l=="{")return e.eatSuffix(2),s(e,t,["}"],r,i);if(l=="<")return e.eatSuffix(2),s(e,t,[">"],r,i);if(/[\^'"!~\/]/.test(l))return e.eatSuffix(1),s(e,t,[e.eat(l)],r,i)}else if(l=="q"){l=e.look(1);if(l=="(")return e.eatSuffix(2),s(e,t,[")"],"string");if(l=="[")return e.eatSuffix(2),s(e,t,["]"],"string");if(l=="{")return e.eatSuffix(2),s(e,t,["}"],"string");if(l=="<")return e.eatSuffix(2),s(e,t,[">"],"string");if(/[\^'"!~\/]/.test(l))return e.eatSuffix(1),s(e,t,[e.eat(l)],"string")}else if(l=="w"){l=e.look(1);if(l=="(")return e.eatSuffix(2),s(e,t,[")"],"bracket");if(l=="[")return e.eatSuffix(2),s(e,t,["]"],"bracket");if(l=="{")return e.eatSuffix(2),s(e,t,["}"],"bracket");if(l=="<")return e.eatSuffix(2),s(e,t,[">"],"bracket");if(/[\^'"!~\/]/.test(l))return e.eatSuffix(1),s(e,t,[e.eat(l)],"bracket")}else if(l=="r"){l=e.look(1);if(l=="(")return e.eatSuffix(2),s(e,t,[")"],r,i);if(l=="[")return e.eatSuffix(2),s(e,t,["]"],r,i);if(l=="{")return e.eatSuffix(2),s(e,t,["}"],r,i);if(l=="<")return e.eatSuffix(2),s(e,t,[">"],r,i);if(/[\^'"!~\/]/.test(l))return e.eatSuffix(1),s(e,t,[e.eat(l)],r,i)}else if(/[\^'"!~\/(\[{<]/.test(l)){if(l=="(")return e.eatSuffix(1),s(e,t,[")"],"string");if(l=="[")return e.eatSuffix(1),s(e,t,["]"],"string");if(l=="{")return e.eatSuffix(1),s(e,t,["}"],"string");if(l=="<")return e.eatSuffix(1),s(e,t,[">"],"string");if(/[\^'"!~\/]/.test(l))return s(e,t,[e.eat(l)],"string")}}}if(u=="m"){var l=e.look(-2);if(!l||!/\w/.test(l)){l=e.eat(/[(\[{<\^'"!~\/]/);if(l){if(/[\^'"!~\/]/.test(l))return s(e,t,[l],r,i);if(l=="(")return s(e,t,[")"],r,i);if(l=="[")return s(e,t,["]"],r,i);if(l=="{")return s(e,t,["}"],r,i);if(l=="<")return s(e,t,[">"],r,i)}}}if(u=="s"){var l=/[\/>\]})\w]/.test(e.look(-2));if(!l){l=e.eat(/[(\[{<\^'"!~\/]/);if(l)return l=="["?s(e,t,["]","]"],r,i):l=="{"?s(e,t,["}","}"],r,i):l=="<"?s(e,t,[">",">"],r,i):l=="("?s(e,t,[")",")"],r,i):s(e,t,[l,l],r,i)}}if(u=="y"){var l=/[\/>\]})\w]/.test(e.look(-2));if(!l){l=e.eat(/[(\[{<\^'"!~\/]/);if(l)return l=="["?s(e,t,["]","]"],r,i):l=="{"?s(e,t,["}","}"],r,i):l=="<"?s(e,t,[">",">"],r,i):l=="("?s(e,t,[")",")"],r,i):s(e,t,[l,l],r,i)}}if(u=="t"){var l=/[\/>\]})\w]/.test(e.look(-2));if(!l){l=e.eat("r");if(l){l=e.eat(/[(\[{<\^'"!~\/]/);if(l)return l=="["?s(e,t,["]","]"],r,i):l=="{"?s(e,t,["}","}"],r,i):l=="<"?s(e,t,[">",">"],r,i):l=="("?s(e,t,[")",")"],r,i):s(e,t,[l,l],r,i)}}}if(u=="`")return s(e,t,[u],"variable-2");if(u=="/")return/~\s*$/.test(e.prefix())?s(e,t,[u],r,i):"operator";if(u=="$"){var a=e.pos;if(e.eatWhile(/\d/)||e.eat("{")&&e.eatWhile(/\d/)&&e.eat("}"))return"variable-2";e.pos=a}if(/[$@%]/.test(u)){var a=e.pos;if(e.eat("^")&&e.eat(/[A-Z]/)||!/[@$%&]/.test(e.look(-2))&&e.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){var l=e.current();if(n[l])return"variable-2"}e.pos=a}if(/[$@%&]/.test(u))if(e.eatWhile(/[\w$\[\]]/)||e.eat("{")&&e.eatWhile(/[\w$\[\]]/)&&e.eat("}")){var l=e.current();return n[l]?"variable-2":"variable"}if(u=="#"&&e.look(-2)!="$")return e.skipToEnd(),"comment";if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(u)){var a=e.pos;e.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/);if(n[e.current()])return"operator";e.pos=a}if(u=="_"&&e.pos==1){if(e.suffix(6)=="_END__")return s(e,t,["\0"],"comment");if(e.suffix(7)=="_DATA__")return s(e,t,["\0"],"variable-2");if(e.suffix(7)=="_C__")return s(e,t,["\0"],"string")}if(/\w/.test(u)){var a=e.pos;if(e.look(-2)=="{"&&(e.look(0)=="}"||e.eatWhile(/\w/)&&e.look(0)=="}"))return"string";e.pos=a}if(/[A-Z]/.test(u)){var c=e.look(-2),a=e.pos;e.eatWhile(/[A-Z_]/);if(!/[\da-z]/.test(e.look(0))){var l=n[e.current()];return l?(l[1]&&(l=l[0]),c!=":"?l==1?"keyword":l==2?"def":l==3?"atom":l==4?"operator":l==5?"variable-2":"meta":"meta"):"meta"}e.pos=a}if(/[a-zA-Z_]/.test(u)){var c=e.look(-2);e.eatWhile(/\w/);var l=n[e.current()];return l?(l[1]&&(l=l[0]),c!=":"?l==1?"keyword":l==2?"def":l==3?"atom":l==4?"operator":l==5?"variable-2":"meta":"meta"):"meta"}return null}var n={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,"if":[1,1],elsif:[1,1],"else":[1,1],"while":[1,1],unless:[1,1],"for":[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,"break":1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,"continue":[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,"default":1,defined:1,"delete":1,die:1,"do":1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,"goto":1,grep:1,hex:1,"import":1,index:1,"int":1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,"new":1,next:1,no:1,oct:1,open:1,opendir:1,ord:1,our:2,pack:1,"package":1,pipe:1,pop:1,pos:1,print:1,printf:1,prototype:1,push:1,q:null,qq:null,qr:null,quotemeta:null,qw:null,qx:null,rand:1,read:1,readdir:1,readline:1,readlink:1,readpipe:1,recv:1,redo:1,ref:1,rename:1,require:1,reset:1,"return":1,reverse:1,rewinddir:1,rindex:1,rmdir:1,s:null,say:1,scalar:1,seek:1,seekdir:1,select:1,semctl:1,semget:1,semop:1,send:1,setgrent:1,sethostent:1,setnetent:1,setpgrp:1,setpriority:1,setprotoent:1,setpwent:1,setservent:1,setsockopt:1,shift:1,shmctl:1,shmget:1,shmread:1,shmwrite:1,shutdown:1,sin:1,sleep:1,socket:1,socketpair:1,sort:1,splice:1,split:1,sprintf:1,sqrt:1,srand:1,stat:1,state:1,study:1,sub:1,substr:1,symlink:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,tell:1,telldir:1,tie:1,tied:1,time:1,times:1,tr:null,truncate:1,uc:1,ucfirst:1,umask:1,undef:1,unlink:1,unpack:1,unshift:1,untie:1,use:1,utime:1,values:1,vec:1,wait:1,waitpid:1,wantarray:1,warn:1,when:1,write:1,y:null},r="string-2",i=/[goseximacplud]/;return{startState:function(){return{tokenize:u,chain:null,style:null,tail:null}},token:function(e,t){return(t.tokenize||u)(e,t)},electricChars:"{}"}}),CodeMirror.defineMIME("text/x-perl","perl"),CodeMirror.StringStream.prototype.look=function(e){return this.string.charAt(this.pos+(e||0))},CodeMirror.StringStream.prototype.prefix=function(e){if(e){var t=this.pos-e;return this.string.substr(t>=0?t:0,e)}return this.string.substr(0,this.pos-1)},CodeMirror.StringStream.prototype.suffix=function(e){var t=this.string.length,n=t-this.pos+1;return this.string.substr(this.pos,e&&e=(n=this.string.length-1)?this.pos=n:this.pos=t},function(){function e(e){var t={},n=e.split(" ");for(var r=0;r",!1))e.next();return"comment"},"/":function(e,t){if(e.eat("/")){while(!e.eol()&&!e.match("?>",!1))e.next();return"comment"}return!1}}};CodeMirror.defineMode("php",function(e,t){function u(e,t){var n=t.mode=="php";e.sol()&&t.pending!='"'&&(t.pending=null);if(t.curMode==r){if(e.match(/^<\?\w*/))return t.curMode=o,t.curState=t.php,t.curClose="?>",t.mode="php","meta";if(t.pending=='"'){while(!e.eol()&&e.next()!='"');var a="string"}else if(t.pending&&e.pos/.test(f)?t.pending='"':t.pending={end:e.pos,style:a},e.backUp(f.length-l)):a=="tag"&&e.current()==">"&&t.curState.context&&(/^script$/i.test(t.curState.context.tagName)?(t.curMode=i,t.curState=i.startState(r.indent(t.curState,"")),t.curClose=/^<\/\s*script\s*>/i,t.mode="javascript"):/^style$/i.test(t.curState.context.tagName)&&(t.curMode=s,t.curState=s.startState(r.indent(t.curState,"")),t.curClose=/^<\/\s*style\s*>/i,t.mode="css")),a}return(!n||t.php.tokenize==null)&&e.match(t.curClose,n)?(t.curMode=r,t.curState=t.html,t.curClose=null,t.mode="html",n?"meta":u(e,t)):t.curMode.token(e,t.curState)}var r=CodeMirror.getMode(e,{name:"xml",htmlMode:!0}),i=CodeMirror.getMode(e,"javascript"),s=CodeMirror.getMode(e,"css"),o=CodeMirror.getMode(e,n);return{startState:function(){var e=r.startState();return{html:e,php:o.startState(),curMode:t.startOpen?o:r,curState:t.startOpen?o.startState():e,curClose:t.startOpen?/^\?>/:null,mode:t.startOpen?"php":"html",pending:null}},copyState:function(e){var t=e.html,n=CodeMirror.copyState(r,t),i=e.php,s=CodeMirror.copyState(o,i),u;return e.curState==t?u=n:e.curState==i?u=s:u=CodeMirror.copyState(e.curMode,e.curState),{html:n,php:s,curMode:e.curMode,curState:u,curClose:e.curClose,mode:e.mode,pending:e.pending}},token:u,indent:function(e,t){return e.curMode!=o&&/^\s*<\//.test(t)||e.curMode==o&&/^\?>/.test(t)?r.indent(e.html,t):e.curMode.indent(e.curState,t)},electricChars:"/{}:"}},"xml","clike","javascript","css"),CodeMirror.defineMIME("application/x-httpd-php","php"),CodeMirror.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:!0}),CodeMirror.defineMIME("text/x-php",n)}(),CodeMirror.defineMode("python",function(e,t){function r(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}function b(e,t){if(e.sol()){var r=t.scopes[0].offset;if(e.eatSpace()){var c=e.indentation();return c>r?y="indent":c0&&S(e,t)}if(e.eatSpace())return null;var h=e.peek();if(h==="#")return e.skipToEnd(),"comment";if(e.match(/^[0-9\.]/,!1)){var p=!1;e.match(/^\d*\.\d+(e[\+\-]?\d+)?/i)&&(p=!0),e.match(/^\d+\.\d*/)&&(p=!0),e.match(/^\.\d+/)&&(p=!0);if(p)return e.eat(/J/i),"number";var d=!1;e.match(/^0x[0-9a-f]+/i)&&(d=!0),e.match(/^0b[01]+/i)&&(d=!0),e.match(/^0o[0-7]+/i)&&(d=!0),e.match(/^[1-9]\d*(e[\+\-]?\d+)?/)&&(e.eat(/J/i),d=!0),e.match(/^0(?![\dx])/i)&&(d=!0);if(d)return e.eat(/L/i),"number"}return e.match(v)?(t.tokenize=w(e.current()),t.tokenize(e,t)):e.match(a)||e.match(u)?null:e.match(o)||e.match(i)||e.match(l)?"operator":e.match(s)?null:e.match(m)?"keyword":e.match(g)?"builtin":e.match(f)?"variable":(e.next(),n)}function w(e){while("rub".indexOf(e.charAt(0).toLowerCase())>=0)e=e.substr(1);var r=e.length==1,i="string";return function(o,u){while(!o.eol()){o.eatWhile(/[^'"\\]/);if(o.eat("\\")){o.next();if(r&&o.eol())return i}else{if(o.match(e))return u.tokenize=b,i;o.eat(/['"]/)}}if(r){if(t.singleLineStringErrors)return n;u.tokenize=b}return i}}function E(t,n,r){r=r||"py";var i=0;if(r==="py"){if(n.scopes[0].type!=="py"){n.scopes[0].offset=t.indentation();return}for(var s=0;s0&&e.eol()&&t.scopes[0].type=="py"&&(t.scopes.length>1&&t.scopes.shift(),t.dedent-=1),r))}var n="error",i=new RegExp("^[\\+\\-\\*/%&|\\^~<>!]"),s=new RegExp("^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]"),o=new RegExp("^((==)|(!=)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))"),u=new RegExp("^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))"),a=new RegExp("^((//=)|(>>=)|(<<=)|(\\*\\*=))"),f=new RegExp("^[_A-Za-z][_A-Za-z0-9]*"),l=r(["and","or","not","is","in"]),c=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield"],h=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"],p={builtins:["apply","basestring","buffer","cmp","coerce","execfile","file","intern","long","raw_input","reduce","reload","unichr","unicode","xrange","False","True","None"],keywords:["exec","print"]},d={builtins:["ascii","bytes","exec","print"],keywords:["nonlocal","False","True","None"]};if(!t.version||parseInt(t.version,10)!==3){c=c.concat(p.keywords),h=h.concat(p.builtins);var v=new RegExp("^(([rub]|(ur)|(br))?('{3}|\"{3}|['\"]))","i")}else{c=c.concat(d.keywords),h=h.concat(d.builtins);var v=new RegExp("^(([rb]|(br))?('{3}|\"{3}|['\"]))","i")}var m=r(c),g=r(h),y=null,T={startState:function(e){return{tokenize:b,scopes:[{offset:e||0,type:"py"}],lastToken:null,lambda:!1,dedent:0}},token:function(e,t){var n=x(e,t);return t.lastToken=n,e.eol()&&e.lambda&&(t.lambda=!1),n},indent:function(e,t){return e.tokenize!=b?0:e.scopes[0].offset}};return T}),CodeMirror.defineMIME("text/x-python","python"),CodeMirror.defineMode("ruby",function(e,t){function n(e){var t={};for(var n=0,r=e.length;n")?"arrow":/[=+\-\/*:\.^%<>~|]/.test(n)?(e.eatWhile(/[=+\-\/*:\.^%<>~|]/),"operator"):null:(u="|",null)}function l(){var e=1;return function(t,n){if(t.peek()=="}"){e--;if(e==0)return n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n)}else t.peek()=="{"&&e++;return f(t,n)}}function c(e,t,n,r){return function(i,s){var o=!1,u;while((u=i.next())!=null){if(u==e&&(r||!o)){s.tokenize.pop();break}if(n&&u=="#"&&!o&&i.eat("{")){s.tokenize.push(l(arguments.callee));break}o=!o&&u=="\\"}return t}}function h(e){return function(t,n){return t.match(e)?n.tokenize.pop():t.skipToEnd(),"string"}}function p(e,t){return e.sol()&&e.match("=end")&&e.eol()&&t.tokenize.pop(),e.skipToEnd(),"comment"}var r=n(["alias","and","BEGIN","begin","break","case","class","def","defined?","do","else","elsif","END","end","ensure","false","for","if","in","module","next","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield","nil","raise","throw","catch","fail","loop","callcc","caller","lambda","proc","public","protected","private","require","load","require_relative","extend","autoload"]),i=n(["def","class","case","for","while","do","module","then","catch","loop","proc","begin"]),s=n(["end","until"]),o={"[":"]","{":"}","(":")"},u;return{startState:function(){return{tokenize:[f],indented:0,context:{type:"top",indented:-e.indentUnit},continuedLine:!1,lastTok:null,varList:!1}},token:function(e,t){e.sol()&&(t.indented=e.indentation());var n=t.tokenize[t.tokenize.length-1](e,t),o;if(n=="ident"){var a=e.current();n=r.propertyIsEnumerable(e.current())?"keyword":/^[A-Z]/.test(a)?"tag":t.lastTok=="def"||t.lastTok=="class"||t.varList?"def":"variable",i.propertyIsEnumerable(a)?o="indent":s.propertyIsEnumerable(a)?o="dedent":(a=="if"||a=="unless")&&e.column()==e.indentation()&&(o="indent")}if(u||n&&n!="comment")t.lastTok=a||u||n;return u=="|"&&(t.varList=!t.varList),o=="indent"||/[\(\[\{]/.test(u)?t.context={prev:t.context,type:u||n,indented:t.indented}:(o=="dedent"||/[\)\]\}]/.test(u))&&t.context.prev&&(t.context=t.context.prev),e.eol()&&(t.continuedLine=u=="\\"||n=="operator"),n},indent:function(t,n){if(t.tokenize[t.tokenize.length-1]!=f)return 0;var r=n&&n.charAt(0),i=t.context,s=i.type==o[r]||i.type=="keyword"&&/^(?:end|until|else|elsif|when|rescue)\b/.test(n);return i.indented+(s?0:e.indentUnit)+(t.continuedLine?e.indentUnit:0)},electricChars:"}de"}}),CodeMirror.defineMIME("text/x-ruby","ruby"),CodeMirror.defineMode("shell",function(e){function n(e,n){var r=n.split(" ");for(var i=0;i1&&e.eat("$");var n=e.next(),r=/\w/;return n==="{"&&(r=/[^}]/),n==="("?(t.tokens[0]=i(")"),o(e,t)):(/\d/.test(n)||(e.eatWhile(r),e.eat("}")),t.tokens.shift(),"def")};return{startState:function(){return{tokens:[]}},token:function(e,t){return e.eatSpace()?null:o(e,t)}}}),CodeMirror.defineMIME("text/x-sh","shell"),CodeMirror.defineMode("xml",function(e,t){function u(e,t){function n(n){return t.tokenize=n,n(e,t)}var r=e.next();if(r=="<"){if(e.eat("!"))return e.eat("[")?e.match("CDATA[")?n(l("atom","]]>")):null:e.match("--")?n(l("comment","-->")):e.match("DOCTYPE",!0,!0)?(e.eatWhile(/[\w\._\-]/),n(c(1))):null;if(e.eat("?"))return e.eatWhile(/[\w\._\-]/),t.tokenize=l("meta","?>"),"meta";o=e.eat("/")?"closeTag":"openTag",e.eatSpace(),s="";var i;while(i=e.eat(/[^\s\u00a0=<>\"\'\/?]/))s+=i;return t.tokenize=a,"tag"}if(r=="&"){var u;return e.eat("#")?e.eat("x")?u=e.eatWhile(/[a-fA-F\d]/)&&e.eat(";"):u=e.eatWhile(/[\d]/)&&e.eat(";"):u=e.eatWhile(/[\w\.\-:]/)&&e.eat(";"),u?"atom":"error"}return e.eatWhile(/[^&<]/),null}function a(e,t){var n=e.next();return n==">"||n=="/"&&e.eat(">")?(t.tokenize=u,o=n==">"?"endTag":"selfcloseTag","tag"):n=="="?(o="equals",null):/[\'\"]/.test(n)?(t.tokenize=f(n),t.tokenize(e,t)):(e.eatWhile(/[^\s\u00a0=<>\"\'\/?]/),"word")}function f(e){return function(t,n){while(!t.eol())if(t.next()==e){n.tokenize=a;break}return"string"}}function l(e,t){return function(n,r){while(!n.eol()){if(n.match(t)){r.tokenize=u;break}n.next()}return e}}function c(e){return function(t,n){var r;while((r=t.next())!=null){if(r=="<")return n.tokenize=c(e+1),n.tokenize(t,n);if(r==">"){if(e==1){n.tokenize=u;break}return n.tokenize=c(e-1),n.tokenize(t,n)}}return"meta"}}function d(){for(var e=arguments.length-1;e>=0;e--)h.cc.push(arguments[e])}function v(){return d.apply(null,arguments),!0}function m(e,t){var n=r.doNotIndent.hasOwnProperty(e)||h.context&&h.context.noIndent;h.context={prev:h.context,tagName:e,indent:h.indented,startOfLine:t,noIndent:n}}function g(){h.context&&(h.context=h.context.prev)}function y(e){if(e=="openTag")return h.tagName=s,v(S,b(h.startOfLine));if(e=="closeTag"){var t=!1;return h.context?h.context.tagName!=s&&(r.implicitlyClosed.hasOwnProperty(h.context.tagName.toLowerCase())&&g(),t=!h.context||h.context.tagName!=s):t=!0,t&&(p="error"),v(w(t))}return v()}function b(e){return function(t){return t=="selfcloseTag"||t=="endTag"&&r.autoSelfClosers.hasOwnProperty(h.tagName.toLowerCase())?(E(h.tagName.toLowerCase()),v()):t=="endTag"?(E(h.tagName.toLowerCase()),m(h.tagName,e),v()):v()}}function w(e){return function(t){return e&&(p="error"),t=="endTag"?(g(),v()):(p="error",v(arguments.callee))}}function E(e){var t;for(;;){if(!h.context)return;t=h.context.tagName.toLowerCase();if(!r.contextGrabbers.hasOwnProperty(t)||!r.contextGrabbers[t].hasOwnProperty(e))return;g()}}function S(e){return e=="word"?(p="attribute",v(x,S)):e=="endTag"||e=="selfcloseTag"?d():(p="error",v(S))}function x(e){return e=="equals"?v(T,S):(r.allowMissing||(p="error"),e=="endTag"||e=="selfcloseTag"?d():v())}function T(e){return e=="string"?v(N):e=="word"&&r.allowUnquoted?(p="string",v()):(p="error",e=="endTag"||e=="selfCloseTag"?d():v())}function N(e){return e=="string"?v(N):d()}var n=e.indentUnit,r=t.htmlMode?{autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0}:{autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1},i=t.alignCDATA,s,o,h,p;return{startState:function(){return{tokenize:u,cc:[],indented:0,startOfLine:!0,tagName:null,context:null}},token:function(e,t){e.sol()&&(t.startOfLine=!0,t.indented=e.indentation());if(e.eatSpace())return null;p=o=s=null;var n=t.tokenize(e,t);t.type=o;if((n||o)&&n!="comment"){h=t;for(;;){var r=t.cc.pop()||y;if(r(o||n))break}}return t.startOfLine=!1,p||n},indent:function(e,t,r){var s=e.context;if(e.tokenize!=a&&e.tokenize!=u||s&&s.noIndent)return r?r.match(/^(\s*)/)[0].length:0;if(i&&/ {% else %} - + {% endif %} {% if filetype == 'Markdown' %} diff --git a/templates/snippets/editor_set_mode.html b/templates/snippets/editor_set_mode.html index 5cafc073f3..0ba3dc52f6 100644 --- a/templates/snippets/editor_set_mode.html +++ b/templates/snippets/editor_set_mode.html @@ -11,7 +11,7 @@ mode: 'text/x-java', {% endif %} {% if fileext == 'css' %} - mode: 'CSS', + mode: 'css', {% endif %} {% if fileext == 'html' or fileext == 'xhtml' or fileext == 'htm' %} mode: 'htmlmixed', diff --git a/templates/snippets/file_view_js.html b/templates/snippets/file_view_js.html index c57589bd43..9de1f28242 100644 --- a/templates/snippets/file_view_js.html +++ b/templates/snippets/file_view_js.html @@ -1,5 +1,5 @@ {% if filetype == 'Text' %} - + {% endif %} {% if filetype == 'PDF' %} {% if pdf_use_flash %}