diff --git a/.gitignore b/.gitignore index 79a07de..f3fe127 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,5 @@ *.js_o *.jsexe TAGS -/static/style.css -/static/app.js /static/all.min.js /static/app.min.js diff --git a/static/app.js b/static/app.js new file mode 100644 index 0000000..354f3e6 --- /dev/null +++ b/static/app.js @@ -0,0 +1,48091 @@ +(function(a){if("object"==typeof exports&&"object"==typeof module)module.exports=a();else{if("function"==typeof define&&define.amd)return define([],a);this.CodeMirror=a()}})(function(){function a(c,d){if(!(this instanceof a))return new a(c,d);this.options=d=d?Za(d):{};Za(Bf,d,!1);p(d);var e=d.value;"string"==typeof e&&(e=new Ma(e,d.mode,null,d.lineSeparator));this.doc=e;var f=new a.inputStyles[d.inputStyle](this),f=this.display=new b(c,e,f);f.wrapper.CodeMirror=this;k(this);g(this);d.lineWrapping&& +(this.display.wrapper.className+=" CodeMirror-wrap");d.autofocus&&!Bc&&f.input.focus();v(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,selectingText:!1,draggingText:!1,highlight:new Nb,keySeq:null,specialChars:null};var h=this;la&&11>sa&&setTimeout(function(){h.display.input.reset(!0)},20);Jd(this);pe||(Cf(),pe=!0);hb(this);this.curOp.forceUpdate=!0;qe(this,e);d.autofocus&&!Bc||h.hasFocus()?setTimeout(Cc(Kd, +this),20):Dc(this);for(var l in gc)if(gc.hasOwnProperty(l))gc[l](this,d[l],re);C(this);d.finishInit&&d.finishInit(this);for(e=0;esa&&(this.gutters.style.zIndex=-1,this.scroller.style.paddingRight=0);Da||Ob&&Bc||(this.scroller.draggable=!0);a&&(a.appendChild?a.appendChild(this.wrapper):a(this.wrapper));this.reportedViewFrom=this.reportedViewTo=this.viewFrom=this.viewTo=b.first;this.view=[];this.externalMeasured=this.renderedView=null;this.lastWrapHeight=this.lastWrapWidth=this.viewOffset=0;this.updateLineNumbers=null;this.nativeBarWidth=this.barHeight=this.barWidth=0;this.scrollbarsClipped=!1;this.lineNumWidth=this.lineNumInnerWidth= +this.lineNumChars=null;this.alignWidgets=!1;this.maxLine=this.cachedCharWidth=this.cachedTextHeight=this.cachedPaddingH=null;this.maxLineLength=0;this.maxLineChanged=!1;this.wheelDX=this.wheelDY=this.wheelStartX=this.wheelStartY=null;this.shift=!1;this.activeTouch=this.selForContextMenu=null;c.init(this)}function c(b){b.doc.mode=a.getMode(b.options,b.doc.modeOption);d(b)}function d(a){a.doc.iter(function(a){a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null)});a.doc.frontier=a.doc.first;vb(a, +100);a.state.modeGen++;a.curOp&&Aa(a)}function e(a){var b=Ea(a.display),c=a.options.lineWrapping,d=c&&Math.max(5,a.display.scroller.clientWidth/wb(a.display)-3);return function(e){if(Pb(a.doc,e))return 0;var f=0;if(e.widgets)for(var g=0;gb.maxLineLength&&(b.maxLineLength=c,b.maxLine=a)})}function p(a){var b=Ha(a.gutters,"CodeMirror-linenumbers");-1==b&&a.lineNumbers?a.gutters= +a.gutters.concat(["CodeMirror-linenumbers"]):-1sa&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")}function t(){}function v(b){b.display.scrollbars&& +(b.display.scrollbars.clear(),b.display.scrollbars.addClass&&Fc(b.display.wrapper,b.display.scrollbars.addClass));b.display.scrollbars=new a.scrollbarModel[b.options.scrollbarStyle](function(a){b.display.wrapper.insertBefore(a,b.display.scrollbarFiller);ga(a,"mousedown",function(){b.state.focused&&setTimeout(function(){b.display.input.focus()},0)});a.setAttribute("cm-not-content","true")},function(a,c){"horizontal"==c?hc(b,a):Gc(b,a)},b);b.display.scrollbars.addClass&&Hc(b.display.wrapper,b.display.scrollbars.addClass)} +function w(a,b){b||(b=r(a));var c=a.display.barWidth,d=a.display.barHeight;u(a,b);for(var e=0;4>e&&c!=a.display.barWidth||d!=a.display.barHeight;e++)c!=a.display.barWidth&&a.options.lineWrapping&&H(a),u(a,r(a)),c=a.display.barWidth,d=a.display.barHeight}function u(a,b){var c=a.display,d=c.scrollbars.update(b);c.sizer.style.paddingRight=(c.barWidth=d.right)+"px";c.sizer.style.paddingBottom=(c.barHeight=d.bottom)+"px";d.right&&d.bottom?(c.scrollbarFiller.style.display="block",c.scrollbarFiller.style.height= +d.bottom+"px",c.scrollbarFiller.style.width=d.right+"px"):c.scrollbarFiller.style.display="";d.bottom&&a.options.coverGutterNextToScrollbar&&a.options.fixedGutter?(c.gutterFiller.style.display="block",c.gutterFiller.style.height=d.bottom+"px",c.gutterFiller.style.width=b.gutterWidth+"px"):c.gutterFiller.style.display=""}function x(a,b,c){var d=c&&null!=c.top?Math.max(0,c.top):a.scroller.scrollTop,d=Math.floor(d-a.lineSpace.offsetTop),e=c&&null!=c.bottom?c.bottom:d+a.wrapper.clientHeight,d=Sb(b,d), +e=Sb(b,e);if(c&&c.ensure){var f=c.ensure.from.line;c=c.ensure.to.line;f=e&&(d=Sb(b,jb(da(b,c))-a.wrapper.clientHeight),e=c)}return{from:d,to:Math.max(e,d+1)}}function y(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=z(b)-b.scroller.scrollLeft+a.doc.scrollLeft,e=b.gutters.offsetWidth,f=d+"px",g=0;g=c.viewFrom&&b.visible.to<=c.viewTo&&(null==c.updateLineNumbers||c.updateLineNumbers>=c.viewTo)&&c.renderedView==c.view&&0==Db(a))return!1;C(a)&&($a(a),b.dims=K(a));var e=d.first+d.size,f=Math.max(b.visible.from-a.options.viewportMargin,d.first),g=Math.min(e,b.visible.to+a.options.viewportMargin);c.viewFromf-c.viewFrom&& +(f=Math.max(d.first,c.viewFrom));c.viewTo>g&&20>c.viewTo-g&&(g=Math.min(e,c.viewTo));Eb&&(f=Md(a.doc,f),g=te(a.doc,g));d=f!=c.viewFrom||g!=c.viewTo||c.lastWrapHeight!=b.wrapperHeight||c.lastWrapWidth!=b.wrapperWidth;e=a.display;0==e.view.length||f>=e.viewTo||g<=e.viewFrom?(e.view=Tb(a,f,g),e.viewFrom=f):(e.viewFrom>f?e.view=Tb(a,f,e.viewFrom).concat(e.view):e.viewFromg&&(e.view=e.view.slice(0, +kb(a,g))));e.viewTo=g;c.viewOffset=jb(da(a.doc,c.viewFrom));a.display.mover.style.top=c.viewOffset+"px";g=Db(a);if(!d&&0==g&&!b.force&&c.renderedView==c.view&&(null==c.updateLineNumbers||c.updateLineNumbers>=c.viewTo))return!1;f=lb();4=a.display.viewFrom&&b.visible.to<=a.display.viewTo)break;if(!D(a,b))break;H(a);d=r(a);mb(a);J(a,d);w(a,d)}b.signal(a,"update",a);if(a.display.viewFrom!=a.display.reportedViewFrom|| +a.display.viewTo!=a.display.reportedViewTo)b.signal(a,"viewportChange",a,a.display.viewFrom,a.display.viewTo),a.display.reportedViewFrom=a.display.viewFrom,a.display.reportedViewTo=a.display.viewTo}function E(a,b){var c=new A(a,b);if(D(a,c)){H(a);F(a,c);var d=r(a);mb(a);J(a,d);w(a,d);c.finish()}}function J(a,b){a.display.sizer.style.minHeight=b.docHeight+"px";var c=b.docHeight+a.display.barHeight;a.display.heightForcer.style.top=c+"px";a.display.gutters.style.height=Math.max(c+qa(a),b.clientHeight)+ +"px"}function H(a){a=a.display;for(var b=a.lineDiv.offsetTop,c=0;csa){var f=d.node.offsetTop+d.node.offsetHeight;e=f-b;b=f}else e=d.node.getBoundingClientRect(),e=e.bottom-e.top;f=d.line.height-e;2>e&&(e=Ea(a));if(.001f)if(ib(d.line,e),I(d.line),d.rest)for(e=0;esa&&(a.node.style.zIndex=2));return a.node}function Q(a,b){var c=a.display.externalMeasured;return c&&c.line==b.line?(a.display.externalMeasured=null,b.measure=c.measure,c.built):ue(a,b)}function O(a){var b=a.bgClass?a.bgClass+" "+(a.line.bgClass||""):a.line.bgClass;b&&(b+=" CodeMirror-linebackground");if(a.background)b? +a.background.className=b:(a.background.parentNode.removeChild(a.background),a.background=null);else if(b){var c=N(a);a.background=c.insertBefore(ca("div",null,b),c.firstChild)}a.line.wrapClass?N(a).className=a.line.wrapClass:a.node!=a.text&&(a.node.className="");a.text.className=(a.textClass?a.textClass+" "+(a.line.textClass||""):a.line.textClass)||""}function R(a,b,c,d){b.gutter&&(b.node.removeChild(b.gutter),b.gutter=null);b.gutterBackground&&(b.node.removeChild(b.gutterBackground),b.gutterBackground= +null);if(b.line.gutterClass){var e=N(b);b.gutterBackground=ca("div",null,"CodeMirror-gutter-background "+b.line.gutterClass,"left: "+(a.options.fixedGutter?d.fixedPos:-d.gutterTotalWidth)+"px; width: "+d.gutterTotalWidth+"px");e.insertBefore(b.gutterBackground,b.text)}var f=b.line.gutterMarkers;if(a.options.lineNumbers||f){var e=N(b),g=b.gutter=ca("div",null,"CodeMirror-gutter-wrapper","left: "+(a.options.fixedGutter?d.fixedPos:-d.gutterTotalWidth)+"px");a.display.input.setUneditable(g);e.insertBefore(g, +b.text);b.line.gutterClass&&(g.className+=" "+b.line.gutterClass);!a.options.lineNumbers||f&&f["CodeMirror-linenumbers"]||(b.lineNumber=g.appendChild(ca("div",B(a.options,c),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+d.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+a.display.lineNumInnerWidth+"px")));if(f)for(b=0;b +ja(a,b)?b:a}function W(a,b){return 0>ja(a,b)?a:b}function X(a){a.state.focused||(a.display.input.focus(),Kd(a))}function Z(a){return a.options.readOnly||a.doc.cantEdit}function ia(a,b,c,d,e){var f=a.doc;a.display.shift=!1;d||(d=f.sel);var g=a.state.pasteIncoming||"paste"==e,h=f.splitLines(b),k=null;if(g&&1f?k.map:l[f],h=0;hf?a.line:a.rest[f]);f=g[h]+e;if(0>e||m!=b)f=g[h+(e?1:0)];return Y(c,f)}}}var e=a.text.firstChild,f=!1;if(!b||!Nd(e,b))return oa(Y(pa(a.line),0),!0);if(b==e&&(f=!0,b=e.childNodes[c],c=0,!b))return c= +a.rest?na(a.rest):a.line,oa(Y(pa(c),c.text.length),f);var g=3==b.nodeType?b:null,h=b;g||1!=b.childNodes.length||3!=b.firstChild.nodeType||(g=b.firstChild,c&&(c=g.nodeValue.length));for(;h.parentNode!=e;)h=h.parentNode;var k=a.measure,l=k.maps;if(b=d(g,h,c))return oa(b,f);e=h.nextSibling;for(g=g?g.nodeValue.length-c:0;e;e=e.nextSibling){if(b=d(e,e.firstChild,0))return oa(Y(b.line,b.ch-g),f);g+=e.textContent.length}h=h.previousSibling;for(g=c;h;h=h.previousSibling){if(b=d(h,h.firstChild,-1))return oa(Y(b.line, +b.ch+g),f);g+=e.textContent.length}}function nc(a,b,c,d,e){function f(a){return function(b){return b.id==a}}function g(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(null!=c)""==c&&(c=b.textContent.replace(/\u200b/g,"")),h+=c;else{var c=b.getAttribute("cm-marker"),m;if(c)b=a.findMarks(Y(d,0),Y(e+1,0),f(+c)),b.length&&(m=b[0].find())&&(h+=Ub(a.doc,m.from,m.to).join(l));else if("false"!=b.getAttribute("contenteditable")){for(m=0;mc)return Y(c,da(a,c).text.length);var c=da(a,b.line).text.length,d=b.ch,c=null==d||d>c?Y(b.line,c):0>d?Y(b.line,0):b;return c}function fa(a,b){return b>=a.first&&bja(c,a),b!=0>ja(d,a)?(a=c,c=d):b!= +0>ja(c,d)&&(c=d)),new ka(a,c)):new ka(d||c,c)}function Gb(a,b,c,d){ra(a,new xa([ob(a,a.sel.primary(),b,c)],0),d)}function Vb(a,b,c){for(var d=[],e=0;eja(b.primary().head,a.sel.primary().head)?-1:1);Hb(a,Xb(a,b,d,!0));c&&!1===c.scroll||!a.cm||jc(a.cm)}function Hb(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput= +a.cm.curOp.selectionChanged=!0,we(a.cm)),Na(a,"cursorActivity",a))}function zb(a){Hb(a,Xb(a,a.sel,null,!1),qb)}function Xb(a,b,c,d){for(var e,f=0;f=f.ch:l.to>f.ch))){if(d&&(Ca(m,"beforeCursorEnter"),m.explicitlyCleared))if(h.markedSpans){--k;continue}else break;if(m.atomic){k=m.find(0>g?-1:1);if(0==ja(k,f)&&(k.ch+=g,0>k.ch?k=k.line>a.first?ba(a,Y(k.line-1)):null:k.ch>h.text.length&&(k=k.lineb&&(b=0);b=Math.round(b);e=Math.round(e);h.appendChild(ca("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px; top: "+b+"px; width: "+(null==c?m-a:c)+"px; height: "+ +(e-b)+"px"))}function e(b,c,f){var h=da(g,b),k=h.text.length,n,p;Df(bb(h),c||0,null==f?k:f,function(e,g,r){var La=pc(a,Y(b,e),"div",h,"left"),q,t;e==g?(q=La,r=t=La.left):(q=pc(a,Y(b,g-1),"div",h,"right"),"rtl"==r&&(r=La,La=q,q=r),r=La.left,t=q.right);null==c&&0==e&&(r=l);3p.bottom||q.bottom==p.bottom&&q.right>p.right)p= +q;ra.options.cursorBlinkRate&&(b.cursorDiv.style.visibility="hidden")}}function vb(a,b){a.doc.mode.startState&&a.doc.frontier=a.display.viewTo)){var c=+new Date+a.options.workTime,d=Ib(b.mode,Jb(a,b.frontier)),e=[];b.iter(b.frontier,Math.min(b.first+b.size,a.display.viewTo+500),function(f){if(b.frontier>=a.display.viewFrom){var g=f.styles,h=f.text.length>a.options.maxHighlightLength,k=xe(a,f,h?Ib(b.mode,d):d,!0);f.styles=k.styles;var l=f.styleClasses;(k=k.classes)?f.styleClasses=k:l&&(f.styleClasses=null);l=!g||g.length!=f.styles.length||l!=k&&(!l||!k||l.bgClass!= +k.bgClass||l.textClass!=k.textClass);for(k=0;!l&&kc)return vb(a,a.options.workDelay),!0});e.length&&Fa(a,function(){for(var b=0;bg;--b){if(b<=f.first)return f.first; +var h=da(f,b-1);if(h.stateAfter&&(!c||b<=f.frontier))return b;h=eb(h.text,null,a.options.tabSize);if(null==e||d>h)e=b-1,d=h}return e}function Jb(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return!0;var f=Pd(a,b,c),g=f>d.first&&da(d,f-1).stateAfter,g=g?Ib(d.mode,g):Ef(d.mode);d.iter(f,b,function(c){Od(a,c.text,g);c.stateAfter=f==b-1||0==f%5||f>=e.viewFrom&&fc)return{map:a.measure.maps[d],cache:a.measure.caches[d],before:!0}}function lc(a,b){if(b>=a.display.viewFrom&&b=c.lineN&&bm;m++){for(;h&&Kc(b.line.text.charAt(k.coverStart+h));)--h;for(;k.coverStart+lsa&&0==h&&l==k.coverEnd- +k.coverStart)p=d.parentNode.getBoundingClientRect();else if(la&&a.options.lineWrapping){var r=Zb(d,h,l).getClientRects();p=r.length?r["right"==g?r.length-1:0]:Qd}else p=Zb(d,h,l).getBoundingClientRect()||Qd;if(p.left||p.right||0==h)break;l=h;--h;c="right"}la&&11>sa&&((r=!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI)||(null!=Rd?r=Rd:(m=Ra(a.display.measure,ca("span","x")),r=m.getBoundingClientRect(),m=Zb(m,0,1).getBoundingClientRect(),r=Rd=1sa)||h||p&&(p.left||p.right)||(p=(p=d.parentNode.getClientRects()[0])?{left:p.left,right:p.left+wb(a.display),top:p.top,bottom:p.bottom}:Qd);r=p.top-b.rect.top;d=p.bottom-b.rect.top;h=(r+d)/2;g=b.view.measure.heights; +for(m=0;mb)f=l-k,e=f-1,b>=l&&(g="right");if(null!=e){d=a[h+2];k==l&&c==(d.insertLeft?"left":"right")&&(g=c);if("left"==c&&0==e)for(;h&&a[h-2]==a[h-3]&&a[h-1].insertLeft;)d=a[(h-=3)+2],g="left";if("right"==c&&e==l-k)for(;hc.from?g(a-1):g(a,d)}d=d||da(a.doc,b.line);e||(e=qc(a,d));var k=bb(d);b=b.ch;if(!k)return g(b);var l=fd(k,b),l=h(b,l);null!=Oc&&(l.other=h(b,Oc));return l}function Pc(a,b){var c=0;b=ba(a.doc,b);a.options.lineWrapping||(c=wb(a.display)*b.ch);var d=da(a.doc,b.line),e=jb(d)+a.display.lineSpace.offsetTop; +return{left:c,right:c,top:e,bottom:e+d.height}}function rc(a,b,c,d){a=Y(a,b);a.xRel=d;c&&(a.outside=!0);return a}function Qc(a,b,c){var d=a.doc;c+=a.display.viewOffset;if(0>c)return rc(d.first,0,!0,-1);var e=Sb(d,c),f=d.first+d.size-1;if(e>f)return rc(d.first+d.size-1,da(d,f).text.length,!0,1);0>b&&(b=0);for(d=da(d,e);;)if(e=Ab(a,d,e,b,c),f=(d=Rb(d,!1))&&d.find(0,!0),d&&(e.ch>f.from.ch||e.ch==f.from.ch&&0d.bottom)return d.left-k;if(gt)return rc(c,p,B,1);for(;;){if(m?p==e||p==Ud(b,e,1):1>=p-e){m=dd?-1:1d){p=u;t=x;if(B=h)t+=1E3;n=z}else e=u, +r=x,q=h,n-=z}}function Ea(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==$b){$b=ca("pre");for(var b=0;49>b;++b)$b.appendChild(document.createTextNode("x")),$b.appendChild(ca("br"));$b.appendChild(document.createTextNode("x"))}Ra(a.measure,$b);b=$b.offsetHeight/50;3=d.viewTo)||d.maxLineChanged&&c.options.lineWrapping;e.update=e.mustUpdate&&new A(c,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}for(b=0;bl;l++){var m=!1,p=db(c,h),q=g&&g!=h?db(c,g):p,q=nd(c,Math.min(p.left,q.left),Math.min(p.top,q.top)- +k,Math.max(p.left,q.left),Math.max(p.bottom,q.bottom)+k),t=c.doc.scrollTop,B=c.doc.scrollLeft;null!=q.scrollTop&&(Gc(c,q.scrollTop),1g.top+l.top?h=!0:g.bottom+l.top>(window.innerHeight||document.documentElement.clientHeight)&&(h=!1),null== +h||Gf||(g=ca("div","\u200b",null,"position: absolute; top: "+(g.top-k.viewOffset-c.display.lineSpace.offsetTop)+"px; height: "+(g.bottom-g.top+qa(c)+k.barHeight)+"px; left: "+g.left+"px; width: 2px;"),c.display.lineSpace.appendChild(g),g.scrollIntoView(h),c.display.lineSpace.removeChild(g))))}h=e.maybeHiddenMarkers;g=e.maybeUnhiddenMarkers;if(h)for(k=0;kb)&&(e.updateLineNumbers=b);a.curOp.viewChanged=!0;if(b>=e.viewTo)Eb&&Md(a.doc,b)e.viewFrom?$a(a):(e.viewFrom+=d,e.viewTo+=d);else if(b<=e.viewFrom&&c>=e.viewTo)$a(a);else if(b<=e.viewFrom){var f=Kb(a,c,c+d,1);f?(e.view=e.view.slice(f.index),e.viewFrom=f.lineN,e.viewTo+=d):$a(a)}else if(c>=e.viewTo)(f=Kb(a,b,b,-1))?(e.view=e.view.slice(0,f.index),e.viewTo=f.lineN):$a(a);else{var f=Kb(a,b,b,-1), +g=Kb(a,c,c+d,1);f&&g?(e.view=e.view.slice(0,f.index).concat(Tb(a,f.lineN,g.lineN)).concat(e.view.slice(g.index)),e.viewTo+=d):$a(a)}if(a=e.externalMeasured)c=e.lineN&&b=d.viewTo||(a=d.view[kb(a,b)],null!=a.node&&(a=a.changes||(a.changes=[]),-1==Ha(a,c)&&a.push(c)))}function $a(a){a.display.viewFrom= +a.display.viewTo=a.doc.first;a.display.view=[];a.display.viewOffset=0}function kb(a,b){if(b>=a.display.viewTo)return null;b-=a.display.viewFrom;if(0>b)return null;for(var c=a.display.view,d=0;db)return d}function Kb(a,b,c,d){var e=kb(a,b),f=a.display.view;if(!Eb||c==a.doc.first+a.doc.size)return{index:e,lineN:c};for(var g=0,h=a.display.viewFrom;gd?0:f.length-1))return null;c+=d*f[e-(0>d?1:0)].size;e+=d}return{index:e,lineN:c}}function Db(a){a=a.display.view;for(var b=0,c=0;csa?ga(d.scroller,"dblclick", +va(a,function(b){if(!Ya(a,b)){var c=Oa(a,b);!c||Lb(a,b,"gutterClick",!0)||wa(a.display,b)||(Ja(b),b=a.findWordAt(c),Gb(a.doc,b.anchor,b.head))}})):ga(d.scroller,"dblclick",function(b){Ya(a,b)||Ja(b)});Vd||ga(d.scroller,"contextmenu",function(b){ye(a,b)});var e,f={end:0};ga(d.scroller,"touchstart",function(a){var b;1!=a.touches.length?b=!1:(b=a.touches[0],b=1>=b.radiusX&&1>=b.radiusY);b||(clearTimeout(e),b=+new Date,d.activeTouch={start:b,moved:!1,prev:300>=b-f.end?f:null},1==a.touches.length&&(d.activeTouch.left= +a.touches[0].pageX,d.activeTouch.top=a.touches[0].pageY))});ga(d.scroller,"touchmove",function(){d.activeTouch&&(d.activeTouch.moved=!0)});ga(d.scroller,"touchend",function(e){var f=d.activeTouch;if(f&&!wa(d,e)&&null!=f.left&&!f.moved&&300>new Date-f.start){var g=a.coordsChar(d.activeTouch,"page"),f=!f.prev||c(f,f.prev)?new ka(g,g):!f.prev.prev||c(f,f.prev.prev)?a.findWordAt(g):new ka(Y(g.line,0),ba(a.doc,Y(g.line+1,0)));a.setSelection(f.anchor,f.head);a.focus();Ja(e)}b()});ga(d.scroller,"touchcancel", +b);ga(d.scroller,"scroll",function(){d.scroller.clientHeight&&(Gc(a,d.scroller.scrollTop),hc(a,d.scroller.scrollLeft,!0),Ca(a,"scroll",a))});ga(d.scroller,"mousewheel",function(b){ze(a,b)});ga(d.scroller,"DOMMouseScroll",function(b){ze(a,b)});ga(d.wrapper,"scroll",function(){d.wrapper.scrollTop=d.wrapper.scrollLeft=0});d.dragFunctions={enter:function(b){Ya(a,b)||od(b)},over:function(b){if(!Ya(a,b)){var c=Oa(a,b);if(c){var d=document.createDocumentFragment();sb(a,c,d);a.display.dragCursor||(a.display.dragCursor= +ca("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),a.display.lineSpace.insertBefore(a.display.dragCursor,a.display.cursorDiv));Ra(a.display.dragCursor,d)}od(b)}},start:function(b){if(la&&(!a.state.draggingText||100>+new Date-Ae))od(b);else if(!Ya(a,b)&&!wa(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.setDragImage&&!Be)){var c=ca("img",null,null,"position: fixed; left: 0; top: 0;");c.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="; +gb&&(c.width=c.height=1,a.display.wrapper.appendChild(c),c._top=c.offsetTop);b.dataTransfer.setDragImage(c,0,0);gb&&c.parentNode.removeChild(c)}},drop:va(a,ac),leave:function(){Ka(a)}};var g=d.input.getField();ga(g,"keyup",function(b){Ce.call(a,b)});ga(g,"keydown",va(a,De));ga(g,"keypress",va(a,Ee));ga(g,"focus",Cc(Kd,a));ga(g,"blur",Cc(Dc,a))}function Wd(a){var b=a.display;if(b.lastWrapHeight!=b.wrapper.clientHeight||b.lastWrapWidth!=b.wrapper.clientWidth)b.cachedCharWidth=b.cachedTextHeight=b.cachedPaddingH= +null,b.scrollbarsClipped=!1,a.setSize()}function wa(a,b){for(var c=b.target||b.srcElement;c!=a.wrapper;c=c.parentNode)if(!c||1==c.nodeType&&"true"==c.getAttribute("cm-ignore-events")||c.parentNode==a.sizer&&c!=a.mover)return!0}function Oa(a,b,c,d){var e=a.display;if(!c&&"true"==(b.target||b.srcElement).getAttribute("cm-not-content"))return null;var f,g;c=e.lineSpace.getBoundingClientRect();try{f=b.clientX-c.left,g=b.clientY-c.top}catch(h){return null}b=Qc(a,f,g);var k;d&&1==b.xRel&&(k=da(a.doc,b.line).text).length== +b.ch&&(d=eb(k,k.length,a.options.tabSize)-k.length,b=Y(b.line,Math.max(0,Math.round((f-id(a.display).left)/wb(a.display))-d)));return b}function tc(a){var b=this.display;if(!(b.activeTouch&&b.input.supportsTouch()||Ya(this,a)))if(b.shift=a.shiftKey,wa(b,a))Da||(b.scroller.draggable=!1,setTimeout(function(){b.scroller.draggable=!0},100));else if(!Lb(this,a,"gutterClick",!0)){var c=Oa(this,a);window.focus();switch(Fe(a)){case 1:this.state.selectingText?this.state.selectingText(a):c?Xd(this,a,c):(a.target|| +a.srcElement)==b.scroller&&Ja(a);break;case 2:Da&&(this.state.lastMiddleDown=+new Date);c&&Gb(this.doc,c);setTimeout(function(){b.input.focus()},20);Ja(a);break;case 3:Vd?ye(this,a):Yd(this)}}}function Xd(a,b,c){la?setTimeout(Cc(X,a),0):a.curOp.focus=lb();var d=+new Date,e;pd&&pd.time>d-400&&0==ja(pd.pos,c)?e="triple":qd&&qd.time>d-400&&0==ja(qd.pos,c)?(e="double",pd={time:d,pos:c}):(e="single",qd={time:d,pos:c});var d=a.doc.sel,f=ab?b.metaKey:b.ctrlKey,g;a.options.dragDrop&&Hf&&!Z(a)&&"single"== +e&&-1<(g=d.contains(c))&&(0>ja((g=d.ranges[g]).from(),c)||0c.xRel)?rd(a,b,c,f):Zd(a,b,c,e,f)}function rd(a,b,c,d){var e=a.display,f=+new Date,g=va(a,function(h){Da&&(e.scroller.draggable=!1);a.state.draggingText=!1;ub(document,"mouseup",g);ub(e.scroller,"drop",g);10>Math.abs(b.clientX-h.clientX)+Math.abs(b.clientY-h.clientY)&&(Ja(h),!d&&+new Date-200z&&e.push(new ka(Y(k,z),Y(k, +Ge(B,h,g))))}e.length||e.push(new ka(c,c));ra(l,ya(p.ranges.slice(0,n).concat(e),n),{origin:"*mouse",scroll:!1});a.scrollIntoView(b)}else e=m,g=e.anchor,r=b,"single"!=d&&(b="double"==d?a.findWordAt(b):new ka(Y(b.line,0),ba(l,Y(b.line+1,0))),0=h.to|| +e.lineB.bottom?20:0;m&&setTimeout(va(a,function(){z==c&&(k.scroller.scrollTop+=m,g(b))}),50)}}function h(b){a.state.selectingText=!1;z=Infinity;Ja(b);k.input.focus();ub(document,"mousemove",u);ub(document,"mouseup",w);l.history.lastSelOrigin=null}var k=a.display,l=a.doc;Ja(b);var m,n,p=l.sel,r=p.ranges;e&&!b.shiftKey?(n=l.sel.contains(c),m=-1=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&Ja(b);d=a.display;var h=d.lineDiv.getBoundingClientRect();if(f>h.bottom||!Xa(a,c))return ae(b);f-=h.top-d.viewOffset;for(h=0;h=e)return e=Sb(a.doc,f),Ca(a,c,a,e,a.options.gutters[h],b),ae(b)}}function ac(a){var b=this;Ka(b);if(!Ya(b,a)&&!wa(b.display,a)){Ja(a);la&&(Ae=+new Date);var c=Oa(b,a,!0),d=a.dataTransfer.files;if(c&&!Z(b))if(d&&d.length&&window.FileReader&&window.File){var e=d.length,f=Array(e),g=0;a=function(a,d){if(!b.options.allowDropFileTypes||-1!=Ha(b.options.allowDropFileTypes,a.type)){var h=new FileReader;h.onload=va(b,function(){var a=h.result; +/[\x00-\x08\x0e-\x1f]{2}/.test(a)&&(a="");f[d]=a;++g==e&&(c=ba(b.doc,c),a={from:c,to:c,text:b.doc.splitLines(f.join(b.doc.lineSeparator())),origin:"paste"},ic(b.doc,a),Wb(b.doc,ua(c,bc(a))))});h.readAsText(a)}};for(var h=0;hMath.abs(a.doc.scrollTop-b)||(a.doc.scrollTop=b,Ob||E(a,{top:b}),a.display.scroller.scrollTop!=b&&(a.display.scroller.scrollTop=b),a.display.scrollbars.setScrollTop(b),Ob&&E(a),vb(a,100))}function hc(a,b,c){(c? +b==a.doc.scrollLeft:2>Math.abs(a.doc.scrollLeft-b))||(b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth),a.doc.scrollLeft=b,y(a),a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft=b),a.display.scrollbars.setScrollLeft(b))}function ze(a,b){var c=He(b),d=c.x,c=c.y,e=a.display,f=e.scroller,g=f.scrollWidth>f.clientWidth,h=f.scrollHeight>f.clientHeight;if(d&&g||c&&h){if(c&&ab&&Da){var g=b.target,k=e.view;a:for(;g!=f;g=g.parentNode)for(var l=0;lh?g=Math.max(0,g+h-50):k=Math.min(a.doc.height,k+h+50),E(a,{top:g,bottom:k})),20>sd&&(null==e.wheelStartX?(e.wheelStartX=f.scrollLeft,e.wheelStartY=f.scrollTop,e.wheelDX=d,e.wheelDY=c,setTimeout(function(){if(null!=e.wheelStartX){var a=f.scrollLeft-e.wheelStartX,b=f.scrollTop-e.wheelStartY,a=b&&e.wheelDY&&b/e.wheelDY||a&&e.wheelDX&&a/e.wheelDX;e.wheelStartX=e.wheelStartY= +null;a&&(Sa=(Sa*sd+a)/(sd+1),++sd)}},200)):(e.wheelDX+=d,e.wheelDY+=c))):(c&&h&&Gc(a,Math.max(0,Math.min(f.scrollTop+c*Sa,f.scrollHeight-f.clientHeight))),hc(a,Math.max(0,Math.min(f.scrollLeft+d*Sa,f.scrollWidth-f.clientWidth))),(!c||c&&h)&&Ja(b),e.wheelStartX=null)}}function td(a,b,c){if("string"==typeof b&&(b=ud[b],!b))return!1;a.display.input.ensurePolled();var d=a.display.shift,e=!1;try{Z(a)&&(a.state.suppressEdits=!0),c&&(a.display.shift=!1),e=b(a)!=Ie}finally{a.display.shift=d,a.state.suppressEdits= +!1}return e}function If(a,b,c){for(var d=0;dsa&&27==a.keyCode&&(a.returnValue=!1);var b=a.keyCode;this.display.shift=16== +b||a.shiftKey;var c=Je(this,a);gb&&(be=c?b:null,!c&&88==b&&!Ke&&(ab?a.metaKey:a.ctrlKey)&&this.replaceSelection("",null,"cut"));18!=b||/\bCodeMirror-crosshair\b/.test(this.display.lineDiv.className)||Nf(this)}}function Nf(a){function b(a){18!=a.keyCode&&a.altKey||(Fc(c,"CodeMirror-crosshair"),ub(document,"keyup",b),ub(document,"mouseover",b))}var c=a.display.lineDiv;Hc(c,"CodeMirror-crosshair");ga(document,"keyup",b);ga(document,"mouseover",b)}function Ce(a){16==a.keyCode&&(this.doc.sel.shift=!1); +Ya(this,a)}function Ee(a){if(!(wa(this.display,a)||Ya(this,a)||a.ctrlKey&&!a.altKey||ab&&a.metaKey)){var b=a.keyCode,c=a.charCode;if(gb&&b==be)be=null,Ja(a);else if(!gb||a.which&&!(10>a.which)||!Je(this,a))if(b=String.fromCharCode(null==c?b:c),!Mf(this,a,b))this.display.input.onKeyPress(a)}}function Yd(a){a.state.delayingBlurEvent=!0;setTimeout(function(){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1,Dc(a))},100)}function Kd(a){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1); +"nocursor"!=a.options.readOnly&&(a.state.focused||(Ca(a,"focus",a),a.state.focused=!0,Hc(a.display.wrapper,"CodeMirror-focused"),a.curOp||a.display.selForContextMenu==a.doc.sel||(a.display.input.reset(),Da&&setTimeout(function(){a.display.input.reset(!0)},20)),a.display.input.receivedFocus()),aa(a))}function Dc(a){a.state.delayingBlurEvent||(a.state.focused&&(Ca(a,"blur",a),a.state.focused=!1,Fc(a.display.wrapper,"CodeMirror-focused")),clearInterval(a.display.blinker),setTimeout(function(){a.state.focused|| +(a.display.shift=!1)},150))}function ye(a,b){var c;(c=wa(a.display,b))||(c=Xa(a,"gutterContextMenu")?Lb(a,b,"gutterContextMenu",!1):!1);if(!c&&!Ya(a,b,"contextmenu"))a.display.input.onContextMenu(b)}function Le(a,b){if(0>ja(a,b.from))return a;if(0>=ja(a,b.to))return bc(b);var c=a.line+b.text.length-(b.to.line-b.from.line)-1,d=a.ch;a.line==b.to.line&&(d+=bc(b).ch-b.to.ch);return Y(c,d)}function ce(a,b){for(var c=[],d=0;da.lastLine())){if(b.from.linee&&(b={from:b.from,to:Y(e,da(a,e).text.length),text:[b.text[0]],origin:b.origin});b.removed=Ub(a,b.from,b.to);c||(c=ce(a,b));a.cm?Pf(a.cm,b,d):fe(a,b,d);Pa(a,c,qb)}}function Pf(a,b,c){var d=a.doc,f=a.display,g=b.from,h=b.to,k=!1,l=g.line;a.options.lineWrapping||(l=pa(tb(da(d,g.line))),d.iter(l,h.line+1,function(a){if(a==f.maxLine)return k=!0}));-1f.maxLineLength&&(f.maxLine=a,f.maxLineLength=b,f.maxLineChanged=!0,k=!1)}),k&&(a.curOp.updateMaxLine=!0));d.frontier=Math.min(d.frontier,g.line);vb(a,400);c=b.text.length-(h.line-g.line)-1;b.full?Aa(a):g.line!=h.line||1!=b.text.length||Ue(a.doc,b)?Aa(a,g.line,h.line+1,c):Qa(a,g.line,"text");c=Xa(a,"changes");if((d=Xa(a,"change"))||c)b={from:g,to:h,text:b.text,removed:b.removed,origin:b.origin},d&&Na(a,"change",a,b),c&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(b);a.display.selForContextMenu= +null}function uc(a,b,c,d,e){d||(d=c);if(0>ja(d,c)){var f=d;d=c;c=f}"string"==typeof b&&(b=a.splitLines(b));ic(a,{from:c,to:d,text:b,origin:e})}function nd(a,b,c,d,e){var f=a.display,g=Ea(a.display);0>c&&(c=0);var h=a.curOp&&null!=a.curOp.scrollTop?a.curOp.scrollTop:f.scroller.scrollTop,k=xb(a),l={};e-c>k&&(e=c+k);var m=a.doc.height+Ec(f),n=cm-g;ch+k&&(c=Math.min(c,(g?m:e)-k),c!=h&&(l.scrollTop=c));h=a.curOp&&null!=a.curOp.scrollLeft?a.curOp.scrollLeft:f.scroller.scrollLeft; +a=Ia(a)-(a.options.fixedGutter?f.gutters.offsetWidth:0);(f=d-b>a)&&(d=b+a);10>b?l.scrollLeft=0:ba+h-3&&(l.scrollLeft=d+(f?0:10)-a);return l}function xd(a,b,c){null==b&&null==c||yd(a);null!=b&&(a.curOp.scrollLeft=(null==a.curOp.scrollLeft?a.doc.scrollLeft:a.curOp.scrollLeft)+b);null!=c&&(a.curOp.scrollTop=(null==a.curOp.scrollTop?a.doc.scrollTop:a.curOp.scrollTop)+c)}function jc(a){yd(a);var b=a.getCursor(),c=b,d=b;a.options.lineWrapping||(c=b.ch?Y(b.line,b.ch- +1):b,d=Y(b.line,b.ch+1));a.curOp.scrollToPos={from:c,to:d,margin:a.options.cursorScrollMargin,isCursor:!0}}function yd(a){var b=a.curOp.scrollToPos;if(b){a.curOp.scrollToPos=null;var c=Pc(a,b.from),d=Pc(a,b.to),b=nd(a,Math.min(c.left,d.left),Math.min(c.top,d.top)-b.margin,Math.max(c.right,d.right),Math.max(c.bottom,d.bottom)+b.margin);a.scrollTo(b.scrollLeft,b.scrollTop)}}function Ic(a,b,c,d){var e=a.doc,f;null==c&&(c="add");"smart"==c&&(e.mode.indent?f=Jb(a,b):c="prev");var g=a.options.tabSize,h= +da(e,b),k=eb(h.text,null,g);h.stateAfter&&(h.stateAfter=null);var l=h.text.match(/^\s*/)[0],m;if(!d&&!/\S/.test(h.text))m=0,c="not";else if("smart"==c&&(m=e.mode.indent(f,h.text.slice(l.length),h.text),m==Ie||150e.first?eb(da(e,b-1).text,null,g):0:"add"==c?m=k+a.options.indentUnit:"subtract"==c?m=k-a.options.indentUnit:"number"==typeof c&&(m=k+c);m=Math.max(0,m);c="";d=0;if(a.options.indentWithTabs)for(a=Math.floor(m/g);a;--a)d+=g,c+="\t";d=ja(f.from,na(d).to);){var g= +d.pop();if(0>ja(g.from,f.from)){f.from=g.from;break}}d.push(f)}Fa(a,function(){for(var b=d.length-1;0<=b;b--)uc(a.doc,"",d[b].from,d[b].to,"+delete");jc(a)})}function ge(a,b,c,d,e){function f(b){var d=(e?Ud:We)(l,h,c,!0);if(null==d){if(b=!b)b=g+c,b=a.first+a.size?b=m=!1:(g=b,b=l=da(a,b));if(b)h=e?(0>c?md:ld)(l):0>c?l.text.length:0;else return m=!1}else h=d;return!0}var g=b.line,h=b.ch,k=c,l=da(a,g),m=!0;if("char"==d)f();else if("column"==d)f(!0);else if("word"==d||"group"==d){var n=null; +d="group"==d;b=a.cm&&a.cm.getHelper(b,"wordChars");for(var p=!0;!(0>c)||f(!p);p=!1){var r=l.text.charAt(h)||"\n",r=Ad(r,b)?"w":d&&"\n"==r?"n":!d||/\s/.test(r)?null:"p";!d||p||r||(r="s");if(n&&n!=r){0>c&&(c=1,f());break}r&&(n=r);if(0c?1.5:.5)*Ea(a.display)):"line"== +d&&(g=0c?0>=g:g>=e.height){b.hitSide=!0;break}g+=5*c}return b}function ha(b,c,d,e){a.defaults[b]=c;d&&(gc[b]=e?function(a,b,c){c!=re&&d(a,b,c)}:d)}function Qf(a){var b=a.split(/-(?!$)/);a=b[b.length-1];for(var c,d,e,f,g=0;g=e:l.to>e);(k||(k=[])).push(new Cd(m,l.from,n?null:l.to))}}c=k;if(d)for(var h=0,p;h=f:k.to>f)||k.from==f&&"bookmark"==l.type&&(!g||k.marker.insertLeft))m=null==k.from||(l.inclusiveLeft?k.from<=f:k.fromja(g.to,e.from)||0k||!c.inclusiveLeft&&!k)&&h.push({from:g.from,to:e.from});(0cf(d,e.marker))&&(d=e.marker);return d}function Ye(a,b,c,d,e){a=da(a,b);if(a=Eb&&a.markedSpans)for(b=0;b=k||0>= +h&&0<=k)&&(0>=h&&(0ja(g.from,d)||f.marker.inclusiveLeft&&e.inclusiveRight)))return!0}}}function tb(a){for(var b;b=Rb(a,!0);)a=b.find(-1,!0).line;return a}function Md(a,b){var c=da(a,b),d=tb(c);return c==d?b:pa(d)}function te(a,b){if(b>a.lastLine())return b;var c=da(a,b),d;if(!Pb(a,c))return b;for(;d=Rb(c,!1);)c=d.find(1,!0).line;return pa(c)+1}function Pb(a,b){var c=Eb&&b.markedSpans;if(c)for(var d,e=0;ef;f++){e&&(e[0]=a.innerMode(b,d).mode);var g=b.token(c,d);if(c.pos>c.start)return g}throw Error("Mode "+b.name+" failed to advance stream.");}function ff(a,b,c,d){function e(a){return{start:m.start,end:m.pos,string:m.current(),type:h||null,state:a?Ib(f.mode,l):l}}var f=a.doc,g=f.mode,h;b=ba(f,b);var k=da(f,b.line),l=Jb(a,b.line,c),m=new Fd(k.text,a.options.tabSize),n;for(d&&(n=[]);(d||m.pos< +b.ch)&&!m.eol();)m.start=m.pos,h=je(g,m,l),d&&n.push(e(!0));return d?n:e()}function gf(a,b,c,d,e,f,g){var h=c.flattenSpans;null==h&&(h=a.options.flattenSpans);var k=0,l=null,m=new Fd(b,a.options.tabSize),n,p=a.options.addModeClass&&[null];for(""==b&&df(ef(c,d),f);!m.eol();){m.pos>a.options.maxHighlightLength?(h=!1,g&&Od(a,b,d,m.pos),m.pos=b.length,n=null):n=df(je(c,m,d,p),f);if(p){var r=p[0].name;r&&(n="m-"+(n?r+" "+n:r))}if(!h||l!=n){for(;ka&&e.splice(h,1,a,e[h+1],d);h+=2;k=Math.min(a,d)}if(b)if(g.opaque)e.splice(c,h-c,a,"cm-overlay "+b),h=c+2;else for(;ca.options.maxHighlightLength?Ib(a.doc.mode,d):d);b.stateAfter=d;b.styles=e.styles;e.classes?b.styleClasses=e.classes:b.styleClasses&&(b.styleClasses=null);c===a.doc.frontier&&a.doc.frontier++}return b.styles}function Od(a,b,c,d){var e=a.doc.mode;a=new Fd(b,a.options.tabSize);a.start=a.pos=d||0;for(""==b&&ef(e,c);!a.eol();)je(e,a,c),a.start=a.pos}function jf(a,b){if(!a||/^\s*$/.test(a))return null; +var c=b.addModeClass?Vf:Wf;return c[a]||(c[a]=a.replace(/\S+/g,"cm-$&"))}function ue(a,b){var c=ca("span",null,null,Da?"padding-right: .1px":null),c={pre:ca("pre",[c],"CodeMirror-line"),content:c,col:0,pos:0,cm:a,splitSpaces:(la||Da)&&a.getOption("lineWrapping")};b.measure={};for(var d=0;d<=(b.rest?b.rest.length:0);d++){var e=d?b.rest[d-1]:b.line,f;c.pos=0;c.addToken=kf;var g;if(null!=ke)g=ke;else{g=Ra(a.display.measure,document.createTextNode("A\u062eA"));var h=Zb(g,0,1).getBoundingClientRect(); +g=h&&h.left!=h.right?ke=3>Zb(g,1,2).getBoundingClientRect().right-h.right:!1}g&&(f=bb(e))&&(c.addToken=Xf(c.addToken,f));c.map=[];h=b!=a.display.externalMeasured&&pa(e);a:{g=c;var h=hf(a,e,h),k=e.markedSpans,l=e.text,m=0;if(k)for(var n=l.length,p=0,r=1,q="",t=void 0,B=void 0,z=0,u=void 0,x=void 0,w=void 0,v=void 0,A=void 0;;){if(z==p){for(var u=x=w=v=B="",A=null,z=Infinity,y=[],Ka=0;Kap||D.collapsed&&E.to==p&&E.from==p)?(null!=E.to&&E.to!=p&&z>E.to&&(z=E.to,x=""),D.className&&(u+=" "+D.className),D.css&&(B=D.css),D.startStyle&&E.from==p&&(w+=" "+D.startStyle),D.endStyle&&E.to==z&&(x+=" "+D.endStyle),D.title&&!v&&(v=D.title),D.collapsed&&(!A||0>cf(A.marker,D))&&(A=E)):E.from>p&&z>E.from&&(z=E.from)}if(A&&(A.from||0)==p){lf(g,(null==A.to?n+1:A.to)-p,A.marker,null==A.from);if(null==A.to)break a;A.to==p&&(A=!1)}if(!A&&y.length)for(Ka=0;Ka=n)break; +for(y=Math.min(n,z);;){if(q){Ka=p+q.length;A||(E=Ka>y?q.slice(0,y-p):q,g.addToken(g,E,t?t+u:u,w,p+E.length==z?x:"",v,B));if(Ka>=y){q=q.slice(y-p);p=y;break}p=Ka;w=""}q=l.slice(m,m=h[r++]);t=jf(h[r++],g.cm.options)}}else for(var r=1;rsa?m.appendChild(ca("span",[q])):m.appendChild(q);a.map.push(a.pos,a.pos+r,q);a.col+=r;a.pos+=r}if(!p)break;n+=r+1;"\t"==p[0]?(q=a.cm.options.tabSize,p=q-a.col%q,q=m.appendChild(ca("span",Ve(p),"cm-tab")),q.setAttribute("role","presentation"),q.setAttribute("cm-text","\t"),a.col+=p):("\r"==p[0]||"\n"==p[0]?(q=m.appendChild(ca("span", +"\r"==p[0]?"\u240d":"\u2424","cm-invalidchar")),q.setAttribute("cm-text",p[0])):(q=a.cm.options.specialCharPlaceholder(p[0]),q.setAttribute("cm-text",p[0]),la&&9>sa?m.appendChild(ca("span",[q])):m.appendChild(q)),a.col+=1);a.map.push(a.pos,a.pos+1,q);a.pos++}else{a.col+=b.length;var m=document.createTextNode(h);a.map.push(a.pos,a.pos+b.length,m);la&&9>sa&&(l=!0);a.pos+=b.length}if(c||d||e||l||g)return b=c||"",d&&(b+=d),e&&(b+=e),d=ca("span",[m],b,g),f&&(d.title=f),a.content.appendChild(d);a.content.appendChild(m)}} +function Zf(a){for(var b=" ",c=0;cl&&p.from<=l)break}if(p.to>=m)return a(c,d,e,f,g,h,k);a(c,d.slice(0,p.to-l),e,f,null,h,k);f=null;d=d.slice(p.to-l);l=p.to}}}function lf(a,b,c,d){var e=!d&&c.widgetNode;e&&a.map.push(a.pos,a.pos+b,e);!d&&a.cm.display.input.needsContentAttribute&&(e|| +(e=a.content.appendChild(document.createElement("span"))),e.setAttribute("cm-marker",c.id));e&&(a.cm.display.input.setUneditable(e),a.content.appendChild(e));a.pos+=b}function Ue(a,b){return 0==b.from.ch&&0==b.to.ch&&""==na(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore)}function fe(a,b,c,d){function e(a,c,f){a.text=c;a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null);null!=a.order&&(a.order=null);af(a);bf(a,f);c=d?d(a):1;c!=a.height&&ib(a,c);Na(a,"change",a,b)}function f(a,b){for(var e= +a,g=[];eb||b>=a.size)throw Error("There is no line "+(b+a.first)+ +" in the document.");for(var c=a;!c.lines;)for(var d=0;;++d){var e=c.children[d],f=e.chunkSize();if(bf-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0)))e.lastOp==d?(ve(e.done),g=na(e.done)):e.done.length&&!na(e.done).ranges?g=na(e.done):1e.undoDepth;)e.done.shift(),e.done[0].ranges||e.done.shift();e.done.push(c);e.generation=++e.maxGeneration;e.lastModTime=e.lastSelTime=f;e.lastOp=e.lastSelOp=d;e.lastOrigin=e.lastSelOrigin=b.origin;k||Ca(a,"historyAdded")}function hd(a,b){var c=na(b); +c&&c.ranges&&c.equals(a)||b.push(a)}function mf(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans);++f})}function Tf(a){if(!a)return null;for(var b=0,c;b=b.offsetWidth&&2sa))}a=ne?ca("span","\u200b"):ca("span","\u00a0",null,"display: inline-block; width: 1px; margin-right: -1px");a.setAttribute("cm-text","");return a}function Df(a,b,c,d){if(!a)return d(b,c,"ltr");for(var e= +!1,f=0;fb||b==c&&g.to==b)d(Math.max(g.from,b),Math.min(g.to,c),1==g.level?"rtl":"ltr"),e=!0}e||d(b,c,"ltr")}function Sd(a){return a.level%2?a.to:a.from}function Td(a){return a.level%2?a.from:a.to}function ld(a){return(a=bb(a))?Sd(a[0]):0}function md(a){var b=bb(a);return b?Td(na(b)):a.text.length}function uf(a,b){var c=da(a.doc,b),d=tb(c);d!=c&&(b=pa(d));d=(c=bb(d))?c[0].level%2?md(d):ld(d):0;return Y(b,d)}function vf(a,b){var c=uf(a,b.line),d=da(a.doc, +c.line),e=bb(d);return e&&0!=e[0].level?c:(d=Math.max(0,d.text.search(/\S/)),Y(c.line,b.line==c.line&&b.ch<=d&&b.ch?0:d))}function fd(a,b){Oc=null;for(var c=0,d;cb)return c;if(e.from==b||e.to==b)if(null==d)d=c;else{var f;f=e.level;var g=a[d].level,h=a[0].level;f=f==h?!0:g==h?!1:fg.from&&bb||b>a.text.length?null:b}var Ta=navigator.userAgent,wf=navigator.platform,Ob=/gecko\/\d/i.test(Ta),xf=/MSIE \d/.test(Ta),yf=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Ta), +la=xf||yf,sa=la&&(xf?document.documentMode||6:yf[1]),Da=/WebKit\//.test(Ta),cg=Da&&/Qt\/\d+\.\d+/.test(Ta),dg=/Chrome\//.test(Ta),gb=/Opera\//.test(Ta),Be=/Apple Computer/.test(navigator.vendor),eg=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(Ta),Gf=/PhantomJS/.test(Ta),kc=/AppleWebKit/.test(Ta)&&/Mobile\/\w+/.test(Ta),Bc=kc||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(Ta),ab=kc||/Mac/.test(wf),fg=/win/i.test(wf),ec=gb&&Ta.match(/Version\/(\d*\.\d*)/);ec&&(ec=Number(ec[1]));ec&&15<=ec&& +(gb=!1,Da=!0);var zf=ab&&(cg||gb&&(null==ec||12.11>ec)),Vd=Ob||la&&9<=sa,Oe=!1,Eb=!1;q.prototype=Za({update:function(a){var b=a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;c?(this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0",this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+(a.viewHeight-(b?d:0)))+"px"):(this.vert.style.display="",this.vert.firstChild.style.height="0");b?(this.horiz.style.display="block",this.horiz.style.right= +c?d+"px":"0",this.horiz.style.left=a.barLeft+"px",this.horiz.firstChild.style.width=a.scrollWidth-a.clientWidth+(a.viewWidth-a.barLeft-(c?d:0))+"px"):(this.horiz.style.display="",this.horiz.firstChild.style.width="0");!this.checkedZeroWidth&&0sa&&f.scrollbars.setScrollTop(f.scroller.scrollTop=k);if(null!=g.selectionStart){(!la||la&&9>sa)&&b();var a=0,h=function(){f.selForContextMenu==e.doc.sel&&0==g.selectionStart&&0a++?f.detectingSelectAll=setTimeout(h,500):f.input.reset()};f.detectingSelectAll=setTimeout(h,200)}}var d=this,e=d.cm,f=e.display,g=d.textarea,h=Oa(e,a),k=f.scroller.scrollTop;if(h&&!gb){e.options.resetSelectionOnContextMenu&&-1==e.doc.sel.contains(h)&&va(e,ra)(e.doc,ua(h),qb);var l=g.style.cssText;d.wrapper.style.position="absolute";g.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(a.clientY-5)+"px; left: "+(a.clientX-5)+"px; z-index: 1000; background: "+ +(la?"rgba(255, 255, 255, .05)":"transparent")+"; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";if(Da)var m=window.scrollY;f.input.focus();Da&&window.scrollTo(null,m);f.input.reset();e.somethingSelected()||(g.value=d.prevInput=" ");d.contextMenuPending=!0;f.selForContextMenu=e.doc.sel;clearTimeout(f.detectingSelectAll);la&&9<=sa&&b();if(Vd){od(a);var n=function(){ub(window,"mouseup",n);setTimeout(c,20)};ga(window,"mouseup",n)}else setTimeout(c, +50)}},readOnlyChanged:function(a){a||this.reset()},setUneditable:Yc,needsContentAttribute:!1},Ga.prototype);G.prototype=Za({init:function(a){function b(a){if(d.somethingSelected())Ua=d.getSelections(),"cut"==a.type&&d.replaceSelection("",null,"cut");else if(d.options.lineWiseCopyCut){var c=ta(d);Ua=c.text;"cut"==a.type&&d.operation(function(){d.setSelections(c.ranges,0,qb);d.replaceSelection("",null,"cut")})}else return;if(a.clipboardData&&!kc)a.preventDefault(),a.clipboardData.clearData(),a.clipboardData.setData("text/plain", +Ua.join("\n"));else{var e=Fb();a=e.firstChild;d.display.lineSpace.insertBefore(e,d.display.lineSpace.firstChild);a.value=Ua.join("\n");var f=document.activeElement;zc(a);setTimeout(function(){d.display.lineSpace.removeChild(e);f.focus()},50)}}var c=this,d=c.cm;a=c.div=a.lineDiv;yb(a);ga(a,"paste",function(a){ma(a,d)});ga(a,"compositionstart",function(a){a=a.data;c.composing={sel:d.doc.sel,data:a,startData:a};if(a){var b=d.doc.sel.primary(),e=d.getLine(b.head.line).indexOf(a,Math.max(0,b.head.ch-a.length)); +-1b.viewTo-1)return!1;var e;d.line==b.viewFrom||0==(e=kb(a,d.line))?(d=pa(b.view[0].line),e=b.view[0].node):(d=pa(b.view[e].line),e=b.view[e-1].node.nextSibling);var f=kb(a,c.line);f==b.view.length-1?(c=b.viewTo-1,b=b.lineDiv.lastChild):(c=pa(b.view[f+1].line)-1,b=b.view[f+1].node.previousSibling);b=a.doc.splitLines(nc(a, +e,b,d,c));for(e=Ub(a.doc,Y(d,0),Y(c,da(a.doc,c).text.length));1=ja(a,d.to()))return c}return-1}};ka.prototype={from:function(){return W(this.anchor,this.head)},to:function(){return V(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};var Qd={left:0,right:0,top:0,bottom:0},$b,sc=null,Ff=0,qd,pd,Ae=0,sd=0,Sa=null;la?Sa=-.53:Ob?Sa=15:dg?Sa=-.7:Be&&(Sa=-1/3);var He=function(a){var b=a.wheelDeltaX,c=a.wheelDeltaY;null==b&&a.detail&&a.axis==a.HORIZONTAL_AXIS&&(b=a.detail); +null==c&&a.detail&&a.axis==a.VERTICAL_AXIS?c=a.detail:null==c&&(c=a.wheelDelta);return{x:b,y:c}};a.wheelEventPixels=function(a){a=He(a);a.x*=Sa;a.y*=Sa;return a};var Kf=new Nb,be=null,bc=a.changeEnd=function(a){return a.text?Y(a.from.line+a.text.length-1,na(a.text).length+(1==a.text.length?a.from.ch:0)):a.to};a.prototype={constructor:a,focus:function(){window.focus();this.display.input.focus()},setOption:function(a,b){var c=this.options,d=c[a];if(c[a]!=b||"mode"==a)c[a]=b,gc.hasOwnProperty(a)&&va(this, +gc[a])(this,b,d)},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](Bd(a))},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;cc&& +(Ic(this,e.head.line,a,!0),c=e.head.line,d==this.doc.sel.primIndex&&jc(this));else{for(var f=e.from(),e=e.to(),g=Math.max(c,f.line),c=Math.min(this.lastLine(),e.line-(e.ch?0:1))+1,e=g;e>1;if((e?b[2*e-1]:0)>=a)d=e;else if(b[2*e+1]c?b:0==c?null:b.slice(0,c-1)},getModeAt:function(b){var c=this.doc.mode;return c.innerMode?a.innerMode(c,this.getTokenAt(b).state).mode:c},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var c=[];if(!Ac.hasOwnProperty(b))return c;var d=Ac[b],e=this.getModeAt(a);if("string"==typeof e[b])d[e[b]]&& +c.push(d[e[b]]);else if(e[b])for(var f=0;fd&&(a=d,c=!0),d=da(this.doc,a)):d=a;return fb(this, +d,{top:0,left:0},b||"page").top+(c?this.doc.height-jb(d):0)},defaultTextHeight:function(){return Ea(this.display)},defaultCharWidth:function(){return wb(this.display)},setGutterMarker:za(function(a,b,c){return zd(this.doc,a,"gutter",function(a){var d=a.gutterMarkers||(a.gutterMarkers={});d[b]=c;!c&&sf(d)&&(a.gutterMarkers=null);return!0})}),clearGutter:za(function(a){var b=this,c=b.doc,d=c.first;c.iter(function(c){c.gutterMarkers&&c.gutterMarkers[a]&&(c.gutterMarkers[a]=null,Qa(b,d,"gutter"),sf(c.gutterMarkers)&& +(c.gutterMarkers=null));++d})}),lineInfo:function(a){if("number"==typeof a){if(!fa(this.doc,a))return null;var b=a;a=da(this.doc,a);if(!a)return null}else if(b=pa(a),null==b)return null;return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=db(this,ba(this.doc,a));var g=a.bottom, +h=a.left;b.style.position="absolute";b.setAttribute("cm-ignore-events","true");this.display.input.setUneditable(b);f.sizer.appendChild(b);if("over"==d)g=a.top;else if("above"==d||"near"==d){var k=Math.max(f.wrapper.clientHeight,this.doc.height),l=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>k)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=k&&(g=a.bottom);h+b.offsetWidth>l&&(h=l-b.offsetWidth)}b.style.top=g+"px";b.style.left=b.style.right= +"";"right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left=h+"px");c&&(a=nd(this,h,g,h+b.offsetWidth,g+b.offsetHeight),null!=a.scrollTop&&Gc(this,a.scrollTop),null!=a.scrollLeft&&hc(this,a.scrollLeft))},triggerOnKeyDown:za(De),triggerOnKeyPress:za(Ee),triggerOnKeyUp:Ce,execCommand:function(a){if(ud.hasOwnProperty(a))return ud[a].call(null,this)},triggerElectric:za(function(a){ea(this,a)}),findPosH:function(a, +b,c,d){var e=1;0>b&&(e=-1,b=-b);var f=0;for(a=ba(this.doc,a);fa?d.from():d.to()},$c)}),deleteH:za(function(a,b){var c=this.doc;this.doc.sel.somethingSelected()?c.replaceSelection("",null,"+delete"):vc(this,function(d){var e=ge(c,d.head,a,b,!1);return 0>a?{from:e,to:d.head}:{from:d.head, +to:e}})}),findPosV:function(a,b,c,d){var e=1;0>b&&(e=-1,b=-b);var f=0;for(a=ba(this.doc,a);fa?g.from():g.to();var h=db(c,g.head,"div");null!=g.goalColumn&&(h.left=g.goalColumn);e.push(h.left);var k=Xe(c,h,a,b);"page"==b&&g==d.sel.primary()&&xd(c,null,pc(c, +k,"div").top-h.top);return k},$c);if(e.length)for(var g=0;ga.xRel||d==b.length)&&c?--c:++d;for(var f=b.charAt(c),f=Ad(f,e)?function(a){return Ad(a,e)}:/\s/.test(f)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!Ad(a)};0a.doc.first){var g=da(a.doc,e.line-1).text;g&&a.replaceRange(f.charAt(0)+a.doc.lineSeparator()+g.charAt(g.length-1),Y(e.line-1,g.length- +1),Y(e.line,1),"+transpose")}c.push(new ka(e,e))}a.setSelections(c)})},newlineAndIndent:function(a){Fa(a,function(){for(var b=a.listSelections().length,c=0;c=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){if(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){a=this.string.indexOf(a,this.pos);if(-1a.display.maxLineLength&& +(a.display.maxLine=f,a.display.maxLineLength=g,a.display.maxLineChanged=!0);null!=c&&a&&this.collapsed&&Aa(a,c,d+1);this.lines.length=0;this.explicitlyCleared=!0;this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,a&&zb(a.doc));a&&Na(a,"markerCleared",a,this);b&&Bb(a);this.parent&&this.parent.clear()}};dc.prototype.find=function(a,b){null==a&&"bookmark"==this.type&&(a=1);for(var c,d,e=0;ethis.size-b&&(1=this.children.length)){var a=this;do{var b= +a.children.splice(a.children.length-5,5),b=new Wc(b);if(a.parent){a.size-=b.size;a.height-=b.height;var c=Ha(a.parent.children,a);a.parent.children.splice(c+1,0,b)}else c=new Wc(a.children),c.parent=a,a.children=[c,b],a=c;b.parent=a.parent}while(10ja(h.head,h.anchor),f[e]=new ka(h?k:g,h?g:k)):f[e]=new ka(g,g)}f=new xa(f,this.sel.primIndex)}b= +f;for(f=d.length-1;0<=f;f--)ic(this,d[f]);b?Wb(this,b):this.cm&&jc(this.cm)}),undo:Ba(function(){wd(this,"undo")}),redo:Ba(function(){wd(this,"redo")}),undoSelection:Ba(function(){wd(this,"undo",!0)}),redoSelection:Ba(function(){wd(this,"redo",!0)}),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a=this.history,b=0,c=0,d=0;d=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=ba(this,a);b=ba(this,b);var d=[],e=a.line;this.iter(a.line,b.line+1,function(f){if(f=f.markedSpans)for(var g=0;gh.to||null==h.from&&e!=a.line||e==b.line&&h.from>b.ch||c&&!c(h.marker)||d.push(h.marker.parent||h.marker)}++e});return d},getAllMarks:function(){var a=[];this.iter(function(b){if(b=b.markedSpans)for(var c=0;ca)return b=a,!0;a-=d;++c});return ba(this,Y(c,b))},indexFromPos:function(a){a=ba(this,a);var b=a.ch;if(a.linea.ch)return 0; +this.iter(this.first,a.line,function(a){b+=a.text.length+1});return b},copy:function(a){var b=new Ma(me(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep);b.scrollTop=this.scrollTop;b.scrollLeft=this.scrollLeft;b.sel=this.sel;b.extend=!1;a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory()));return b},linkedDoc:function(a){a||(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from);null!=a.to&&a.toHa(jg,cd)&&(a.prototype[cd]=function(a){return function(){return a.apply(this.doc,arguments)}}(Ma.prototype[cd]));yc(Ma);var Ja=a.e_preventDefault=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1},kg=a.e_stopPropagation=function(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},od=a.e_stop=function(a){Ja(a);kg(a)},ga=a.on=function(a, +b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent?a.attachEvent("on"+b,c):(a=a._handlers||(a._handlers={}),(a[b]||(a[b]=[])).push(c))},pf=[],ub=a.off=function(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else for(a=Hd(a,b,!1),b=0;bf||f>=b)return e+(b-d);e+=f-d;e+=c-e%c;d=f+1}},Ge=a.findColumn=function(a,b,c){for(var d=0,e=0;;){var f=a.indexOf("\t",d);-1==f&&(f=a.length);var g= +f-d;if(f==a.length||e+g>=b)return d+Math.min(g,b-e);e+=f-d;e+=c-e%c;d=f+1;if(e>=b)return d}},Id=[""],zc=function(a){a.select()};kc?zc=function(a){a.selectionStart=0;a.selectionEnd=a.value.length}:la&&(zc=function(a){try{a.select()}catch(b){}});var lg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,rf=a.isWordChar=function(a){return/\w/.test(a)||"\u0080"sa&&(lb=function(){try{return document.activeElement}catch(a){return document.body}}); +var Fc=a.rmClass=function(a,b){var c=a.className,d=Zc(b).exec(c);if(d){var e=c.slice(d.index+d[0].length);a.className=c.slice(0,d.index)+(e?d[1]+e:"")}},Hc=a.addClass=function(a,b){var c=a.className;Zc(b).test(c)||(a.className+=(c?" ":"")+b)},pe=!1,Hf=function(){if(la&&9>sa)return!1;var a=ca("div");return"draggable"in a||"dragDrop"in a}(),ne,ke,ig=a.splitLines=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){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/)},gg=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},Ke=function(){var a=ca("div");if("oncopy"in a)return!0;a.setAttribute("oncopy","return;");return"function"==typeof a.oncopy}(), +Rd=null,fc=a.keyNames={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:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",127:"Delete",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right", +63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"};(function(){for(var a=0;10>a;a++)fc[a+48]=fc[a+96]=String(a);for(a=65;90>=a;a++)fc[a]=String.fromCharCode(a);for(a=1;12>=a;a++)fc[a+111]=fc[a+63235]="F"+a})();var Oc,$f=function(){function a(b){return 247>=b?"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN".charAt(b): +1424<=b&&1524>=b?"R":1536<=b&&1773>=b?"rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm".charAt(b-1536):1774<=b&&2220>=b?"r":8192<=b&&8203>=b?"w":8204==b?"b":"L"}function b(a,c,d){this.level=a;this.from=c;this.to=d}var c=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,d=/[stwN]/,e=/[LRr]/,f=/[Lb1n]/,g=/[1n]/;return function(h){if(!c.test(h))return!1; +for(var k=h.length,l=[],m=0,n;m"),"meta";D=a.eat("/")?"closeTag":"openTag";b.tokenize=e;return"tag bracket"}if("&"==d)return(a.eat("#")?a.eat("x")?a.eatWhile(/[a-fA-F\d]/)&&a.eat(";"):a.eatWhile(/[\d]/)&&a.eat(";"):a.eatWhile(/[\w\.\-:]/)&&a.eat(";"))?"atom":"error";a.eatWhile(/[^&<]/);return null}function e(a,b){var c=a.next();if(">"==c||"/"==c&&a.eat(">"))return b.tokenize=d,D=">"==c?"endTag":"selfcloseTag","tag bracket";if("="==c)return D="equals",null;if("<"==c)return b.tokenize=d,b.state=n,b.tagName= +b.tagStart=null,(c=b.tokenize(a,b))?c+" tag error":"tag error";if(/[\'\"]/.test(c))return b.tokenize=f(c),b.stringStartCol=a.column(),b.tokenize(a,b);a.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/);return"word"}function f(a){var b=function(b,c){for(;!b.eol();)if(b.next()==a){c.tokenize=e;break}return"string"};b.isInAttribute=!0;return b}function g(a,b){return function(c,e){for(;!c.eol();){if(c.match(b)){e.tokenize=d;break}c.next()}return a}}function h(a){return function(b,c){for(var e;null!=(e= +b.next());){if("<"==e)return c.tokenize=h(a+1),c.tokenize(b,c);if(">"==e)if(1==a){c.tokenize=d;break}else return c.tokenize=h(a-1),c.tokenize(b,c)}return"meta"}}function k(a,b,c){this.prev=a.context;this.tagName=b;this.indent=a.indented;this.startOfLine=c;if(z.doNotIndent.hasOwnProperty(b)||a.context&&a.context.noIndent)this.noIndent=!0}function l(a){a.context&&(a.context=a.context.prev)}function m(a,b){for(var c;a.context;){c=a.context.tagName;if(!z.contextGrabbers.hasOwnProperty(c)||!z.contextGrabbers[c].hasOwnProperty(b))break; +l(a)}}function n(a,b,c){return"openTag"==a?(c.tagStart=b.column(),p):"closeTag"==a?r:n}function p(a,b,c){if("word"==a)return c.tagName=b.current(),F="tag",v;F="error";return p}function r(a,b,c){if("word"==a){a=b.current();c.context&&c.context.tagName!=a&&z.implicitlyClosed.hasOwnProperty(c.context.tagName)&&l(c);if(c.context&&c.context.tagName==a)return F="tag",q;F="tag error";return t}F="error";return t}function q(a,b,c){if("endTag"!=a)return F="error",q;l(c);return n}function t(a,b,c){F="error"; +return q(a,b,c)}function v(a,b,c){if("word"==a)return F="attribute",w;if("endTag"==a||"selfcloseTag"==a){b=c.tagName;var d=c.tagStart;c.tagName=c.tagStart=null;"selfcloseTag"==a||z.autoSelfClosers.hasOwnProperty(b)?m(c,b):(m(c,b),c.context=new k(c,b,d==c.indented));return n}F="error";return v}function w(a,b,c){if("equals"==a)return u;z.allowMissing||(F="error");return v(a,b,c)}function u(a,b,c){if("string"==a)return x;if("word"==a&&z.allowUnquoted)return F="string",v;F="error";return v(a,b,c)}function x(a, +b,c){return"string"==a?x:v(a,b,c)}var y=b.indentUnit,C=c.multilineTagIndentFactor||1,B=c.multilineTagIndentPastTag;null==B&&(B=!0);var z=c.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,menuitem:!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,caseFold:!0}:{autoSelfClosers:{},implicitlyClosed:{}, +contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,caseFold:!1},A=c.alignCDATA,D,F;d.isInText=!0;return{startState:function(){return{tokenize:d,state:n,indented:0,tagName:null,tagStart:null,context:null}},token:function(a,b){!b.tagName&&a.sol()&&(b.indented=a.indentation());if(a.eatSpace())return null;D=null;var c=b.tokenize(a,b);(c||D)&&"comment"!=c&&(F=null,b.state=b.state(D||c,a,b),F&&(c="error"==F?c+" error":F));return c},indent:function(b,c,f){var g=b.context;if(b.tokenize.isInAttribute)return b.tagStart== +b.indented?b.stringStartCol+1:b.indented+y;if(g&&g.noIndent)return a.Pass;if(b.tokenize!=e&&b.tokenize!=d)return f?f.match(/^(\s*)/)[0].length:0;if(b.tagName)return B?b.tagStart+b.tagName.length+2:b.tagStart+y*C;if(A&&/$/,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",configuration:c.htmlMode?"html":"xml",helperType:c.htmlMode?"html":"xml"}});a.defineMIME("text/xml","xml");a.defineMIME("application/xml","xml");a.mimeModes.hasOwnProperty("text/html")||a.defineMIME("text/html",{name:"xml",htmlMode:!0})}); +(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../xml/xml"),require("../meta")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../xml/xml","../meta"],a):a(CodeMirror)})(function(a){a.defineMode("markdown",function(b,c){function d(a,b,c){b.f=b.inline=c;return c(a,b)}function e(a){return!a||!/\S/.test(a.string)}function f(a){a.linkTitle=!1;a.em=!1;a.strong=!1;a.strikethrough=!1;a.quote=0;a.indentedCode=!1;y||a.f!=h||(a.f= +p,a.block=g);a.trailingSpace=0;a.trailingSpaceNewLine=!1;a.prevLine=a.thisLine;return a.thisLine=null}function g(f,g){var h=f.sol(),l=!1!==g.list,n=g.indentedCode;g.indentedCode=!1;l&&(0<=g.indentationDiff?(4>g.indentationDiff&&(g.indentation-=g.indentationDiff),g.list=null):0=p[1].length)return g.header=p[1].length,c.highlightFormatting&&(g.formatting="header"),g.f=g.inline,m(g);if(e(g.prevLine)||g.quote||l||n||!(p=f.match(I))){if(f.eat(">"))return g.quote=h?1:g.quote+1,c.highlightFormatting&&(g.formatting="quote"),f.eatSpace(),m(g);if("["===f.peek())return d(f,g,v);if(f.match(D,!0))return g.hr=!0,z.hr;if((e(g.prevLine)||l)&&(f.match(F,!1)||f.match(E,!1)))return h=null,f.match(F,!0)?h="ul":(f.match(E,!0),h="ol"),g.indentation=f.column()+f.current().length, +g.list=!0,g.listDepth++,c.taskLists&&f.match(J,!1)&&(g.taskList=!0),g.f=g.inline,c.highlightFormatting&&(g.formatting=["list","list-"+h]),m(g);if(c.fencedCodeBlocks&&(p=f.match(L,!0)))return g.fencedChars=p[1],h=p[2],a.findModeByName&&(l=a.findModeByName(h))&&(h=l.mime||l.mimes[0]),h=a.getMode(b,h),g.localMode="null"==h.name?null:h,g.localMode&&(g.localState=g.localMode.startState()),g.f=g.block=k,c.highlightFormatting&&(g.formatting="code-block"),g.code=!0,m(g)}else return g.header="="==p[0].charAt(0)? +1:2,c.highlightFormatting&&(g.formatting="header"),g.f=g.inline,m(g);return d(f,g,g.inline)}function h(a,b){var c=C.token(a,b.htmlState);if(y&&null===b.htmlState.tagStart&&!b.htmlState.context&&b.htmlState.tokenize.isInText||b.md_inside&&-1"))b.f=p,b.block=g,b.htmlState=null;return c}function k(a,b){if(a.sol()&&b.fencedChars&&a.match(b.fencedChars,!1))return b.localMode=b.localState=null,b.f=b.block=l,null;if(b.localMode)return b.localMode.token(a,b.localState);a.skipToEnd(); +return z.code}function l(a,b){a.match(b.fencedChars);b.block=g;b.f=p;b.fencedChars=null;c.highlightFormatting&&(b.formatting="code-block");b.code=!0;var d=m(b);b.code=!1;return d}function m(a){var b=[];if(a.formatting){b.push(z.formatting);"string"===typeof a.formatting&&(a.formatting=[a.formatting]);for(var d=0;d=a.quote?b.push(z.formatting+"-"+a.formatting[d]+"-"+a.quote):b.push("error"))}if(a.taskOpen)return b.push("meta"),b.length?b.join(" "):null;if(a.taskClosed)return b.push("property"),b.length?b.join(" "):null;a.linkHref?b.push(z.linkHref,"url"):(a.strong&&b.push(z.strong),a.em&&b.push(z.em),a.strikethrough&&b.push(z.strikethrough),a.linkText&&b.push(z.linkText),a.code&&b.push(z.code));a.header&&b.push(z.header,z.header+"-"+a.header);a.quote&&(b.push(z.quote),!c.maxBlockquoteDepth|| +c.maxBlockquoteDepth>=a.quote?b.push(z.quote+"-"+a.quote):b.push(z.quote+"-"+c.maxBlockquoteDepth));!1!==a.list&&((d=(a.listDepth-1)%3)?1===d?b.push(z.list2):b.push(z.list3):b.push(z.list1));a.trailingSpaceNewLine?b.push("trailing-space-new-line"):a.trailingSpace&&b.push("trailing-space-"+(a.trailingSpace%2?"a":"b"));return b.length?b.join(" "):null}function n(a,b){if(a.match(K,!0))return m(b)}function p(b,d){var e=d.text(b,d);if("undefined"!==typeof e)return e;if(d.list)return d.list=null,m(d);if(d.taskList)return"x"!== +b.match(J,!0)[1]?d.taskOpen=!0:d.taskClosed=!0,c.highlightFormatting&&(d.formatting="task"),d.taskList=!1,m(d);d.taskOpen=!1;d.taskClosed=!1;if(d.header&&b.match(/^#+$/,!0))return c.highlightFormatting&&(d.formatting="header"),m(d);var e=b.sol(),f=b.next();if("\\"===f&&(b.next(),c.highlightFormatting))return e=m(d),f=z.formatting+"-escape",e?e+" "+f:f;if(d.linkTitle){d.linkTitle=!1;var g=f;"("===f&&(g=")");g=(g+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");if(b.match(new RegExp("^\\s*(?:[^"+g+"\\\\]+|\\\\\\\\|\\\\.)"+ +g),!0))return z.linkHref}if("`"===f){e=d.formatting;c.highlightFormatting&&(d.formatting="code");f=m(d);g=b.pos;b.eatWhile("`");g=1+b.pos-g;if(d.code){if(g===B)return d.code=!1,f;d.formatting=e}else B=g,d.code=!0;return m(d)}if(d.code)return m(d);if("!"===f&&b.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return b.match(/\[[^\]]*\]/),d.inline=d.f=q,z.image;if("["===f&&b.match(/.*\](\(.*\)| ?\[.*\])/,!1))return d.linkText=!0,c.highlightFormatting&&(d.formatting="link"),m(d);if("]"===f&&d.linkText&&b.match(/\(.*\)| ?\[.*\]/, +!1))return c.highlightFormatting&&(d.formatting="link"),e=m(d),d.linkText=!1,d.inline=d.f=q,e;if("<"===f&&b.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1))return d.f=d.inline=r,c.highlightFormatting&&(d.formatting="link"),e=m(d),(e?e+" ":"")+z.linkInline;if("<"===f&&b.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1))return d.f=d.inline=r,c.highlightFormatting&&(d.formatting="link"),e=(e=m(d))?e+" ":"",e+z.linkEmail;if("<"===f&&b.match(/^(!--|\w)/,!1))return e=b.string.indexOf(">",b.pos),-1!=e&&(e=b.string.substring(b.start, +e),/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(e)&&(d.md_inside=!0)),b.backUp(1),d.htmlState=a.startState(C),e=h,d.f=d.block=e,e(b,d);if("<"===f&&b.match(/^\/\w*?>/))return d.md_inside=!1,"tag";g=!1;if(!c.underscoresBreakWords&&"_"===f&&"_"!==b.peek()&&b.match(/(\w)/,!1)){var k=b.pos-2;0<=k&&(k=b.string.charAt(k),"_"!==k&&k.match(/(\w)/,!1)&&(g=!0))}if("*"===f||"_"===f&&!g){if(!e||" "!==b.peek()){if(d.strong===f&&b.eat(f))return c.highlightFormatting&&(d.formatting="strong"),f=m(d),d.strong=!1,f; +if(!d.strong&&b.eat(f))return d.strong=f,c.highlightFormatting&&(d.formatting="strong"),m(d);if(d.em===f)return c.highlightFormatting&&(d.formatting="em"),f=m(d),d.em=!1,f;if(!d.em)return d.em=f,c.highlightFormatting&&(d.formatting="em"),m(d)}}else if(" "===f&&(b.eat("*")||b.eat("_"))){if(" "===b.peek())return m(d);b.backUp(1)}if(c.strikethrough)if("~"===f&&b.eatWhile(f)){if(d.strikethrough)return c.highlightFormatting&&(d.formatting="strikethrough"),f=m(d),d.strikethrough=!1,f;if(b.match(/^[^\s]/, +!1))return d.strikethrough=!0,c.highlightFormatting&&(d.formatting="strikethrough"),m(d)}else if(" "===f&&b.match(/^~~/,!0)){if(" "===b.peek())return m(d);b.backUp(2)}" "===f&&(b.match(/ +$/,!1)?d.trailingSpace++:d.trailingSpace&&(d.trailingSpaceNewLine=!0));return m(d)}function r(a,b){if(">"===a.next()){b.f=b.inline=p;c.highlightFormatting&&(b.formatting="link");var d=m(b);return(d?d+" ":"")+z.linkInline}a.match(/^[^>]+/,!0);return z.linkInline}function q(a,b){if(a.eatSpace())return null;var d=a.next(); +return"("===d||"["===d?(b.f=b.inline=t("("===d?")":"]"),c.highlightFormatting&&(b.formatting="link-string"),b.linkHref=!0,m(b)):"error"}function t(a){return function(b,d){if(b.next()===a){d.f=d.inline=p;c.highlightFormatting&&(d.formatting="link-string");var e=m(d);d.linkHref=!1;return e}b.match(x(a),!0)&&b.backUp(1);d.linkHref=!0;return m(d)}}function v(a,b){return a.match(/^[^\]]*\]:/,!1)?(b.f=w,a.next(),c.highlightFormatting&&(b.formatting="link"),b.linkText=!0,m(b)):d(a,b,p)}function w(a,b){if(a.match(/^\]:/, +!0)){b.f=b.inline=u;c.highlightFormatting&&(b.formatting="link");var d=m(b);b.linkText=!1;return d}a.match(/^[^\]]+/,!0);return z.linkText}function u(a,b){if(a.eatSpace())return null;a.match(/^[^\s]+/,!0);void 0===a.peek()?b.linkTitle=!0:a.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,!0);b.f=b.inline=p;return z.linkHref+" url"}function x(a){M[a]||(a=(a+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1"),M[a]=new RegExp("^(?:[^\\\\]|\\\\.)*?("+a+")"));return M[a]} +var y=a.modes.hasOwnProperty("xml"),C=a.getMode(b,y?{name:"xml",htmlMode:!0}:"text/plain");void 0===c.highlightFormatting&&(c.highlightFormatting=!1);void 0===c.maxBlockquoteDepth&&(c.maxBlockquoteDepth=0);void 0===c.underscoresBreakWords&&(c.underscoresBreakWords=!0);void 0===c.taskLists&&(c.taskLists=!1);void 0===c.strikethrough&&(c.strikethrough=!1);void 0===c.tokenTypeOverrides&&(c.tokenTypeOverrides={});var B=0,z={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3", +list3:"keyword",hr:"hr",image:"tag",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough"},A;for(A in z)z.hasOwnProperty(A)&&c.tokenTypeOverrides[A]&&(z[A]=c.tokenTypeOverrides[A]);var D=/^([*\-_])(?:\s*\1){2,}\s*$/,F=/^[*\-+]\s+/,E=/^[0-9]+([.)])\s+/,J=/^\[(x| )\](?=\s)/,H=c.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,I=/^ *(?:\={1,}|-{1,})\s*$/,K=/^[^#!\[\]*_\\<>` "'(~]+/,L=new RegExp("^("+(!0===c.fencedCodeBlocks? +"~~~+|```+":c.fencedCodeBlocks)+")[ \\t]*([\\w+#]*)"),M=[],N={startState:function(){return{f:g,prevLine:null,thisLine:null,block:g,htmlState:null,indentation:0,inline:p,text:n,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,em:!1,strong:!1,header:0,hr:!1,taskList:!1,list:!1,listDepth:0,quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,fencedChars:null}},copyState:function(b){return{f:b.f,prevLine:b.prevLine,thisLine:b.thisLine,block:b.block,htmlState:b.htmlState&&a.copyState(C,b.htmlState), +indentation:b.indentation,localMode:b.localMode,localState:b.localMode?a.copyState(b.localMode,b.localState):null,inline:b.inline,text:b.text,formatting:!1,linkTitle:b.linkTitle,code:b.code,em:b.em,strong:b.strong,strikethrough:b.strikethrough,header:b.header,hr:b.hr,taskList:b.taskList,list:b.list,listDepth:b.listDepth,quote:b.quote,indentedCode:b.indentedCode,trailingSpace:b.trailingSpace,trailingSpaceNewLine:b.trailingSpaceNewLine,md_inside:b.md_inside,fencedChars:b.fencedChars}},token:function(a, +b){b.formatting=!1;if(a!=b.thisLine){var c=b.header||b.hr;b.header=0;b.hr=!1;if(a.match(/^\s*$/,!0)||c){f(b);if(!c)return null;b.prevLine=null}b.prevLine=b.thisLine;b.thisLine=a;b.taskList=!1;b.trailingSpace=0;b.trailingSpaceNewLine=!1;b.f=b.block;var c=a.match(/^\s*/,!0)[0].replace(/\t/g," ").length,d=4*Math.floor((c-b.indentation)/4);4]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?\u00ab\u00bb\u201c\u201d\u2018\u2019]))/i; +a.defineMode("gfm",function(c,d){var e=0,f={underscoresBreakWords:!1,taskLists:!0,fencedCodeBlocks:"```",strikethrough:!0},g;for(g in d)f[g]=d[g];f.name="markdown";return a.overlayMode(a.getMode(c,f),{startState:function(){return{code:!1,codeBlock:!1,ateSpace:!1}},copyState:function(a){return{code:a.code,codeBlock:a.codeBlock,ateSpace:a.ateSpace}},token:function(a,c){c.combineTokens=null;if(c.codeBlock){if(a.match(/^```+/))return c.codeBlock=!1,null;a.skipToEnd();return null}a.sol()&&(c.code=!1); +if(a.sol()&&a.match(/^```+/))return a.skipToEnd(),c.codeBlock=!0,null;if("`"===a.peek()){a.next();var f=a.pos;a.eatWhile("`");f=1+a.pos-f;c.code?f===e&&(c.code=!1):(e=f,c.code=!0);return null}if(c.code)return a.next(),null;if(a.eatSpace())return c.ateSpace=!0,null;if(a.sol()||c.ateSpace)if(c.ateSpace=!1,!1!==d.gitHubSpice&&(a.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+@)?(?:[a-f0-9]{7,40}\b)/)||a.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+)?#[0-9]+\b/)))return c.combineTokens=!0,"link"; +if(a.match(b)&&"]("!=a.string.slice(a.start-2,a.start)&&(0==a.start||/\W/.test(a.string.charAt(a.start-1))))return c.combineTokens=!0,"link";a.next();return null},blankLine:function(a){a.code=!1;return null}})},"markdown");a.defineMIME("text/x-gfm","gfm")}); +(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function b(a){return new RegExp("^(("+a.join(")|(")+"))\\b")}function c(a){return a.scopes[a.scopes.length-1]}var d=b(["and","or","not","is"]),e="as assert break class continue def del elif else except finally for from global if import lambda pass raise return try while with yield in".split(" "),f="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__".split(" "), +g="apply basestring buffer cmp coerce execfile file intern long raw_input reduce reload unichr unicode xrange False True None".split(" "),h=["exec","print"],k=["ascii","bytes","exec","print"],l="nonlocal False True None async await".split(" ");a.registerHelper("hintWords","python",e.concat(f));a.defineMode("python",function(m,n){function p(a,b){if(a.sol()&&"py"==c(b).type){var d=c(b).offset;if(a.eatSpace()){var e=a.indentation();e>d?t(a,b,"py"):ed;){if("py"!=c(b).type)return!0; +b.scopes.pop()}return c(b).offset!=d}function w(a,b){var d=b.tokenize(a,b),e=a.current();if("."==e)return d=a.match(z,!1)?null:"error",null==d&&"meta"==b.lastStyle&&(d="meta"),d;if("@"==e)return n.version&&3==parseInt(n.version,10)?a.match(z,!1)?"meta":"operator":a.match(z,!1)?"meta":"error";"variable"!=d&&"builtin"!=d||"meta"!=b.lastStyle||(d="meta");if("pass"==e||"return"==e)b.dedent+=1;"lambda"==e&&(b.lambda=!0);":"!=e||b.lambda||"py"!=c(b).type||t(a,b,"py");var f=1==e.length?"[({".indexOf(e): +-1;-1!=f&&t(a,b,"])}".slice(f,f+1));f="])}".indexOf(e);if(-1!=f)if(c(b).type==e)b.scopes.pop();else return"error";0=)|(<>)|(<<)|(>>)|(\/\/)|(\*\*))/,y=n.doubleDelimiters||/^((\+=)|(\-=)|(\*=)|(%=)|(\/=)|(&=)|(\|=)|(\^=))/,C=n.tripleDelimiters||/^((\/\/=)|(>>=)|(<<=)|(\*\*=))/;if(n.version&&3==parseInt(n.version,10))var B= +n.singleOperators||/^[\+\-\*/%&|\^~<>!@]/,z=n.identifiers||RegExp("^[_A-Za-z\u00a1-\uffff][_A-Za-z0-9\u00a1-\uffff]*");else B=n.singleOperators||/^[\+\-\*/%&|\^~<>!]/,z=n.identifiers||/^[_A-Za-z][_A-Za-z0-9]*/;var A=n.hangingIndent||m.indentUnit,D=e,F=f;void 0!=n.extra_keywords&&(D=D.concat(n.extra_keywords));void 0!=n.extra_builtins&&(F=F.concat(n.extra_builtins));if(n.version&&3==parseInt(n.version,10))var D=D.concat(l),F=F.concat(k),E=/^(([rb]|(br))?('{3}|"{3}|['"]))/i;else D=D.concat(h),F=F.concat(g), +E=/^(([rub]|(ur)|(br))?('{3}|"{3}|['"]))/i;var J=b(D),H=b(F);return{startState:function(a){return{tokenize:p,scopes:[{offset:a||0,type:"py",align:null}],lastStyle:null,lastToken:null,lambda:!1,dedent:0}},token:function(a,b){var c=b.errorToken;c&&(b.errorToken=!1);var d=w(a,b);b.lastStyle=d;var e=a.current();e&&d&&(b.lastToken=e);a.eol()&&b.lambda&&(b.lambda=!1);return c?d+" error":d},indent:function(b,d){if(b.tokenize!=p)return b.tokenize.isString?a.Pass:0;var e=c(b),f=d&&d.charAt(0)==e.type;return null!= +e.align?e.align-(f?1:0):f&&1|=,\/@!*:;'"`~#?]/))return null;if(a.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";b=a.next();return"{"==b||"}"==b||"["==b||"]"==b||"("==b||")"==b?"bracket":"%"==b?(a.skipToEnd(),"comment"):"error"}function g(a,b){var c=a.peek(),d; +if("{"==c||"["==c)return d=0\\?]*[^\\W_])?)"));b=c("(?:{0}|`{1}`)","(?:[^\\W\\d_](?:[\\w!\"#$%&'()\\*\\+,\\-\\./:;<=>\\?]*[^\\W_])?)", +"(?:[^\\W\\d_](?:[\\w\\s!\"#$%&'()\\*\\+,\\-\\./:;<=>\\?]*[^\\W_])?)");var v=new RegExp(c("^{0}","(?:[^\\`]+)")),w=/^([!'#$%&"()*+,-./:;<=>?@\[\\\]^_`{|}~])\1{3,}\s*$/,u=new RegExp(c("^\\.\\.{0}","\\s+")),x=new RegExp(c("^_{0}:{1}|^__:{1}",b,"(?:\\s*|\\W|$)")),y=new RegExp(c("^{0}::{1}",b,"(?:\\s*|\\W|$)")),C=new RegExp(c("^\\|{0}\\|{1}{2}::{3}","(?:[^\\s\\|](?:[^\\|]*[^\\s\\|])?)","\\s+",b,"(?:\\s*|\\W|$)")),B=new RegExp(c("^\\[(?:\\d+|#{0}?|\\*)]{1}",b,"(?:\\s*|\\W|$)")),z=new RegExp(c("^\\[{0}\\]{1}", +b,"(?:\\s*|\\W|$)")),A=new RegExp(c("^\\|{0}\\|","(?:[^\\s\\|](?:[^\\|]*[^\\s\\|])?)")),D=new RegExp(c("^\\[(?:\\d+|#{0}?|\\*)]_",b)),F=new RegExp(c("^\\[{0}\\]_",b)),E=new RegExp(c("^{0}__?",b)),J=new RegExp(c("^`{0}`_","(?:[^\\`]+)")),H=new RegExp(c("^:{0}:`{1}`{2}","(?:[^\\W\\d_](?:[\\w!\"#$%&'()\\*\\+,\\-\\./:;<=>\\?]*[^\\W_])?)","(?:[^\\`]+)","(?:\\s*|\\W|$)")),I=new RegExp(c("^`{1}`:{0}:{2}","(?:[^\\W\\d_](?:[\\w!\"#$%&'()\\*\\+,\\-\\./:;<=>\\?]*[^\\W_])?)","(?:[^\\`]+)","(?:\\s*|\\W|$)")), +K=new RegExp(c("^:{0}:{1}","(?:[^\\W\\d_](?:[\\w!\"#$%&'()\\*\\+,\\-\\./:;<=>\\?]*[^\\W_])?)","(?:\\s*|\\W|$)")),L=new RegExp(c("^{0}",b)),M=new RegExp(c("^::{0}","(?:\\s*|\\W|$)")),N=new RegExp(c("^\\|{0}\\|","(?:[^\\s\\|](?:[^\\|]*[^\\s\\|])?)")),Q=new RegExp(c("^{0}","\\s+")),O=new RegExp(c("^{0}",b)),R=new RegExp(c("^::{0}","(?:\\s*|\\W|$)")),S=/^_/,T=new RegExp(c("^{0}|_",b)),P=new RegExp(c("^:{0}","(?:\\s*|\\W|$)")),U=/^::\s*$/,V=/^\s+(?:>>>|In \[\d+\]:)\s/;return{startState:function(){return{tok:d, +ctx:l(void 0,0)}},copyState:function(b){var c=b.ctx,d=b.tmp;c.local&&(c={mode:c.mode,local:a.copyState(c.mode,c.local)});d&&(d={mode:d.mode,local:a.copyState(d.mode,d.local)});return{tok:b.tok,ctx:c,tmp:d}},innerMode:function(a){return a.tmp?{state:a.tmp.local,mode:a.tmp.mode}:a.ctx.mode?{state:a.ctx.local,mode:a.ctx.mode}:null},token:function(a,b){return b.tok(a,b)}}},"python","stex");a.defineMIME("text/x-rst","rst")}); +(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})(function(a){a.defineMode("javascript",function(b,c){function d(a,b,c){rb=a;sb=c;return b}function e(a,b){var c=a.next();if('"'==c||"'"==c)return b.tokenize=f(c),b.tokenize(a,b);if("."==c&&a.match(/^\d+(?:[eE][+\-]?\d+)?/))return d("number","number");if("."==c&&a.match(".."))return d("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(c))return d(c); +if("="==c&&a.eat(">"))return d("=>","operator");if("0"==c&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),d("number","number");if("0"==c&&a.eat(/o/i))return a.eatWhile(/[0-7]/i),d("number","number");if("0"==c&&a.eat(/b/i))return a.eatWhile(/[01]/i),d("number","number");if(/\d/.test(c))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),d("number","number");if("/"==c){if(a.eat("*"))return b.tokenize=g,g(a,b);if(a.eat("/"))return a.skipToEnd(),d("comment","comment");if("operator"==b.lastType||"keyword c"== +b.lastType||"sof"==b.lastType||/^[\[{}\(,;:]$/.test(b.lastType)){a:for(var c=!1,e,k=!1;null!=(e=a.next());){if(!c){if("/"==e&&!k)break a;"["==e?k=!0:k&&"]"==e&&(k=!1)}c=!c&&"\\"==e}a.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/);return d("regexp","string-2")}a.eatWhile(cb);return d("operator","operator",a.current())}if("`"==c)return b.tokenize=h,h(a,b);if("#"==c)return a.skipToEnd(),d("error","error");if(cb.test(c))return a.eatWhile(cb),d("operator","operator",a.current());if(zb.test(c))return a.eatWhile(zb), +c=a.current(),(e=Xb.propertyIsEnumerable(c)&&Xb[c])&&"."!=b.lastType?d(e.type,e.style,c):d("variable","variable",c)}function f(a){return function(b,c){var f=!1,g;if(ra&&"@"==b.peek()&&b.match(mb))return c.tokenize=e,d("jsonld-keyword","meta");for(;null!=(g=b.next())&&(g!=a||f);)f=!f&&"\\"==g;f||(c.tokenize=e);return d("string","string")}}function g(a,b){for(var c=!1,f;f=a.next();){if("/"==f&&c){b.tokenize=e;break}c="*"==f}return d("comment","comment")}function h(a,b){for(var c=!1,f;null!=(f=a.next());){if(!c&& +("`"==f||"$"==f&&a.eat("{"))){b.tokenize=e;break}c=!c&&"\\"==f}return d("quasi","string-2",a.current())}function k(a,b){b.fatArrowAt&&(b.fatArrowAt=null);var c=a.string.indexOf("=>",a.start);if(!(0>c)){for(var d=0,e=!1,c=c-1;0<=c;--c){var f=a.string.charAt(c),g="([{}])".indexOf(f);if(0<=g&&3>g){if(!d){++c;break}if(0==--d)break}else if(3<=g&&6>g)++d;else if(zb.test(f))e=!0;else{if(/["'\/]/.test(f))return;if(e&&!d){++c;break}}}e&&!d&&(b.fatArrowAt=c)}}function l(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 m(){for(var a=arguments.length-1;0<=a;a--)aa.cc.push(arguments[a])}function n(){m.apply(null,arguments);return!0}function p(a){function b(c){for(;c;c=c.next)if(c.name==a)return!0;return!1}var d=aa.state;aa.marked="def";d.context?b(d.localVars)||(d.localVars={name:a,next:d.localVars}):!b(d.globalVars)&&c.globalVars&&(d.globalVars={name:a,next:d.globalVars})}function r(){aa.state.context={prev:aa.state.context,vars:aa.state.localVars}; +aa.state.localVars=vb}function q(){aa.state.localVars=aa.state.context.vars;aa.state.context=aa.state.context.prev}function t(a,b){var c=function(){var c=aa.state,d=c.indented;if("stat"==c.lexical.type)d=c.lexical.indented;else for(var e=c.lexical;e&&")"==e.type&&e.align;e=e.prev)d=e.indented;c.lexical=new l(d,aa.stream.column(),a,null,c.lexical,b)};c.lex=!0;return c}function v(){var a=aa.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function w(a){function b(c){return c== +a?n():";"==a?m():n(b)}return b}function u(a,b){return"var"==a?n(t("vardef",b.length),X,w(";"),v):"keyword a"==a?n(t("form"),x,u,v):"keyword b"==a?n(t("form"),u,v):"{"==a?n(t("}"),P,v):";"==a?n():"if"==a?("else"==aa.state.lexical.info&&aa.state.cc[aa.state.cc.length-1]==v&&aa.state.cc.pop()(),n(t("form"),x,u,v,ta)):"function"==a?n(oa):"for"==a?n(t("form"),yb,u,v):"variable"==a?n(t("stat"),M):"switch"==a?n(t("form"),x,t("}","switch"),w("{"),P,v,v):"case"==a?n(x,w(":")):"default"==a?n(w(":")):"catch"== +a?n(t("form"),r,w("("),nb,w(")"),u,v,q):"class"==a?n(t("form"),mc,v):"export"==a?n(t("stat"),ya,v):"import"==a?n(t("stat"),ua,v):m(t("stat"),x,w(";"),v)}function x(a){return C(a,!1)}function y(a){return C(a,!0)}function C(a,b){if(aa.state.fatArrowAt==aa.stream.start){var c=b?H:J;if("("==a)return n(r,t(")"),S(Z,")"),v,w("=>"),c,q);if("variable"==a)return m(r,Z,w("=>"),c,q)}c=b?D:A;return oc.hasOwnProperty(a)?n(c):"async"==a?n(x):"function"==a?n(oa,c):"keyword c"==a?n(b?z:B):"("==a?n(t(")"),B,Wa,w(")"), +v,c):"operator"==a||"spread"==a?n(b?y:x):"["==a?n(t("]"),Gb,v,c):"{"==a?T(Q,"}",null,c):"quasi"==a?m(F,c):"new"==a?n(I(b)):n()}function B(a){return a.match(/[;\}\)\],]/)?m():m(x)}function z(a){return a.match(/[;\}\)\],]/)?m():m(y)}function A(a,b){return","==a?n(x):D(a,b,!1)}function D(a,b,c){var d=0==c?A:D,e=0==c?x:y;if("=>"==a)return n(r,c?H:J,q);if("operator"==a)return/\+\+|--/.test(b)?n(d):"?"==b?n(x,w(":"),e):n(e);if("quasi"==a)return m(F,d);if(";"!=a){if("("==a)return T(y,")","call",d);if("."== +a)return n(N,d);if("["==a)return n(t("]"),B,w("]"),v,d)}}function F(a,b){return"quasi"!=a?m():"${"!=b.slice(b.length-2)?n(F):n(x,E)}function E(a){if("}"==a)return aa.marked="string-2",aa.state.tokenize=h,n(F)}function J(a){k(aa.stream,aa.state);return m("{"==a?u:x)}function H(a){k(aa.stream,aa.state);return m("{"==a?u:y)}function I(a){return function(b){return"."==b?n(a?L:K):m(a?y:x)}}function K(a,b){if("target"==b)return aa.marked="keyword",n(A)}function L(a,b){if("target"==b)return aa.marked="keyword", +n(D)}function M(a){return":"==a?n(v,u):m(A,w(";"),v)}function N(a){if("variable"==a)return aa.marked="property",n()}function Q(a,b){if("async"==a)return n(Q);if("variable"==a||"keyword"==aa.style)return aa.marked="property","get"==b||"set"==b?n(O):n(R);if("number"==a||"string"==a)return aa.marked=ra?"property":aa.style+" property",n(R);if("jsonld-keyword"==a)return n(R);if("["==a)return n(x,w("]"),R)}function O(a){if("variable"!=a)return m(R);aa.marked="property";return n(oa)}function R(a){if(":"== +a)return n(y);if("("==a)return m(oa)}function S(a,b){function c(d){return","==d?(d=aa.state.lexical,"call"==d.info&&(d.pos=(d.pos||0)+1),n(a,c)):d==b?n():n(w(b))}return function(d){return d==b?n():m(a,c)}}function T(a,b,c){for(var d=3;d!?|~^]/,mb=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,rb,sb,oc={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,"this":!0,"jsonld-keyword":!0},aa={state:null,column:null,marked:null,cc:null},vb={name:"this",next:{name:"arguments"}};v.lex=!0;return{startState:function(a){a={tokenize:e,lastType:"sof",cc:[],lexical:new l((a||0)-pb,0,"block",!1),localVars:c.localVars, +context:c.localVars&&{vars:c.localVars},indented:0};c.globalVars&&"object"==typeof c.globalVars&&(a.globalVars=c.globalVars);return a},token:function(a,b){a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation(),k(a,b));if(b.tokenize!=g&&a.eatSpace())return null;var c=b.tokenize(a,b);if("comment"==rb)return c;b.lastType="operator"!=rb||"++"!=sb&&"--"!=sb?rb:"incdec";a:{var d=rb,e=sb,f=b.cc;aa.state=b;aa.stream=a;aa.marked=null;aa.cc=f;aa.style=c;b.lexical.hasOwnProperty("align")|| +(b.lexical.align=!0);for(;;)if((f.length?f.pop():Pa?x:u)(d,e)){for(;f.length&&f[f.length-1].lex;)f.pop()();if(aa.marked){c=aa.marked;break a}if(d="variable"==d)b:{for(d=b.localVars;d;d=d.next)if(d.name==e){d=!0;break b}for(f=b.context;f;f=f.prev)for(d=f.vars;d;d=d.next)if(d.name==e){d=!0;break b}d=void 0}if(d){c="variable-2";break a}break a}}return c},indent:function(b,d){if(b.tokenize==g)return a.Pass;if(b.tokenize!=e)return 0;var f=d&&d.charAt(0),h=b.lexical;if(!/^\s*else\b/.test(d))for(var k=b.cc.length- +1;0<=k;--k){var l=b.cc[k];if(l==v)h=h.prev;else if(l!=ta)break}"stat"==h.type&&"}"==f&&(h=h.prev);Wb&&")"==h.type&&"stat"==h.prev.type&&(h=h.prev);k=h.type;l=f==k;return"vardef"==k?h.indented+("operator"==b.lastType||","==b.lastType?h.info+1:0):"form"==k&&"{"==f?h.indented:"form"==k?h.indented+pb:"stat"==k?(f=h.indented,h="operator"==b.lastType||","==b.lastType||cb.test(d.charAt(0))||/[,.]/.test(d.charAt(0)),f+(h?Wb||pb:0)):"switch"!=h.info||l||0==c.doubleIndentSwitch?h.align?h.column+(l?0:1):h.indented+ +(l?0:pb):h.indented+(/^(?:case|default)\b/.test(d)?pb:2*pb)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:Pa?null:"/*",blockCommentEnd:Pa?null:"*/",lineComment:Pa?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:Pa?"json":"javascript",jsonldMode:ra,jsonMode:Pa}});a.registerHelper("wordChars","javascript",/[\w$]/);a.defineMIME("text/javascript","javascript");a.defineMIME("text/ecmascript","javascript");a.defineMIME("application/javascript","javascript");a.defineMIME("application/x-javascript", +"javascript");a.defineMIME("application/ecmascript","javascript");a.defineMIME("application/json",{name:"javascript",json:!0});a.defineMIME("application/x-json",{name:"javascript",json:!0});a.defineMIME("application/ld+json",{name:"javascript",jsonld:!0});a.defineMIME("text/typescript",{name:"javascript",typescript:!0});a.defineMIME("application/typescript",{name:"javascript",typescript:!0})}); +(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function b(a){for(var b={},c=0;c*\/]/.test(c)?d(null,"select-op"):"."==c&&a.match(/^-?[_a-z][_a-z0-9-]*/i)?d("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(c)?d(null,c):"u"==c&&a.match(/rl(-prefix)?\(/)||"d"==c&&a.match("omain(")||"r"==c&&a.match("egexp(")?(a.backUp(1),b.tokenize=g,d("property","word")):/[\w\\\-]/.test(c)?(a.eatWhile(/[\w\\\-]/),d("property","word")):d(null,null)}function f(a){return function(b, +c){for(var e=!1,f;null!=(f=b.next());){if(f==a&&!e){")"==a&&b.backUp(1);break}e=!e&&"\\"==f}if(f==a||!e&&")"!=a)c.tokenize=null;return d("string","string")}}function g(a,b){a.next();a.match(/\s*[\"\')]/,!1)?b.tokenize=null:b.tokenize=f(")");return d(null,"(")}function h(a,b,c){this.type=a;this.indent=b;this.prev=c}function k(a,b,c,d){a.context=new h(c,b.indentation()+(!1===d?0:r),a.context);return c}function l(a){a.context.prev&&(a.context=a.context.prev);return a.context.type}function m(a,b,c,d){for(d= +d||1;0