ace.define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml"],function(e,t,n){var r=e("../lib/oop");var i=e("./text").Mode;var s=e("../tokenizer").Tokenizer;var o=e("./xml_highlight_rules").XmlHighlightRules;var u=e("./behaviour/xml").XmlBehaviour;var a=e("./folding/xml").FoldMode;var f=function(){this.$tokenizer=new s((new o).getRules()),this.$behaviour=new u,this.foldingRules=
new a};r.inherits(f,i),function(){this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)}}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/xml_util","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop");var i=e("./xml_util");var s=e("./text_highlight_rules").TextHighlightRules;var o=function(){this.$rules={start:[{token:"text",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:"xml-pe",regex:"<\\?.*?\\?>"},
{token:"comment",merge:!0,regex:"<\\!--",next:"comment"},{token:"xml-pe",regex:"<\\!.*?>"},{token:"meta.tag",regex:"<\\/?",next:"tag"},{token:"text",regex:"\\s+"},{token:"constant.character.entity",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"},{token:"text",regex:"[^<]+"}],cdata:[{token:"text",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:".*?--\>",next:"start"},{token:"comment",merge:!0,
regex:".+"}]},i.tag(this.$rules,"tag","start")};r.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/xml_util",["require","exports","module"],function(e$$1,t$$0,n$$0){function r(e){return[{token:"string",regex:'".*?"'},{token:"string",merge:!0,regex:'["].*',next:e+"_qqstring"},{token:"string",regex:"'.*?'"},{token:"string",merge:!0,regex:"['].*",next:e+"_qstring"}]}function i(e,t){return[{token:"string",merge:!0,regex:".*?"+e,next:t},{token:"string",merge:!0,regex:".+"}]}t$$0.tag=function(e$$0,
t,n,s){e$$0[t]=[{token:"text",regex:"\\s+"},{token:s?function(e){return s[e]?"meta.tag.tag-name."+s[e]:"meta.tag.tag-name"}:"meta.tag.tag-name",merge:!0,regex:"[-_a-zA-Z0-9:]+",next:t+"_embed_attribute_list"},{token:"empty",regex:"",next:t+"_embed_attribute_list"}],e$$0[t+"_qstring"]=i("'",t+"_embed_attribute_list"),e$$0[t+"_qqstring"]=i('"',t+"_embed_attribute_list"),e$$0[t+"_embed_attribute_list"]=[{token:"meta.tag",merge:!0,regex:"/?>",next:n},{token:"keyword.operator",regex:"="},{token:"entity.other.attribute-name",
regex:"[-_a-zA-Z0-9:]+"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"text",regex:"\\s+"}].concat(r(t))}}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e$$1,t$$0,n$$0){function u$$0(e$$0,t){var n=!0;var r=e$$0.type.split(".");var i=t.split(".");return i.forEach(function(e){if(r.indexOf(e)==-1)return n=!1,!1}),n}var r$$0=e$$1("../../lib/oop");
var i$$0=e$$1("../behaviour").Behaviour;var s$$0=e$$1("./cstyle").CstyleBehaviour;var o$$0=e$$1("../../token_iterator").TokenIterator;var a$$0=function(){this.inherit(s$$0,["string_dquotes"]),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition();var a=new o$$0(r,s.row,s.column);var f=a.getCurrentToken();var l=!1;if(!f||!u$$0(f,"meta.tag")&&(!u$$0(f,"text")||!f.value.match("/"))){do f=a.stepBackward();while(f&&(u$$0(f,"string")||u$$0(f,"keyword.operator")||u$$0(f,
"entity.attribute-name")||u$$0(f,"text")))}else l=!0;if(!f||!u$$0(f,"meta.tag-name")||a.stepBackward().value.match("/"))return;var c=f.value;if(l)c=c.substring(0,s.column-f.start);return{text:"></"+c+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition();var o=r.doc.getLine(s.row);var u=o.substring(s.column,s.column+2);if(u=="</"){var a=this.$getIndent(r.doc.getLine(s.row))+r.getTabString();var f=this.$getIndent(r.doc.getLine(s.row));
return{text:"\n"+a+"\n"+f,selection:[1,a.length,1,a.length]}}}})};r$$0.inherits(a$$0,i$$0),t$$0.XmlBehaviour=a$$0}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e$$0,t$$0,n$$0){var r$$0=e$$0("../../lib/oop");var i$$0=e$$0("../behaviour").Behaviour;var s$$0=e$$0("../../token_iterator").TokenIterator;var o$$0=e$$0("../../lib/lang");var u$$0=["text","paren.rparen","punctuation.operator"];var a$$0=
["text","paren.rparen","punctuation.operator","comment"];var f$$0=0;var l$$0=-1;var c$$0="";var h=0;var p=-1;var d="";var v="";var m=function(){m.isSaneInsertion=function(e,t){var n=e.getCursorPosition();var r=new s$$0(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u$$0)){var i=new s$$0(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u$$0))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",
a$$0)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition();var i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,c$$0[0])||(f$$0=0),l$$0=r.row,c$$0=n+i.substr(r.column),f$$0++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition();var i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(h=0),p=r.row,d=i.substr(0,r.column)+n,v=i.substr(r.column),h++},m.isAutoInsertedClosing=function(e,t,n){return f$$0>0&&
e.row===l$$0&&n===c$$0[0]&&t.substr(e.column)===c$$0},m.isMaybeInsertedClosing=function(e,t){return h>0&&e.row===p&&t.substr(e.column)===v&&t.substr(0,e.column)==d},m.popAutoInsertedClosing=function(){c$$0=c$$0.substr(1),f$$0--},m.clearMaybeInsertedClosing=function(){h=0,p=-1},this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition();var u=r.doc.getLine(s.row);if(i=="{"){var a=n.getSelectionRange();var f=r.doc.getTextRange(a);if(f!==""&&f!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+
f+"}",selection:!1};if(m.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])?(m.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){var l=u.substring(s.column,s.column+1);if(l=="}"){var c=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(c!==null&&m.isAutoInsertedClosing(s,u,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(i=="\n"||i=="\r\n"){var p="";m.isMaybeInsertedClosing(s,u)&&(p=
o$$0.stringRepeat("}",h),m.clearMaybeInsertedClosing());l=u.substring(s.column,s.column+1);if(l=="}"||p!==""){var d=r.findMatchingBracket({row:s.row,column:s.column},"}");if(!d)return null;var v=this.getNextLineIndent(e,u.substring(0,s.column),r.getTabString());var g=this.$getIndent(u);return{text:"\n"+v+"\n"+g+p,selection:[1,v.length,1,v.length]}}}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){var o=r.doc.getLine(i.start.row);var u=o.substring(i.end.column,
i.end.column+1);if(u=="}")return i.end.column++,i;h--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){var s=n.getSelectionRange();var o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){var u=n.getCursorPosition();var a=r.doc.getLine(u.row);var f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+
1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){var o=r.doc.getLine(i.start.row);var u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){var s=n.getSelectionRange();var o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+
o+"]",selection:!1};if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){var u=n.getCursorPosition();var a=r.doc.getLine(u.row);var f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&m.isAutoInsertedClosing(u,a,i))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&
s=="["){var o=r.doc.getLine(i.start.row);var u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var s=i;var o=n.getSelectionRange();var u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition();var f=r.doc.getLine(a.row);var l=f.substring(a.column-1,a.column);if(l=="\\")return null;var c=r.getTokens(o.start.row);
var h=0;var p;var d=-1;for(var v=0;v<c.length;v++){p=c[v],p.type=="string"?d=-1:d<0&&(d=p.value.indexOf(s));if(p.value.length+h>o.start.column)break;h+=c[v].value.length}if(!p||d<0&&p.type!=="comment"&&(p.type!=="string"||o.start.column!==p.value.length+h-1&&p.value.lastIndexOf(s)===p.value.length-1)){if(!m.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(p&&p.type==="string"){var g=f.substring(a.column,a.column+1);if(g==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes",
"deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row);var u=o.substring(i.start.column+1,i.start.column+2);if(u=='"')return i.end.column++,i}})};r$$0.inherits(m,i$$0),t$$0.CstyleBehaviour=m}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e$$0,t$$0,n$$0){var r$$0=e$$0("../../lib/oop");var i$$0=e$$0("../../lib/lang");
var s$$0=e$$0("../../range").Range;var o$$0=e$$0("./fold_mode").FoldMode;var u=e$$0("../../token_iterator").TokenIterator;var a$$0=t$$0.FoldMode=function(e){o$$0.call(this),this.voidElements=e||{}};r$$0.inherits(a$$0,o$$0),function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r.closing?t=="markbeginend"?"end":"":!r.tagName||this.voidElements[r.tagName.toLowerCase()]?"":r.selfClosing?"":r.value.indexOf("/"+r.tagName)!==-1?"":"start"},this._getFirstTagInLine=function(e,
t){var n=e.getTokens(t);var r="";for(var s=0;s<n.length;s++){var o=n[s];o.type.indexOf("meta.tag")===0?r+=o.value:r+=i$$0.stringRepeat(" ",o.value.length)}return this._parseTag(r)},this.tagRe=/^(\s*)(<?(\/?)([-_a-zA-Z0-9:!]*)\s*(\/?)>?)/,this._parseTag=function(e){var t=this.tagRe.exec(e);var n=this.tagRe.lastIndex||0;return this.tagRe.lastIndex=0,{value:e,match:t?t[2]:"",closing:t?!!t[3]:!1,selfClosing:t?!!t[5]||t[2]=="/>":!1,tagName:t?t[4]:"",column:t[1]?n+t[1].length:n}},this._readTagForward=function(e){var t=
e.getCurrentToken();if(!t)return null;var n="";var r;do if(t.type.indexOf("meta.tag")===0){if(!r)r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()};n+=t.value;if(n.indexOf(">")!==-1){var i=this._parseTag(n);return i.start=r,i.end={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length},e.stepForward(),i}}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n="";var r;do if(t.type.indexOf("meta.tag")===
0){r||(r={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()+t.value.length}),n=t.value+n;if(n.indexOf("<")!==-1){var i=this._parseTag(n);return i.end=r,i.start={row:e.getCurrentTokenRow(),column:e.getCurrentTokenColumn()},e.stepBackward(),i}}while(t=e.stepBackward());return null},this._pop=function(e,t){for(;e.length;){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements[t.tagName])return;if(this.voidElements[n.tagName]){e.pop();continue}return null}},this.getFoldWidgetRange=
function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r.match)return null;var i=r.closing||r.selfClosing;var o=[];var a;if(!i){var f=new u(e,n,r.column);for(var l={row:n,column:r.column+r.tagName.length+2};a=this._readTagForward(f);){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s$$0.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s$$0.fromPoints(l,a.start)}else o.push(a)}}else{f=new u(e,n,r.column+r.match.length);for(var c=
{row:n,column:r.column};a=this._readTagBackward(f);){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s$$0.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s$$0.fromPoints(a.start,c)}else o.push(a)}}}}.call(a$$0.prototype)});