1(function(a){if(typeof exports=="object"&&typeof module=="object")a(require("../../lib/codemirror"),require("../xml/xml"),require("../javascript/javascript"));else if(typeof define=="function"&&define.amd)define(["../../lib/codemirror","../xml/xml","../javascript/javascript"],a);else a(CodeMirror)})(function(a){"use strict";function b(a,b,c,d){this.state=a;this.mode=b;this.depth=c;this.prev=d}function c(d){return new b(a.copyState(d.mode,d.state),d.mode,d.depth,d.prev&&c(d.prev))}a.defineMode("jsx",function(d,e){var f=a.getMode(d,{name:"xml",allowMissing:true,multilineTagIndentPastTag:false,allowMissingTagName:true});var g=a.getMode(d,e&&e.base||"javascript");function h(a){var b=a.tagName;a.tagName=null;var c=f.indent(a,"","");a.tagName=b;return c}function i(a,b){if(b.context.mode==f)return j(a,b,b.context);else return k(a,b,b.context)}function j(c,e,j){if(j.depth==2){if(c.match(/^.*?\*\//))j.depth=1;else c.skipToEnd();return"comment"}if(c.peek()=="{"){f.skipAttribute(j.state);var k=h(j.state),l=j.state.context;if(l&&c.match(/^[^>]*>\s*$/,false)){while(l.prev&&!l.startOfLine)l=l.prev;if(l.startOfLine)k-=d.indentUnit;else if(j.prev.state.lexical)k=j.prev.state.lexical.indented}else if(j.depth==1){k+=d.indentUnit}e.context=new b(a.startState(g,k),g,0,e.context);return null}if(j.depth==1){if(c.peek()=="<"){f.skipAttribute(j.state);e.context=new b(a.startState(f,h(j.state)),f,0,e.context);return null}else if(c.match("//")){c.skipToEnd();return"comment"}else if(c.match("/*")){j.depth=2;return i(c,e)}}var m=f.token(c,j.state),n=c.current(),o;if(/\btag\b/.test(m)){if(/>$/.test(n)){if(j.state.context)j.depth=0;else e.context=e.context.prev}else if(/^</.test(n)){j.depth=1}}else if(!m&&(o=n.indexOf("{"))>-1){c.backUp(n.length-o)}return m}function k(c,d,e){if(c.peek()=="<"&&g.expressionAllowed(c,e.state)){g.skipExpression(e.state);d.context=new b(a.startState(f,g.indent(e.state,"","")),f,0,d.context);return null}var h=g.token(c,e.state);if(!h&&e.depth!=null){var i=c.current();if(i=="{"){e.depth++}else if(i=="}"){if(--e.depth==0)d.context=d.context.prev}}return h}return{startState:function(){return{context:new b(a.startState(g),g)}},copyState:function(a){return{context:c(a.context)}},token:i,indent:function(a,b,c){return a.context.mode.indent(a.context.state,b,c)},innerMode:function(a){return a.context}}},"xml","javascript");a.defineMIME("text/jsx","jsx");a.defineMIME("text/typescript-jsx",{name:"jsx",base:{name:"javascript",typescript:true}})});
2//# sourceMappingURL=jsx.min.js.map