define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){function o(e){var t="[_:a-zA-ZÀ-][-_:.a-zA-Z0-9À-]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],processing_instruction:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:t},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"--\x3e",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:t},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===o&&this.normalizeRules()}var r=e("../lib/oop"),e=e("./text_highlight_rules").TextHighlightRules;(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(e.prototype),r.inherits(o,e),t.XmlHighlightRules=o}),define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){function u(e,t){return e&&-1<e.type.lastIndexOf(t+".xml")}function o(){this.add("string_dquotes","insertion",function(e,t,n,o,r){if('"'==r||"'"==r){var a=o.doc.getTextRange(n.getSelectionRange());if(""!==a&&"'"!==a&&'"'!=a&&n.getWrapBehavioursEnabled())return{text:r+a+r,selection:!1};var a=n.getCursorPosition(),n=o.doc.getLine(a.row).substring(a.column,a.column+1),i=new s(o,a.row,a.column),l=i.getCurrentToken();if(n==r&&(u(l,"attribute-value")||u(l,"string")))return{text:"",selection:[1,1]};if(l=l||i.stepBackward()){for(;u(l,"tag-whitespace")||u(l,"whitespace");)l=i.stepBackward();o=!n||n.match(/\s/);return u(l,"attribute-equals")&&(o||">"==n)||u(l,"decl-attribute-equals")&&(o||"?"==n)?{text:r+r,selection:[1,1]}:void 0}}}),this.add("string_dquotes","deletion",function(e,t,n,o,r){var a=o.doc.getTextRange(r);if(!r.isMultiLine()&&('"'==a||"'"==a)&&o.doc.getLine(r.start.row).substring(r.start.column+1,r.start.column+2)==a)return r.end.column++,r}),this.add("autoclosing","insertion",function(e,t,n,o,r){if(">"==r){var r=n.getSelectionRange().start,a=new s(o,r.row,r.column),i=a.getCurrentToken()||a.stepBackward();if(i&&(u(i,"tag-name")||u(i,"tag-whitespace")||u(i,"attribute-name")||u(i,"attribute-equals")||u(i,"attribute-value"))&&!u(i,"reference.attribute-value")){if(u(i,"attribute-value")){n=a.getCurrentTokenColumn()+i.value.length;if(r.column<n)return;if(r.column==n){n=a.stepForward();if(n&&u(n,"attribute-value"))return;a.stepBackward()}}if(!/^\s*>/.test(o.getLine(r.row).slice(r.column))){for(;!u(i,"tag-name");)if("<"==(i=a.stepBackward()).value){i=a.stepForward();break}n=a.getCurrentTokenRow(),o=a.getCurrentTokenColumn();if(!u(a.stepBackward(),"end-tag-open")){var l=i.value;if(n==r.row&&(l=l.substring(0,r.column-o)),!this.voidElements.hasOwnProperty(l.toLowerCase()))return{text:"></"+l+">",selection:[1,1]}}}}}}),this.add("autoindent","insertion",function(e,t,n,o,r){if("\n"==r){var a,i,r=n.getCursorPosition(),n=o.getLine(r.row),l=new s(o,r.row,r.column),u=l.getCurrentToken();if(u&&-1!==u.type.indexOf("tag-close")&&"/>"!=u.value){for(;u&&-1===u.type.indexOf("tag-name");)u=l.stepBackward();if(u)return a=u.value,i=l.getCurrentTokenRow(),(u=l.stepBackward())&&-1===u.type.indexOf("end-tag")&&this.voidElements&&!this.voidElements[a]?(a=o.getTokenAt(r.row,r.column+1),n=o.getLine(i),i=(r=this.$getIndent(n))+o.getTabString(),a&&"</"===a.value?{text:"\n"+i+"\n"+r,selection:[1,i.length,1,i.length]}:{text:"\n"+i}):void 0}}})}var r=e("../../lib/oop"),a=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator;e("../../lib/lang");r.inherits(o,a),t.XmlBehaviour=o}),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,t,n){function u(e,t){return-1<e.type.lastIndexOf(t+".xml")}function i(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}}var o=e("../../lib/oop"),s=(e("../../lib/lang"),e("../../range").Range),r=e("./fold_mode").FoldMode,g=e("../../token_iterator").TokenIterator,e=t.FoldMode=function(e,t){r.call(this),this.voidElements=e||{},this.optionalEndTags=o.mixin({},this.voidElements),t&&o.mixin(this.optionalEndTags,t)};o.inherits(e,r);!function(){this.getFoldWidget=function(e,t,n){var o=this._getFirstTagInLine(e,n);return o?o.closing||!o.tagName&&o.selfClosing?"markbeginend"==t?"end":"":!o.tagName||o.selfClosing||this.voidElements.hasOwnProperty(o.tagName.toLowerCase())||this._findEndTagInLine(e,n,o.tagName,o.end.column)?"":"start":this.getCommentFoldWidget(e,n)},this.getCommentFoldWidget=function(e,t){return/comment/.test(e.getState(t))&&/<!-/.test(e.getLine(t))?"start":""},this._getFirstTagInLine=function(e,t){for(var n=e.getTokens(t),o=new i,r=0;r<n.length;r++){var a=n[r];if(u(a,"tag-open")){if(o.end.column=o.start.column+a.value.length,o.closing=u(a,"end-tag-open"),!(a=n[++r]))return null;for(o.tagName=a.value,o.end.column+=a.value.length,r++;r<n.length;r++)if(a=n[r],o.end.column+=a.value.length,u(a,"tag-close")){o.selfClosing="/>"==a.value;break}return o}if(u(a,"tag-close"))return o.selfClosing="/>"==a.value,o;o.start.column+=a.value.length}return null},this._findEndTagInLine=function(e,t,n,o){for(var r=e.getTokens(t),a=0,i=0;i<r.length;i++){var l=r[i];if(!((a+=l.value.length)<o)&&(u(l,"end-tag-open")&&(l=r[i+1])&&l.value==n))return!0}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(t){var n=new i;do{if(u(t,"tag-open"))n.closing=u(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(u(t,"tag-name"))n.tagName=t.value;else if(u(t,"tag-close"))return n.selfClosing="/>"==t.value,n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n}while(t=e.stepForward())}return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(t){var n=new i;do{if(u(t,"tag-open"))return n.closing=u(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n}while(u(t,"tag-name")?n.tagName=t.value:u(t,"tag-close")&&(n.selfClosing="/>"==t.value,n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length),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.optionalEndTags.hasOwnProperty(n.tagName))return null;e.pop()}},this.getFoldWidgetRange=function(e,t,n){var o=this._getFirstTagInLine(e,n);if(!o)return this.getCommentFoldWidget(e,n)&&e.getCommentFoldRange(n,e.getLine(n).length);var r,a=[];if(o.closing||o.selfClosing)for(var i=new g(e,n,o.end.column),l={row:n,column:o.start.column};r=this._readTagBackward(i);){if(r.selfClosing){if(a.length)continue;return r.start.column+=r.tagName.length+2,r.end.column-=2,s.fromPoints(r.start,r.end)}if(r.closing)a.push(r);else if(this._pop(a,r),0==a.length)return r.start.column+=r.tagName.length+2,r.start.row==r.end.row&&r.start.column<r.end.column&&(r.start.column=r.end.column),s.fromPoints(r.start,l)}else{var i=new g(e,n,o.start.column),u={row:n,column:o.start.column+o.tagName.length+2};for(o.start.row==o.end.row&&(u.column=o.end.column);r=this._readTagForward(i);){if(r.selfClosing){if(a.length)continue;return r.start.column+=r.tagName.length+2,r.end.column-=2,s.fromPoints(r.start,r.end)}if(r.closing){if(this._pop(a,r),0==a.length)return s.fromPoints(u,r.start)}else a.push(r)}}}}.call(e.prototype)}),define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml","ace/worker/worker_client"],function(e,t,n){function o(){this.HighlightRules=l,this.$behaviour=new u,this.foldingRules=new s}var r=e("../lib/oop"),a=e("../lib/lang"),i=e("./text").Mode,l=e("./xml_highlight_rules").XmlHighlightRules,u=e("./behaviour/xml").XmlBehaviour,s=e("./folding/xml").FoldMode,g=e("../worker/worker_client").WorkerClient;r.inherits(o,i),function(){this.voidElements=a.arrayToMap([]),this.blockComment={start:"\x3c!--",end:"--\x3e"},this.createWorker=function(t){var e=new g(["ace"],"ace/mode/xml_worker","Worker");return e.attachToDocument(t.getDocument()),e.on("error",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/xml"}.call(o.prototype),t.Mode=o}),window.require(["ace/mode/xml"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});