Merge branch 'b-3.6.1' into mebil
[kivitendo-erp.git] / js / ckeditor / plugins / codemirror / js / codemirror.addons.min.js
diff --git a/js/ckeditor/plugins/codemirror/js/codemirror.addons.min.js b/js/ckeditor/plugins/codemirror/js/codemirror.addons.min.js
new file mode 100644 (file)
index 0000000..3fe1403
--- /dev/null
@@ -0,0 +1,103 @@
+!function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/comment/continuecomment.js",["../../lib/codemirror"],a):a(CodeMirror)}(function(a){function m(b){if(b.getOption("disableInput"))return a.Pass;for(var d,c=b.listSelections(),r=[],q=0;q<c.length;q++){var n=c[q].head,p=b.getTokenAt(n);if("comment"!=p.type)return a.Pass;var e=a.innerMode(b.getMode(),p.state).mode;if(d){if(d!=e)return a.Pass}else d=e;e=null;
+if(d.blockCommentStart&&d.blockCommentContinue){var l,f=p.string.indexOf(d.blockCommentEnd),k=b.getRange(a.Pos(n.line,0),a.Pos(n.line,p.end));if(!(-1!=f&&f==p.string.length-d.blockCommentEnd.length&&n.ch>=f))if(0==p.string.indexOf(d.blockCommentStart)){if(e=k.slice(0,p.start),!/^\s*$/.test(e))for(e="",f=0;f<p.start;++f)e+=" "}else-1!=(l=k.indexOf(d.blockCommentContinue))&&l+d.blockCommentContinue.length>p.start&&/^\s*$/.test(k.slice(0,l))&&(e=k.slice(0,l));null!=e&&(e+=d.blockCommentContinue)}null==
+e&&d.lineComment&&t(b)&&(n=b.getLine(n.line),l=n.indexOf(d.lineComment),-1<l&&(e=n.slice(0,l),/\S/.test(e)?e=null:e+=d.lineComment+n.slice(l+d.lineComment.length).match(/^\s*/)[0]));if(null==e)return a.Pass;r[q]="\n"+e}b.operation(function(){for(var f=c.length-1;0<=f;f--)b.replaceRange(r[f],c[f].from(),c[f].to(),"+insert")})}function t(b){b=b.getOption("continueComments");return!b||"object"!=typeof b||!1!==b.continueLineComment}for(var g=["clike","css","javascript"],c=0;c<g.length;++c)a.extendMode(g[c],
+{blockCommentContinue:" * "});a.defineOption("continueComments",null,function(b,d,c){if(c&&c!=a.Init&&b.removeKeyMap("continueComment"),d)c="Enter","string"==typeof d?c=d:"object"==typeof d&&d.key&&(c=d.key),d={name:"continueComment"},d[c]=m,b.addKeyMap(d)})});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/edit/closebrackets.js",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function m(l,f){return"pairs"==f&&"string"==typeof l?l:"object"==typeof l&&null!=l[f]?l[f]:r[f]}function t(l){var f=l.state.closeBrackets;return!f||f.override?f:l.getModeAt(l.getCursor()).closeBrackets||f}function g(l,f){var k=t(l);if(!k||l.getOption("disableInput"))return a.Pass;
+var b=m(k,"pairs"),e=b.indexOf(f);if(-1==e)return a.Pass;for(var p,k=m(k,"triples"),n=b.charAt(e+1)==f,r=l.listSelections(),g=0==e%2,C=0;C<r.length;C++){var w;w=r[C];var u=w.head,y=l.getRange(u,q(u.line,u.ch+1));if(g&&!w.empty())w="surround";else if(!n&&g||y!=f)if(n&&1<u.ch&&0<=k.indexOf(f)&&l.getRange(q(u.line,u.ch-2),u)==f+f&&(2>=u.ch||l.getRange(q(u.line,u.ch-3),q(u.line,u.ch-2))!=f))w="addFour";else{if(n){if(a.isWordChar(y)||!d(l,u,f))return a.Pass}else if(!g||l.getLine(u.line).length!=u.ch&&
+!c(y,b)&&!/\s/.test(y))return a.Pass;w="both"}else w=n&&h(l,u)?"both":0<=k.indexOf(f)&&l.getRange(u,q(u.line,u.ch+3))==f+f+f?"skipThree":"skip";if(p){if(p!=w)return a.Pass}else p=w}var z=e%2?b.charAt(e-1):f,D=e%2?f:b.charAt(e+1);l.operation(function(){if("skip"==p)l.execCommand("goCharRight");else if("skipThree"==p)for(var f=0;3>f;f++)l.execCommand("goCharRight");else if("surround"==p){for(var k=l.getSelections(),f=0;f<k.length;f++)k[f]=z+k[f]+D;l.replaceSelections(k,"around");k=l.listSelections().slice();
+for(f=0;f<k.length;f++){var e=k,b=f,d;d=k[f];var c=0<a.cmpPos(d.anchor,d.head);d={anchor:new q(d.anchor.line,d.anchor.ch+(c?-1:1)),head:new q(d.head.line,d.head.ch+(c?1:-1))};e[b]=d}l.setSelections(k)}else"both"==p?(l.replaceSelection(z+D,null),l.triggerElectric(z+D),l.execCommand("goCharLeft")):"addFour"==p&&(l.replaceSelection(z+z+z+z,"before"),l.execCommand("goCharRight"))})}function c(l,f){var k=f.lastIndexOf(l);return-1<k&&1==k%2}function b(l,f){var k=l.getRange(q(f.line,f.ch-1),q(f.line,f.ch+
+1));return 2==k.length?k:null}function d(l,f,k){var e=l.getLine(f.line),b=l.getTokenAt(f);if(/\bstring2?\b/.test(b.type)||h(l,f))return!1;k=new a.StringStream(e.slice(0,f.ch)+k+e.slice(f.ch),4);for(k.pos=k.start=b.start;;){e=l.getMode().token(k,b.state);if(k.pos>=f.ch+1)return/\bstring2?\b/.test(e);k.start=k.pos}}function h(l,f){var k=l.getTokenAt(q(f.line,f.ch+1));return/\bstring/.test(k.type)&&k.start==f.ch}var r={pairs:"()[]{}''\"\"",triples:"",explode:"[]{}"},q=a.Pos;a.defineOption("autoCloseBrackets",
+!1,function(l,f,k){k&&k!=a.Init&&(l.removeKeyMap(p),l.state.closeBrackets=null);f&&(l.state.closeBrackets=f,l.addKeyMap(p))});for(var n=r.pairs+"`",p={Backspace:function(l){var f=t(l);if(!f||l.getOption("disableInput"))return a.Pass;for(var k=m(f,"pairs"),f=l.listSelections(),e=0;e<f.length;e++){if(!f[e].empty())return a.Pass;var d=b(l,f[e].head);if(!d||0!=k.indexOf(d)%2)return a.Pass}for(e=f.length-1;0<=e;e--)k=f[e].head,l.replaceRange("",q(k.line,k.ch-1),q(k.line,k.ch+1),"+delete")},Enter:function(e){var f=
+t(e),f=f&&m(f,"explode");if(!f||e.getOption("disableInput"))return a.Pass;for(var k=e.listSelections(),d=0;d<k.length;d++){if(!k[d].empty())return a.Pass;var c=b(e,k[d].head);if(!c||0!=f.indexOf(c)%2)return a.Pass}e.operation(function(){e.replaceSelection("\n\n",null);e.execCommand("goCharLeft");k=e.listSelections();for(var f=0;f<k.length;f++){var b=k[f].head.line;e.indentLine(b,null,!0);e.indentLine(b+1,null,!0)}})}},e=0;e<n.length;e++)p["'"+n.charAt(e)+"'"]=function(e){return function(f){return g(f,
+e)}}(n.charAt(e))});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/fold/xml-fold",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function m(e,b,f,k){this.line=b;this.ch=f;this.cm=e;this.text=e.getLine(b);this.min=k?Math.max(k.from,e.firstLine()):e.firstLine();this.max=k?Math.min(k.to-1,e.lastLine()):e.lastLine()}function t(e,b){var f=e.cm.getTokenTypeAt(n(e.line,b));return f&&/\btag\b/.test(f)}function g(e){if(!(e.line>=
+e.max))return e.ch=0,e.text=e.cm.getLine(++e.line),!0}function c(e){if(!(e.line<=e.min))return e.text=e.cm.getLine(--e.line),e.ch=e.text.length,!0}function b(e){for(;;){var b=e.text.indexOf("\x3e",e.ch);if(-1==b){if(g(e))continue;break}if(t(e,b+1)){var f=e.text.lastIndexOf("/",b),f=-1<f&&!/\S/.test(e.text.slice(f+1,b));return e.ch=b+1,f?"selfClose":"regular"}e.ch=b+1}}function d(e){for(;;){var b=e.ch?e.text.lastIndexOf("\x3c",e.ch-1):-1;if(-1==b){if(c(e))continue;break}if(t(e,b+1)){p.lastIndex=b;
+e.ch=b;var f=p.exec(e.text);if(f&&f.index==b)return f}else e.ch=b}}function h(e){for(;;){p.lastIndex=e.ch;var b=p.exec(e.text);if(!b){if(g(e))continue;break}if(t(e,b.index+1))return e.ch=b.index+b[0].length,b;e.ch=b.index+1}}function r(e,d){for(var f=[];;){var k,a=h(e),c=e.line,p=e.ch-(a?a[0].length:0);if(!a||!(k=b(e)))break;if("selfClose"!=k)if(a[1]){for(var q=f.length-1;0<=q;--q)if(f[q]==a[2]){f.length=q;break}if(0>q&&(!d||d==a[2]))return{tag:a[2],from:n(c,p),to:n(e.line,e.ch)}}else f.push(a[2])}}
+function q(b,a){for(var f=[];;){var k;a:for(k=b;;){var p=k.ch?k.text.lastIndexOf("\x3e",k.ch-1):-1;if(-1==p){if(c(k))continue;k=void 0;break a}if(t(k,p+1)){var h=k.text.lastIndexOf("/",p),h=-1<h&&!/\S/.test(k.text.slice(h+1,p));k=(k.ch=p+1,h?"selfClose":"regular");break a}k.ch=p}if(!k)break;if("selfClose"!=k){k=b.line;p=b.ch;h=d(b);if(!h)break;if(h[1])f.push(h[2]);else{for(var q=f.length-1;0<=q;--q)if(f[q]==h[2]){f.length=q;break}if(0>q&&(!a||a==h[2]))return{tag:h[2],from:n(b.line,b.ch),to:n(k,p)}}}else d(b)}}
+var n=a.Pos,p=RegExp("\x3c(/?)([A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*)","g");a.registerHelper("fold","xml",function(e,a){for(var f=new m(e,a.line,0);;){var k,
+d=h(f);if(!d||f.line!=a.line||!(k=b(f)))break;if(!d[1]&&"selfClose"!=k)return k=n(f.line,f.ch),(f=r(f,d[2]))&&{from:k,to:f.from}}});a.findMatchingTag=function(e,a,f){var k=new m(e,a.line,a.ch,f);if(-1!=k.text.indexOf("\x3e")||-1!=k.text.indexOf("\x3c")){var c=b(k),p=c&&n(k.line,k.ch),h=c&&d(k);if(c&&h&&!(0<(k.line-a.line||k.ch-a.ch)))return a={from:n(k.line,k.ch),to:p,tag:h[2]},"selfClose"==c?{open:a,close:null,at:"open"}:h[1]?{open:q(k,h[2]),close:a,at:"close"}:(k=new m(e,p.line,p.ch,f),{open:a,
+close:r(k,h[2]),at:"open"})}};a.findEnclosingTag=function(b,a,f,k){for(var d=new m(b,a.line,a.ch,f);;){var c=q(d,k);if(!c)break;var p=new m(b,a.line,a.ch,f);if(p=r(p,c.tag))return{open:c,close:p}}};a.scanForClosingTag=function(b,a,f,k){return r(new m(b,a.line,a.ch,k?{from:0,to:k}:null),f)}});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define("addon/edit/closetag.js",["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})(function(a){function m(h){if(h.getOption("disableInput"))return a.Pass;for(var r=h.listSelections(),q=[],n=0;n<r.length;n++){if(!r[n].empty())return a.Pass;var p=r[n].head,e=h.getTokenAt(p),l=a.innerMode(h.getMode(),e.state),f=l.state;if("xml"!=
+l.mode.name||!f.tagName)return a.Pass;var k=h.getOption("autoCloseTags"),v="html"==l.mode.configuration,l="object"==typeof k&&k.dontCloseTags||v&&b,v="object"==typeof k&&k.indentTags||v&&d,k=f.tagName;e.end>p.ch&&(k=k.slice(0,k.length-e.end+p.ch));var t=k.toLowerCase();if(!k||"string"==e.type&&(e.end!=p.ch||!/[\"\']/.test(e.string.charAt(e.string.length-1))||1==e.string.length)||"tag"==e.type&&"closeTag"==f.type||e.string.indexOf("/")==e.string.length-1||l&&-1<g(l,t)||c(h,k,p,f,!0))return a.Pass;
+e=v&&-1<g(v,t);q[n]={indent:e,text:"\x3e"+(e?"\n\n":"")+"\x3c/"+k+"\x3e",newPos:e?a.Pos(p.line+1,0):a.Pos(p.line,p.ch+1)}}for(n=r.length-1;0<=n;n--)p=q[n],h.replaceRange(p.text,r[n].head,r[n].anchor,"+insert"),e=h.listSelections().slice(0),e[n]={head:p.newPos,anchor:p.newPos},h.setSelections(e),p.indent&&(h.indentLine(p.newPos.line,null,!0),h.indentLine(p.newPos.line+1,null,!0))}function t(b,d){for(var q=b.listSelections(),n=[],p=d?"/":"\x3c/",e=0;e<q.length;e++){if(!q[e].empty())return a.Pass;var l=
+q[e].head,f=b.getTokenAt(l),k=a.innerMode(b.getMode(),f.state),g=k.state;if(d&&("string"==f.type||"\x3c"!=f.string.charAt(0)||f.start!=l.ch-1))return a.Pass;if("xml"!=k.mode.name)if("htmlmixed"==b.getMode().name&&"javascript"==k.mode.name)k=p+"script";else{if("htmlmixed"!=b.getMode().name||"css"!=k.mode.name)return a.Pass;k=p+"style"}else{if(!g.context||!g.context.tagName||c(b,g.context.tagName,l,g))return a.Pass;k=p+g.context.tagName}"\x3e"!=b.getLine(l.line).charAt(f.end)&&(k+="\x3e");n[e]=k}b.replaceSelections(n);
+q=b.listSelections();for(e=0;e<q.length;e++)(e==q.length-1||q[e].head.line<q[e+1].head.line)&&b.indentLine(q[e].head.line)}function g(b,a){if(b.indexOf)return b.indexOf(a);for(var d=0,c=b.length;d<c;++d)if(b[d]==a)return d;return-1}function c(b,d,c,n,p){if(!a.scanForClosingTag)return!1;var e=Math.min(b.lastLine()+1,c.line+500);c=a.scanForClosingTag(b,c,null,e);if(!c||c.tag!=d)return!1;n=n.context;for(p=p?1:0;n&&n.tagName==d;n=n.prev)++p;c=c.to;for(n=1;n<p;n++){c=a.scanForClosingTag(b,c,null,e);if(!c||
+c.tag!=d)return!1;c=c.to}return!0}a.defineOption("autoCloseTags",!1,function(b,d,c){if(c!=a.Init&&c&&b.removeKeyMap("autoCloseTags"),d)c={name:"autoCloseTags"},("object"!=typeof d||d.whenClosing)&&(c["'/'"]=function(b){return b.getOption("disableInput")?a.Pass:t(b,!0)}),("object"!=typeof d||d.whenOpening)&&(c["'\x3e'"]=function(b){return m(b)}),b.addKeyMap(c)});var b="area base br col command embed hr img input keygen link meta param source track wbr".split(" "),d="applet blockquote body button div dl fieldset form frameset h1 h2 h3 h4 h5 h6 head html iframe layer legend object ol p select table ul".split(" ");
+a.commands.closeTag=function(b){return t(b)}});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/edit/matchbrackets.js",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function m(b,a,c){var e=b.getLineHandle(a.line),l=a.ch-1,f=c&&c.afterCursor;null==f&&(f=/(^| )cm-fat-cursor($| )/.test(b.getWrapperElement().className));e=!f&&0<=l&&h[e.text.charAt(l)]||h[e.text.charAt(++l)];if(!e)return null;f="\x3e"==e.charAt(1)?1:-1;if(c&&c.strict&&0<f!=
+(l==a.ch))return null;var k=b.getTokenTypeAt(d(a.line,l+1));b=t(b,d(a.line,l+(0<f?1:0)),f,k||null,c);return null==b?null:{from:d(a.line,l),to:b&&b.pos,match:b&&b.ch==e.charAt(0),forward:0<f}}function t(b,a,c,e,l){var f=l&&l.maxScanLineLength||1E4,k=l&&l.maxScanLines||1E3,g=[];l=l&&l.bracketRegex?l.bracketRegex:/[(){}[\]]/;for(var k=0<c?Math.min(a.line+k,b.lastLine()+1):Math.max(b.firstLine()-1,a.line-k),r=a.line;r!=k;r+=c){var t=b.getLine(r);if(t){var m=0<c?0:t.length-1,E=0<c?t.length:-1;if(!(t.length>
+f))for(r==a.line&&(m=a.ch-(0>c?1:0));m!=E;m+=c){var A=t.charAt(m);if(l.test(A)&&(void 0===e||b.getTokenTypeAt(d(r,m+1))==e))if("\x3e"==h[A].charAt(1)==0<c)g.push(A);else{if(!g.length)return{pos:d(r,m),ch:A};g.pop()}}}}return r-c!=(0<c?b.lastLine():b.firstLine())&&null}function g(a,c,p){for(var e=a.state.matchBrackets.maxHighlightLineLength||1E3,l=[],f=a.listSelections(),k=0;k<f.length;k++){var h=f[k].empty()&&m(a,f[k].head,p);if(h&&a.getLine(h.from.line).length<=e){var g=h.match?"CodeMirror-matchingbracket":
+"CodeMirror-nonmatchingbracket";l.push(a.markText(h.from,d(h.from.line,h.from.ch+1),{className:g}));h.to&&a.getLine(h.to.line).length<=e&&l.push(a.markText(h.to,d(h.to.line,h.to.ch+1),{className:g}))}}if(l.length){b&&a.state.focused&&a.focus();p=function(){a.operation(function(){for(var b=0;b<l.length;b++)l[b].clear()})};if(!c)return p;setTimeout(p,800)}}function c(b){b.operation(function(){r&&(r(),r=null);r=g(b,!1,b.state.matchBrackets)})}var b=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||
+8>document.documentMode),d=a.Pos,h={"(":")\x3e",")":"(\x3c","[":"]\x3e","]":"[\x3c","{":"}\x3e","}":"{\x3c"},r=null;a.defineOption("matchBrackets",!1,function(b,d,p){p&&p!=a.Init&&(b.off("cursorActivity",c),r&&(r(),r=null));d&&(b.state.matchBrackets="object"==typeof d?d:{},b.on("cursorActivity",c))});a.defineExtension("matchBrackets",function(){g(this,!0)});a.defineExtension("findMatchingBracket",function(b,a,c){return(c||"boolean"==typeof a)&&(c?(c.strict=a,a=c):a=a?{strict:!0}:null),m(this,b,a)});
+a.defineExtension("scanForBracket",function(b,a,c,e){return t(this,b,a,c,e)})});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define("addon/edit/matchtags.js",["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})(function(a){function m(a){a.state.tagHit&&a.state.tagHit.clear();a.state.tagOther&&a.state.tagOther.clear();a.state.tagHit=a.state.tagOther=null}function t(c){c.state.failedTagMatch=!1;c.operation(function(){if(m(c),!c.somethingSelected()){var b=
+c.getCursor(),d=c.getViewport();d.from=Math.min(d.from,b.line);d.to=Math.max(b.line+1,d.to);if(b=a.findMatchingTag(c,b,d))c.state.matchBothTags&&(d="open"==b.at?b.open:b.close)&&(c.state.tagHit=c.markText(d.from,d.to,{className:"CodeMirror-matchingtag"})),(b="close"==b.at?b.open:b.close)?c.state.tagOther=c.markText(b.from,b.to,{className:"CodeMirror-matchingtag"}):c.state.failedTagMatch=!0}})}function g(a){a.state.failedTagMatch&&t(a)}a.defineOption("matchTags",!1,function(c,b,d){d&&d!=a.Init&&(c.off("cursorActivity",
+t),c.off("viewportChange",g),m(c));b&&(c.state.matchBothTags="object"==typeof b&&b.bothTags,c.on("cursorActivity",t),c.on("viewportChange",g),t(c))});a.commands.toMatchingTag=function(c){var b=a.findMatchingTag(c,c.getCursor());b&&(b="close"==b.at?b.open:b.close)&&c.extendSelection(b.to,b.from)}});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/edit/trailingspace.js",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){a.defineOption("showTrailingSpace",!1,function(m,t,g){g==a.Init&&(g=!1);g&&!t?m.removeOverlay("trailingspace"):!g&&t&&m.addOverlay({token:function(a){for(var b=a.string.length,d=b;d&&/\s/.test(a.string.charAt(d-1));--d);return d>a.pos?(a.pos=d,null):(a.pos=b,"trailingspace")},
+name:"trailingspace"})})});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/fold/foldcode",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function m(b,d,c,r){function q(f){var a=n(b,d);if(!a||a.to.line-a.from.line<p)return null;for(var e=b.findMarksAt(a.from),c=0;c<e.length;++c)if(e[c].__isFold&&"fold"!==r){if(!f)return null;a.cleared=!0;e[c].clear()}return a}if(c&&c.call){var n=c;c=null}else n=g(b,c,"rangeFinder");
+"number"==typeof d&&(d=a.Pos(d,0));var p=g(b,c,"minFoldSize"),e=q(!0);if(g(b,c,"scanUp"))for(;!e&&d.line>b.firstLine();)d=a.Pos(d.line-1,0),e=q(!1);if(e&&!e.cleared&&"unfold"!==r){var l=t(b,c);a.on(l,"mousedown",function(b){f.clear();a.e_preventDefault(b)});var f=b.markText(e.from,e.to,{replacedWith:l,clearOnEnter:g(b,c,"clearOnEnter"),__isFold:!0});f.on("clear",function(f,c){a.signal(b,"unfold",b,f,c)});a.signal(b,"fold",b,e.from,e.to)}}function t(b,a){var c=g(b,a,"widget");if("string"==typeof c){var r=
+document.createTextNode(c),c=document.createElement("span");c.appendChild(r);c.className="CodeMirror-foldmarker"}else c&&(c=c.cloneNode(!0));return c}function g(b,a,h){return a&&void 0!==a[h]?a[h]:(b=b.options.foldOptions)&&void 0!==b[h]?b[h]:c[h]}a.newFoldFunction=function(b,a){return function(c,g){m(c,g,{rangeFinder:b,widget:a})}};a.defineExtension("foldCode",function(b,a,c){m(this,b,a,c)});a.defineExtension("isFolded",function(b){b=this.findMarksAt(b);for(var a=0;a<b.length;++a)if(b[a].__isFold)return!0});
+a.commands.toggleFold=function(b){b.foldCode(b.getCursor())};a.commands.fold=function(b){b.foldCode(b.getCursor(),null,"fold")};a.commands.unfold=function(b){b.foldCode(b.getCursor(),null,"unfold")};a.commands.foldAll=function(b){b.operation(function(){for(var c=b.firstLine(),h=b.lastLine();c<=h;c++)b.foldCode(a.Pos(c,0),null,"fold")})};a.commands.unfoldAll=function(b){b.operation(function(){for(var c=b.firstLine(),h=b.lastLine();c<=h;c++)b.foldCode(a.Pos(c,0),null,"unfold")})};a.registerHelper("fold",
+"combine",function(){var b=Array.prototype.slice.call(arguments,0);return function(a,c){for(var g=0;g<b.length;++g){var t=b[g](a,c);if(t)return t}}});a.registerHelper("fold","auto",function(b,a){for(var c=b.getHelpers(a,"fold"),g=0;g<c.length;g++){var t=c[g](b,a);if(t)return t}});var c={rangeFinder:a.fold.auto,widget:"↔",minFoldSize:0,scanUp:!1,clearOnEnter:!0};a.defineOption("foldOptions",null);a.defineExtension("foldOption",function(b,a){return g(this,b,a)})});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./foldcode")):"function"==typeof define&&define.amd?define("addon/fold/foldgutter.js",["../../lib/codemirror","./foldcode"],a):a(CodeMirror)})(function(a){function m(b){this.options=b;this.from=this.to=0}function t(b,a){for(var c=b.findMarks(n(a,0),n(a+1,0)),f=0;f<c.length;++f)if(c[f].__isFold&&c[f].find().from.line==a)return c[f]}function g(b){if("string"==typeof b){var a=document.createElement("div");
+return a.className=b+" CodeMirror-guttermarker-subtle",a}return b.cloneNode(!0)}function c(b,a,c){var f=b.state.foldGutter.options,k=a,d=b.foldOption(f,"minFoldSize"),h=b.foldOption(f,"rangeFinder");b.eachLine(a,c,function(a){var c=null;if(t(b,k))c=g(f.indicatorFolded);else{var e=n(k,0);(e=h&&h(b,e))&&e.to.line-e.from.line>=d&&(c=g(f.indicatorOpen))}b.setGutterMarker(a,f.gutter,c);++k})}function b(b){var a=b.getViewport(),d=b.state.foldGutter;d&&(b.operation(function(){c(b,a.from,a.to)}),d.from=a.from,
+d.to=a.to)}function d(b,a,c){var f=b.state.foldGutter;f&&(f=f.options,c==f.gutter&&((c=t(b,a))?c.clear():b.foldCode(n(a,0),f.rangeFinder)))}function h(a){var c=a.state.foldGutter;if(c){var d=c.options;c.from=c.to=0;clearTimeout(c.changeUpdate);c.changeUpdate=setTimeout(function(){b(a)},d.foldOnChangeTimeSpan||600)}}function r(a){var e=a.state.foldGutter;if(e){var d=e.options;clearTimeout(e.changeUpdate);e.changeUpdate=setTimeout(function(){var f=a.getViewport();e.from==e.to||20<f.from-e.to||20<e.from-
+f.to?b(a):a.operation(function(){f.from<e.from&&(c(a,f.from,e.from),e.from=f.from);f.to>e.to&&(c(a,e.to,f.to),e.to=f.to)})},d.updateViewportTimeSpan||400)}}function q(b,a){var d=b.state.foldGutter;if(d){var f=a.line;f>=d.from&&f<d.to&&c(b,f,f+1)}}a.defineOption("foldGutter",!1,function(c,e,l){l&&l!=a.Init&&(c.clearGutter(c.state.foldGutter.options.gutter),c.state.foldGutter=null,c.off("gutterClick",d),c.off("change",h),c.off("viewportChange",r),c.off("fold",q),c.off("unfold",q),c.off("swapDoc",h));
+if(e){l=c.state;var f=e;e=(!0===f&&(f={}),null==f.gutter&&(f.gutter="CodeMirror-foldgutter"),null==f.indicatorOpen&&(f.indicatorOpen="CodeMirror-foldgutter-open"),null==f.indicatorFolded&&(f.indicatorFolded="CodeMirror-foldgutter-folded"),f);l.foldGutter=new m(e);b(c);c.on("gutterClick",d);c.on("change",h);c.on("viewportChange",r);c.on("fold",q);c.on("unfold",q);c.on("swapDoc",h)}});var n=a.Pos});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/fold/brace-fold.js",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){a.registerHelper("fold","brace",function(m,t){function g(f){for(var k=t.ch,e=0;;)if(k=0>=k?-1:d.lastIndexOf(f,k-1),-1!=k){if(1==e&&k<t.ch)break;if(c=m.getTokenTypeAt(a.Pos(b,k+1)),!/^(comment|string)/.test(c))return k+1;--k}else{if(1==e)break;e=1;k=d.length}}var c,b=t.line,d=
+m.getLine(b),h="{",r="}",q=g("{");if(null==q&&(h="[",r="]",q=g("[")),null!=q){var n,p,e=1,l=m.lastLine(),f=b;a:for(;f<=l;++f)for(var k=m.getLine(f),v=f==b?q:0;;){var x=k.indexOf(h,v),B=k.indexOf(r,v);if(0>x&&(x=k.length),0>B&&(B=k.length),(v=Math.min(x,B))==k.length)break;if(m.getTokenTypeAt(a.Pos(f,v+1))==c)if(v==x)++e;else if(!--e){n=f;p=v;break a}++v}if(null!=n&&(b!=n||p!=q))return{from:a.Pos(b,q),to:a.Pos(n,p)}}});a.registerHelper("fold","import",function(m,t){function g(b){if(b<m.firstLine()||
+b>m.lastLine())return null;var c=m.getTokenAt(a.Pos(b,1));if(/\S/.test(c.string)||(c=m.getTokenAt(a.Pos(b,c.end+1))),"keyword"!=c.type||"import"!=c.string)return null;var d=b;for(b=Math.min(m.lastLine(),b+10);d<=b;++d){var g=m.getLine(d).indexOf(";");if(-1!=g)return{startCh:c.end,end:a.Pos(d,g)}}}var c,b=t.line,d=g(b);if(!d||g(b-1)||(c=g(b-2))&&c.end.line==b-1)return null;for(c=d.end;;){var h=g(c.line+1);if(null==h)break;c=h.end}return{from:m.clipPos(a.Pos(b,d.startCh+1)),to:c}});a.registerHelper("fold",
+"include",function(m,t){function g(b){if(b<m.firstLine()||b>m.lastLine())return null;var c=m.getTokenAt(a.Pos(b,1));return/\S/.test(c.string)||(c=m.getTokenAt(a.Pos(b,c.end+1))),"meta"==c.type&&"#include"==c.string.slice(0,8)?c.start+8:void 0}var c=t.line,b=g(c);if(null==b||null!=g(c-1))return null;for(var d=c;null!=g(d+1);)++d;return{from:a.Pos(c,b+1),to:m.clipPos(a.Pos(d))}})});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/fold/comment-fold.js",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){a.registerGlobalHelper("fold","comment",function(a){return a.blockCommentStart&&a.blockCommentEnd},function(m,t){var g=m.getModeAt(t),c=g.blockCommentStart,g=g.blockCommentEnd;if(c&&g){var b,d=t.line;b=m.getLine(d);for(var h=t.ch,r=0;;)if(h=0>=h?-1:b.lastIndexOf(c,h-1),-1!=
+h){if(1==r&&h<t.ch)return;if(/comment/.test(m.getTokenTypeAt(a.Pos(d,h+1)))&&(0==h||b.slice(h-g.length,h)==g||!/comment/.test(m.getTokenTypeAt(a.Pos(d,h))))){b=h+c.length;break}--h}else{if(1==r)return;r=1;h=b.length}var q,n,r=1,h=m.lastLine(),p=d;a:for(;p<=h;++p)for(var e=m.getLine(p),l=p==d?b:0;;){var f=e.indexOf(c,l),k=e.indexOf(g,l);if(0>f&&(f=e.length),0>k&&(k=e.length),(l=Math.min(f,k))==e.length)break;if(l==f)++r;else if(!--r){q=p;n=l;break a}++l}if(null!=q&&(d!=q||n!=b))return{from:a.Pos(d,
+b),to:a.Pos(q,n)}}})});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/fold/indent-fold.js",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function m(t,g){var c=t.getLine(g),b=c.search(/\S/);return-1==b||/\bcomment\b/.test(t.getTokenTypeAt(a.Pos(g,b+1)))?-1:a.countColumn(c,null,t.getOption("tabSize"))}a.registerHelper("fold","indent",function(t,g){var c=m(t,g.line);if(!(0>c)){for(var b=null,d=g.line+1,h=t.lastLine();d<=
+h;++d){var r=m(t,d);if(-1!=r){if(!(r>c))break;b=d}}return b?{from:a.Pos(g.line,t.getLine(g.line).length),to:a.Pos(b,t.getLine(b).length)}:void 0}})});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/format/autoFormatAll.js",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){a.defineExtension("autoFormatAll",function(m,t){for(var g=this,c=g.getMode(),b=g.getRange(m,t).split("\n"),d=a.copyState(c,g.getTokenAt(m).state),h=g.getOption("tabSize"),r="",q=0,n=0==m.ch,p=0;p<b.length;++p){for(var e=new a.StringStream(b[p],h);!e.eol();){var l=a.innerMode(c,
+d),f=c.token(e,d),k=e.current();e.start=e.pos;n&&!/\S/.test(k)||(r+=k,n=!1);!n&&l.mode.newlineAfterToken&&l.mode.newlineAfterToken(f,k,e.string.slice(e.pos)||b[p+1]||"",l.state)&&(r+="\n",n=!0,++q)}!e.pos&&c.blankLine&&c.blankLine(d);!n&&p<b.length-1&&(r+="\n",n=!0,++q)}g.operation(function(){g.replaceRange(r,m,t);for(var b=m.line+1,a=m.line+q;b<=a;++b)g.indentLine(b,"smart");g.setCursor({line:0,ch:0})})})});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/format/formatting.js",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function m(a){for(var g=[/for\s*?\((.*?)\)/g,/&#?[a-z0-9]+;[\s\S]/g,/\"(.*?)((\")|$)/g,/\/\*(.*?)(\*\/|$)/g,/^\/\/.*/g],c=[],b=0;b<g.length;b++)for(var d=0;d<a.length;){var h=a.substr(d).match(g[b]);if(null==h)break;c.push({start:d+h.index,end:d+h.index+h[0].length});d+=h.index+
+Math.max(1,h[0].length)}return c.sort(function(b,a){return b.start-a.start}),c}a.extendMode("css",{commentStart:"/*",commentEnd:"*/",newlineAfterToken:function(a,g){return/^[;{}]$/.test(g)}});a.extendMode("javascript",{commentStart:"/*",commentEnd:"*/",wordWrapChars:[";","\\{","\\}"],autoFormatLineBreaks:function(a){var g=0,c=this.jsonMode?function(b){return b.replace(/([,{])/g,"$1\n").replace(/}/g,"\n}")}:function(b){return b.replace(/(;|\{|\})([^\r\n;])/g,"$1\n$2")},b=m(a),d="";if(null!=b){for(var h=
+0;h<b.length;h++)b[h].start>g&&(d+=c(a.substring(g,b[h].start)),g=b[h].start),b[h].start<=g&&b[h].end>=g&&(d+=a.substring(g,b[h].end),g=b[h].end);g<a.length&&(d+=c(a.substr(g)))}else d=c(a);return d.replace(/^\n*|\n*$/,"")}});a.extendMode("xml",{commentStart:"\x3c!--",commentEnd:"--\x3e",noBreak:!1,noBreakEmpty:null,tagType:"",tagName:"",isXML:!1,newlineAfterToken:function(a,g,c,b){b=!1;var d=null,h="";if(this.isXML="xml"==this.configuration,"comment"==a||/\x3c!--/.test(c))return!1;if("tag"==a){0==
+g.indexOf("\x3c")&&0==!g.indexOf("\x3c/")&&(this.tagType="open",d=g.match(/^<\s*?([\w]+?)$/i),this.tagName=null!=d?d[1]:"",h=this.tagName.toLowerCase(),-1!="|label|li|option|textarea|title|a|b|bdi|bdo|big|center|cite|del|em|font|i|img|ins|s|small|span|strike|strong|sub|sup|u|".indexOf("|"+h+"|")&&(this.noBreak=!0));if(0==g.indexOf("\x3e")&&"open"==this.tagType)return this.tagType="",RegExp("^"+(this.isXML?"[^\x3c]*?":"")+"\x3c/s*?"+this.tagName+"s*?\x3e","i").test(c)?(this.noBreak=!1,this.isXML||
+(this.tagName=""),!1):(b=this.noBreak,this.noBreak=!1,!b);if(0==g.indexOf("\x3c/")&&(this.tagType="close",d=g.match(/^<\/\s*?([\w]+?)$/i),null!=d&&(h=d[1].toLowerCase()),-1!="|a|b|bdi|bdo|big|center|cite|del|em|font|i|img|ins|s|small|span|strike|strong|sub|sup|u|".indexOf("|"+h+"|")&&(this.noBreak=!0)),0==g.indexOf("\x3e")&&"close"==this.tagType)return this.tagType="",0==c.indexOf("\x3c")&&(d=c.match(/^<\/?\s*?([\w]+?)(\s|>)/i),h=null!=d?d[1].toLowerCase():"",-1=="|label|li|option|textarea|title|a|b|bdi|bdo|big|center|cite|del|em|font|i|img|ins|s|small|span|strike|strong|sub|sup|u|".indexOf("|"+
+h+"|"))?(this.noBreak=!1,!0):(b=this.noBreak,this.noBreak=!1,!b)}return 0==c.indexOf("\x3c")&&(this.noBreak=!1,this.isXML&&""!=this.tagName?(this.tagName="",!1):(d=c.match(/^<\/?\s*?([\w]+?)(\s|>)/i),h=null!=d?d[1].toLowerCase():"",-1=="|label|li|option|textarea|title|a|b|bdi|bdo|big|center|cite|del|em|font|i|img|ins|s|small|span|strike|strong|sub|sup|u|".indexOf("|"+h+"|")))}});a.defineExtension("commentRange",function(t,g,c){var b=this,d=a.innerMode(b.getMode(),b.getTokenAt(g).state).mode;b.operation(function(){if(t)b.replaceRange(d.commentEnd,
+c),b.replaceRange(d.commentStart,g),b.setSelection(g,{line:c.line,ch:c.ch+d.commentStart.length+d.commentEnd.length}),g.line==c.line&&g.ch==c.ch&&b.setCursor(g.line,g.ch+d.commentStart.length);else{var a=b.getRange(g,c),r=a.indexOf(d.commentStart),q=a.lastIndexOf(d.commentEnd);-1<r&&-1<q&&q>r&&(a=a.substr(0,r)+a.substring(r+d.commentStart.length,q)+a.substr(q+d.commentEnd.length));b.replaceRange(a,g,c);b.setSelection(g,{line:c.line,ch:c.ch-d.commentStart.length-d.commentEnd.length})}})});a.defineExtension("autoIndentRange",
+function(a,g){var c=this;this.operation(function(){for(var b=a.line;b<=g.line;b++)c.indentLine(b,"smart")})});a.defineExtension("autoFormatRange",function(t,g){for(var c=this,b=c.getMode(),d=c.getRange(t,g).split("\n"),h=a.copyState(b,c.getTokenAt(t).state),r=c.getOption("tabSize"),q="",n=0,p=0==t.ch,e=0;e<d.length;++e){for(var l=new a.StringStream(d[e],r);!l.eol();){var f=a.innerMode(b,h),k=b.token(l,h),m=l.current();l.start=l.pos;p&&!/\S/.test(m)||(q+=m,p=!1);!p&&f.mode.newlineAfterToken&&f.mode.newlineAfterToken(k,
+m,l.string.slice(l.pos)||d[e+1]||"",f.state)&&(q+="\n",p=!0,++n)}!l.pos&&b.blankLine&&b.blankLine(h);!p&&e<d.length-1&&(q+="\n",p=!0,++n)}c.operation(function(){c.replaceRange(q,t,g);for(var b=t.line+1,a=t.line+n;b<=a;++b)c.indentLine(b,"smart");c.setSelection(t,c.getCursor(!1))})})});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/selection/active-line.js",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function m(a){for(var c=0;c<a.state.activeLines.length;c++)a.removeLineClass(a.state.activeLines[c],"wrap",b),a.removeLineClass(a.state.activeLines[c],"background",d),a.removeLineClass(a.state.activeLines[c],"gutter",h)}function t(b,a){if(b.length!=a.length)return!1;for(var c=
+0;c<b.length;c++)if(b[c]!=a[c])return!1;return!0}function g(a,c){for(var g=[],p=0;p<c.length;p++){var e=c[p],l=a.getOption("styleActiveLine");if("object"==typeof l&&l.nonEmpty?e.anchor.line==e.head.line:e.empty())e=a.getLineHandleVisualStart(e.head.line),g[g.length-1]!=e&&g.push(e)}t(a.state.activeLines,g)||a.operation(function(){m(a);for(var c=0;c<g.length;c++)a.addLineClass(g[c],"wrap",b),a.addLineClass(g[c],"background",d),a.addLineClass(g[c],"gutter",h);a.state.activeLines=g})}function c(b,a){g(b,
+a.ranges)}var b="CodeMirror-activeline",d="CodeMirror-activeline-background",h="CodeMirror-activeline-gutter";a.defineOption("styleActiveLine",!1,function(b,d,h){h=h!=a.Init&&h;d!=h&&(h&&(b.off("beforeSelectionChange",c),m(b),delete b.state.activeLines),d&&(b.state.activeLines=[],g(b,b.listSelections()),b.on("beforeSelectionChange",c)))})});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/search/searchcursor",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function m(b){if(!b.global){var a=b.flags;b=new RegExp(b.source,(null!=a?a:(b.ignoreCase?"i":"")+(b.global?"g":"")+(b.multiline?"m":""))+"g")}return b}function t(b,a,c){a=m(a);var e=c.line,d=c.ch;for(c=b.lastLine();e<=c;e++,d=0)if(a.lastIndex=d,d=b.getLine(e),d=a.exec(d))return{from:l(e,
+d.index),to:l(e,d.index+d[0].length),match:d}}function g(b,a,c){if(!/\\s|\\n|\n|\\W|\\D|\[\^/.test(a.source))return t(b,a,c);a=m(a);for(var d,e=1,g=c.line,h=b.lastLine();g<=h;){for(var p=0;p<e;p++){var n=b.getLine(g++);d=null==d?n:d+"\n"+n}e*=2;a.lastIndex=c.ch;if(p=a.exec(d))return a=d.slice(0,p.index).split("\n"),b=p[0].split("\n"),c=c.line+a.length-1,a=a[a.length-1].length,{from:l(c,a),to:l(c+b.length-1,1==b.length?a+b[0].length:b[b.length-1].length),match:p}}}function c(b,a){for(var c,d=0;;){a.lastIndex=
+d;var e=a.exec(b);if(!e||(c=e,(d=c.index+(c[0].length||1))==b.length))return c}}function b(b,a,d){a=m(a);var e=d.line,g=d.ch;for(d=b.firstLine();e>=d;e--,g=-1){var h=b.getLine(e);-1<g&&(h=h.slice(0,g));if(g=c(h,a))return{from:l(e,g.index),to:l(e,g.index+g[0].length),match:g}}}function d(b,a,d){a=m(a);for(var e,g=1,h=d.line,p=b.firstLine();h>=p;){for(var n=0;n<g;n++){var t=b.getLine(h--);e=null==e?t.slice(0,d.ch):t+"\n"+e}g*=2;if(n=c(e,a))return a=e.slice(0,n.index).split("\n"),b=n[0].split("\n"),
+h+=a.length,a=a[a.length-1].length,{from:l(h,a),to:l(h+b.length-1,1==b.length?a+b[0].length:b[b.length-1].length),match:n}}}function h(b,a,c,d){if(b.length==a.length)return c;var e=0;for(a=c+Math.max(0,b.length-a.length);;){if(e==a)return e;var g=e+a>>1,l=d(b.slice(0,g)).length;if(l==c)return g;l>c?a=g:e=g+1}}function r(b,a,c,d){if(!a.length)return null;d=d?p:e;a=d(a).split(/\r|\n\r?/);var g=c.line;c=c.ch;var n=b.lastLine()+1-a.length;a:for(;g<=n;g++,c=0){var t=b.getLine(g).slice(c),m=d(t);if(1==
+a.length){var q=m.indexOf(a[0]);if(-1==q)continue a;h(t,m,q,d);return{from:l(g,h(t,m,q,d)+c),to:l(g,h(t,m,q+a[0].length,d)+c)}}q=m.length-a[0].length;if(m.slice(q)==a[0]){for(var r=1;r<a.length-1;r++)if(d(b.getLine(g+r))!=a[r])continue a;var r=b.getLine(g+a.length-1),u=d(r),y=a[a.length-1];if(r.slice(0,y.length)==y)return{from:l(g,h(t,m,q,d)+c),to:l(g+a.length-1,h(r,u,y.length,d))}}}}function q(a,b,c,d){if(!b.length)return null;d=d?p:e;b=d(b).split(/\r|\n\r?/);var g=c.line,n=c.ch,t=a.firstLine()-
+1+b.length;a:for(;g>=t;g--,n=-1){var m=a.getLine(g);-1<n&&(m=m.slice(0,n));n=d(m);if(1==b.length){c=n.lastIndexOf(b[0]);if(-1==c)continue a;return{from:l(g,h(m,n,c,d)),to:l(g,h(m,n,c+b[0].length,d))}}var q=b[b.length-1];if(n.slice(0,q.length)==q){var r=1;for(c=g-b.length+1;r<b.length-1;r++)if(d(a.getLine(c+r))!=b[r])continue a;c=a.getLine(g+1-b.length);r=d(c);if(r.slice(r.length-b[0].length)==b[0])return{from:l(g+1-b.length,h(c,r,c.length-b[0].length,d)),to:l(g,h(m,n,q.length,d))}}}}function n(a,
+c,e,h){this.atOccurrence=!1;this.doc=a;e=e?a.clipPos(e):l(0,0);this.pos={from:e,to:e};var n;"object"==typeof h?n=h.caseFold:(n=h,h=null);"string"==typeof c?(null==n&&(n=!1),this.matches=function(b,d){return(b?q:r)(a,c,d,n)}):(c=m(c),h&&!1===h.multiline?this.matches=function(d,e){return(d?b:t)(a,c,e)}:this.matches=function(b,e){return(b?d:g)(a,c,e)})}var p,e,l=a.Pos;String.prototype.normalize?(p=function(b){return b.normalize("NFD").toLowerCase()},e=function(b){return b.normalize("NFD")}):(p=function(b){return b.toLowerCase()},
+e=function(b){return b});n.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(b){for(var c=this.matches(b,this.doc.clipPos(b?this.pos.from:this.pos.to));c&&0==a.cmpPos(c.from,c.to);)b?c.from.ch?c.from=l(c.from.line,c.from.ch-1):c=c.from.line==this.doc.firstLine()?null:this.matches(b,this.doc.clipPos(l(c.from.line-1))):c.to.ch<this.doc.getLine(c.to.line).length?c.to=l(c.to.line,c.to.ch+1):c=c.to.line==this.doc.lastLine()?null:this.matches(b,
+l(c.to.line+1,0));if(c)return this.pos=c,this.atOccurrence=!0,this.pos.match||!0;b=l(b?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:b,to:b},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(b,c){if(this.atOccurrence){var d=a.splitLines(b);this.doc.replaceRange(d,this.pos.from,this.pos.to,c);this.pos.to=l(this.pos.from.line+d.length-1,d[d.length-1].length+(1==d.length?this.pos.from.ch:
+0))}}};a.defineExtension("getSearchCursor",function(b,a,c){return new n(this.doc,b,a,c)});a.defineDocExtension("getSearchCursor",function(b,a,c){return new n(this,b,a,c)});a.defineExtension("selectMatches",function(b,c){for(var d=[],e=this.getSearchCursor(b,this.getCursor("from"),c);e.findNext()&&!(0<a.cmpPos(e.to(),this.getCursor("to")));)d.push({anchor:e.from(),head:e.to()});d.length&&this.setSelections(d,0)})});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/scroll/annotatescrollbar",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){function m(a,g){function c(a){clearTimeout(b.doRedraw);b.doRedraw=setTimeout(function(){b.redraw()},a)}this.cm=a;this.options=g;this.buttonHeight=g.scrollButtonHeight||a.getOption("scrollButtonHeight");this.annotations=[];this.doRedraw=this.doUpdate=null;this.div=a.getWrapperElement().appendChild(document.createElement("div"));
+this.div.style.cssText="position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none";this.computeScale();var b=this;a.on("refresh",this.resizeHandler=function(){clearTimeout(b.doUpdate);b.doUpdate=setTimeout(function(){b.computeScale()&&c(20)},100)});a.on("markerAdded",this.resizeHandler);a.on("markerCleared",this.resizeHandler);!1!==g.listenForChanges&&a.on("change",this.changeHandler=function(){c(250)})}a.defineExtension("annotateScrollbar",function(a){return"string"==typeof a&&(a={className:a}),
+new m(this,a)});a.defineOption("scrollButtonHeight",0);m.prototype.computeScale=function(){var a=this.cm,a=(a.getWrapperElement().clientHeight-a.display.barHeight-2*this.buttonHeight)/a.getScrollerElement().scrollHeight;if(a!=this.hScale)return this.hScale=a,!0};m.prototype.update=function(a){this.annotations=a;this.redraw()};m.prototype.redraw=function(a){function g(a,b){return q!=a.line&&(q=a.line,n=c.getLineHandle(q)),n.widgets&&n.widgets.length||h&&n.height>m?c.charCoords(a,"local")[b?"top":"bottom"]:
+c.heightAtLine(n,"local")+(b?0:n.height)}!1!==a&&this.computeScale();var c=this.cm;a=this.hScale;var b=document.createDocumentFragment(),d=this.annotations,h=c.getOption("lineWrapping"),m=h&&1.5*c.defaultTextHeight(),q=null,n=null,p=c.lastLine();if(c.display.barWidth)for(var e,l=0;l<d.length;l++){var f=d[l];if(!(f.to.line>p)){for(var k=e||g(f.from,!0)*a,v=g(f.to,!1)*a;l<d.length-1&&!(d[l+1].to.line>p)&&!((e=g(d[l+1].from,!0)*a)>v+.9);)f=d[++l],v=g(f.to,!1)*a;if(v!=k){var v=Math.max(v-k,3),x=b.appendChild(document.createElement("div"));
+x.style.cssText="position: absolute; right: 0px; width: "+Math.max(c.display.barWidth-1,2)+"px; top: "+(k+this.buttonHeight)+"px; height: "+v+"px";x.className=this.options.className;f.id&&x.setAttribute("annotation-id",f.id)}}}this.div.textContent="";this.div.appendChild(b)};m.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler);this.cm.off("markerAdded",this.resizeHandler);this.cm.off("markerCleared",this.resizeHandler);this.changeHandler&&this.cm.off("change",this.changeHandler);
+this.div.parentNode.removeChild(this.div)}});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./searchcursor"),require("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define("addon/search/matchesonscrollbar",["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],a):a(CodeMirror)})(function(a){function m(a,c,b,d){this.cm=a;this.options=d;var h={listenForChanges:!1},m;for(m in d)h[m]=d[m];h.className||(h.className="CodeMirror-search-match");this.annotation=
+a.annotateScrollbar(h);this.query=c;this.caseFold=b;this.gap={from:a.firstLine(),to:a.lastLine()+1};this.matches=[];this.update=null;this.findMatches();this.annotation.update(this.matches);var q=this;a.on("change",this.changeHandler=function(a,b){q.onChange(b)})}function t(a,c,b){return a<=c?a:Math.max(c,a+b)}a.defineExtension("showMatchesOnScrollbar",function(a,c,b){return"string"==typeof b&&(b={className:b}),b||(b={}),new m(this,a,c,b)});m.prototype.findMatches=function(){if(this.gap){for(var g=
+0;g<this.matches.length;g++){var c=this.matches[g];if(c.from.line>=this.gap.to)break;c.to.line>=this.gap.from&&this.matches.splice(g--,1)}for(var b=this.cm.getSearchCursor(this.query,a.Pos(this.gap.from,0),this.caseFold),d=this.options&&this.options.maxMatches||1E3;b.findNext();){c={from:b.from(),to:b.to()};if(c.from.line>=this.gap.to)break;if(this.matches.splice(g++,0,c),this.matches.length>d)break}this.gap=null}};m.prototype.onChange=function(g){var c=g.from.line,b=a.changeEnd(g).line,d=b-g.to.line;
+if(this.gap?(this.gap.from=Math.min(t(this.gap.from,c,d),g.from.line),this.gap.to=Math.max(t(this.gap.to,c,d),g.from.line)):this.gap={from:g.from.line,to:b+1},d)for(g=0;g<this.matches.length;g++){var b=this.matches[g],h=t(b.from.line,c,d);h!=b.from.line&&(b.from=a.Pos(h,b.from.ch));h=t(b.to.line,c,d);h!=b.to.line&&(b.to=a.Pos(h,b.to.ch))}clearTimeout(this.update);var m=this;this.update=setTimeout(function(){m.updateAfterChange()},250)};m.prototype.updateAfterChange=function(){this.findMatches();this.annotation.update(this.matches)};
+m.prototype.clear=function(){this.cm.off("change",this.changeHandler);this.annotation.clear()}});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("./matchesonscrollbar")):"function"==typeof define&&define.amd?define("addon/search/match-highlighter.js",["../../lib/codemirror","./matchesonscrollbar"],a):a(CodeMirror)})(function(a){function m(a){this.options={};for(var b in q)this.options[b]=(a&&a.hasOwnProperty(b)?a:q)[b];this.matchesonscroll=this.overlay=this.timeout=null;this.active=!1}function t(a){var b=a.state.matchHighlighter;(b.active||
+a.hasFocus())&&c(a,b)}function g(a){var b=a.state.matchHighlighter;b.active||(b.active=!0,c(a,b))}function c(a,b){clearTimeout(b.timeout);b.timeout=setTimeout(function(){h(a)},b.options.delay)}function b(a,b,c,d){var f=a.state.matchHighlighter;if(a.addOverlay(f.overlay=r(b,c,d)),f.options.annotateScrollbar&&a.showMatchesOnScrollbar)f.matchesonscroll=a.showMatchesOnScrollbar(c?new RegExp("\\b"+b+"\\b"):b,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}function d(a){var b=a.state.matchHighlighter;
+b.overlay&&(a.removeOverlay(b.overlay),b.overlay=null,b.matchesonscroll&&(b.matchesonscroll.clear(),b.matchesonscroll=null))}function h(a){a.operation(function(){var c=a.state.matchHighlighter;if(d(a),!a.somethingSelected()&&c.options.showToken){for(var e=!0===c.options.showToken?/[\w$]/:c.options.showToken,g=a.getCursor(),f=a.getLine(g.line),h=g=g.ch;g&&e.test(f.charAt(g-1));)--g;for(;h<f.length&&e.test(f.charAt(h));)++h;return void(g<h&&b(a,f.slice(g,h),e,c.options.style))}e=a.getCursor("from");
+f=a.getCursor("to");if((g=e.line==f.line)&&!(g=!c.options.wordsOnly))a:if(null!==a.getRange(e,f).match(/^\w+$/)){if(0<e.ch&&(g={line:e.line,ch:e.ch-1},g=a.getRange(g,e),null===g.match(/\W/))){g=!1;break a}if(f.ch<a.getLine(e.line).length&&(g={line:f.line,ch:f.ch+1},g=a.getRange(f,g),null===g.match(/\W/))){g=!1;break a}g=!0}else g=!1;g&&(e=a.getRange(e,f),c.options.trim&&(e=e.replace(/^\s+|\s+$/g,"")),e.length>=c.options.minChars&&b(a,e,!1,c.options.style))})}function r(a,b,c){return{token:function(d){var f;
+if(f=d.match(a))(f=!b)||(f=!(d.start&&b.test(d.string.charAt(d.start-1))||d.pos!=d.string.length&&b.test(d.string.charAt(d.pos))));if(f)return c;d.next();d.skipTo(a.charAt(0))||d.skipToEnd()}}}var q={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};a.defineOption("highlightSelectionMatches",!1,function(b,c,e){if(e&&e!=a.Init&&(d(b),clearTimeout(b.state.matchHighlighter.timeout),b.state.matchHighlighter=null,b.off("cursorActivity",t),b.off("focus",
+g)),c)c=b.state.matchHighlighter=new m(c),b.hasFocus()?(c.active=!0,h(b)):b.on("focus",g),b.on("cursorActivity",t)})});
+(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("addon/mode/multiplex.js",["../../lib/codemirror"],a):a(CodeMirror)})(function(a){a.multiplexingMode=function(m){function t(a,b,d,g){return"string"==typeof b?(d=a.indexOf(b,d),g&&-1<d?d+b.length:d):(b=b.exec(d?a.slice(d):a))?b.index+d+(g?b[0].length:0):-1}var g=Array.prototype.slice.call(arguments,1);return{startState:function(){return{outer:a.startState(m),
+innerActive:null,inner:null}},copyState:function(c){return{outer:a.copyState(m,c.outer),innerActive:c.innerActive,inner:c.innerActive&&a.copyState(c.innerActive.mode,c.inner)}},token:function(c,b){if(b.innerActive){var d=b.innerActive,h=c.string;if(!d.close&&c.sol())return b.innerActive=b.inner=null,this.token(c,b);var r=d.close?t(h,d.close,c.pos,d.parseDelimiters):-1;if(r==c.pos&&!d.parseDelimiters)return c.match(d.close),b.innerActive=b.inner=null,d.delimStyle&&d.delimStyle+" "+d.delimStyle+"-close";
+-1<r&&(c.string=h.slice(0,r));var q=d.mode.token(c,b.inner);return-1<r&&(c.string=h),r==c.pos&&d.parseDelimiters&&(b.innerActive=b.inner=null),d.innerStyle&&(q=q?q+" "+d.innerStyle:d.innerStyle),q}d=1/0;h=c.string;for(q=0;q<g.length;++q){var n=g[q],r=t(h,n.open,c.pos);if(r==c.pos)return n.parseDelimiters||c.match(n.open),b.innerActive=n,b.inner=a.startState(n.mode,m.indent?m.indent(b.outer,""):0),n.delimStyle&&n.delimStyle+" "+n.delimStyle+"-open";-1!=r&&r<d&&(d=r)}d!=1/0&&(c.string=h.slice(0,d));
+r=m.token(c,b.outer);return d!=1/0&&(c.string=h),r},indent:function(c,b){var d=c.innerActive?c.innerActive.mode:m;return d.indent?d.indent(c.innerActive?c.inner:c.outer,b):a.Pass},blankLine:function(c){var b=c.innerActive?c.innerActive.mode:m;if(b.blankLine&&b.blankLine(c.innerActive?c.inner:c.outer),c.innerActive)"\n"===c.innerActive.close&&(c.innerActive=c.inner=null);else for(var d=0;d<g.length;++d){var h=g[d];"\n"===h.open&&(c.innerActive=h,c.inner=a.startState(h.mode,b.indent?b.indent(c.outer,
+""):0))}},electricChars:m.electricChars,innerMode:function(a){return a.inner?{state:a.inner,mode:a.innerActive.mode}:{state:a.outer,mode:m}}}}});
+(function(a){"function"==typeof a.define&&a.define("addons","addon/comment/continuecomment.js addon/edit/closebrackets.js addon/edit/closetag.js addon/edit/matchbrackets.js addon/edit/matchtags.js addon/edit/trailingspace.js addon/fold/foldgutter.js addon/fold/brace-fold.js addon/fold/comment-fold.js addon/fold/indent-fold.js addon/format/autoFormatAll.js addon/format/formatting.js addon/selection/active-line.js addon/search/match-highlighter.js addon/mode/multiplex.js".split(" "),function(){})})(this);
\ No newline at end of file