(a=p.call({lexer:this},e,t))?(e=e.substring(a.raw.length),t.push(a),!0):!1))continue;if(a=this.tokenizer.escape(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.tag(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.link(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(a.raw.length);let p=t.at(-1);a.type==="text"&&p?.type==="text"?(p.raw+=a.raw,p.text+=a.text):t.push(a);continue}if(a=this.tokenizer.emStrong(e,n,o)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.codespan(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.br(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.del(e,n,o)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.autolink(e)){e=e.substring(a.raw.length),t.push(a);continue}if(!this.state.inLink&&(a=this.tokenizer.url(e))){e=e.substring(a.raw.length),t.push(a);continue}let c=e;if(this.options.extensions?.startInline){let p=1/0,k=e.slice(1),h;this.options.extensions.startInline.forEach(R=>{h=R.call({lexer:this},k),typeof h=="number"&&h>=0&&(p=Math.min(p,h))}),p<1/0&&p>=0&&(c=e.substring(0,p+1))}if(a=this.tokenizer.inlineText(c)){e=e.substring(a.raw.length),a.raw.slice(-1)!=="_"&&(o=a.raw.slice(-1)),i=!0;let p=t.at(-1);p?.type==="text"?(p.raw+=a.raw,p.text+=a.text):t.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t="Infinite loop on byte: "+e;if(this.options.silent)console.error(t);else throw new Error(t)}};var y=class{options;parser;constructor(e){this.options=e||T}space(e){return""}code({text:e,lang:t,escaped:n}){let s=(t||"").match(m.notSpaceStart)?.[0],r=e.replace(m.endingNewline,"")+`
+`;return s?''+(n?r:O(r,!0))+`
+`:""+(n?r:O(r,!0))+`
+`}blockquote({tokens:e}){return`
+${this.parser.parse(e)}
+`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:t}){return`${this.parser.parseInline(e)}
+`}hr(e){return`
+`}list(e){let t=e.ordered,n=e.start,s="";for(let o=0;o
+`+s+""+r+`>
+`}listitem(e){return`${this.parser.parse(e.tokens)}
+`}checkbox({checked:e}){return" '}paragraph({tokens:e}){return`${this.parser.parseInline(e)}
+`}table(e){let t="",n="";for(let r=0;r${s}`),`
+`}tablerow({text:e}){return`
+${e}
+`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`${n}>
+`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${O(e,!0)}`}br(e){return"
"}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:n}){let s=this.parser.parseInline(n),r=V(e);if(r===null)return s;e=r;let i='"+s+"",i}image({href:e,title:t,text:n,tokens:s}){s&&(n=this.parser.parseInline(s,this.parser.textRenderer));let r=V(e);if(r===null)return O(n);e=r;let i=`
",i}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:O(e.text)}};var L=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}};var b=class l{options;renderer;textRenderer;constructor(e){this.options=e||T,this.options.renderer=this.options.renderer||new y,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new L}static parse(e,t){return new l(t).parse(e)}static parseInline(e,t){return new l(t).parseInline(e)}parse(e){this.renderer.parser=this;let t="";for(let n=0;n{let o=r[i].flat(1/0);n=n.concat(this.walkTokens(o,t))}):r.tokens&&(n=n.concat(this.walkTokens(r.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let s={...n};if(s.async=this.defaults.async||s.async||!1,n.extensions&&(n.extensions.forEach(r=>{if(!r.name)throw new Error("extension name required");if("renderer"in r){let i=t.renderers[r.name];i?t.renderers[r.name]=function(...o){let u=r.renderer.apply(this,o);return u===!1&&(u=i.apply(this,o)),u}:t.renderers[r.name]=r.renderer}if("tokenizer"in r){if(!r.level||r.level!=="block"&&r.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let i=t[r.level];i?i.unshift(r.tokenizer):t[r.level]=[r.tokenizer],r.start&&(r.level==="block"?t.startBlock?t.startBlock.push(r.start):t.startBlock=[r.start]:r.level==="inline"&&(t.startInline?t.startInline.push(r.start):t.startInline=[r.start]))}"childTokens"in r&&r.childTokens&&(t.childTokens[r.name]=r.childTokens)}),s.extensions=t),n.renderer){let r=this.defaults.renderer||new y(this.defaults);for(let i in n.renderer){if(!(i in r))throw new Error(`renderer '${i}' does not exist`);if(["options","parser"].includes(i))continue;let o=i,u=n.renderer[o],a=r[o];r[o]=(...c)=>{let p=u.apply(r,c);return p===!1&&(p=a.apply(r,c)),p||""}}s.renderer=r}if(n.tokenizer){let r=this.defaults.tokenizer||new w(this.defaults);for(let i in n.tokenizer){if(!(i in r))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;let o=i,u=n.tokenizer[o],a=r[o];r[o]=(...c)=>{let p=u.apply(r,c);return p===!1&&(p=a.apply(r,c)),p}}s.tokenizer=r}if(n.hooks){let r=this.defaults.hooks||new P;for(let i in n.hooks){if(!(i in r))throw new Error(`hook '${i}' does not exist`);if(["options","block"].includes(i))continue;let o=i,u=n.hooks[o],a=r[o];P.passThroughHooks.has(i)?r[o]=c=>{if(this.defaults.async&&P.passThroughHooksRespectAsync.has(i))return(async()=>{let k=await u.call(r,c);return a.call(r,k)})();let p=u.call(r,c);return a.call(r,p)}:r[o]=(...c)=>{if(this.defaults.async)return(async()=>{let k=await u.apply(r,c);return k===!1&&(k=await a.apply(r,c)),k})();let p=u.apply(r,c);return p===!1&&(p=a.apply(r,c)),p}}s.hooks=r}if(n.walkTokens){let r=this.defaults.walkTokens,i=n.walkTokens;s.walkTokens=function(o){let u=[];return u.push(i.call(this,o)),r&&(u=u.concat(r.call(this,o))),u}}this.defaults={...this.defaults,...s}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return x.lex(e,t??this.defaults)}parser(e,t){return b.parse(e,t??this.defaults)}parseMarkdown(e){return(n,s)=>{let r={...s},i={...this.defaults,...r},o=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return o(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof n>"u"||n===null)return o(new Error("marked(): input parameter is undefined or null"));if(typeof n!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let u=i.hooks?await i.hooks.preprocess(n):n,c=await(i.hooks?await i.hooks.provideLexer(e):e?x.lex:x.lexInline)(u,i),p=i.hooks?await i.hooks.processAllTokens(c):c;i.walkTokens&&await Promise.all(this.walkTokens(p,i.walkTokens));let h=await(i.hooks?await i.hooks.provideParser(e):e?b.parse:b.parseInline)(p,i);return i.hooks?await i.hooks.postprocess(h):h})().catch(o);try{i.hooks&&(n=i.hooks.preprocess(n));let a=(i.hooks?i.hooks.provideLexer(e):e?x.lex:x.lexInline)(n,i);i.hooks&&(a=i.hooks.processAllTokens(a)),i.walkTokens&&this.walkTokens(a,i.walkTokens);let p=(i.hooks?i.hooks.provideParser(e):e?b.parse:b.parseInline)(a,i);return i.hooks&&(p=i.hooks.postprocess(p)),p}catch(u){return o(u)}}}onError(e,t){return n=>{if(n.message+=`
+Please report this to https://github.com/markedjs/marked.`,e){let s="An error occurred:
"+O(n.message+"",!0)+"
";return t?Promise.resolve(s):s}if(t)return Promise.reject(n);throw n}}};var z=new q;function g(l,e){return z.parse(l,e)}g.options=g.setOptions=function(l){return z.setOptions(l),g.defaults=z.defaults,N(g.defaults),g};g.getDefaults=M;g.defaults=T;g.use=function(...l){return z.use(...l),g.defaults=z.defaults,N(g.defaults),g};g.walkTokens=function(l,e){return z.walkTokens(l,e)};g.parseInline=z.parseInline;g.Parser=b;g.parser=b.parse;g.Renderer=y;g.TextRenderer=L;g.Lexer=x;g.lexer=x.lex;g.Tokenizer=w;g.Hooks=P;g.parse=g;var Ft=g.options,Ut=g.setOptions,Kt=g.use,Wt=g.walkTokens,Xt=g.parseInline,Jt=g,Vt=b.parse,Yt=x.lex;
+//# sourceMappingURL=marked.esm.js.map
+
+
/***/ }),
/***/ "../node_modules/moment-timezone/data/packed/latest.json":
@@ -91954,18 +92619,6 @@ module.exports = /*#__PURE__*/JSON.parse('{"version":"2024a","zones":["Africa/Ab
/******/ };
/******/ })();
/******/
-/******/ /* webpack/runtime/global */
-/******/ (() => {
-/******/ __webpack_require__.g = (function() {
-/******/ if (typeof globalThis === 'object') return globalThis;
-/******/ try {
-/******/ return this || new Function('return this')();
-/******/ } catch (e) {
-/******/ if (typeof window === 'object') return window;
-/******/ }
-/******/ })();
-/******/ })();
-/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
diff --git a/public/cui.min.js b/public/cui.min.js
index 075f7389b..6931102c4 100644
--- a/public/cui.min.js
+++ b/public/cui.min.js
@@ -1,4 +1,4 @@
-!function webpackUniversalModuleDefinition(n,b){"object"==typeof exports&&"object"==typeof module?module.exports=b():"function"==typeof define&&define.amd?define([],b):"object"==typeof exports?exports.CUI=b():n.CUI=b()}(self,(()=>(()=>{var n={127:(n,b,A)=>{n=A.nmd(n),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=(n("../lib/lang"),n("./text_highlight_rules").TextHighlightRules),D=b.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",B=b.supportFunction="rgb|rgba|url|attr|counter|counters",E=b.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|flex-end|flex-start|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",X=b.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",$=b.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",V=b.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",K=b.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",Q=b.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var n=this.createKeywordMapper({"support.function":B,"support.constant":E,"support.type":D,"support.constant.color":X,"support.constant.fonts":$},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:V},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+V+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:V},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:K},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:Q},{include:"url"},{token:n,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{token:"paren.lparen",regex:"\\{"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};L.inherits(d,R),b.CssHighlightRules=d})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(n,b,A){"use strict";var L=n("../range").Range,i=function(){};(function(){this.checkOutdent=function(n,b){return!!/^\s+$/.test(n)&&/^\s*\}/.test(b)},this.autoOutdent=function(n,b){var A=n.getLine(b).match(/^(\s*\})/);if(!A)return 0;var R=A[1].length,D=n.findMatchingBracket({row:b,column:R});if(!D||D.row==b)return 0;var B=this.$getIndent(n.getLine(D.row));n.replace(new L(b,0,b,R-1),B)},this.$getIndent=function(n){return n.match(/^\s*/)[0]}}).call(i.prototype),b.MatchingBraceOutdent=i})),ace.define("ace/mode/css_completions",["require","exports","module"],(function(n,b,A){"use strict";var L={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,double:2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{default:1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},float:{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,static:1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var n=document.createElement("c").style;for(var b in n)if("string"==typeof n[b]){var A=b.replace(/[A-Z]/g,(function(n){return"-"+n.toLowerCase()}));L.hasOwnProperty(A)||(L[A]=1)}}this.completionsDefined=!0},this.getCompletions=function(n,b,A,L){if(this.completionsDefined||this.defineCompletions(),"ruleset"===n||"ace/mode/scss"==b.$mode.$id){var R=b.getLine(A.row).substr(0,A.column),D=/\([^)]*$/.test(R);return D&&(R=R.substr(R.lastIndexOf("(")+1)),/:[^;]+$/.test(R)?(/([\w\-]+):[^:]*$/.test(R),this.getPropertyValueCompletions(n,b,A,L)):this.getPropertyCompletions(n,b,A,L,D)}return[]},this.getPropertyCompletions=function(n,b,A,R,D){return D=D||!1,Object.keys(L).map((function(n){return{caption:n,snippet:n+": $0"+(D?"":";"),meta:"property",score:1e6}}))},this.getPropertyValueCompletions=function(n,b,A,R){var D=b.getLine(A.row).substr(0,A.column),B=(/([\w\-]+):[^:]*$/.exec(D)||{})[1];if(!B)return[];var E=[];return B in L&&"object"==typeof L[B]&&(E=Object.keys(L[B])),E.map((function(n){return{caption:n,snippet:n,meta:"property value",score:1e6}}))}}).call(i.prototype),b.CssCompletions=i})),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=(n("../behaviour").Behaviour,n("./cstyle").CstyleBehaviour),D=n("../../token_iterator").TokenIterator,u=function(){this.inherit(R),this.add("colon","insertion",(function(n,b,A,L,R){if(":"===R&&A.selection.isEmpty()){var B=A.getCursorPosition(),E=new D(L,B.row,B.column),X=E.getCurrentToken();if(X&&X.value.match(/\s+/)&&(X=E.stepBackward()),X&&"support.type"===X.type){var $=L.doc.getLine(B.row);if(":"===$.substring(B.column,B.column+1))return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test($.substring(B.column)))return{text:":;",selection:[1,1]}}}})),this.add("colon","deletion",(function(n,b,A,L,R){var B=L.doc.getTextRange(R);if(!R.isMultiLine()&&":"===B){var E=A.getCursorPosition(),X=new D(L,E.row,E.column),$=X.getCurrentToken();if($&&$.value.match(/\s+/)&&($=X.stepBackward()),$&&"support.type"===$.type)if(";"===L.doc.getLine(R.start.row).substring(R.end.column,R.end.column+1))return R.end.column++,R}})),this.add("semicolon","insertion",(function(n,b,A,L,R){if(";"===R&&A.selection.isEmpty()){var D=A.getCursorPosition();if(";"===L.doc.getLine(D.row).substring(D.column,D.column+1))return{text:"",selection:[1,1]}}})),this.add("!important","insertion",(function(n,b,A,L,R){if("!"===R&&A.selection.isEmpty()){var D=A.getCursorPosition(),B=L.doc.getLine(D.row);if(/^\s*(;|}|$)/.test(B.substring(D.column)))return{text:"!important",selection:[10,10]}}}))};L.inherits(u,R),b.CssBehaviour=u})),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=n("../../range").Range,D=n("./fold_mode").FoldMode,B=b.FoldMode=function(n){n&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+n.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+n.end)))};L.inherits(B,D),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(n,b,A){var L=n.getLine(A);if(this.singleLineBlockCommentRe.test(L)&&!this.startRegionRe.test(L)&&!this.tripleStarBlockCommentRe.test(L))return"";var R=this._getFoldWidgetBase(n,b,A);return!R&&this.startRegionRe.test(L)?"start":R},this.getFoldWidgetRange=function(n,b,A,L){var R,D=n.getLine(A);if(this.startRegionRe.test(D))return this.getCommentRegionBlock(n,D,A);if(R=D.match(this.foldingStartMarker)){var B=R.index;if(R[1])return this.openingBracketBlock(n,R[1],A,B);var E=n.getCommentFoldRange(A,B+R[0].length,1);return E&&!E.isMultiLine()&&(L?E=this.getSectionRange(n,A):"all"!=b&&(E=null)),E}if("markbegin"!==b&&(R=D.match(this.foldingStopMarker))){B=R.index+R[0].length;return R[1]?this.closingBracketBlock(n,R[1],A,B):n.getCommentFoldRange(A,B,-1)}},this.getSectionRange=function(n,b){for(var A=n.getLine(b),L=A.search(/\S/),D=b,B=A.length,E=b+=1,X=n.getLength();++b$)break;var V=this.getFoldWidgetRange(n,"all",b);if(V){if(V.start.row<=D)break;if(V.isMultiLine())b=V.end.row;else if(L==$)break}E=b}}return new R(D,B,E,n.getLine(E).length)},this.getCommentRegionBlock=function(n,b,A){for(var L=b.search(/\s*$/),D=n.getLength(),B=A,E=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,X=1;++AB)return new R(B,L,A,b.length)}}.call(B.prototype)})),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text").Mode,D=n("./css_highlight_rules").CssHighlightRules,B=n("./matching_brace_outdent").MatchingBraceOutdent,E=n("../worker/worker_client").WorkerClient,X=n("./css_completions").CssCompletions,$=n("./behaviour/css").CssBehaviour,V=n("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=D,this.$outdent=new B,this.$behaviour=new $,this.$completer=new X,this.foldingRules=new V};L.inherits(c,R),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(n,b,A){var L=this.$getIndent(b),R=this.getTokenizer().getLineTokens(b,n).tokens;return R.length&&"comment"==R[R.length-1].type||b.match(/^.*\{\s*$/)&&(L+=A),L},this.checkOutdent=function(n,b,A){return this.$outdent.checkOutdent(b,A)},this.autoOutdent=function(n,b,A){this.$outdent.autoOutdent(b,A)},this.getCompletions=function(n,b,A,L){return this.$completer.getCompletions(n,b,A,L)},this.createWorker=function(n){var b=new E(["ace"],"ace/mode/css_worker","Worker");return b.attachToDocument(n.getDocument()),b.on("annotate",(function(b){n.setAnnotations(b.data)})),b.on("terminate",(function(){n.clearAnnotations()})),b},this.$id="ace/mode/css",this.snippetFileId="ace/snippets/css"}.call(c.prototype),b.Mode=c})),ace.require(["ace/mode/css"],(function(b){n&&(n.exports=b)}))},4239:(n,b,A)=>{n=A.nmd(n),ace.define("ace/mode/jsdoc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:["comment.doc.tag","comment.doc.text","lparen.doc"],regex:"(@(?:param|member|typedef|property|namespace|var|const|callback))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:["rparen.doc","text.doc","variable.parameter.doc","lparen.doc","variable.parameter.doc","rparen.doc"],regex:/(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.\-\'\" ]+)(\])))/,next:"pop"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","lparen.doc"],regex:"(@(?:returns?|yields|type|this|suppress|public|protected|private|package|modifies|implements|external|exception|throws|enum|define|extends))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:'(@(?:alias|memberof|instance|module|name|lends|namespace|external|this|template|requires|param|implements|function|extends|typedef|mixes|constructor|var|memberof\\!|event|listens|exports|class|constructs|interface|emits|fires|throws|const|callback|borrows|augments))(\\s+)(\\w[\\w#.:/~"\\-]*)?'},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:"(@method)(\\s+)(\\w[\\w.\\(\\)]*)"},{token:"comment.doc.tag",regex:"@access\\s+(?:private|public|protected)"},{token:"comment.doc.tag",regex:"@kind\\s+(?:class|constant|event|external|file|function|member|mixin|module|namespace|typedef)"},{token:"comment.doc.tag",regex:"@\\w+(?=\\s|$)"},s.getTagRule(),{defaultToken:"comment.doc.body",caseInsensitive:!0}],"doc-syntax":[{token:"operator.doc",regex:/[|:]/},{token:"paren.doc",regex:/[\[\]]/}]},this.normalizeRules()};L.inherits(s,R),s.getTagRule=function(n){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(n){return{token:"comment.doc",regex:/\/\*\*(?!\/)/,next:n}},s.getEndRule=function(n){return{token:"comment.doc",regex:"\\*\\/",next:n}},b.JsDocCommentHighlightRules=s})),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/jsdoc_comment_highlight_rules","ace/mode/text_highlight_rules"],(function(n,b,A){"use strict";function a(){var n=B.replace("\\d","\\d\\-"),b={onMatch:function(n,b,A){var L="/"==n.charAt(1)?2:1;return 1==L?(b!=this.nextState?A.unshift(this.next,this.nextState,0):A.unshift(this.next),A[2]++):2==L&&b==this.nextState&&(A[1]--,(!A[1]||A[1]<0)&&(A.shift(),A.shift())),[{type:"meta.tag.punctuation."+(1==L?"":"end-")+"tag-open.xml",value:n.slice(0,L)},{type:"meta.tag.tag-name.xml",value:n.substr(L)}]},regex:"?(?:"+n+"|(?=>))",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(b);var A={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[A,b,{include:"reference"},{defaultToken:"string.xml"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(n,b,A){return b==A[0]&&A.shift(),2==n.length&&(A[0]==this.nextState&&A[1]--,(!A[1]||A[1]<0)&&A.splice(0,2)),this.next=A[0]||"start",[{type:this.token,value:n}]},nextState:"jsx"},A,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:n},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},b],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:[0-9]+;)|(?:[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(n){return[{token:"comment",regex:/\/\*/,next:[R.getTagRule(),{token:"comment",regex:"\\*\\/",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[R.getTagRule(),{token:"comment",regex:"$|^",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var L=n("../lib/oop"),R=n("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules,D=n("./text_highlight_rules").TextHighlightRules,B="[a-zA-Z\\$_¡-][a-zA-Z\\d\\$_¡-]*",u=function(n){var b={"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},A=this.createKeywordMapper(b,"identifier"),L="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)",D="(function)(\\s*)(\\*?)",E={token:["identifier","text","paren.lparen"],regex:"(\\b(?!"+Object.values(b).join("|")+"\\b)"+B+")(\\s*)(\\()"};this.$rules={no_regex:[R.getStartRule("doc-start"),f("no_regex"),E,{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+B+")(\\s*)(=)(\\s*)"+D+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))("+B+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+B+")(\\s*)(:)(\\s*)"+D+"(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)"+D+"(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:"support.constant",regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|debug|time|trace|timeEnd|assert)\b/},{token:A,regex:B},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:"keyword.operator",regex:/=/},{token:["storage.type","text","storage.type","text","paren.lparen"],regex:D+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:"prototype"},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|lter|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward|rEach)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:B},{regex:"",token:"empty",next:"no_regex"}],start:[R.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],default_parameter:[{token:"string",regex:"'(?=.)",push:[{token:"string",regex:"'|$",next:"pop"},{include:"qstring"}]},{token:"string",regex:'"(?=.)',push:[{token:"string",regex:'"|$',next:"pop"},{include:"qqstring"}]},{token:"constant.language",regex:"null|Infinity|NaN|undefined"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:"punctuation.operator",regex:",",next:"function_arguments"},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],function_arguments:[f("function_arguments"),{token:"variable.parameter",regex:B},{token:"punctuation.operator",regex:","},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:L},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:L},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},n&&n.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(n,b,A){if(this.next="{"==n?this.nextState:"","{"==n&&A.length)A.unshift("start",b);else if("}"==n&&A.length&&(A.shift(),this.next=A.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==n?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:L},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]},{token:["variable.parameter","text"],regex:"("+B+")(\\s*)(?=\\=>)"},{token:"paren.lparen",regex:"(\\()(?=[^\\(]+\\s*=>)",next:"function_arguments"},{token:"variable.language",regex:"(?:(?:(?:Weak)?(?:Set|Map))|Promise)\\b"}),this.$rules.function_arguments.unshift({token:"keyword.operator",regex:"=",next:"default_parameter"},{token:"keyword.operator",regex:"\\.{3}"}),this.$rules.property.unshift({token:"support.function",regex:"(findIndex|repeat|startsWith|endsWith|includes|isSafeInteger|trunc|cbrt|log2|log10|sign|then|catch|finally|resolve|reject|race|any|all|allSettled|keys|entries|isInteger)\\b(?=\\()"},{token:"constant.language",regex:"(?:MAX_SAFE_INTEGER|MIN_SAFE_INTEGER|EPSILON)\\b"}),(!n||0!=n.jsx)&&a.call(this)),this.embedRules(R,"doc-",[R.getEndRule("no_regex")]),this.normalizeRules()};L.inherits(u,D),b.JavaScriptHighlightRules=u})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(n,b,A){"use strict";var L=n("../range").Range,i=function(){};(function(){this.checkOutdent=function(n,b){return!!/^\s+$/.test(n)&&/^\s*\}/.test(b)},this.autoOutdent=function(n,b){var A=n.getLine(b).match(/^(\s*\})/);if(!A)return 0;var R=A[1].length,D=n.findMatchingBracket({row:b,column:R});if(!D||D.row==b)return 0;var B=this.$getIndent(n.getLine(D.row));n.replace(new L(b,0,b,R-1),B)},this.$getIndent=function(n){return n.match(/^\s*/)[0]}}).call(i.prototype),b.MatchingBraceOutdent=i})),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],(function(n,b,A){"use strict";function o(n,b){return n&&n.type.lastIndexOf(b+".xml")>-1}var L=n("../../lib/oop"),R=n("../behaviour").Behaviour,D=n("../../token_iterator").TokenIterator,u=function(){this.add("string_dquotes","insertion",(function(n,b,A,L,R){if('"'==R||"'"==R){var B=R,E=L.doc.getTextRange(A.getSelectionRange());if(""!==E&&"'"!==E&&'"'!=E&&A.getWrapBehavioursEnabled())return{text:B+E+B,selection:!1};var X=A.getCursorPosition(),$=L.doc.getLine(X.row).substring(X.column,X.column+1),V=new D(L,X.row,X.column),K=V.getCurrentToken();if($==B&&(o(K,"attribute-value")||o(K,"string")))return{text:"",selection:[1,1]};if(K||(K=V.stepBackward()),!K)return;for(;o(K,"tag-whitespace")||o(K,"whitespace");)K=V.stepBackward();var Q=!$||$.match(/\s/);if(o(K,"attribute-equals")&&(Q||">"==$)||o(K,"decl-attribute-equals")&&(Q||"?"==$))return{text:B+B,selection:[1,1]}}})),this.add("string_dquotes","deletion",(function(n,b,A,L,R){var D=L.doc.getTextRange(R);if(!R.isMultiLine()&&('"'==D||"'"==D)&&L.doc.getLine(R.start.row).substring(R.start.column+1,R.start.column+2)==D)return R.end.column++,R})),this.add("autoclosing","insertion",(function(n,b,A,L,R){if(">"==R){var B=A.getSelectionRange().start,E=new D(L,B.row,B.column),X=E.getCurrentToken()||E.stepBackward();if(!X||!(o(X,"tag-name")||o(X,"tag-whitespace")||o(X,"attribute-name")||o(X,"attribute-equals")||o(X,"attribute-value")))return;if(o(X,"reference.attribute-value"))return;if(o(X,"attribute-value")){var $=E.getCurrentTokenColumn()+X.value.length;if(B.column<$)return;if(B.column==$){var V=E.stepForward();if(V&&o(V,"attribute-value"))return;E.stepBackward()}}if(/^\s*>/.test(L.getLine(B.row).slice(B.column)))return;for(;!o(X,"tag-name");)if("<"==(X=E.stepBackward()).value){X=E.stepForward();break}var K=E.getCurrentTokenRow(),Q=E.getCurrentTokenColumn();if(o(E.stepBackward(),"end-tag-open"))return;var tt=X.value;if(K==B.row&&(tt=tt.substring(0,B.column-Q)),this.voidElements&&this.voidElements.hasOwnProperty(tt.toLowerCase()))return;return{text:">"+tt+">",selection:[1,1]}}})),this.add("autoindent","insertion",(function(n,b,A,L,R){if("\n"==R){var B=A.getCursorPosition(),E=L.getLine(B.row),X=new D(L,B.row,B.column),$=X.getCurrentToken();if(o($,"")&&-1!==$.type.indexOf("tag-close")){if("/>"==$.value)return;for(;$&&-1===$.type.indexOf("tag-name");)$=X.stepBackward();if(!$)return;var V=$.value,K=X.getCurrentTokenRow();if(!($=X.stepBackward())||-1!==$.type.indexOf("end-tag"))return;if(this.voidElements&&!this.voidElements[V]||!this.voidElements){var Q=L.getTokenAt(B.row,B.column+1),tt=(E=L.getLine(K),this.$getIndent(E)),ot=tt+L.getTabString();return Q&&""===Q.value?{text:"\n"+ot+"\n"+tt,selection:[1,ot.length,1,ot.length]}:{text:"\n"+ot}}}}}))};L.inherits(u,R),b.XmlBehaviour=u})),ace.define("ace/mode/behaviour/javascript",["require","exports","module","ace/lib/oop","ace/token_iterator","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=n("../../token_iterator").TokenIterator,D=n("../behaviour/cstyle").CstyleBehaviour,B=n("../behaviour/xml").XmlBehaviour,u=function(){var n=new B({closeCurlyBraces:!0}).getBehaviours();this.addBehaviours(n),this.inherit(D),this.add("autoclosing-fragment","insertion",(function(n,b,A,L,D){if(">"==D){var B=A.getSelectionRange().start,E=new R(L,B.row,B.column),X=E.getCurrentToken()||E.stepBackward();if(!X)return;if("<"==X.value)return{text:">>",selection:[1,1]}}}))};L.inherits(u,D),b.JavaScriptBehaviour=u})),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(n,b,A){"use strict";function a(n,b){return n.type.lastIndexOf(b+".xml")>-1}var L=n("../../lib/oop"),R=n("../../range").Range,D=n("./fold_mode").FoldMode,B=b.FoldMode=function(n,b){D.call(this),this.voidElements=n||{},this.optionalEndTags=L.mixin({},this.voidElements),b&&L.mixin(this.optionalEndTags,b)};L.inherits(B,D);var u=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(n,b,A){var L=this._getFirstTagInLine(n,A);return L?L.closing||!L.tagName&&L.selfClosing?"markbeginend"===b?"end":"":!L.tagName||L.selfClosing||this.voidElements.hasOwnProperty(L.tagName.toLowerCase())||this._findEndTagInLine(n,A,L.tagName,L.end.column)?"":"start":this.getCommentFoldWidget(n,A)},this.getCommentFoldWidget=function(n,b){return/comment/.test(n.getState(b))&&/"==D.value;break}return L}if(a(D,"tag-close"))return L.selfClosing="/>"==D.value,L;L.start.column+=D.value.length}return null},this._findEndTagInLine=function(n,b,A,L){for(var R=n.getTokens(b),D=0,B=0;B$)break;var V=this.getFoldWidgetRange(n,"all",b);if(V){if(V.start.row<=D)break;if(V.isMultiLine())b=V.end.row;else if(L==$)break}E=b}}return new R(D,B,E,n.getLine(E).length)},this.getCommentRegionBlock=function(n,b,A){for(var L=b.search(/\s*$/),D=n.getLength(),B=A,E=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,X=1;++AB)return new R(B,L,A,b.length)}}.call(B.prototype)})),ace.define("ace/mode/folding/javascript",["require","exports","module","ace/lib/oop","ace/mode/folding/xml","ace/mode/folding/cstyle"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=n("./xml").FoldMode,D=n("./cstyle").FoldMode,B=b.FoldMode=function(n){n&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+n.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+n.end))),this.xmlFoldMode=new R};L.inherits(B,D),function(){this.getFoldWidgetRangeBase=this.getFoldWidgetRange,this.getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(n,b,A){var L=this.getFoldWidgetBase(n,b,A);return L||this.xmlFoldMode.getFoldWidget(n,b,A)},this.getFoldWidgetRange=function(n,b,A,L){var R=this.getFoldWidgetRangeBase(n,b,A,L);return R||this.xmlFoldMode.getFoldWidgetRange(n,b,A)}}.call(B.prototype)})),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/javascript","ace/mode/folding/javascript"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text").Mode,D=n("./javascript_highlight_rules").JavaScriptHighlightRules,B=n("./matching_brace_outdent").MatchingBraceOutdent,E=n("../worker/worker_client").WorkerClient,X=n("./behaviour/javascript").JavaScriptBehaviour,$=n("./folding/javascript").FoldMode,l=function(){this.HighlightRules=D,this.$outdent=new B,this.$behaviour=new X,this.foldingRules=new $};L.inherits(l,R),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.$pairQuotesAfter={"`":/\w/},this.getNextLineIndent=function(n,b,A){var L=this.$getIndent(b),R=this.getTokenizer().getLineTokens(b,n),D=R.tokens,B=R.state;if(D.length&&"comment"==D[D.length-1].type)return L;if("start"==n||"no_regex"==n)b.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/)&&(L+=A);else if("doc-start"==n&&("start"==B||"no_regex"==B))return"";return L},this.checkOutdent=function(n,b,A){return this.$outdent.checkOutdent(b,A)},this.autoOutdent=function(n,b,A){this.$outdent.autoOutdent(b,A)},this.createWorker=function(n){var b=new E(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return b.attachToDocument(n.getDocument()),b.on("annotate",(function(b){n.setAnnotations(b.data)})),b.on("terminate",(function(){n.clearAnnotations()})),b},this.$id="ace/mode/javascript",this.snippetFileId="ace/snippets/javascript"}.call(l.prototype),b.Mode=l})),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=(n("../lib/lang"),n("./text_highlight_rules").TextHighlightRules),D=b.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",B=b.supportFunction="rgb|rgba|url|attr|counter|counters",E=b.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|flex-end|flex-start|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",X=b.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",$=b.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",V=b.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",K=b.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",Q=b.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var n=this.createKeywordMapper({"support.function":B,"support.constant":E,"support.type":D,"support.constant.color":X,"support.constant.fonts":$},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:V},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+V+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:V},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:K},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:Q},{include:"url"},{token:n,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{token:"paren.lparen",regex:"\\{"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};L.inherits(d,R),b.CssHighlightRules=d})),ace.define("ace/mode/css_completions",["require","exports","module"],(function(n,b,A){"use strict";var L={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,double:2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{default:1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},float:{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,static:1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var n=document.createElement("c").style;for(var b in n)if("string"==typeof n[b]){var A=b.replace(/[A-Z]/g,(function(n){return"-"+n.toLowerCase()}));L.hasOwnProperty(A)||(L[A]=1)}}this.completionsDefined=!0},this.getCompletions=function(n,b,A,L){if(this.completionsDefined||this.defineCompletions(),"ruleset"===n||"ace/mode/scss"==b.$mode.$id){var R=b.getLine(A.row).substr(0,A.column),D=/\([^)]*$/.test(R);return D&&(R=R.substr(R.lastIndexOf("(")+1)),/:[^;]+$/.test(R)?(/([\w\-]+):[^:]*$/.test(R),this.getPropertyValueCompletions(n,b,A,L)):this.getPropertyCompletions(n,b,A,L,D)}return[]},this.getPropertyCompletions=function(n,b,A,R,D){return D=D||!1,Object.keys(L).map((function(n){return{caption:n,snippet:n+": $0"+(D?"":";"),meta:"property",score:1e6}}))},this.getPropertyValueCompletions=function(n,b,A,R){var D=b.getLine(A.row).substr(0,A.column),B=(/([\w\-]+):[^:]*$/.exec(D)||{})[1];if(!B)return[];var E=[];return B in L&&"object"==typeof L[B]&&(E=Object.keys(L[B])),E.map((function(n){return{caption:n,snippet:n,meta:"property value",score:1e6}}))}}).call(i.prototype),b.CssCompletions=i})),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=(n("../behaviour").Behaviour,n("./cstyle").CstyleBehaviour),D=n("../../token_iterator").TokenIterator,u=function(){this.inherit(R),this.add("colon","insertion",(function(n,b,A,L,R){if(":"===R&&A.selection.isEmpty()){var B=A.getCursorPosition(),E=new D(L,B.row,B.column),X=E.getCurrentToken();if(X&&X.value.match(/\s+/)&&(X=E.stepBackward()),X&&"support.type"===X.type){var $=L.doc.getLine(B.row);if(":"===$.substring(B.column,B.column+1))return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test($.substring(B.column)))return{text:":;",selection:[1,1]}}}})),this.add("colon","deletion",(function(n,b,A,L,R){var B=L.doc.getTextRange(R);if(!R.isMultiLine()&&":"===B){var E=A.getCursorPosition(),X=new D(L,E.row,E.column),$=X.getCurrentToken();if($&&$.value.match(/\s+/)&&($=X.stepBackward()),$&&"support.type"===$.type)if(";"===L.doc.getLine(R.start.row).substring(R.end.column,R.end.column+1))return R.end.column++,R}})),this.add("semicolon","insertion",(function(n,b,A,L,R){if(";"===R&&A.selection.isEmpty()){var D=A.getCursorPosition();if(";"===L.doc.getLine(D.row).substring(D.column,D.column+1))return{text:"",selection:[1,1]}}})),this.add("!important","insertion",(function(n,b,A,L,R){if("!"===R&&A.selection.isEmpty()){var D=A.getCursorPosition(),B=L.doc.getLine(D.row);if(/^\s*(;|}|$)/.test(B.substring(D.column)))return{text:"!important",selection:[10,10]}}}))};L.inherits(u,R),b.CssBehaviour=u})),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text").Mode,D=n("./css_highlight_rules").CssHighlightRules,B=n("./matching_brace_outdent").MatchingBraceOutdent,E=n("../worker/worker_client").WorkerClient,X=n("./css_completions").CssCompletions,$=n("./behaviour/css").CssBehaviour,V=n("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=D,this.$outdent=new B,this.$behaviour=new $,this.$completer=new X,this.foldingRules=new V};L.inherits(c,R),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(n,b,A){var L=this.$getIndent(b),R=this.getTokenizer().getLineTokens(b,n).tokens;return R.length&&"comment"==R[R.length-1].type||b.match(/^.*\{\s*$/)&&(L+=A),L},this.checkOutdent=function(n,b,A){return this.$outdent.checkOutdent(b,A)},this.autoOutdent=function(n,b,A){this.$outdent.autoOutdent(b,A)},this.getCompletions=function(n,b,A,L){return this.$completer.getCompletions(n,b,A,L)},this.createWorker=function(n){var b=new E(["ace"],"ace/mode/css_worker","Worker");return b.attachToDocument(n.getDocument()),b.on("annotate",(function(b){n.setAnnotations(b.data)})),b.on("terminate",(function(){n.clearAnnotations()})),b},this.$id="ace/mode/css",this.snippetFileId="ace/snippets/css"}.call(c.prototype),b.Mode=c})),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text_highlight_rules").TextHighlightRules,s=function(n){var b="[_: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:"(<\\?)("+b+")",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:b},{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:"(<\\!)("+b+")",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]+;)|(?:[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:[0-9]+;)|(?:[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:"(?:(<)|())((?:"+b+":)?"+b+")",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:b},{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===s&&this.normalizeRules()};(function(){this.embedTagRules=function(n,b,A){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+A+".tag-name.xml"],regex:"(<)("+A+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:b+"start"}]}),this.$rules[A+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(n,b,A){return A.splice(0),this.token}}],this.embedRules(n,b,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+A+".tag-name.xml"],regex:"()("+A+"(?=\\s|>|$))",next:A+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(R.prototype),L.inherits(s,R),b.XmlHighlightRules=s})),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("../lib/lang"),D=n("./css_highlight_rules").CssHighlightRules,B=n("./javascript_highlight_rules").JavaScriptHighlightRules,E=n("./xml_highlight_rules").XmlHighlightRules,X=R.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){E.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(n,b){var A=X[b];return["meta.tag.punctuation."+("<"==n?"":"end-")+"tag-open.xml","meta.tag"+(A?"."+A:"")+".tag-name.xml"]},regex:"(?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(D,"css-","style"),this.embedTagRules(new B({jsx:!1}).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};L.inherits(f,E),b.HtmlHighlightRules=f})),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=n("./fold_mode").FoldMode,D=b.FoldMode=function(n,b){this.defaultMode=n,this.subModes=b};L.inherits(D,R),function(){this.$getMode=function(n){for(var b in"string"!=typeof n&&(n=n[0]),this.subModes)if(0===n.indexOf(b))return this.subModes[b];return null},this.$tryMode=function(n,b,A,L){var R=this.$getMode(n);return R?R.getFoldWidget(b,A,L):""},this.getFoldWidget=function(n,b,A){return this.$tryMode(n.getState(A-1),n,b,A)||this.$tryMode(n.getState(A),n,b,A)||this.defaultMode.getFoldWidget(n,b,A)},this.getFoldWidgetRange=function(n,b,A){var L=this.$getMode(n.getState(A-1));return L&&L.getFoldWidget(n,b,A)||(L=this.$getMode(n.getState(A))),L&&L.getFoldWidget(n,b,A)||(L=this.defaultMode),L.getFoldWidgetRange(n,b,A)}}.call(D.prototype)})),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=n("./mixed").FoldMode,D=n("./xml").FoldMode,B=n("./cstyle").FoldMode,E=b.FoldMode=function(n,b){R.call(this,new D(n,b),{"js-":new B,"css-":new B})};L.inherits(E,R)})),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],(function(n,b,A){"use strict";function f(n,b){return n.type.lastIndexOf(b+".xml")>-1}function l(n,b){for(var A=new L(n,b.row,b.column),R=A.getCurrentToken();R&&!f(R,"tag-name");)R=A.stepBackward();if(R)return R.value}function c(n,b){for(var A=new L(n,b.row,b.column),R=A.getCurrentToken();R&&!f(R,"attribute-name");)R=A.stepBackward();if(R)return R.value}var L=n("../token_iterator").TokenIterator,R=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"].concat(["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"]),D={a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},abbr:{},address:{},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},article:{pubdate:1},aside:{},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},b:{},base:{href:1,target:1},bdi:{},bdo:{},blockquote:{cite:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},br:{},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},canvas:{width:1,height:1},caption:{},cite:{},code:{},col:{span:1},colgroup:{span:1},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},data:{},datalist:{},dd:{},del:{cite:1,datetime:1},details:{open:1},dfn:{},dialog:{open:1},div:{},dl:{},dt:{},em:{},embed:{src:1,height:1,width:1,type:1},fieldset:{disabled:1,form:1,name:1},figcaption:{},figure:{},footer:{},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},head:{},header:{},hr:{},html:{manifest:1},i:{},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},ins:{cite:1,datetime:1},kbd:{},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},label:{form:1,for:1},legend:{},li:{value:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},main:{},map:{name:1},mark:{},math:{},menu:{type:1,label:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},nav:{},noscript:{href:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},ol:{start:1,reversed:1},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},output:{for:1,form:1,name:1},p:{},param:{name:1,value:1},pre:{},progress:{value:1,max:1},q:{cite:1},rp:{},rt:{},ruby:{},s:{},samp:{},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},small:{},source:{src:1,type:1,media:1},span:{},strong:{},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},sub:{},sup:{},svg:{},table:{summary:1},tbody:{},td:{headers:1,rowspan:1,colspan:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},tfoot:{},th:{headers:1,rowspan:1,colspan:1,scope:1},thead:{},time:{datetime:1},title:{},tr:{},track:{kind:1,src:1,srclang:1,label:1,default:1},section:{},summary:{},u:{},ul:{},var:{},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},wbr:{}},B=Object.keys(D),h=function(){};(function(){this.getCompletions=function(n,b,A,L){var R=b.getTokenAt(A.row,A.column);if(!R)return[];if(f(R,"tag-name")||f(R,"tag-open")||f(R,"end-tag-open"))return this.getTagCompletions(n,b,A,L);if(f(R,"tag-whitespace")||f(R,"attribute-name"))return this.getAttributeCompletions(n,b,A,L);if(f(R,"attribute-value"))return this.getAttributeValueCompletions(n,b,A,L);var D=b.getLine(A.row).substr(0,A.column);return/&[a-z]*$/i.test(D)?this.getHTMLEntityCompletions(n,b,A,L):[]},this.getTagCompletions=function(n,b,A,L){return B.map((function(n){return{value:n,meta:"tag",score:1e6}}))},this.getAttributeCompletions=function(n,b,A,L){var B=l(b,A);if(!B)return[];var E=R;return B in D&&(E=E.concat(Object.keys(D[B]))),E.map((function(n){return{caption:n,snippet:n+'="$0"',meta:"attribute",score:1e6}}))},this.getAttributeValueCompletions=function(n,b,A,L){var R=l(b,A),B=c(b,A);if(!R)return[];var E=[];return R in D&&B in D[R]&&"object"==typeof D[R][B]&&(E=Object.keys(D[R][B])),E.map((function(n){return{caption:n,snippet:n,meta:"attribute value",score:1e6}}))},this.getHTMLEntityCompletions=function(n,b,A,L){return["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"].map((function(n){return{caption:n,snippet:n,meta:"html entity",score:1e6}}))}}).call(h.prototype),b.HtmlCompletions=h})),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("../lib/lang"),D=n("./text").Mode,B=n("./javascript").Mode,E=n("./css").Mode,X=n("./html_highlight_rules").HtmlHighlightRules,$=n("./behaviour/xml").XmlBehaviour,V=n("./folding/html").FoldMode,K=n("./html_completions").HtmlCompletions,Q=n("../worker/worker_client").WorkerClient,tt=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],ot=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(n){this.fragmentContext=n&&n.fragmentContext,this.HighlightRules=X,this.$behaviour=new $,this.$completer=new K,this.createModeDelegates({"js-":B,"css-":E}),this.foldingRules=new V(this.voidElements,R.arrayToMap(ot))};L.inherits(v,D),function(){this.blockComment={start:"\x3c!--",end:"--\x3e"},this.voidElements=R.arrayToMap(tt),this.getNextLineIndent=function(n,b,A){return this.$getIndent(b)},this.checkOutdent=function(n,b,A){return!1},this.getCompletions=function(n,b,A,L){return this.$completer.getCompletions(n,b,A,L)},this.createWorker=function(n){if(this.constructor==v){var b=new Q(["ace"],"ace/mode/html_worker","Worker");return b.attachToDocument(n.getDocument()),this.fragmentContext&&b.call("setOptions",[{context:this.fragmentContext}]),b.on("error",(function(b){n.setAnnotations(b.data)})),b.on("terminate",(function(){n.clearAnnotations()})),b}},this.$id="ace/mode/html",this.snippetFileId="ace/snippets/html"}.call(v.prototype),b.Mode=v})),ace.require(["ace/mode/html"],(function(b){n&&(n.exports=b)}))},5813:(n,b,A)=>{n=A.nmd(n),ace.define("ace/mode/jsdoc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:["comment.doc.tag","comment.doc.text","lparen.doc"],regex:"(@(?:param|member|typedef|property|namespace|var|const|callback))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:["rparen.doc","text.doc","variable.parameter.doc","lparen.doc","variable.parameter.doc","rparen.doc"],regex:/(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.\-\'\" ]+)(\])))/,next:"pop"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","lparen.doc"],regex:"(@(?:returns?|yields|type|this|suppress|public|protected|private|package|modifies|implements|external|exception|throws|enum|define|extends))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:'(@(?:alias|memberof|instance|module|name|lends|namespace|external|this|template|requires|param|implements|function|extends|typedef|mixes|constructor|var|memberof\\!|event|listens|exports|class|constructs|interface|emits|fires|throws|const|callback|borrows|augments))(\\s+)(\\w[\\w#.:/~"\\-]*)?'},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:"(@method)(\\s+)(\\w[\\w.\\(\\)]*)"},{token:"comment.doc.tag",regex:"@access\\s+(?:private|public|protected)"},{token:"comment.doc.tag",regex:"@kind\\s+(?:class|constant|event|external|file|function|member|mixin|module|namespace|typedef)"},{token:"comment.doc.tag",regex:"@\\w+(?=\\s|$)"},s.getTagRule(),{defaultToken:"comment.doc.body",caseInsensitive:!0}],"doc-syntax":[{token:"operator.doc",regex:/[|:]/},{token:"paren.doc",regex:/[\[\]]/}]},this.normalizeRules()};L.inherits(s,R),s.getTagRule=function(n){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(n){return{token:"comment.doc",regex:/\/\*\*(?!\/)/,next:n}},s.getEndRule=function(n){return{token:"comment.doc",regex:"\\*\\/",next:n}},b.JsDocCommentHighlightRules=s})),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/jsdoc_comment_highlight_rules","ace/mode/text_highlight_rules"],(function(n,b,A){"use strict";function a(){var n=B.replace("\\d","\\d\\-"),b={onMatch:function(n,b,A){var L="/"==n.charAt(1)?2:1;return 1==L?(b!=this.nextState?A.unshift(this.next,this.nextState,0):A.unshift(this.next),A[2]++):2==L&&b==this.nextState&&(A[1]--,(!A[1]||A[1]<0)&&(A.shift(),A.shift())),[{type:"meta.tag.punctuation."+(1==L?"":"end-")+"tag-open.xml",value:n.slice(0,L)},{type:"meta.tag.tag-name.xml",value:n.substr(L)}]},regex:"?(?:"+n+"|(?=>))",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(b);var A={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[A,b,{include:"reference"},{defaultToken:"string.xml"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(n,b,A){return b==A[0]&&A.shift(),2==n.length&&(A[0]==this.nextState&&A[1]--,(!A[1]||A[1]<0)&&A.splice(0,2)),this.next=A[0]||"start",[{type:this.token,value:n}]},nextState:"jsx"},A,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:n},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},b],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:[0-9]+;)|(?:[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(n){return[{token:"comment",regex:/\/\*/,next:[R.getTagRule(),{token:"comment",regex:"\\*\\/",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[R.getTagRule(),{token:"comment",regex:"$|^",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var L=n("../lib/oop"),R=n("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules,D=n("./text_highlight_rules").TextHighlightRules,B="[a-zA-Z\\$_¡-][a-zA-Z\\d\\$_¡-]*",u=function(n){var b={"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},A=this.createKeywordMapper(b,"identifier"),L="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)",D="(function)(\\s*)(\\*?)",E={token:["identifier","text","paren.lparen"],regex:"(\\b(?!"+Object.values(b).join("|")+"\\b)"+B+")(\\s*)(\\()"};this.$rules={no_regex:[R.getStartRule("doc-start"),f("no_regex"),E,{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+B+")(\\s*)(=)(\\s*)"+D+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))("+B+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+B+")(\\s*)(:)(\\s*)"+D+"(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)"+D+"(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:"support.constant",regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|debug|time|trace|timeEnd|assert)\b/},{token:A,regex:B},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:"keyword.operator",regex:/=/},{token:["storage.type","text","storage.type","text","paren.lparen"],regex:D+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:"prototype"},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|lter|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward|rEach)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:B},{regex:"",token:"empty",next:"no_regex"}],start:[R.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],default_parameter:[{token:"string",regex:"'(?=.)",push:[{token:"string",regex:"'|$",next:"pop"},{include:"qstring"}]},{token:"string",regex:'"(?=.)',push:[{token:"string",regex:'"|$',next:"pop"},{include:"qqstring"}]},{token:"constant.language",regex:"null|Infinity|NaN|undefined"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:"punctuation.operator",regex:",",next:"function_arguments"},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],function_arguments:[f("function_arguments"),{token:"variable.parameter",regex:B},{token:"punctuation.operator",regex:","},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:L},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:L},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},n&&n.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(n,b,A){if(this.next="{"==n?this.nextState:"","{"==n&&A.length)A.unshift("start",b);else if("}"==n&&A.length&&(A.shift(),this.next=A.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==n?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:L},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]},{token:["variable.parameter","text"],regex:"("+B+")(\\s*)(?=\\=>)"},{token:"paren.lparen",regex:"(\\()(?=[^\\(]+\\s*=>)",next:"function_arguments"},{token:"variable.language",regex:"(?:(?:(?:Weak)?(?:Set|Map))|Promise)\\b"}),this.$rules.function_arguments.unshift({token:"keyword.operator",regex:"=",next:"default_parameter"},{token:"keyword.operator",regex:"\\.{3}"}),this.$rules.property.unshift({token:"support.function",regex:"(findIndex|repeat|startsWith|endsWith|includes|isSafeInteger|trunc|cbrt|log2|log10|sign|then|catch|finally|resolve|reject|race|any|all|allSettled|keys|entries|isInteger)\\b(?=\\()"},{token:"constant.language",regex:"(?:MAX_SAFE_INTEGER|MIN_SAFE_INTEGER|EPSILON)\\b"}),(!n||0!=n.jsx)&&a.call(this)),this.embedRules(R,"doc-",[R.getEndRule("no_regex")]),this.normalizeRules()};L.inherits(u,D),b.JavaScriptHighlightRules=u})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(n,b,A){"use strict";var L=n("../range").Range,i=function(){};(function(){this.checkOutdent=function(n,b){return!!/^\s+$/.test(n)&&/^\s*\}/.test(b)},this.autoOutdent=function(n,b){var A=n.getLine(b).match(/^(\s*\})/);if(!A)return 0;var R=A[1].length,D=n.findMatchingBracket({row:b,column:R});if(!D||D.row==b)return 0;var B=this.$getIndent(n.getLine(D.row));n.replace(new L(b,0,b,R-1),B)},this.$getIndent=function(n){return n.match(/^\s*/)[0]}}).call(i.prototype),b.MatchingBraceOutdent=i})),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],(function(n,b,A){"use strict";function o(n,b){return n&&n.type.lastIndexOf(b+".xml")>-1}var L=n("../../lib/oop"),R=n("../behaviour").Behaviour,D=n("../../token_iterator").TokenIterator,u=function(){this.add("string_dquotes","insertion",(function(n,b,A,L,R){if('"'==R||"'"==R){var B=R,E=L.doc.getTextRange(A.getSelectionRange());if(""!==E&&"'"!==E&&'"'!=E&&A.getWrapBehavioursEnabled())return{text:B+E+B,selection:!1};var X=A.getCursorPosition(),$=L.doc.getLine(X.row).substring(X.column,X.column+1),V=new D(L,X.row,X.column),K=V.getCurrentToken();if($==B&&(o(K,"attribute-value")||o(K,"string")))return{text:"",selection:[1,1]};if(K||(K=V.stepBackward()),!K)return;for(;o(K,"tag-whitespace")||o(K,"whitespace");)K=V.stepBackward();var Q=!$||$.match(/\s/);if(o(K,"attribute-equals")&&(Q||">"==$)||o(K,"decl-attribute-equals")&&(Q||"?"==$))return{text:B+B,selection:[1,1]}}})),this.add("string_dquotes","deletion",(function(n,b,A,L,R){var D=L.doc.getTextRange(R);if(!R.isMultiLine()&&('"'==D||"'"==D)&&L.doc.getLine(R.start.row).substring(R.start.column+1,R.start.column+2)==D)return R.end.column++,R})),this.add("autoclosing","insertion",(function(n,b,A,L,R){if(">"==R){var B=A.getSelectionRange().start,E=new D(L,B.row,B.column),X=E.getCurrentToken()||E.stepBackward();if(!X||!(o(X,"tag-name")||o(X,"tag-whitespace")||o(X,"attribute-name")||o(X,"attribute-equals")||o(X,"attribute-value")))return;if(o(X,"reference.attribute-value"))return;if(o(X,"attribute-value")){var $=E.getCurrentTokenColumn()+X.value.length;if(B.column<$)return;if(B.column==$){var V=E.stepForward();if(V&&o(V,"attribute-value"))return;E.stepBackward()}}if(/^\s*>/.test(L.getLine(B.row).slice(B.column)))return;for(;!o(X,"tag-name");)if("<"==(X=E.stepBackward()).value){X=E.stepForward();break}var K=E.getCurrentTokenRow(),Q=E.getCurrentTokenColumn();if(o(E.stepBackward(),"end-tag-open"))return;var tt=X.value;if(K==B.row&&(tt=tt.substring(0,B.column-Q)),this.voidElements&&this.voidElements.hasOwnProperty(tt.toLowerCase()))return;return{text:">"+tt+">",selection:[1,1]}}})),this.add("autoindent","insertion",(function(n,b,A,L,R){if("\n"==R){var B=A.getCursorPosition(),E=L.getLine(B.row),X=new D(L,B.row,B.column),$=X.getCurrentToken();if(o($,"")&&-1!==$.type.indexOf("tag-close")){if("/>"==$.value)return;for(;$&&-1===$.type.indexOf("tag-name");)$=X.stepBackward();if(!$)return;var V=$.value,K=X.getCurrentTokenRow();if(!($=X.stepBackward())||-1!==$.type.indexOf("end-tag"))return;if(this.voidElements&&!this.voidElements[V]||!this.voidElements){var Q=L.getTokenAt(B.row,B.column+1),tt=(E=L.getLine(K),this.$getIndent(E)),ot=tt+L.getTabString();return Q&&""===Q.value?{text:"\n"+ot+"\n"+tt,selection:[1,ot.length,1,ot.length]}:{text:"\n"+ot}}}}}))};L.inherits(u,R),b.XmlBehaviour=u})),ace.define("ace/mode/behaviour/javascript",["require","exports","module","ace/lib/oop","ace/token_iterator","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=n("../../token_iterator").TokenIterator,D=n("../behaviour/cstyle").CstyleBehaviour,B=n("../behaviour/xml").XmlBehaviour,u=function(){var n=new B({closeCurlyBraces:!0}).getBehaviours();this.addBehaviours(n),this.inherit(D),this.add("autoclosing-fragment","insertion",(function(n,b,A,L,D){if(">"==D){var B=A.getSelectionRange().start,E=new R(L,B.row,B.column),X=E.getCurrentToken()||E.stepBackward();if(!X)return;if("<"==X.value)return{text:">>",selection:[1,1]}}}))};L.inherits(u,D),b.JavaScriptBehaviour=u})),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(n,b,A){"use strict";function a(n,b){return n.type.lastIndexOf(b+".xml")>-1}var L=n("../../lib/oop"),R=n("../../range").Range,D=n("./fold_mode").FoldMode,B=b.FoldMode=function(n,b){D.call(this),this.voidElements=n||{},this.optionalEndTags=L.mixin({},this.voidElements),b&&L.mixin(this.optionalEndTags,b)};L.inherits(B,D);var u=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(n,b,A){var L=this._getFirstTagInLine(n,A);return L?L.closing||!L.tagName&&L.selfClosing?"markbeginend"===b?"end":"":!L.tagName||L.selfClosing||this.voidElements.hasOwnProperty(L.tagName.toLowerCase())||this._findEndTagInLine(n,A,L.tagName,L.end.column)?"":"start":this.getCommentFoldWidget(n,A)},this.getCommentFoldWidget=function(n,b){return/comment/.test(n.getState(b))&&/"==D.value;break}return L}if(a(D,"tag-close"))return L.selfClosing="/>"==D.value,L;L.start.column+=D.value.length}return null},this._findEndTagInLine=function(n,b,A,L){for(var R=n.getTokens(b),D=0,B=0;B$)break;var V=this.getFoldWidgetRange(n,"all",b);if(V){if(V.start.row<=D)break;if(V.isMultiLine())b=V.end.row;else if(L==$)break}E=b}}return new R(D,B,E,n.getLine(E).length)},this.getCommentRegionBlock=function(n,b,A){for(var L=b.search(/\s*$/),D=n.getLength(),B=A,E=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,X=1;++AB)return new R(B,L,A,b.length)}}.call(B.prototype)})),ace.define("ace/mode/folding/javascript",["require","exports","module","ace/lib/oop","ace/mode/folding/xml","ace/mode/folding/cstyle"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=n("./xml").FoldMode,D=n("./cstyle").FoldMode,B=b.FoldMode=function(n){n&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+n.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+n.end))),this.xmlFoldMode=new R};L.inherits(B,D),function(){this.getFoldWidgetRangeBase=this.getFoldWidgetRange,this.getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(n,b,A){var L=this.getFoldWidgetBase(n,b,A);return L||this.xmlFoldMode.getFoldWidget(n,b,A)},this.getFoldWidgetRange=function(n,b,A,L){var R=this.getFoldWidgetRangeBase(n,b,A,L);return R||this.xmlFoldMode.getFoldWidgetRange(n,b,A)}}.call(B.prototype)})),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/javascript","ace/mode/folding/javascript"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text").Mode,D=n("./javascript_highlight_rules").JavaScriptHighlightRules,B=n("./matching_brace_outdent").MatchingBraceOutdent,E=n("../worker/worker_client").WorkerClient,X=n("./behaviour/javascript").JavaScriptBehaviour,$=n("./folding/javascript").FoldMode,l=function(){this.HighlightRules=D,this.$outdent=new B,this.$behaviour=new X,this.foldingRules=new $};L.inherits(l,R),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.$pairQuotesAfter={"`":/\w/},this.getNextLineIndent=function(n,b,A){var L=this.$getIndent(b),R=this.getTokenizer().getLineTokens(b,n),D=R.tokens,B=R.state;if(D.length&&"comment"==D[D.length-1].type)return L;if("start"==n||"no_regex"==n)b.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/)&&(L+=A);else if("doc-start"==n&&("start"==B||"no_regex"==B))return"";return L},this.checkOutdent=function(n,b,A){return this.$outdent.checkOutdent(b,A)},this.autoOutdent=function(n,b,A){this.$outdent.autoOutdent(b,A)},this.createWorker=function(n){var b=new E(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return b.attachToDocument(n.getDocument()),b.on("annotate",(function(b){n.setAnnotations(b.data)})),b.on("terminate",(function(){n.clearAnnotations()})),b},this.$id="ace/mode/javascript",this.snippetFileId="ace/snippets/javascript"}.call(l.prototype),b.Mode=l})),ace.require(["ace/mode/javascript"],(function(b){n&&(n.exports=b)}))},6144:(n,b,A)=>{n=A.nmd(n),ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"text",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"comment",regex:"\\/\\/.*$"},{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"punctuation.operator",regex:/[,]/},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]}};L.inherits(s,R),b.JsonHighlightRules=s})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(n,b,A){"use strict";var L=n("../range").Range,i=function(){};(function(){this.checkOutdent=function(n,b){return!!/^\s+$/.test(n)&&/^\s*\}/.test(b)},this.autoOutdent=function(n,b){var A=n.getLine(b).match(/^(\s*\})/);if(!A)return 0;var R=A[1].length,D=n.findMatchingBracket({row:b,column:R});if(!D||D.row==b)return 0;var B=this.$getIndent(n.getLine(D.row));n.replace(new L(b,0,b,R-1),B)},this.$getIndent=function(n){return n.match(/^\s*/)[0]}}).call(i.prototype),b.MatchingBraceOutdent=i})),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=n("../../range").Range,D=n("./fold_mode").FoldMode,B=b.FoldMode=function(n){n&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+n.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+n.end)))};L.inherits(B,D),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(n,b,A){var L=n.getLine(A);if(this.singleLineBlockCommentRe.test(L)&&!this.startRegionRe.test(L)&&!this.tripleStarBlockCommentRe.test(L))return"";var R=this._getFoldWidgetBase(n,b,A);return!R&&this.startRegionRe.test(L)?"start":R},this.getFoldWidgetRange=function(n,b,A,L){var R,D=n.getLine(A);if(this.startRegionRe.test(D))return this.getCommentRegionBlock(n,D,A);if(R=D.match(this.foldingStartMarker)){var B=R.index;if(R[1])return this.openingBracketBlock(n,R[1],A,B);var E=n.getCommentFoldRange(A,B+R[0].length,1);return E&&!E.isMultiLine()&&(L?E=this.getSectionRange(n,A):"all"!=b&&(E=null)),E}if("markbegin"!==b&&(R=D.match(this.foldingStopMarker))){B=R.index+R[0].length;return R[1]?this.closingBracketBlock(n,R[1],A,B):n.getCommentFoldRange(A,B,-1)}},this.getSectionRange=function(n,b){for(var A=n.getLine(b),L=A.search(/\S/),D=b,B=A.length,E=b+=1,X=n.getLength();++b$)break;var V=this.getFoldWidgetRange(n,"all",b);if(V){if(V.start.row<=D)break;if(V.isMultiLine())b=V.end.row;else if(L==$)break}E=b}}return new R(D,B,E,n.getLine(E).length)},this.getCommentRegionBlock=function(n,b,A){for(var L=b.search(/\s*$/),D=n.getLength(),B=A,E=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,X=1;++AB)return new R(B,L,A,b.length)}}.call(B.prototype)})),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/cstyle","ace/worker/worker_client"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text").Mode,D=n("./json_highlight_rules").JsonHighlightRules,B=n("./matching_brace_outdent").MatchingBraceOutdent,E=n("./folding/cstyle").FoldMode,X=n("../worker/worker_client").WorkerClient,f=function(){this.HighlightRules=D,this.$outdent=new B,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new E};L.inherits(f,R),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(n,b,A){var L=this.$getIndent(b);"start"==n&&(b.match(/^.*[\{\(\[]\s*$/)&&(L+=A));return L},this.checkOutdent=function(n,b,A){return this.$outdent.checkOutdent(b,A)},this.autoOutdent=function(n,b,A){this.$outdent.autoOutdent(b,A)},this.createWorker=function(n){var b=new X(["ace"],"ace/mode/json_worker","JsonWorker");return b.attachToDocument(n.getDocument()),b.on("annotate",(function(b){n.setAnnotations(b.data)})),b.on("terminate",(function(){n.clearAnnotations()})),b},this.$id="ace/mode/json"}.call(f.prototype),b.Mode=f})),ace.require(["ace/mode/json"],(function(b){n&&(n.exports=b)}))},7516:(n,b,A)=>{n=A.nmd(n),function(){var n=function(){return this}();n||"undefined"==typeof window||(n=window);var define=function(n,b,A){"string"==typeof n?(2==arguments.length&&(A=b),define.modules[n]||(define.payloads[n]=A,define.modules[n]=null)):define.original?define.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace())};define.modules={},define.payloads={};var _require=function(n,b,A){if("string"==typeof b){var L=lookup(n,b);if(null!=L)return A&&A(),L}else if("[object Array]"===Object.prototype.toString.call(b)){for(var R=[],D=0,B=b.length;DA.length)&&(b=A.length),b-=n.length;var L=A.indexOf(n,b);return-1!==L&&L===b})),String.prototype.repeat||defineProp(String.prototype,"repeat",(function(n){for(var b="",A=this;n>0;)1&n&&(b+=A),(n>>=1)&&(A+=A);return b})),String.prototype.includes||defineProp(String.prototype,"includes",(function(n,b){return-1!=this.indexOf(n,b)})),Object.assign||(Object.assign=function(n){if(null==n)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(n),A=1;A>>0,L=arguments[1]|0,R=L<0?Math.max(A+L,0):Math.min(L,A),D=arguments[2],B=void 0===D?A:D|0,E=B<0?Math.max(A+B,0):Math.min(B,A);R0;)1&b&&(A+=n),(b>>=1)&&(n+=n);return A};var L=/^\s\s*/,R=/\s\s*$/;b.stringTrimLeft=function(n){return n.replace(L,"")},b.stringTrimRight=function(n){return n.replace(R,"")},b.copyObject=function(n){var b={};for(var A in n)b[A]=n[A];return b},b.copyArray=function(n){for(var b=[],A=0,L=n.length;A65535?2:1}})),ace.define("ace/lib/useragent",["require","exports","module"],(function(n,b,A){"use strict";b.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},b.getOS=function(){return b.isMac?b.OS.MAC:b.isLinux?b.OS.LINUX:b.OS.WINDOWS};var L="object"==typeof navigator?navigator:{},R=(/mac|win|linux/i.exec(L.platform)||["other"])[0].toLowerCase(),D=L.userAgent||"",B=L.appName||"";b.isWin="win"==R,b.isMac="mac"==R,b.isLinux="linux"==R,b.isIE="Microsoft Internet Explorer"==B||B.indexOf("MSAppHost")>=0?parseFloat((D.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((D.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),b.isOldIE=b.isIE&&b.isIE<9,b.isGecko=b.isMozilla=D.match(/ Gecko\/\d+/),b.isOpera="object"==typeof opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),b.isWebKit=parseFloat(D.split("WebKit/")[1])||void 0,b.isChrome=parseFloat(D.split(" Chrome/")[1])||void 0,b.isSafari=parseFloat(D.split(" Safari/")[1])&&!b.isChrome||void 0,b.isEdge=parseFloat(D.split(" Edge/")[1])||void 0,b.isAIR=D.indexOf("AdobeAIR")>=0,b.isAndroid=D.indexOf("Android")>=0,b.isChromeOS=D.indexOf(" CrOS ")>=0,b.isIOS=/iPad|iPhone|iPod/.test(D)&&!window.MSStream,b.isIOS&&(b.isMac=!0),b.isMobile=b.isIOS||b.isAndroid})),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],(function(n,b,A){"use strict";var L,R=n("./useragent");b.buildDom=function buildDom(n,b,A){if("string"==typeof n&&n){var L=document.createTextNode(n);return b&&b.appendChild(L),L}if(!Array.isArray(n))return n&&n.appendChild&&b&&b.appendChild(n),n;if("string"!=typeof n[0]||!n[0]){for(var R=[],D=0;D=1.5,R.isChromeOS&&(b.HI_DPI=!1),"undefined"!=typeof document){var B=document.createElement("div");b.HI_DPI&&void 0!==B.style.transform&&(b.HAS_CSS_TRANSFORMS=!0),R.isEdge||void 0===B.style.animationName||(b.HAS_CSS_ANIMATION=!0),B=null}b.HAS_CSS_TRANSFORMS?b.translate=function(n,b,A){n.style.transform="translate("+Math.round(b)+"px, "+Math.round(A)+"px)"}:b.translate=function(n,b,A){n.style.top=Math.round(A)+"px",n.style.left=Math.round(b)+"px"}})),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],(function(n,b,A){
+!function webpackUniversalModuleDefinition(n,b){"object"==typeof exports&&"object"==typeof module?module.exports=b():"function"==typeof define&&define.amd?define([],b):"object"==typeof exports?exports.CUI=b():n.CUI=b()}(self,(()=>(()=>{var n={127:(n,b,A)=>{n=A.nmd(n),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=(n("../lib/lang"),n("./text_highlight_rules").TextHighlightRules),D=b.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",B=b.supportFunction="rgb|rgba|url|attr|counter|counters",X=b.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|flex-end|flex-start|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",K=b.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",Q=b.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",tt=b.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",ot=b.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",nt=b.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var n=this.createKeywordMapper({"support.function":B,"support.constant":X,"support.type":D,"support.constant.color":K,"support.constant.fonts":Q},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:tt},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+tt+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:tt},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:ot},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:nt},{include:"url"},{token:n,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{token:"paren.lparen",regex:"\\{"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};L.inherits(d,R),b.CssHighlightRules=d})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(n,b,A){"use strict";var L=n("../range").Range,i=function(){};(function(){this.checkOutdent=function(n,b){return!!/^\s+$/.test(n)&&/^\s*\}/.test(b)},this.autoOutdent=function(n,b){var A=n.getLine(b).match(/^(\s*\})/);if(!A)return 0;var R=A[1].length,D=n.findMatchingBracket({row:b,column:R});if(!D||D.row==b)return 0;var B=this.$getIndent(n.getLine(D.row));n.replace(new L(b,0,b,R-1),B)},this.$getIndent=function(n){return n.match(/^\s*/)[0]}}).call(i.prototype),b.MatchingBraceOutdent=i})),ace.define("ace/mode/css_completions",["require","exports","module"],(function(n,b,A){"use strict";var L={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,double:2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{default:1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},float:{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,static:1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var n=document.createElement("c").style;for(var b in n)if("string"==typeof n[b]){var A=b.replace(/[A-Z]/g,(function(n){return"-"+n.toLowerCase()}));L.hasOwnProperty(A)||(L[A]=1)}}this.completionsDefined=!0},this.getCompletions=function(n,b,A,L){if(this.completionsDefined||this.defineCompletions(),"ruleset"===n||"ace/mode/scss"==b.$mode.$id){var R=b.getLine(A.row).substr(0,A.column),D=/\([^)]*$/.test(R);return D&&(R=R.substr(R.lastIndexOf("(")+1)),/:[^;]+$/.test(R)?(/([\w\-]+):[^:]*$/.test(R),this.getPropertyValueCompletions(n,b,A,L)):this.getPropertyCompletions(n,b,A,L,D)}return[]},this.getPropertyCompletions=function(n,b,A,R,D){return D=D||!1,Object.keys(L).map((function(n){return{caption:n,snippet:n+": $0"+(D?"":";"),meta:"property",score:1e6}}))},this.getPropertyValueCompletions=function(n,b,A,R){var D=b.getLine(A.row).substr(0,A.column),B=(/([\w\-]+):[^:]*$/.exec(D)||{})[1];if(!B)return[];var X=[];return B in L&&"object"==typeof L[B]&&(X=Object.keys(L[B])),X.map((function(n){return{caption:n,snippet:n,meta:"property value",score:1e6}}))}}).call(i.prototype),b.CssCompletions=i})),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=(n("../behaviour").Behaviour,n("./cstyle").CstyleBehaviour),D=n("../../token_iterator").TokenIterator,u=function(){this.inherit(R),this.add("colon","insertion",(function(n,b,A,L,R){if(":"===R&&A.selection.isEmpty()){var B=A.getCursorPosition(),X=new D(L,B.row,B.column),K=X.getCurrentToken();if(K&&K.value.match(/\s+/)&&(K=X.stepBackward()),K&&"support.type"===K.type){var Q=L.doc.getLine(B.row);if(":"===Q.substring(B.column,B.column+1))return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(Q.substring(B.column)))return{text:":;",selection:[1,1]}}}})),this.add("colon","deletion",(function(n,b,A,L,R){var B=L.doc.getTextRange(R);if(!R.isMultiLine()&&":"===B){var X=A.getCursorPosition(),K=new D(L,X.row,X.column),Q=K.getCurrentToken();if(Q&&Q.value.match(/\s+/)&&(Q=K.stepBackward()),Q&&"support.type"===Q.type)if(";"===L.doc.getLine(R.start.row).substring(R.end.column,R.end.column+1))return R.end.column++,R}})),this.add("semicolon","insertion",(function(n,b,A,L,R){if(";"===R&&A.selection.isEmpty()){var D=A.getCursorPosition();if(";"===L.doc.getLine(D.row).substring(D.column,D.column+1))return{text:"",selection:[1,1]}}})),this.add("!important","insertion",(function(n,b,A,L,R){if("!"===R&&A.selection.isEmpty()){var D=A.getCursorPosition(),B=L.doc.getLine(D.row);if(/^\s*(;|}|$)/.test(B.substring(D.column)))return{text:"!important",selection:[10,10]}}}))};L.inherits(u,R),b.CssBehaviour=u})),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=n("../../range").Range,D=n("./fold_mode").FoldMode,B=b.FoldMode=function(n){n&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+n.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+n.end)))};L.inherits(B,D),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(n,b,A){var L=n.getLine(A);if(this.singleLineBlockCommentRe.test(L)&&!this.startRegionRe.test(L)&&!this.tripleStarBlockCommentRe.test(L))return"";var R=this._getFoldWidgetBase(n,b,A);return!R&&this.startRegionRe.test(L)?"start":R},this.getFoldWidgetRange=function(n,b,A,L){var R,D=n.getLine(A);if(this.startRegionRe.test(D))return this.getCommentRegionBlock(n,D,A);if(R=D.match(this.foldingStartMarker)){var B=R.index;if(R[1])return this.openingBracketBlock(n,R[1],A,B);var X=n.getCommentFoldRange(A,B+R[0].length,1);return X&&!X.isMultiLine()&&(L?X=this.getSectionRange(n,A):"all"!=b&&(X=null)),X}if("markbegin"!==b&&(R=D.match(this.foldingStopMarker))){B=R.index+R[0].length;return R[1]?this.closingBracketBlock(n,R[1],A,B):n.getCommentFoldRange(A,B,-1)}},this.getSectionRange=function(n,b){for(var A=n.getLine(b),L=A.search(/\S/),D=b,B=A.length,X=b+=1,K=n.getLength();++bQ)break;var tt=this.getFoldWidgetRange(n,"all",b);if(tt){if(tt.start.row<=D)break;if(tt.isMultiLine())b=tt.end.row;else if(L==Q)break}X=b}}return new R(D,B,X,n.getLine(X).length)},this.getCommentRegionBlock=function(n,b,A){for(var L=b.search(/\s*$/),D=n.getLength(),B=A,X=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,K=1;++AB)return new R(B,L,A,b.length)}}.call(B.prototype)})),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text").Mode,D=n("./css_highlight_rules").CssHighlightRules,B=n("./matching_brace_outdent").MatchingBraceOutdent,X=n("../worker/worker_client").WorkerClient,K=n("./css_completions").CssCompletions,Q=n("./behaviour/css").CssBehaviour,tt=n("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=D,this.$outdent=new B,this.$behaviour=new Q,this.$completer=new K,this.foldingRules=new tt};L.inherits(c,R),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(n,b,A){var L=this.$getIndent(b),R=this.getTokenizer().getLineTokens(b,n).tokens;return R.length&&"comment"==R[R.length-1].type||b.match(/^.*\{\s*$/)&&(L+=A),L},this.checkOutdent=function(n,b,A){return this.$outdent.checkOutdent(b,A)},this.autoOutdent=function(n,b,A){this.$outdent.autoOutdent(b,A)},this.getCompletions=function(n,b,A,L){return this.$completer.getCompletions(n,b,A,L)},this.createWorker=function(n){var b=new X(["ace"],"ace/mode/css_worker","Worker");return b.attachToDocument(n.getDocument()),b.on("annotate",(function(b){n.setAnnotations(b.data)})),b.on("terminate",(function(){n.clearAnnotations()})),b},this.$id="ace/mode/css",this.snippetFileId="ace/snippets/css"}.call(c.prototype),b.Mode=c})),ace.require(["ace/mode/css"],(function(b){n&&(n.exports=b)}))},4239:(n,b,A)=>{n=A.nmd(n),ace.define("ace/mode/jsdoc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:["comment.doc.tag","comment.doc.text","lparen.doc"],regex:"(@(?:param|member|typedef|property|namespace|var|const|callback))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:["rparen.doc","text.doc","variable.parameter.doc","lparen.doc","variable.parameter.doc","rparen.doc"],regex:/(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.\-\'\" ]+)(\])))/,next:"pop"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","lparen.doc"],regex:"(@(?:returns?|yields|type|this|suppress|public|protected|private|package|modifies|implements|external|exception|throws|enum|define|extends))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:'(@(?:alias|memberof|instance|module|name|lends|namespace|external|this|template|requires|param|implements|function|extends|typedef|mixes|constructor|var|memberof\\!|event|listens|exports|class|constructs|interface|emits|fires|throws|const|callback|borrows|augments))(\\s+)(\\w[\\w#.:/~"\\-]*)?'},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:"(@method)(\\s+)(\\w[\\w.\\(\\)]*)"},{token:"comment.doc.tag",regex:"@access\\s+(?:private|public|protected)"},{token:"comment.doc.tag",regex:"@kind\\s+(?:class|constant|event|external|file|function|member|mixin|module|namespace|typedef)"},{token:"comment.doc.tag",regex:"@\\w+(?=\\s|$)"},s.getTagRule(),{defaultToken:"comment.doc.body",caseInsensitive:!0}],"doc-syntax":[{token:"operator.doc",regex:/[|:]/},{token:"paren.doc",regex:/[\[\]]/}]},this.normalizeRules()};L.inherits(s,R),s.getTagRule=function(n){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(n){return{token:"comment.doc",regex:/\/\*\*(?!\/)/,next:n}},s.getEndRule=function(n){return{token:"comment.doc",regex:"\\*\\/",next:n}},b.JsDocCommentHighlightRules=s})),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/jsdoc_comment_highlight_rules","ace/mode/text_highlight_rules"],(function(n,b,A){"use strict";function a(){var n=B.replace("\\d","\\d\\-"),b={onMatch:function(n,b,A){var L="/"==n.charAt(1)?2:1;return 1==L?(b!=this.nextState?A.unshift(this.next,this.nextState,0):A.unshift(this.next),A[2]++):2==L&&b==this.nextState&&(A[1]--,(!A[1]||A[1]<0)&&(A.shift(),A.shift())),[{type:"meta.tag.punctuation."+(1==L?"":"end-")+"tag-open.xml",value:n.slice(0,L)},{type:"meta.tag.tag-name.xml",value:n.substr(L)}]},regex:"?(?:"+n+"|(?=>))",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(b);var A={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[A,b,{include:"reference"},{defaultToken:"string.xml"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(n,b,A){return b==A[0]&&A.shift(),2==n.length&&(A[0]==this.nextState&&A[1]--,(!A[1]||A[1]<0)&&A.splice(0,2)),this.next=A[0]||"start",[{type:this.token,value:n}]},nextState:"jsx"},A,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:n},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},b],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:[0-9]+;)|(?:[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(n){return[{token:"comment",regex:/\/\*/,next:[R.getTagRule(),{token:"comment",regex:"\\*\\/",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[R.getTagRule(),{token:"comment",regex:"$|^",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var L=n("../lib/oop"),R=n("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules,D=n("./text_highlight_rules").TextHighlightRules,B="[a-zA-Z\\$_¡-][a-zA-Z\\d\\$_¡-]*",u=function(n){var b={"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},A=this.createKeywordMapper(b,"identifier"),L="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)",D="(function)(\\s*)(\\*?)",X={token:["identifier","text","paren.lparen"],regex:"(\\b(?!"+Object.values(b).join("|")+"\\b)"+B+")(\\s*)(\\()"};this.$rules={no_regex:[R.getStartRule("doc-start"),f("no_regex"),X,{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+B+")(\\s*)(=)(\\s*)"+D+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))("+B+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+B+")(\\s*)(:)(\\s*)"+D+"(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)"+D+"(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:"support.constant",regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|debug|time|trace|timeEnd|assert)\b/},{token:A,regex:B},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:"keyword.operator",regex:/=/},{token:["storage.type","text","storage.type","text","paren.lparen"],regex:D+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:"prototype"},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|lter|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward|rEach)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:B},{regex:"",token:"empty",next:"no_regex"}],start:[R.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],default_parameter:[{token:"string",regex:"'(?=.)",push:[{token:"string",regex:"'|$",next:"pop"},{include:"qstring"}]},{token:"string",regex:'"(?=.)',push:[{token:"string",regex:'"|$',next:"pop"},{include:"qqstring"}]},{token:"constant.language",regex:"null|Infinity|NaN|undefined"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:"punctuation.operator",regex:",",next:"function_arguments"},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],function_arguments:[f("function_arguments"),{token:"variable.parameter",regex:B},{token:"punctuation.operator",regex:","},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:L},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:L},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},n&&n.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(n,b,A){if(this.next="{"==n?this.nextState:"","{"==n&&A.length)A.unshift("start",b);else if("}"==n&&A.length&&(A.shift(),this.next=A.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==n?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:L},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]},{token:["variable.parameter","text"],regex:"("+B+")(\\s*)(?=\\=>)"},{token:"paren.lparen",regex:"(\\()(?=[^\\(]+\\s*=>)",next:"function_arguments"},{token:"variable.language",regex:"(?:(?:(?:Weak)?(?:Set|Map))|Promise)\\b"}),this.$rules.function_arguments.unshift({token:"keyword.operator",regex:"=",next:"default_parameter"},{token:"keyword.operator",regex:"\\.{3}"}),this.$rules.property.unshift({token:"support.function",regex:"(findIndex|repeat|startsWith|endsWith|includes|isSafeInteger|trunc|cbrt|log2|log10|sign|then|catch|finally|resolve|reject|race|any|all|allSettled|keys|entries|isInteger)\\b(?=\\()"},{token:"constant.language",regex:"(?:MAX_SAFE_INTEGER|MIN_SAFE_INTEGER|EPSILON)\\b"}),(!n||0!=n.jsx)&&a.call(this)),this.embedRules(R,"doc-",[R.getEndRule("no_regex")]),this.normalizeRules()};L.inherits(u,D),b.JavaScriptHighlightRules=u})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(n,b,A){"use strict";var L=n("../range").Range,i=function(){};(function(){this.checkOutdent=function(n,b){return!!/^\s+$/.test(n)&&/^\s*\}/.test(b)},this.autoOutdent=function(n,b){var A=n.getLine(b).match(/^(\s*\})/);if(!A)return 0;var R=A[1].length,D=n.findMatchingBracket({row:b,column:R});if(!D||D.row==b)return 0;var B=this.$getIndent(n.getLine(D.row));n.replace(new L(b,0,b,R-1),B)},this.$getIndent=function(n){return n.match(/^\s*/)[0]}}).call(i.prototype),b.MatchingBraceOutdent=i})),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],(function(n,b,A){"use strict";function o(n,b){return n&&n.type.lastIndexOf(b+".xml")>-1}var L=n("../../lib/oop"),R=n("../behaviour").Behaviour,D=n("../../token_iterator").TokenIterator,u=function(){this.add("string_dquotes","insertion",(function(n,b,A,L,R){if('"'==R||"'"==R){var B=R,X=L.doc.getTextRange(A.getSelectionRange());if(""!==X&&"'"!==X&&'"'!=X&&A.getWrapBehavioursEnabled())return{text:B+X+B,selection:!1};var K=A.getCursorPosition(),Q=L.doc.getLine(K.row).substring(K.column,K.column+1),tt=new D(L,K.row,K.column),ot=tt.getCurrentToken();if(Q==B&&(o(ot,"attribute-value")||o(ot,"string")))return{text:"",selection:[1,1]};if(ot||(ot=tt.stepBackward()),!ot)return;for(;o(ot,"tag-whitespace")||o(ot,"whitespace");)ot=tt.stepBackward();var nt=!Q||Q.match(/\s/);if(o(ot,"attribute-equals")&&(nt||">"==Q)||o(ot,"decl-attribute-equals")&&(nt||"?"==Q))return{text:B+B,selection:[1,1]}}})),this.add("string_dquotes","deletion",(function(n,b,A,L,R){var D=L.doc.getTextRange(R);if(!R.isMultiLine()&&('"'==D||"'"==D)&&L.doc.getLine(R.start.row).substring(R.start.column+1,R.start.column+2)==D)return R.end.column++,R})),this.add("autoclosing","insertion",(function(n,b,A,L,R){if(">"==R){var B=A.getSelectionRange().start,X=new D(L,B.row,B.column),K=X.getCurrentToken()||X.stepBackward();if(!K||!(o(K,"tag-name")||o(K,"tag-whitespace")||o(K,"attribute-name")||o(K,"attribute-equals")||o(K,"attribute-value")))return;if(o(K,"reference.attribute-value"))return;if(o(K,"attribute-value")){var Q=X.getCurrentTokenColumn()+K.value.length;if(B.column/.test(L.getLine(B.row).slice(B.column)))return;for(;!o(K,"tag-name");)if("<"==(K=X.stepBackward()).value){K=X.stepForward();break}var ot=X.getCurrentTokenRow(),nt=X.getCurrentTokenColumn();if(o(X.stepBackward(),"end-tag-open"))return;var it=K.value;if(ot==B.row&&(it=it.substring(0,B.column-nt)),this.voidElements&&this.voidElements.hasOwnProperty(it.toLowerCase()))return;return{text:">"+it+">",selection:[1,1]}}})),this.add("autoindent","insertion",(function(n,b,A,L,R){if("\n"==R){var B=A.getCursorPosition(),X=L.getLine(B.row),K=new D(L,B.row,B.column),Q=K.getCurrentToken();if(o(Q,"")&&-1!==Q.type.indexOf("tag-close")){if("/>"==Q.value)return;for(;Q&&-1===Q.type.indexOf("tag-name");)Q=K.stepBackward();if(!Q)return;var tt=Q.value,ot=K.getCurrentTokenRow();if(!(Q=K.stepBackward())||-1!==Q.type.indexOf("end-tag"))return;if(this.voidElements&&!this.voidElements[tt]||!this.voidElements){var nt=L.getTokenAt(B.row,B.column+1),it=(X=L.getLine(ot),this.$getIndent(X)),rt=it+L.getTabString();return nt&&""===nt.value?{text:"\n"+rt+"\n"+it,selection:[1,rt.length,1,rt.length]}:{text:"\n"+rt}}}}}))};L.inherits(u,R),b.XmlBehaviour=u})),ace.define("ace/mode/behaviour/javascript",["require","exports","module","ace/lib/oop","ace/token_iterator","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=n("../../token_iterator").TokenIterator,D=n("../behaviour/cstyle").CstyleBehaviour,B=n("../behaviour/xml").XmlBehaviour,u=function(){var n=new B({closeCurlyBraces:!0}).getBehaviours();this.addBehaviours(n),this.inherit(D),this.add("autoclosing-fragment","insertion",(function(n,b,A,L,D){if(">"==D){var B=A.getSelectionRange().start,X=new R(L,B.row,B.column),K=X.getCurrentToken()||X.stepBackward();if(!K)return;if("<"==K.value)return{text:">>",selection:[1,1]}}}))};L.inherits(u,D),b.JavaScriptBehaviour=u})),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(n,b,A){"use strict";function a(n,b){return n.type.lastIndexOf(b+".xml")>-1}var L=n("../../lib/oop"),R=n("../../range").Range,D=n("./fold_mode").FoldMode,B=b.FoldMode=function(n,b){D.call(this),this.voidElements=n||{},this.optionalEndTags=L.mixin({},this.voidElements),b&&L.mixin(this.optionalEndTags,b)};L.inherits(B,D);var u=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(n,b,A){var L=this._getFirstTagInLine(n,A);return L?L.closing||!L.tagName&&L.selfClosing?"markbeginend"===b?"end":"":!L.tagName||L.selfClosing||this.voidElements.hasOwnProperty(L.tagName.toLowerCase())||this._findEndTagInLine(n,A,L.tagName,L.end.column)?"":"start":this.getCommentFoldWidget(n,A)},this.getCommentFoldWidget=function(n,b){return/comment/.test(n.getState(b))&&/"==D.value;break}return L}if(a(D,"tag-close"))return L.selfClosing="/>"==D.value,L;L.start.column+=D.value.length}return null},this._findEndTagInLine=function(n,b,A,L){for(var R=n.getTokens(b),D=0,B=0;BQ)break;var tt=this.getFoldWidgetRange(n,"all",b);if(tt){if(tt.start.row<=D)break;if(tt.isMultiLine())b=tt.end.row;else if(L==Q)break}X=b}}return new R(D,B,X,n.getLine(X).length)},this.getCommentRegionBlock=function(n,b,A){for(var L=b.search(/\s*$/),D=n.getLength(),B=A,X=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,K=1;++AB)return new R(B,L,A,b.length)}}.call(B.prototype)})),ace.define("ace/mode/folding/javascript",["require","exports","module","ace/lib/oop","ace/mode/folding/xml","ace/mode/folding/cstyle"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=n("./xml").FoldMode,D=n("./cstyle").FoldMode,B=b.FoldMode=function(n){n&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+n.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+n.end))),this.xmlFoldMode=new R};L.inherits(B,D),function(){this.getFoldWidgetRangeBase=this.getFoldWidgetRange,this.getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(n,b,A){var L=this.getFoldWidgetBase(n,b,A);return L||this.xmlFoldMode.getFoldWidget(n,b,A)},this.getFoldWidgetRange=function(n,b,A,L){var R=this.getFoldWidgetRangeBase(n,b,A,L);return R||this.xmlFoldMode.getFoldWidgetRange(n,b,A)}}.call(B.prototype)})),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/javascript","ace/mode/folding/javascript"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text").Mode,D=n("./javascript_highlight_rules").JavaScriptHighlightRules,B=n("./matching_brace_outdent").MatchingBraceOutdent,X=n("../worker/worker_client").WorkerClient,K=n("./behaviour/javascript").JavaScriptBehaviour,Q=n("./folding/javascript").FoldMode,l=function(){this.HighlightRules=D,this.$outdent=new B,this.$behaviour=new K,this.foldingRules=new Q};L.inherits(l,R),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.$pairQuotesAfter={"`":/\w/},this.getNextLineIndent=function(n,b,A){var L=this.$getIndent(b),R=this.getTokenizer().getLineTokens(b,n),D=R.tokens,B=R.state;if(D.length&&"comment"==D[D.length-1].type)return L;if("start"==n||"no_regex"==n)b.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/)&&(L+=A);else if("doc-start"==n&&("start"==B||"no_regex"==B))return"";return L},this.checkOutdent=function(n,b,A){return this.$outdent.checkOutdent(b,A)},this.autoOutdent=function(n,b,A){this.$outdent.autoOutdent(b,A)},this.createWorker=function(n){var b=new X(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return b.attachToDocument(n.getDocument()),b.on("annotate",(function(b){n.setAnnotations(b.data)})),b.on("terminate",(function(){n.clearAnnotations()})),b},this.$id="ace/mode/javascript",this.snippetFileId="ace/snippets/javascript"}.call(l.prototype),b.Mode=l})),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=(n("../lib/lang"),n("./text_highlight_rules").TextHighlightRules),D=b.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",B=b.supportFunction="rgb|rgba|url|attr|counter|counters",X=b.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|flex-end|flex-start|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",K=b.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",Q=b.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",tt=b.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",ot=b.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",nt=b.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var n=this.createKeywordMapper({"support.function":B,"support.constant":X,"support.type":D,"support.constant.color":K,"support.constant.fonts":Q},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:tt},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+tt+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:tt},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:ot},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:nt},{include:"url"},{token:n,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{token:"paren.lparen",regex:"\\{"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};L.inherits(d,R),b.CssHighlightRules=d})),ace.define("ace/mode/css_completions",["require","exports","module"],(function(n,b,A){"use strict";var L={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,double:2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{default:1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},float:{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,static:1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var n=document.createElement("c").style;for(var b in n)if("string"==typeof n[b]){var A=b.replace(/[A-Z]/g,(function(n){return"-"+n.toLowerCase()}));L.hasOwnProperty(A)||(L[A]=1)}}this.completionsDefined=!0},this.getCompletions=function(n,b,A,L){if(this.completionsDefined||this.defineCompletions(),"ruleset"===n||"ace/mode/scss"==b.$mode.$id){var R=b.getLine(A.row).substr(0,A.column),D=/\([^)]*$/.test(R);return D&&(R=R.substr(R.lastIndexOf("(")+1)),/:[^;]+$/.test(R)?(/([\w\-]+):[^:]*$/.test(R),this.getPropertyValueCompletions(n,b,A,L)):this.getPropertyCompletions(n,b,A,L,D)}return[]},this.getPropertyCompletions=function(n,b,A,R,D){return D=D||!1,Object.keys(L).map((function(n){return{caption:n,snippet:n+": $0"+(D?"":";"),meta:"property",score:1e6}}))},this.getPropertyValueCompletions=function(n,b,A,R){var D=b.getLine(A.row).substr(0,A.column),B=(/([\w\-]+):[^:]*$/.exec(D)||{})[1];if(!B)return[];var X=[];return B in L&&"object"==typeof L[B]&&(X=Object.keys(L[B])),X.map((function(n){return{caption:n,snippet:n,meta:"property value",score:1e6}}))}}).call(i.prototype),b.CssCompletions=i})),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=(n("../behaviour").Behaviour,n("./cstyle").CstyleBehaviour),D=n("../../token_iterator").TokenIterator,u=function(){this.inherit(R),this.add("colon","insertion",(function(n,b,A,L,R){if(":"===R&&A.selection.isEmpty()){var B=A.getCursorPosition(),X=new D(L,B.row,B.column),K=X.getCurrentToken();if(K&&K.value.match(/\s+/)&&(K=X.stepBackward()),K&&"support.type"===K.type){var Q=L.doc.getLine(B.row);if(":"===Q.substring(B.column,B.column+1))return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(Q.substring(B.column)))return{text:":;",selection:[1,1]}}}})),this.add("colon","deletion",(function(n,b,A,L,R){var B=L.doc.getTextRange(R);if(!R.isMultiLine()&&":"===B){var X=A.getCursorPosition(),K=new D(L,X.row,X.column),Q=K.getCurrentToken();if(Q&&Q.value.match(/\s+/)&&(Q=K.stepBackward()),Q&&"support.type"===Q.type)if(";"===L.doc.getLine(R.start.row).substring(R.end.column,R.end.column+1))return R.end.column++,R}})),this.add("semicolon","insertion",(function(n,b,A,L,R){if(";"===R&&A.selection.isEmpty()){var D=A.getCursorPosition();if(";"===L.doc.getLine(D.row).substring(D.column,D.column+1))return{text:"",selection:[1,1]}}})),this.add("!important","insertion",(function(n,b,A,L,R){if("!"===R&&A.selection.isEmpty()){var D=A.getCursorPosition(),B=L.doc.getLine(D.row);if(/^\s*(;|}|$)/.test(B.substring(D.column)))return{text:"!important",selection:[10,10]}}}))};L.inherits(u,R),b.CssBehaviour=u})),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text").Mode,D=n("./css_highlight_rules").CssHighlightRules,B=n("./matching_brace_outdent").MatchingBraceOutdent,X=n("../worker/worker_client").WorkerClient,K=n("./css_completions").CssCompletions,Q=n("./behaviour/css").CssBehaviour,tt=n("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=D,this.$outdent=new B,this.$behaviour=new Q,this.$completer=new K,this.foldingRules=new tt};L.inherits(c,R),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(n,b,A){var L=this.$getIndent(b),R=this.getTokenizer().getLineTokens(b,n).tokens;return R.length&&"comment"==R[R.length-1].type||b.match(/^.*\{\s*$/)&&(L+=A),L},this.checkOutdent=function(n,b,A){return this.$outdent.checkOutdent(b,A)},this.autoOutdent=function(n,b,A){this.$outdent.autoOutdent(b,A)},this.getCompletions=function(n,b,A,L){return this.$completer.getCompletions(n,b,A,L)},this.createWorker=function(n){var b=new X(["ace"],"ace/mode/css_worker","Worker");return b.attachToDocument(n.getDocument()),b.on("annotate",(function(b){n.setAnnotations(b.data)})),b.on("terminate",(function(){n.clearAnnotations()})),b},this.$id="ace/mode/css",this.snippetFileId="ace/snippets/css"}.call(c.prototype),b.Mode=c})),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text_highlight_rules").TextHighlightRules,s=function(n){var b="[_: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:"(<\\?)("+b+")",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:b},{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:"(<\\!)("+b+")",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]+;)|(?:[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:[0-9]+;)|(?:[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:"(?:(<)|())((?:"+b+":)?"+b+")",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:b},{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===s&&this.normalizeRules()};(function(){this.embedTagRules=function(n,b,A){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+A+".tag-name.xml"],regex:"(<)("+A+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:b+"start"}]}),this.$rules[A+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(n,b,A){return A.splice(0),this.token}}],this.embedRules(n,b,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+A+".tag-name.xml"],regex:"()("+A+"(?=\\s|>|$))",next:A+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(R.prototype),L.inherits(s,R),b.XmlHighlightRules=s})),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("../lib/lang"),D=n("./css_highlight_rules").CssHighlightRules,B=n("./javascript_highlight_rules").JavaScriptHighlightRules,X=n("./xml_highlight_rules").XmlHighlightRules,K=R.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){X.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(n,b){var A=K[b];return["meta.tag.punctuation."+("<"==n?"":"end-")+"tag-open.xml","meta.tag"+(A?"."+A:"")+".tag-name.xml"]},regex:"(?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(D,"css-","style"),this.embedTagRules(new B({jsx:!1}).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};L.inherits(f,X),b.HtmlHighlightRules=f})),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=n("./fold_mode").FoldMode,D=b.FoldMode=function(n,b){this.defaultMode=n,this.subModes=b};L.inherits(D,R),function(){this.$getMode=function(n){for(var b in"string"!=typeof n&&(n=n[0]),this.subModes)if(0===n.indexOf(b))return this.subModes[b];return null},this.$tryMode=function(n,b,A,L){var R=this.$getMode(n);return R?R.getFoldWidget(b,A,L):""},this.getFoldWidget=function(n,b,A){return this.$tryMode(n.getState(A-1),n,b,A)||this.$tryMode(n.getState(A),n,b,A)||this.defaultMode.getFoldWidget(n,b,A)},this.getFoldWidgetRange=function(n,b,A){var L=this.$getMode(n.getState(A-1));return L&&L.getFoldWidget(n,b,A)||(L=this.$getMode(n.getState(A))),L&&L.getFoldWidget(n,b,A)||(L=this.defaultMode),L.getFoldWidgetRange(n,b,A)}}.call(D.prototype)})),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=n("./mixed").FoldMode,D=n("./xml").FoldMode,B=n("./cstyle").FoldMode,X=b.FoldMode=function(n,b){R.call(this,new D(n,b),{"js-":new B,"css-":new B})};L.inherits(X,R)})),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],(function(n,b,A){"use strict";function f(n,b){return n.type.lastIndexOf(b+".xml")>-1}function l(n,b){for(var A=new L(n,b.row,b.column),R=A.getCurrentToken();R&&!f(R,"tag-name");)R=A.stepBackward();if(R)return R.value}function c(n,b){for(var A=new L(n,b.row,b.column),R=A.getCurrentToken();R&&!f(R,"attribute-name");)R=A.stepBackward();if(R)return R.value}var L=n("../token_iterator").TokenIterator,R=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"].concat(["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"]),D={a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},abbr:{},address:{},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},article:{pubdate:1},aside:{},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},b:{},base:{href:1,target:1},bdi:{},bdo:{},blockquote:{cite:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},br:{},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},canvas:{width:1,height:1},caption:{},cite:{},code:{},col:{span:1},colgroup:{span:1},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},data:{},datalist:{},dd:{},del:{cite:1,datetime:1},details:{open:1},dfn:{},dialog:{open:1},div:{},dl:{},dt:{},em:{},embed:{src:1,height:1,width:1,type:1},fieldset:{disabled:1,form:1,name:1},figcaption:{},figure:{},footer:{},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},head:{},header:{},hr:{},html:{manifest:1},i:{},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},ins:{cite:1,datetime:1},kbd:{},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},label:{form:1,for:1},legend:{},li:{value:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},main:{},map:{name:1},mark:{},math:{},menu:{type:1,label:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},nav:{},noscript:{href:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},ol:{start:1,reversed:1},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},output:{for:1,form:1,name:1},p:{},param:{name:1,value:1},pre:{},progress:{value:1,max:1},q:{cite:1},rp:{},rt:{},ruby:{},s:{},samp:{},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},small:{},source:{src:1,type:1,media:1},span:{},strong:{},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},sub:{},sup:{},svg:{},table:{summary:1},tbody:{},td:{headers:1,rowspan:1,colspan:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},tfoot:{},th:{headers:1,rowspan:1,colspan:1,scope:1},thead:{},time:{datetime:1},title:{},tr:{},track:{kind:1,src:1,srclang:1,label:1,default:1},section:{},summary:{},u:{},ul:{},var:{},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},wbr:{}},B=Object.keys(D),h=function(){};(function(){this.getCompletions=function(n,b,A,L){var R=b.getTokenAt(A.row,A.column);if(!R)return[];if(f(R,"tag-name")||f(R,"tag-open")||f(R,"end-tag-open"))return this.getTagCompletions(n,b,A,L);if(f(R,"tag-whitespace")||f(R,"attribute-name"))return this.getAttributeCompletions(n,b,A,L);if(f(R,"attribute-value"))return this.getAttributeValueCompletions(n,b,A,L);var D=b.getLine(A.row).substr(0,A.column);return/&[a-z]*$/i.test(D)?this.getHTMLEntityCompletions(n,b,A,L):[]},this.getTagCompletions=function(n,b,A,L){return B.map((function(n){return{value:n,meta:"tag",score:1e6}}))},this.getAttributeCompletions=function(n,b,A,L){var B=l(b,A);if(!B)return[];var X=R;return B in D&&(X=X.concat(Object.keys(D[B]))),X.map((function(n){return{caption:n,snippet:n+'="$0"',meta:"attribute",score:1e6}}))},this.getAttributeValueCompletions=function(n,b,A,L){var R=l(b,A),B=c(b,A);if(!R)return[];var X=[];return R in D&&B in D[R]&&"object"==typeof D[R][B]&&(X=Object.keys(D[R][B])),X.map((function(n){return{caption:n,snippet:n,meta:"attribute value",score:1e6}}))},this.getHTMLEntityCompletions=function(n,b,A,L){return["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"].map((function(n){return{caption:n,snippet:n,meta:"html entity",score:1e6}}))}}).call(h.prototype),b.HtmlCompletions=h})),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("../lib/lang"),D=n("./text").Mode,B=n("./javascript").Mode,X=n("./css").Mode,K=n("./html_highlight_rules").HtmlHighlightRules,Q=n("./behaviour/xml").XmlBehaviour,tt=n("./folding/html").FoldMode,ot=n("./html_completions").HtmlCompletions,nt=n("../worker/worker_client").WorkerClient,it=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],rt=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(n){this.fragmentContext=n&&n.fragmentContext,this.HighlightRules=K,this.$behaviour=new Q,this.$completer=new ot,this.createModeDelegates({"js-":B,"css-":X}),this.foldingRules=new tt(this.voidElements,R.arrayToMap(rt))};L.inherits(v,D),function(){this.blockComment={start:"\x3c!--",end:"--\x3e"},this.voidElements=R.arrayToMap(it),this.getNextLineIndent=function(n,b,A){return this.$getIndent(b)},this.checkOutdent=function(n,b,A){return!1},this.getCompletions=function(n,b,A,L){return this.$completer.getCompletions(n,b,A,L)},this.createWorker=function(n){if(this.constructor==v){var b=new nt(["ace"],"ace/mode/html_worker","Worker");return b.attachToDocument(n.getDocument()),this.fragmentContext&&b.call("setOptions",[{context:this.fragmentContext}]),b.on("error",(function(b){n.setAnnotations(b.data)})),b.on("terminate",(function(){n.clearAnnotations()})),b}},this.$id="ace/mode/html",this.snippetFileId="ace/snippets/html"}.call(v.prototype),b.Mode=v})),ace.require(["ace/mode/html"],(function(b){n&&(n.exports=b)}))},5813:(n,b,A)=>{n=A.nmd(n),ace.define("ace/mode/jsdoc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:["comment.doc.tag","comment.doc.text","lparen.doc"],regex:"(@(?:param|member|typedef|property|namespace|var|const|callback))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:["rparen.doc","text.doc","variable.parameter.doc","lparen.doc","variable.parameter.doc","rparen.doc"],regex:/(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.\-\'\" ]+)(\])))/,next:"pop"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","lparen.doc"],regex:"(@(?:returns?|yields|type|this|suppress|public|protected|private|package|modifies|implements|external|exception|throws|enum|define|extends))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:'(@(?:alias|memberof|instance|module|name|lends|namespace|external|this|template|requires|param|implements|function|extends|typedef|mixes|constructor|var|memberof\\!|event|listens|exports|class|constructs|interface|emits|fires|throws|const|callback|borrows|augments))(\\s+)(\\w[\\w#.:/~"\\-]*)?'},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:"(@method)(\\s+)(\\w[\\w.\\(\\)]*)"},{token:"comment.doc.tag",regex:"@access\\s+(?:private|public|protected)"},{token:"comment.doc.tag",regex:"@kind\\s+(?:class|constant|event|external|file|function|member|mixin|module|namespace|typedef)"},{token:"comment.doc.tag",regex:"@\\w+(?=\\s|$)"},s.getTagRule(),{defaultToken:"comment.doc.body",caseInsensitive:!0}],"doc-syntax":[{token:"operator.doc",regex:/[|:]/},{token:"paren.doc",regex:/[\[\]]/}]},this.normalizeRules()};L.inherits(s,R),s.getTagRule=function(n){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(n){return{token:"comment.doc",regex:/\/\*\*(?!\/)/,next:n}},s.getEndRule=function(n){return{token:"comment.doc",regex:"\\*\\/",next:n}},b.JsDocCommentHighlightRules=s})),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/jsdoc_comment_highlight_rules","ace/mode/text_highlight_rules"],(function(n,b,A){"use strict";function a(){var n=B.replace("\\d","\\d\\-"),b={onMatch:function(n,b,A){var L="/"==n.charAt(1)?2:1;return 1==L?(b!=this.nextState?A.unshift(this.next,this.nextState,0):A.unshift(this.next),A[2]++):2==L&&b==this.nextState&&(A[1]--,(!A[1]||A[1]<0)&&(A.shift(),A.shift())),[{type:"meta.tag.punctuation."+(1==L?"":"end-")+"tag-open.xml",value:n.slice(0,L)},{type:"meta.tag.tag-name.xml",value:n.substr(L)}]},regex:"?(?:"+n+"|(?=>))",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(b);var A={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[A,b,{include:"reference"},{defaultToken:"string.xml"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(n,b,A){return b==A[0]&&A.shift(),2==n.length&&(A[0]==this.nextState&&A[1]--,(!A[1]||A[1]<0)&&A.splice(0,2)),this.next=A[0]||"start",[{type:this.token,value:n}]},nextState:"jsx"},A,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:n},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},b],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:[0-9]+;)|(?:[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(n){return[{token:"comment",regex:/\/\*/,next:[R.getTagRule(),{token:"comment",regex:"\\*\\/",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[R.getTagRule(),{token:"comment",regex:"$|^",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var L=n("../lib/oop"),R=n("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules,D=n("./text_highlight_rules").TextHighlightRules,B="[a-zA-Z\\$_¡-][a-zA-Z\\d\\$_¡-]*",u=function(n){var b={"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},A=this.createKeywordMapper(b,"identifier"),L="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)",D="(function)(\\s*)(\\*?)",X={token:["identifier","text","paren.lparen"],regex:"(\\b(?!"+Object.values(b).join("|")+"\\b)"+B+")(\\s*)(\\()"};this.$rules={no_regex:[R.getStartRule("doc-start"),f("no_regex"),X,{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+B+")(\\s*)(=)(\\s*)"+D+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))("+B+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+B+")(\\s*)(:)(\\s*)"+D+"(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)"+D+"(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:"support.constant",regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|debug|time|trace|timeEnd|assert)\b/},{token:A,regex:B},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:"keyword.operator",regex:/=/},{token:["storage.type","text","storage.type","text","paren.lparen"],regex:D+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:"prototype"},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|lter|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward|rEach)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:B},{regex:"",token:"empty",next:"no_regex"}],start:[R.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],default_parameter:[{token:"string",regex:"'(?=.)",push:[{token:"string",regex:"'|$",next:"pop"},{include:"qstring"}]},{token:"string",regex:'"(?=.)',push:[{token:"string",regex:'"|$',next:"pop"},{include:"qqstring"}]},{token:"constant.language",regex:"null|Infinity|NaN|undefined"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:"punctuation.operator",regex:",",next:"function_arguments"},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],function_arguments:[f("function_arguments"),{token:"variable.parameter",regex:B},{token:"punctuation.operator",regex:","},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:L},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:L},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},n&&n.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(n,b,A){if(this.next="{"==n?this.nextState:"","{"==n&&A.length)A.unshift("start",b);else if("}"==n&&A.length&&(A.shift(),this.next=A.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==n?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:L},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]},{token:["variable.parameter","text"],regex:"("+B+")(\\s*)(?=\\=>)"},{token:"paren.lparen",regex:"(\\()(?=[^\\(]+\\s*=>)",next:"function_arguments"},{token:"variable.language",regex:"(?:(?:(?:Weak)?(?:Set|Map))|Promise)\\b"}),this.$rules.function_arguments.unshift({token:"keyword.operator",regex:"=",next:"default_parameter"},{token:"keyword.operator",regex:"\\.{3}"}),this.$rules.property.unshift({token:"support.function",regex:"(findIndex|repeat|startsWith|endsWith|includes|isSafeInteger|trunc|cbrt|log2|log10|sign|then|catch|finally|resolve|reject|race|any|all|allSettled|keys|entries|isInteger)\\b(?=\\()"},{token:"constant.language",regex:"(?:MAX_SAFE_INTEGER|MIN_SAFE_INTEGER|EPSILON)\\b"}),(!n||0!=n.jsx)&&a.call(this)),this.embedRules(R,"doc-",[R.getEndRule("no_regex")]),this.normalizeRules()};L.inherits(u,D),b.JavaScriptHighlightRules=u})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(n,b,A){"use strict";var L=n("../range").Range,i=function(){};(function(){this.checkOutdent=function(n,b){return!!/^\s+$/.test(n)&&/^\s*\}/.test(b)},this.autoOutdent=function(n,b){var A=n.getLine(b).match(/^(\s*\})/);if(!A)return 0;var R=A[1].length,D=n.findMatchingBracket({row:b,column:R});if(!D||D.row==b)return 0;var B=this.$getIndent(n.getLine(D.row));n.replace(new L(b,0,b,R-1),B)},this.$getIndent=function(n){return n.match(/^\s*/)[0]}}).call(i.prototype),b.MatchingBraceOutdent=i})),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],(function(n,b,A){"use strict";function o(n,b){return n&&n.type.lastIndexOf(b+".xml")>-1}var L=n("../../lib/oop"),R=n("../behaviour").Behaviour,D=n("../../token_iterator").TokenIterator,u=function(){this.add("string_dquotes","insertion",(function(n,b,A,L,R){if('"'==R||"'"==R){var B=R,X=L.doc.getTextRange(A.getSelectionRange());if(""!==X&&"'"!==X&&'"'!=X&&A.getWrapBehavioursEnabled())return{text:B+X+B,selection:!1};var K=A.getCursorPosition(),Q=L.doc.getLine(K.row).substring(K.column,K.column+1),tt=new D(L,K.row,K.column),ot=tt.getCurrentToken();if(Q==B&&(o(ot,"attribute-value")||o(ot,"string")))return{text:"",selection:[1,1]};if(ot||(ot=tt.stepBackward()),!ot)return;for(;o(ot,"tag-whitespace")||o(ot,"whitespace");)ot=tt.stepBackward();var nt=!Q||Q.match(/\s/);if(o(ot,"attribute-equals")&&(nt||">"==Q)||o(ot,"decl-attribute-equals")&&(nt||"?"==Q))return{text:B+B,selection:[1,1]}}})),this.add("string_dquotes","deletion",(function(n,b,A,L,R){var D=L.doc.getTextRange(R);if(!R.isMultiLine()&&('"'==D||"'"==D)&&L.doc.getLine(R.start.row).substring(R.start.column+1,R.start.column+2)==D)return R.end.column++,R})),this.add("autoclosing","insertion",(function(n,b,A,L,R){if(">"==R){var B=A.getSelectionRange().start,X=new D(L,B.row,B.column),K=X.getCurrentToken()||X.stepBackward();if(!K||!(o(K,"tag-name")||o(K,"tag-whitespace")||o(K,"attribute-name")||o(K,"attribute-equals")||o(K,"attribute-value")))return;if(o(K,"reference.attribute-value"))return;if(o(K,"attribute-value")){var Q=X.getCurrentTokenColumn()+K.value.length;if(B.column/.test(L.getLine(B.row).slice(B.column)))return;for(;!o(K,"tag-name");)if("<"==(K=X.stepBackward()).value){K=X.stepForward();break}var ot=X.getCurrentTokenRow(),nt=X.getCurrentTokenColumn();if(o(X.stepBackward(),"end-tag-open"))return;var it=K.value;if(ot==B.row&&(it=it.substring(0,B.column-nt)),this.voidElements&&this.voidElements.hasOwnProperty(it.toLowerCase()))return;return{text:">"+it+">",selection:[1,1]}}})),this.add("autoindent","insertion",(function(n,b,A,L,R){if("\n"==R){var B=A.getCursorPosition(),X=L.getLine(B.row),K=new D(L,B.row,B.column),Q=K.getCurrentToken();if(o(Q,"")&&-1!==Q.type.indexOf("tag-close")){if("/>"==Q.value)return;for(;Q&&-1===Q.type.indexOf("tag-name");)Q=K.stepBackward();if(!Q)return;var tt=Q.value,ot=K.getCurrentTokenRow();if(!(Q=K.stepBackward())||-1!==Q.type.indexOf("end-tag"))return;if(this.voidElements&&!this.voidElements[tt]||!this.voidElements){var nt=L.getTokenAt(B.row,B.column+1),it=(X=L.getLine(ot),this.$getIndent(X)),rt=it+L.getTabString();return nt&&""===nt.value?{text:"\n"+rt+"\n"+it,selection:[1,rt.length,1,rt.length]}:{text:"\n"+rt}}}}}))};L.inherits(u,R),b.XmlBehaviour=u})),ace.define("ace/mode/behaviour/javascript",["require","exports","module","ace/lib/oop","ace/token_iterator","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=n("../../token_iterator").TokenIterator,D=n("../behaviour/cstyle").CstyleBehaviour,B=n("../behaviour/xml").XmlBehaviour,u=function(){var n=new B({closeCurlyBraces:!0}).getBehaviours();this.addBehaviours(n),this.inherit(D),this.add("autoclosing-fragment","insertion",(function(n,b,A,L,D){if(">"==D){var B=A.getSelectionRange().start,X=new R(L,B.row,B.column),K=X.getCurrentToken()||X.stepBackward();if(!K)return;if("<"==K.value)return{text:">>",selection:[1,1]}}}))};L.inherits(u,D),b.JavaScriptBehaviour=u})),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(n,b,A){"use strict";function a(n,b){return n.type.lastIndexOf(b+".xml")>-1}var L=n("../../lib/oop"),R=n("../../range").Range,D=n("./fold_mode").FoldMode,B=b.FoldMode=function(n,b){D.call(this),this.voidElements=n||{},this.optionalEndTags=L.mixin({},this.voidElements),b&&L.mixin(this.optionalEndTags,b)};L.inherits(B,D);var u=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(n,b,A){var L=this._getFirstTagInLine(n,A);return L?L.closing||!L.tagName&&L.selfClosing?"markbeginend"===b?"end":"":!L.tagName||L.selfClosing||this.voidElements.hasOwnProperty(L.tagName.toLowerCase())||this._findEndTagInLine(n,A,L.tagName,L.end.column)?"":"start":this.getCommentFoldWidget(n,A)},this.getCommentFoldWidget=function(n,b){return/comment/.test(n.getState(b))&&/"==D.value;break}return L}if(a(D,"tag-close"))return L.selfClosing="/>"==D.value,L;L.start.column+=D.value.length}return null},this._findEndTagInLine=function(n,b,A,L){for(var R=n.getTokens(b),D=0,B=0;BQ)break;var tt=this.getFoldWidgetRange(n,"all",b);if(tt){if(tt.start.row<=D)break;if(tt.isMultiLine())b=tt.end.row;else if(L==Q)break}X=b}}return new R(D,B,X,n.getLine(X).length)},this.getCommentRegionBlock=function(n,b,A){for(var L=b.search(/\s*$/),D=n.getLength(),B=A,X=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,K=1;++AB)return new R(B,L,A,b.length)}}.call(B.prototype)})),ace.define("ace/mode/folding/javascript",["require","exports","module","ace/lib/oop","ace/mode/folding/xml","ace/mode/folding/cstyle"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=n("./xml").FoldMode,D=n("./cstyle").FoldMode,B=b.FoldMode=function(n){n&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+n.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+n.end))),this.xmlFoldMode=new R};L.inherits(B,D),function(){this.getFoldWidgetRangeBase=this.getFoldWidgetRange,this.getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(n,b,A){var L=this.getFoldWidgetBase(n,b,A);return L||this.xmlFoldMode.getFoldWidget(n,b,A)},this.getFoldWidgetRange=function(n,b,A,L){var R=this.getFoldWidgetRangeBase(n,b,A,L);return R||this.xmlFoldMode.getFoldWidgetRange(n,b,A)}}.call(B.prototype)})),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/javascript","ace/mode/folding/javascript"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text").Mode,D=n("./javascript_highlight_rules").JavaScriptHighlightRules,B=n("./matching_brace_outdent").MatchingBraceOutdent,X=n("../worker/worker_client").WorkerClient,K=n("./behaviour/javascript").JavaScriptBehaviour,Q=n("./folding/javascript").FoldMode,l=function(){this.HighlightRules=D,this.$outdent=new B,this.$behaviour=new K,this.foldingRules=new Q};L.inherits(l,R),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.$pairQuotesAfter={"`":/\w/},this.getNextLineIndent=function(n,b,A){var L=this.$getIndent(b),R=this.getTokenizer().getLineTokens(b,n),D=R.tokens,B=R.state;if(D.length&&"comment"==D[D.length-1].type)return L;if("start"==n||"no_regex"==n)b.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/)&&(L+=A);else if("doc-start"==n&&("start"==B||"no_regex"==B))return"";return L},this.checkOutdent=function(n,b,A){return this.$outdent.checkOutdent(b,A)},this.autoOutdent=function(n,b,A){this.$outdent.autoOutdent(b,A)},this.createWorker=function(n){var b=new X(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return b.attachToDocument(n.getDocument()),b.on("annotate",(function(b){n.setAnnotations(b.data)})),b.on("terminate",(function(){n.clearAnnotations()})),b},this.$id="ace/mode/javascript",this.snippetFileId="ace/snippets/javascript"}.call(l.prototype),b.Mode=l})),ace.require(["ace/mode/javascript"],(function(b){n&&(n.exports=b)}))},6144:(n,b,A)=>{n=A.nmd(n),ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"text",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"comment",regex:"\\/\\/.*$"},{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"punctuation.operator",regex:/[,]/},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]}};L.inherits(s,R),b.JsonHighlightRules=s})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(n,b,A){"use strict";var L=n("../range").Range,i=function(){};(function(){this.checkOutdent=function(n,b){return!!/^\s+$/.test(n)&&/^\s*\}/.test(b)},this.autoOutdent=function(n,b){var A=n.getLine(b).match(/^(\s*\})/);if(!A)return 0;var R=A[1].length,D=n.findMatchingBracket({row:b,column:R});if(!D||D.row==b)return 0;var B=this.$getIndent(n.getLine(D.row));n.replace(new L(b,0,b,R-1),B)},this.$getIndent=function(n){return n.match(/^\s*/)[0]}}).call(i.prototype),b.MatchingBraceOutdent=i})),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(n,b,A){"use strict";var L=n("../../lib/oop"),R=n("../../range").Range,D=n("./fold_mode").FoldMode,B=b.FoldMode=function(n){n&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+n.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+n.end)))};L.inherits(B,D),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(n,b,A){var L=n.getLine(A);if(this.singleLineBlockCommentRe.test(L)&&!this.startRegionRe.test(L)&&!this.tripleStarBlockCommentRe.test(L))return"";var R=this._getFoldWidgetBase(n,b,A);return!R&&this.startRegionRe.test(L)?"start":R},this.getFoldWidgetRange=function(n,b,A,L){var R,D=n.getLine(A);if(this.startRegionRe.test(D))return this.getCommentRegionBlock(n,D,A);if(R=D.match(this.foldingStartMarker)){var B=R.index;if(R[1])return this.openingBracketBlock(n,R[1],A,B);var X=n.getCommentFoldRange(A,B+R[0].length,1);return X&&!X.isMultiLine()&&(L?X=this.getSectionRange(n,A):"all"!=b&&(X=null)),X}if("markbegin"!==b&&(R=D.match(this.foldingStopMarker))){B=R.index+R[0].length;return R[1]?this.closingBracketBlock(n,R[1],A,B):n.getCommentFoldRange(A,B,-1)}},this.getSectionRange=function(n,b){for(var A=n.getLine(b),L=A.search(/\S/),D=b,B=A.length,X=b+=1,K=n.getLength();++bQ)break;var tt=this.getFoldWidgetRange(n,"all",b);if(tt){if(tt.start.row<=D)break;if(tt.isMultiLine())b=tt.end.row;else if(L==Q)break}X=b}}return new R(D,B,X,n.getLine(X).length)},this.getCommentRegionBlock=function(n,b,A){for(var L=b.search(/\s*$/),D=n.getLength(),B=A,X=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,K=1;++AB)return new R(B,L,A,b.length)}}.call(B.prototype)})),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/cstyle","ace/worker/worker_client"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("./text").Mode,D=n("./json_highlight_rules").JsonHighlightRules,B=n("./matching_brace_outdent").MatchingBraceOutdent,X=n("./folding/cstyle").FoldMode,K=n("../worker/worker_client").WorkerClient,f=function(){this.HighlightRules=D,this.$outdent=new B,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new X};L.inherits(f,R),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(n,b,A){var L=this.$getIndent(b);"start"==n&&(b.match(/^.*[\{\(\[]\s*$/)&&(L+=A));return L},this.checkOutdent=function(n,b,A){return this.$outdent.checkOutdent(b,A)},this.autoOutdent=function(n,b,A){this.$outdent.autoOutdent(b,A)},this.createWorker=function(n){var b=new K(["ace"],"ace/mode/json_worker","JsonWorker");return b.attachToDocument(n.getDocument()),b.on("annotate",(function(b){n.setAnnotations(b.data)})),b.on("terminate",(function(){n.clearAnnotations()})),b},this.$id="ace/mode/json"}.call(f.prototype),b.Mode=f})),ace.require(["ace/mode/json"],(function(b){n&&(n.exports=b)}))},7516:(n,b,A)=>{n=A.nmd(n),function(){var n=function(){return this}();n||"undefined"==typeof window||(n=window);var define=function(n,b,A){"string"==typeof n?(2==arguments.length&&(A=b),define.modules[n]||(define.payloads[n]=A,define.modules[n]=null)):define.original?define.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace())};define.modules={},define.payloads={};var _require=function(n,b,A){if("string"==typeof b){var L=lookup(n,b);if(null!=L)return A&&A(),L}else if("[object Array]"===Object.prototype.toString.call(b)){for(var R=[],D=0,B=b.length;DA.length)&&(b=A.length),b-=n.length;var L=A.indexOf(n,b);return-1!==L&&L===b})),String.prototype.repeat||defineProp(String.prototype,"repeat",(function(n){for(var b="",A=this;n>0;)1&n&&(b+=A),(n>>=1)&&(A+=A);return b})),String.prototype.includes||defineProp(String.prototype,"includes",(function(n,b){return-1!=this.indexOf(n,b)})),Object.assign||(Object.assign=function(n){if(null==n)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(n),A=1;A>>0,L=arguments[1]|0,R=L<0?Math.max(A+L,0):Math.min(L,A),D=arguments[2],B=void 0===D?A:D|0,X=B<0?Math.max(A+B,0):Math.min(B,A);R0;)1&b&&(A+=n),(b>>=1)&&(n+=n);return A};var L=/^\s\s*/,R=/\s\s*$/;b.stringTrimLeft=function(n){return n.replace(L,"")},b.stringTrimRight=function(n){return n.replace(R,"")},b.copyObject=function(n){var b={};for(var A in n)b[A]=n[A];return b},b.copyArray=function(n){for(var b=[],A=0,L=n.length;A65535?2:1}})),ace.define("ace/lib/useragent",["require","exports","module"],(function(n,b,A){"use strict";b.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},b.getOS=function(){return b.isMac?b.OS.MAC:b.isLinux?b.OS.LINUX:b.OS.WINDOWS};var L="object"==typeof navigator?navigator:{},R=(/mac|win|linux/i.exec(L.platform)||["other"])[0].toLowerCase(),D=L.userAgent||"",B=L.appName||"";b.isWin="win"==R,b.isMac="mac"==R,b.isLinux="linux"==R,b.isIE="Microsoft Internet Explorer"==B||B.indexOf("MSAppHost")>=0?parseFloat((D.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((D.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),b.isOldIE=b.isIE&&b.isIE<9,b.isGecko=b.isMozilla=D.match(/ Gecko\/\d+/),b.isOpera="object"==typeof opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),b.isWebKit=parseFloat(D.split("WebKit/")[1])||void 0,b.isChrome=parseFloat(D.split(" Chrome/")[1])||void 0,b.isSafari=parseFloat(D.split(" Safari/")[1])&&!b.isChrome||void 0,b.isEdge=parseFloat(D.split(" Edge/")[1])||void 0,b.isAIR=D.indexOf("AdobeAIR")>=0,b.isAndroid=D.indexOf("Android")>=0,b.isChromeOS=D.indexOf(" CrOS ")>=0,b.isIOS=/iPad|iPhone|iPod/.test(D)&&!window.MSStream,b.isIOS&&(b.isMac=!0),b.isMobile=b.isIOS||b.isAndroid})),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],(function(n,b,A){"use strict";var L,R=n("./useragent");b.buildDom=function buildDom(n,b,A){if("string"==typeof n&&n){var L=document.createTextNode(n);return b&&b.appendChild(L),L}if(!Array.isArray(n))return n&&n.appendChild&&b&&b.appendChild(n),n;if("string"!=typeof n[0]||!n[0]){for(var R=[],D=0;D=1.5,R.isChromeOS&&(b.HI_DPI=!1),"undefined"!=typeof document){var B=document.createElement("div");b.HI_DPI&&void 0!==B.style.transform&&(b.HAS_CSS_TRANSFORMS=!0),R.isEdge||void 0===B.style.animationName||(b.HAS_CSS_ANIMATION=!0),B=null}b.HAS_CSS_TRANSFORMS?b.translate=function(n,b,A){n.style.transform="translate("+Math.round(b)+"px, "+Math.round(A)+"px)"}:b.translate=function(n,b,A){n.style.top=Math.round(A)+"px",n.style.left=Math.round(b)+"px"}})),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],(function(n,b,A){
/*
* based on code from:
*
@@ -6,22 +6,23 @@
* Available via the MIT or new BSD license.
* see: http://github.com/jrburke/requirejs for details
*/
-"use strict";var L=n("./dom");b.get=function(n,b){var A=new XMLHttpRequest;A.open("GET",n,!0),A.onreadystatechange=function(){4===A.readyState&&b(A.responseText)},A.send(null)},b.loadScript=function(n,b){var A=L.getDocumentHead(),R=document.createElement("script");R.src=n,A.appendChild(R),R.onload=R.onreadystatechange=function(n,A){!A&&R.readyState&&"loaded"!=R.readyState&&"complete"!=R.readyState||(R=R.onload=R.onreadystatechange=null,A||b())}},b.qualifyURL=function(n){var b=document.createElement("a");return b.href=n,b.href}})),ace.define("ace/lib/oop",["require","exports","module"],(function(n,b,A){"use strict";b.inherits=function(n,b){n.super_=b,n.prototype=Object.create(b.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}})},b.mixin=function(n,b){for(var A in b)n[A]=b[A];return n},b.implement=function(n,A){b.mixin(n,A)}})),ace.define("ace/lib/event_emitter",["require","exports","module"],(function(n,b,A){"use strict";var L={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};L._emit=L._dispatchEvent=function(n,b){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var A=this._eventRegistry[n]||[],L=this._defaultHandlers[n];if(A.length||L){"object"==typeof b&&b||(b={}),b.type||(b.type=n),b.stopPropagation||(b.stopPropagation=stopPropagation),b.preventDefault||(b.preventDefault=preventDefault),A=A.slice();for(var R=0;R1&&(R=A[A.length-2]);var B=E[b+"Path"];return null==B?B=E.basePath:"/"==L&&(b=L=""),B&&"/"!=B.slice(-1)&&(B+="/"),B+b+L+R+this.get("suffix")},b.setModuleUrl=function(n,b){return E.$moduleUrls[n]=b};var X;b.setLoader=function(n){X=n},b.dynamicModules=Object.create(null),b.$loading={},b.$loaded={},b.loadModule=function(A,L){var D;if(Array.isArray(A))var B=A[0],E=A[1];else if("string"==typeof A)E=A;var load=function(A){if(A&&!b.$loading[E])return L&&L(A);if(b.$loading[E]||(b.$loading[E]=[]),b.$loading[E].push(L),!(b.$loading[E].length>1)){var afterLoad=function(){!function(b,A){"ace/theme/textmate"===b||"./theme/textmate"===b?A(null,n("./theme/textmate")):X?X(b,A):console.error("loader is not configured")}(E,(function(n,A){A&&(b.$loaded[E]=A),b._emit("load.module",{name:E,module:A});var L=b.$loading[E];b.$loading[E]=null,L.forEach((function(n){n&&n(A)}))}))};if(!b.get("packaged"))return afterLoad();R.loadScript(b.moduleUrl(E,B),afterLoad),reportErrorIfPathIsNotConfigured()}};if(b.dynamicModules[E])b.dynamicModules[E]().then((function(n){n.default?load(n.default):load(n)}));else{try{D=this.$require(E)}catch(n){}load(D||b.$loaded[E])}},b.$require=function(n){if("function"==typeof A.require){return A.require(n)}},b.setModuleLoader=function(n,A){b.dynamicModules[n]=A};var reportErrorIfPathIsNotConfigured=function(){E.basePath||E.workerPath||E.modePath||E.themePath||Object.keys(E.$moduleUrls).length||(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),reportErrorIfPathIsNotConfigured=function(){})};b.version="1.36.2"})),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],(function(n,b,L){"use strict";n("./lib/fixoldbrowsers");var R=n("./config");R.setLoader((function(b,A){n([b],(function(n){A(null,n)}))}));var D=function(){return this||"undefined"!=typeof window&&window}();function init(b){if(D&&D.document){R.set("packaged",b||n.packaged||L.packaged||D.define&&A.amdD.packaged);var B={},E="",X=document.currentScript||document._currentScript,$=X&&X.ownerDocument||document;X&&X.src&&(E=X.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var V,K=$.getElementsByTagName("script"),Q=0;Q ["+this.end.row+"/"+this.end.column+"]"},Range.prototype.contains=function(n,b){return 0==this.compare(n,b)},Range.prototype.compareRange=function(n){var b,A=n.end,L=n.start;return 1==(b=this.compare(A.row,A.column))?1==(b=this.compare(L.row,L.column))?2:0==b?1:0:-1==b?-2:-1==(b=this.compare(L.row,L.column))?-1:1==b?42:0},Range.prototype.comparePoint=function(n){return this.compare(n.row,n.column)},Range.prototype.containsRange=function(n){return 0==this.comparePoint(n.start)&&0==this.comparePoint(n.end)},Range.prototype.intersects=function(n){var b=this.compareRange(n);return-1==b||0==b||1==b},Range.prototype.isEnd=function(n,b){return this.end.row==n&&this.end.column==b},Range.prototype.isStart=function(n,b){return this.start.row==n&&this.start.column==b},Range.prototype.setStart=function(n,b){"object"==typeof n?(this.start.column=n.column,this.start.row=n.row):(this.start.row=n,this.start.column=b)},Range.prototype.setEnd=function(n,b){"object"==typeof n?(this.end.column=n.column,this.end.row=n.row):(this.end.row=n,this.end.column=b)},Range.prototype.inside=function(n,b){return 0==this.compare(n,b)&&(!this.isEnd(n,b)&&!this.isStart(n,b))},Range.prototype.insideStart=function(n,b){return 0==this.compare(n,b)&&!this.isEnd(n,b)},Range.prototype.insideEnd=function(n,b){return 0==this.compare(n,b)&&!this.isStart(n,b)},Range.prototype.compare=function(n,b){return this.isMultiLine()||n!==this.start.row?nthis.end.row?1:this.start.row===n?b>=this.start.column?0:-1:this.end.row===n?b<=this.end.column?0:1:0:bthis.end.column?1:0},Range.prototype.compareStart=function(n,b){return this.start.row==n&&this.start.column==b?-1:this.compare(n,b)},Range.prototype.compareEnd=function(n,b){return this.end.row==n&&this.end.column==b?1:this.compare(n,b)},Range.prototype.compareInside=function(n,b){return this.end.row==n&&this.end.column==b?1:this.start.row==n&&this.start.column==b?-1:this.compare(n,b)},Range.prototype.clipRows=function(n,b){if(this.end.row>b)var A={row:b+1,column:0};else if(this.end.rowb)var L={row:b+1,column:0};else if(this.start.row1?++K>4&&(K=1):K=1,D.isIE){var B=Math.abs(n.clientX-E)>5||Math.abs(n.clientY-$)>5;V&&!B||(K=1),V&&clearTimeout(V),V=setTimeout((function(){V=null}),A[K-1]||600),1==K&&(E=n.clientX,$=n.clientY)}if(n._clicks=K,L[R]("mousedown",n),K>4)K=0;else if(K>1)return L[R](Q[K],n)}Array.isArray(n)||(n=[n]),n.forEach((function(n){X(n,"mousedown",onMousedown,B)}))},b.getModifierString=function(n){return R.KEY_MODS[getModifierHash(n)]},b.addCommandKeyListener=function(n,A,L){var $=null;X(n,"keydown",(function(n){B[n.keyCode]=(B[n.keyCode]||0)+1;var b=function normalizeCommandKeys(n,b,A){var L=getModifierHash(b);if(!A&&b.code&&(A=R.$codeToKeyCode[b.code]||A),!D.isMac&&B){if(b.getModifierState&&(b.getModifierState("OS")||b.getModifierState("Win"))&&(L|=8),B.altGr){if(!(3&~L))return;B.altGr=0}if(18===A||17===A){var X=b.location;17===A&&1===X?1==B[A]&&(E=b.timeStamp):18===A&&3===L&&2===X&&b.timeStamp-E<50&&(B.altGr=!0)}}if(A in R.MODIFIER_KEYS&&(A=-1),L||13!==A||3!==b.location||(n(b,L,-A),!b.defaultPrevented)){if(D.isChromeOS&&8&L){if(n(b,L,A),b.defaultPrevented)return;L&=-9}return!!(L||A in R.FUNCTION_KEYS||A in R.PRINTABLE_KEYS)&&n(b,L,A)}}(A,n,n.keyCode);return $=n.defaultPrevented,b}),L),X(n,"keypress",(function(n){$&&(n.ctrlKey||n.altKey||n.shiftKey||n.metaKey)&&(b.stopEvent(n),$=null)}),L),X(n,"keyup",(function(n){B[n.keyCode]=null}),L),B||(resetPressedKeys(),X(window,"focus",resetPressedKeys))},"object"==typeof window&&window.postMessage&&!D.isOldIE){var V=1;b.nextTick=function(n,A){A=A||window;var L="zero-timeout-message-"+V++,listener=function(R){R.data==L&&(b.stopPropagation(R),$(A,"message",listener),n())};X(A,"message",listener),A.postMessage(L,"*")}}b.$idleBlocked=!1,b.onIdle=function(n,A){return setTimeout((function handler(){b.$idleBlocked?setTimeout(handler,100):n()}),A)},b.$idleBlockId=null,b.blockIdle=function(n){b.$idleBlockId&&clearTimeout(b.$idleBlockId),b.$idleBlocked=!0,b.$idleBlockId=setTimeout((function(){b.$idleBlocked=!1}),n||100)},b.nextFrame="object"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),b.nextFrame?b.nextFrame=b.nextFrame.bind(window):b.nextFrame=function(n){setTimeout(n,17)}})),ace.define("ace/clipboard",["require","exports","module"],(function(n,b,A){"use strict";var L;A.exports={lineMode:!1,pasteCancelled:function(){return!!(L&&L>Date.now()-50)||(L=!1)},cancel:function(){L=Date.now()}}})),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],(function(n,b,A){"use strict";var L,R=n("../lib/event"),D=n("../config").nls,B=n("../lib/useragent"),E=n("../lib/dom"),X=n("../lib/lang"),$=n("../clipboard"),V=B.isChrome<18,K=B.isIE,Q=B.isChrome>63,tt=400,ot=n("../lib/keys"),nt=ot.KEY_MODS,it=B.isIOS,rt=it?/\s/:/\n/,st=B.isMobile;L=function(n,b){var A=E.createElement("textarea");A.className="ace_text-input",A.setAttribute("wrap","off"),A.setAttribute("autocorrect","off"),A.setAttribute("autocapitalize","off"),A.setAttribute("spellcheck","false"),A.style.opacity="0",n.insertBefore(A,n.firstChild);var L=!1,pt=!1,lt=!1,ut=!1,bt="";st||(A.style.fontSize="1px");var Mt=!1,zt=!1,Ot="",ft=0,mt=0,_t=0,gt=Number.MAX_SAFE_INTEGER,At=Number.MIN_SAFE_INTEGER,yt=0;try{var qt=document.activeElement===A}catch(n){}this.setNumberOfExtraLines=function(n){gt=Number.MAX_SAFE_INTEGER,At=Number.MIN_SAFE_INTEGER,yt=n<0?0:n},this.setAriaOptions=function(n){if(n.activeDescendant?(A.setAttribute("aria-haspopup","true"),A.setAttribute("aria-autocomplete",n.inline?"both":"list"),A.setAttribute("aria-activedescendant",n.activeDescendant)):(A.setAttribute("aria-haspopup","false"),A.setAttribute("aria-autocomplete","both"),A.removeAttribute("aria-activedescendant")),n.role&&A.setAttribute("role",n.role),n.setLabel){A.setAttribute("aria-roledescription",D("text-input.aria-roledescription","editor"));var L="";if(b.$textInputAriaLabel&&(L+="".concat(b.$textInputAriaLabel,", ")),b.session){var R=b.session.selection.cursor.row;L+=D("text-input.aria-label","Cursor at row $0",[R+1])}A.setAttribute("aria-label",L)}},this.setAriaOptions({role:"textbox"}),R.addListener(A,"blur",(function(n){zt||(b.onBlur(n),qt=!1)}),b),R.addListener(A,"focus",(function(n){if(!zt){if(qt=!0,B.isEdge)try{if(!document.hasFocus())return}catch(n){}b.onFocus(n),B.isEdge?setTimeout(vt):vt()}}),b),this.$focusScroll=!1,this.focus=function(){if(this.setAriaOptions({setLabel:b.renderer.enableKeyboardAccessibility}),bt||Q||"browser"==this.$focusScroll)return A.focus({preventScroll:!0});var n=A.style.top;A.style.position="fixed",A.style.top="0px";try{var L=0!=A.getBoundingClientRect().top}catch(n){return}var R=[];if(L)for(var D=A.parentElement;D&&1==D.nodeType;)R.push(D),D.setAttribute("ace_nocontext","true"),D=!D.parentElement&&D.getRootNode?D.getRootNode().host:D.parentElement;A.focus({preventScroll:!0}),L&&R.forEach((function(n){n.removeAttribute("ace_nocontext")})),setTimeout((function(){A.style.position="","0px"==A.style.top&&(A.style.top=n)}),0)},this.blur=function(){A.blur()},this.isFocused=function(){return qt},b.on("beforeEndOperation",(function(){var n=b.curOp,L=n&&n.command&&n.command.name;if("insertstring"!=L){var R=L&&(n.docChanged||n.selectionChanged);lt&&R&&(Ot=A.value="",onCompositionEnd()),vt()}}));var positionToSelection=function(n,A){for(var L=A,R=1;R<=n-gt&&R<2*yt+1;R++)L+=b.session.getLine(n-R).length+1;return L},vt=it?function(n){if(qt&&(!L||n)&&!ut){n||(n="");var R="\n ab"+n+"cde fg\n";R!=A.value&&(A.value=Ot=R);var D=4+(n.length||(b.selection.isEmpty()?0:1));4==ft&&mt==D||A.setSelectionRange(4,D),ft=4,mt=D}}:function(){if(!lt&&!ut&&(qt||wt)){lt=!0;var n=0,L=0,R="";if(b.session){var D=b.selection,B=D.getRange(),E=D.cursor.row;E===At+1?At=(gt=At+1)+2*yt:E===gt-1?gt=(At=gt-1)-2*yt:(EAt+1)&&(gt=E>yt?E-yt:0,At=E>yt?E+yt:2*yt);for(var X=[],$=gt;$<=At;$++)X.push(b.session.getLine($));if(R=X.join("\n"),n=positionToSelection(B.start.row,B.start.column),L=positionToSelection(B.end.row,B.end.column),B.start.rowAt){var K=b.session.getLine(At+1);L=B.end.row>At+1?K.length:B.end.column,L+=R.length+1,R=R+"\n"+K}else st&&E>0&&(R="\n"+R,L+=1,n+=1);R.length>tt&&(n0&&Ot[Q]==n[Q];)Q++,E--;for($=$.slice(Q),Q=1;X>0&&Ot.length-Q>ft-1&&Ot[Ot.length-Q]==n[n.length-Q];)Q++,X--;V-=Q-1,K-=Q-1;var tt=$.length-Q+1;if(tt<0&&(E=-tt,tt=0),$=$.slice(0,tt),!(L||$||V||E||X||K))return"";ut=!0;var ot=!1;return B.isAndroid&&". "==$&&($=" ",ot=!0),$&&!E&&!X&&!V&&!K||Mt?b.onTextInput($):b.onTextInput($,{extendLeft:E,extendRight:X,restoreStart:V,restoreEnd:K}),ut=!1,Ot=n,ft=R,mt=D,_t=K,ot?"\n":$},onInput=function(n){if(lt)return onCompositionUpdate();if(n&&n.inputType){if("historyUndo"==n.inputType)return b.execCommand("undo");if("historyRedo"==n.inputType)return b.execCommand("redo")}var L=A.value,R=sendText(L,!0);(L.length>500||rt.test(R)||st&&ft<1&&ft==mt)&&vt()},handleClipboardData=function(n,b,A){var L=n.clipboardData||window.clipboardData;if(L&&!V){var R=K||A?"Text":"text/plain";try{return b?!1!==L.setData(R,b):L.getData(R)}catch(n){if(!A)return handleClipboardData(n,b,!0)}}},doCopy=function(n,D){var B=b.getCopyText();if(!B)return R.preventDefault(n);handleClipboardData(n,B)?(it&&(vt(B),L=B,setTimeout((function(){L=!1}),10)),D?b.onCut():b.onCopy(),R.preventDefault(n)):(L=!0,A.value=B,A.select(),setTimeout((function(){L=!1,vt(),D?b.onCut():b.onCopy()})))},onCut=function(n){doCopy(n,!0)},onCopy=function(n){doCopy(n,!1)},onPaste=function(n){var L=handleClipboardData(n);$.pasteCancelled()||("string"==typeof L?(L&&b.onPaste(L,n),B.isIE&&setTimeout(vt),R.preventDefault(n)):(A.value="",pt=!0))};R.addCommandKeyListener(A,(function(n,A,L){if(!lt)return b.onCommandKey(n,A,L)}),b),R.addListener(A,"select",(function(n){lt||(L?L=!1:!function(n){return 0===n.selectionStart&&n.selectionEnd>=Ot.length&&n.value===Ot&&Ot&&n.selectionEnd!==mt}(A)?st&&A.selectionStart!=ft&&vt():(b.selectAll(),vt()))}),b),R.addListener(A,"input",onInput,b),R.addListener(A,"cut",onCut,b),R.addListener(A,"copy",onCopy,b),R.addListener(A,"paste",onPaste,b),"oncut"in A&&"oncopy"in A&&"onpaste"in A||R.addListener(n,"keydown",(function(n){if((!B.isMac||n.metaKey)&&n.ctrlKey)switch(n.keyCode){case 67:onCopy(n);break;case 86:onPaste(n);break;case 88:onCut(n)}}),b);var onCompositionUpdate=function(){if(lt&&b.onCompositionUpdate&&!b.$readOnly){if(Mt)return cancelComposition();if(lt.useTextareaForIME)b.onCompositionUpdate(A.value);else{var n=A.value;sendText(n),lt.markerRange&&(lt.context&&(lt.markerRange.start.column=lt.selectionStart=lt.context.compositionStartOffset),lt.markerRange.end.column=lt.markerRange.start.column+mt-lt.selectionStart+_t)}}},onCompositionEnd=function(n){b.onCompositionEnd&&!b.$readOnly&&(lt=!1,b.onCompositionEnd(),b.off("mousedown",cancelComposition),n&&onInput())};function cancelComposition(){zt=!0,A.blur(),A.focus(),zt=!1}var Lt,Rt=X.delayedCall(onCompositionUpdate,50).schedule.bind(null,null);function onContextMenuClose(){clearTimeout(Lt),Lt=setTimeout((function(){bt&&(A.style.cssText=bt,bt=""),b.renderer.$isMousePressed=!1,b.renderer.$keepTextAreaAtCursor&&b.renderer.$moveTextAreaToCursor()}),0)}R.addListener(A,"compositionstart",(function(n){if(!lt&&b.onCompositionStart&&!b.$readOnly&&(lt={},!Mt)){n.data&&(lt.useTextareaForIME=!1),setTimeout(onCompositionUpdate,0),b._signal("compositionStart"),b.on("mousedown",cancelComposition);var L=b.getSelectionRange();L.end.row=L.start.row,L.end.column=L.start.column,lt.markerRange=L,lt.selectionStart=ft,b.onCompositionStart(lt),lt.useTextareaForIME?(Ot=A.value="",ft=0,mt=0):(A.msGetInputContext&&(lt.context=A.msGetInputContext()),A.getInputContext&&(lt.context=A.getInputContext()))}}),b),R.addListener(A,"compositionupdate",onCompositionUpdate,b),R.addListener(A,"keyup",(function onKeyup(n){27==n.keyCode&&A.value.lengthmt&&"\n"==Ot[B]?E=ot.end:Rmt&&Ot.slice(0,B).split("\n").length>2?E=ot.down:B>mt&&" "==Ot[B-1]?(E=ot.right,X=nt.option):(B>mt||B==mt&&mt!=ft&&R==B)&&(E=ot.right),R!==B&&(X|=nt.shift),E){if(!b.onCommandKey({},X,E)&&b.commands){E=ot.keyCodeToString(E);var $=b.commands.findKeyCommand(X,E);$&&b.execCommand($)}ft=R,mt=B,vt("")}}};document.addEventListener("selectionchange",detectArrowKeys),b.on("destroy",(function(){document.removeEventListener("selectionchange",detectArrowKeys)}))}(0,b,A),this.destroy=function(){A.parentElement&&A.parentElement.removeChild(A)}},b.TextInput=L,b.$setUserAgentForTests=function(n,b){st=n,it=b}})),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],(function(n,b,A){"use strict";var L=n("../lib/useragent"),R=function(){function DefaultHandlers(n){n.$clickSelection=null;var b=n.editor;b.setDefaultHandler("mousedown",this.onMouseDown.bind(n)),b.setDefaultHandler("dblclick",this.onDoubleClick.bind(n)),b.setDefaultHandler("tripleclick",this.onTripleClick.bind(n)),b.setDefaultHandler("quadclick",this.onQuadClick.bind(n)),b.setDefaultHandler("mousewheel",this.onMouseWheel.bind(n));["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"].forEach((function(b){n[b]=this[b]}),this),n.selectByLines=this.extendSelectionBy.bind(n,"getLineRange"),n.selectByWords=this.extendSelectionBy.bind(n,"getWordRange")}return DefaultHandlers.prototype.onMouseDown=function(n){var b=n.inSelection(),A=n.getDocumentPosition();this.mousedownEvent=n;var R=this.editor,D=n.getButton();return 0!==D?((R.getSelectionRange().isEmpty()||1==D)&&R.selection.moveToPosition(A),void(2==D&&(R.textInput.onContextMenu(n.domEvent),L.isMozilla||n.preventDefault()))):(this.mousedownEvent.time=Date.now(),!b||R.isFocused()||(R.focus(),!this.$focusTimeout||this.$clickSelection||R.inMultiSelectMode)?(this.captureMouse(n),this.startSelect(A,n.domEvent._clicks>1),n.preventDefault()):(this.setState("focusWait"),void this.captureMouse(n)))},DefaultHandlers.prototype.startSelect=function(n,b){n=n||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var A=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?A.selection.selectToPosition(n):b||A.selection.moveToPosition(n),b||this.select(),A.setStyle("ace_selecting"),this.setState("select"))},DefaultHandlers.prototype.select=function(){var n,b=this.editor,A=b.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var L=this.$clickSelection.comparePoint(A);if(-1==L)n=this.$clickSelection.end;else if(1==L)n=this.$clickSelection.start;else{var R=calcRangeOrientation(this.$clickSelection,A);A=R.cursor,n=R.anchor}b.selection.setSelectionAnchor(n.row,n.column)}b.selection.selectToPosition(A),b.renderer.scrollCursorIntoView()},DefaultHandlers.prototype.extendSelectionBy=function(n){var b,A=this.editor,L=A.renderer.screenToTextCoordinates(this.x,this.y),R=A.selection[n](L.row,L.column);if(this.$clickSelection){var D=this.$clickSelection.comparePoint(R.start),B=this.$clickSelection.comparePoint(R.end);if(-1==D&&B<=0)b=this.$clickSelection.end,R.end.row==L.row&&R.end.column==L.column||(L=R.start);else if(1==B&&D>=0)b=this.$clickSelection.start,R.start.row==L.row&&R.start.column==L.column||(L=R.end);else if(-1==D&&1==B)L=R.end,b=R.start;else{var E=calcRangeOrientation(this.$clickSelection,L);L=E.cursor,b=E.anchor}A.selection.setSelectionAnchor(b.row,b.column)}A.selection.selectToPosition(L),A.renderer.scrollCursorIntoView()},DefaultHandlers.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},DefaultHandlers.prototype.focusWait=function(){var n=function calcDistance(n,b,A,L){return Math.sqrt(Math.pow(A-n,2)+Math.pow(L-b,2))}(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),b=Date.now();(n>0||b-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},DefaultHandlers.prototype.onDoubleClick=function(n){var b=n.getDocumentPosition(),A=this.editor,L=A.session.getBracketRange(b);L?(L.isEmpty()&&(L.start.column--,L.end.column++),this.setState("select")):(L=A.selection.getWordRange(b.row,b.column),this.setState("selectByWords")),this.$clickSelection=L,this.select()},DefaultHandlers.prototype.onTripleClick=function(n){var b=n.getDocumentPosition(),A=this.editor;this.setState("selectByLines");var L=A.getSelectionRange();L.isMultiLine()&&L.contains(b.row,b.column)?(this.$clickSelection=A.selection.getLineRange(L.start.row),this.$clickSelection.end=A.selection.getLineRange(L.end.row).end):this.$clickSelection=A.selection.getLineRange(b.row),this.select()},DefaultHandlers.prototype.onQuadClick=function(n){var b=this.editor;b.selectAll(),this.$clickSelection=b.getSelectionRange(),this.setState("selectAll")},DefaultHandlers.prototype.onMouseWheel=function(n){if(!n.getAccelKey()){n.getShiftKey()&&n.wheelY&&!n.wheelX&&(n.wheelX=n.wheelY,n.wheelY=0);var b=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var A=this.$lastScroll,L=n.domEvent.timeStamp,R=L-A.t,D=R?n.wheelX/R:A.vx,B=R?n.wheelY/R:A.vy;R<550&&(D=(D+A.vx)/2,B=(B+A.vy)/2);var E=Math.abs(D/B),X=!1;if(E>=1&&b.renderer.isScrollableBy(n.wheelX*n.speed,0)&&(X=!0),E<=1&&b.renderer.isScrollableBy(0,n.wheelY*n.speed)&&(X=!0),X)A.allowed=L;else if(L-A.allowed<550){Math.abs(D)<=1.5*Math.abs(A.vx)&&Math.abs(B)<=1.5*Math.abs(A.vy)?(X=!0,A.allowed=L):A.allowed=0}return A.t=L,A.vx=D,A.vy=B,X?(b.renderer.scrollBy(n.wheelX*n.speed,n.wheelY*n.speed),n.stop()):void 0}},DefaultHandlers}();function calcRangeOrientation(n,b){if(n.start.row==n.end.row)var A=2*b.column-n.start.column-n.end.column;else if(n.start.row!=n.end.row-1||n.start.column||n.end.column)A=2*b.row-n.start.row-n.end.row;else var A=b.column-4;return A<0?{cursor:n.start,anchor:n.end}:{cursor:n.end,anchor:n.start}}R.prototype.selectEnd=R.prototype.selectByLinesEnd,R.prototype.selectAllEnd=R.prototype.selectByLinesEnd,R.prototype.selectByWordsEnd=R.prototype.selectByLinesEnd,b.DefaultHandlers=R})),ace.define("ace/lib/scroll",["require","exports","module"],(function(n,b,A){b.preventParentScroll=function preventParentScroll(n){n.stopPropagation();var b=n.currentTarget;b.scrollHeight>b.clientHeight||n.preventDefault()}})),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],(function(n,b,A){"use strict";var L,R=this&&this.__extends||(L=function(n,b){return L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,b){n.__proto__=b}||function(n,b){for(var A in b)Object.prototype.hasOwnProperty.call(b,A)&&(n[A]=b[A])},L(n,b)},function(n,b){if("function"!=typeof b&&null!==b)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=n}L(n,b),n.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}),D=this&&this.__values||function(n){var b="function"==typeof Symbol&&Symbol.iterator,A=b&&n[b],L=0;if(A)return A.call(n);if(n&&"number"==typeof n.length)return{next:function(){return n&&L>=n.length&&(n=void 0),{value:n&&n[L++],done:!n}}};throw new TypeError(b?"Object is not iterable.":"Symbol.iterator is not defined.")},B=n("./lib/dom"),E=(n("./lib/event"),n("./range").Range),X=n("./lib/scroll").preventParentScroll,$="ace_tooltip",V=function(){function Tooltip(n){this.isOpen=!1,this.$element=null,this.$parentNode=n}return Tooltip.prototype.$init=function(){return this.$element=B.createElement("div"),this.$element.className=$,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},Tooltip.prototype.getElement=function(){return this.$element||this.$init()},Tooltip.prototype.setText=function(n){this.getElement().textContent=n},Tooltip.prototype.setHtml=function(n){this.getElement().innerHTML=n},Tooltip.prototype.setPosition=function(n,b){this.getElement().style.left=n+"px",this.getElement().style.top=b+"px"},Tooltip.prototype.setClassName=function(n){B.addCssClass(this.getElement(),n)},Tooltip.prototype.setTheme=function(n){this.$element.className=$+" "+(n.isDark?"ace_dark ":"")+(n.cssClass||"")},Tooltip.prototype.show=function(n,b,A){null!=n&&this.setText(n),null!=b&&null!=A&&this.setPosition(b,A),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},Tooltip.prototype.hide=function(n){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=$,this.isOpen=!1)},Tooltip.prototype.getHeight=function(){return this.getElement().offsetHeight},Tooltip.prototype.getWidth=function(){return this.getElement().offsetWidth},Tooltip.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},Tooltip}(),K=new(function(){function PopupManager(){this.popups=[]}return PopupManager.prototype.addPopup=function(n){this.popups.push(n),this.updatePopups()},PopupManager.prototype.removePopup=function(n){var b=this.popups.indexOf(n);-1!==b&&(this.popups.splice(b,1),this.updatePopups())},PopupManager.prototype.updatePopups=function(){var n,b,A,L;this.popups.sort((function(n,b){return b.priority-n.priority}));var R=[];try{for(var B=D(this.popups),E=B.next();!E.done;E=B.next()){var X=E.value,$=!0;try{for(var V=(A=void 0,D(R)),K=V.next();!K.done;K=V.next()){var Q=K.value;if(this.doPopupsOverlap(Q,X)){$=!1;break}}}catch(n){A={error:n}}finally{try{K&&!K.done&&(L=V.return)&&L.call(V)}finally{if(A)throw A.error}}$?R.push(X):X.hide()}}catch(b){n={error:b}}finally{try{E&&!E.done&&(b=B.return)&&b.call(B)}finally{if(n)throw n.error}}},PopupManager.prototype.doPopupsOverlap=function(n,b){var A=n.getElement().getBoundingClientRect(),L=b.getElement().getBoundingClientRect();return A.leftL.left&&A.topL.top},PopupManager}());b.popupManager=K,b.Tooltip=V;var Q=function(n){function HoverTooltip(b){void 0===b&&(b=document.body);var A=n.call(this,b)||this;A.timeout=void 0,A.lastT=0,A.idleTime=350,A.lastEvent=void 0,A.onMouseOut=A.onMouseOut.bind(A),A.onMouseMove=A.onMouseMove.bind(A),A.waitForHover=A.waitForHover.bind(A),A.hide=A.hide.bind(A);var L=A.getElement();return L.style.whiteSpace="pre-wrap",L.style.pointerEvents="auto",L.addEventListener("mouseout",A.onMouseOut),L.tabIndex=-1,L.addEventListener("blur",function(){L.contains(document.activeElement)||this.hide()}.bind(A)),L.addEventListener("wheel",X),A}return R(HoverTooltip,n),HoverTooltip.prototype.addToEditor=function(n){n.on("mousemove",this.onMouseMove),n.on("mousedown",this.hide),n.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},HoverTooltip.prototype.removeFromEditor=function(n){n.off("mousemove",this.onMouseMove),n.off("mousedown",this.hide),n.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},HoverTooltip.prototype.onMouseMove=function(n,b){this.lastEvent=n,this.lastT=Date.now();var A=b.$mouseHandler.isMousePressed;if(this.isOpen){var L=this.lastEvent&&this.lastEvent.getDocumentPosition();this.range&&this.range.contains(L.row,L.column)&&!A&&!this.isOutsideOfText(this.lastEvent)||this.hide()}this.timeout||A||(this.lastEvent=n,this.timeout=setTimeout(this.waitForHover,this.idleTime))},HoverTooltip.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var n=Date.now()-this.lastT;this.idleTime-n>10?this.timeout=setTimeout(this.waitForHover,this.idleTime-n):(this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor))},HoverTooltip.prototype.isOutsideOfText=function(n){var b=n.editor,A=n.getDocumentPosition(),L=b.session.getLine(A.row);if(A.column==L.length){var R=b.renderer.pixelToScreenCoordinates(n.clientX,n.clientY),D=b.session.documentToScreenPosition(A.row,A.column);if(D.column!=R.column||D.row!=R.row)return!0}return!1},HoverTooltip.prototype.setDataProvider=function(n){this.$gatherData=n},HoverTooltip.prototype.showForRange=function(n,b,A,L){if(!(L&&L!=this.lastEvent||this.isOpen&&document.activeElement==this.getElement())){var R=n.renderer;this.isOpen||(K.addPopup(this),this.$registerCloseEvents(),this.setTheme(R.theme)),this.isOpen=!0,this.addMarker(b,n.session),this.range=E.fromPoints(b.start,b.end);var D=R.textToScreenCoordinates(b.start.row,b.start.column),B=R.scroller.getBoundingClientRect();D.pageX=n.length&&(n=void 0),{value:n&&n[L++],done:!n}}};throw new TypeError(b?"Object is not iterable.":"Symbol.iterator is not defined.")},B=n("../lib/dom"),E=n("../lib/event"),X=n("../tooltip").Tooltip,$=n("../config").nls;n("../lib/lang");b.GutterHandler=function GutterHandler(n){var b,A,L=n.editor,R=L.renderer.$gutterLayer,D=new V(L);function hideTooltip(){b&&(b=clearTimeout(b)),D.isOpen&&(D.hideTooltip(),L.off("mousewheel",hideTooltip))}function moveTooltip(n){D.setPosition(n.x,n.y)}n.editor.setDefaultHandler("guttermousedown",(function(b){if(L.isFocused()&&0==b.getButton()&&"foldWidgets"!=R.getRegion(b)){var A=b.getDocumentPosition().row,D=L.session.selection;if(b.getShiftKey())D.selectTo(A,0);else{if(2==b.domEvent.detail)return L.selectAll(),b.preventDefault();n.$clickSelection=L.selection.getLineRange(A)}return n.setState("selectByLines"),n.captureMouse(b),b.preventDefault()}})),n.editor.setDefaultHandler("guttermousemove",(function(E){var X=E.domEvent.target||E.domEvent.srcElement;if(B.hasCssClass(X,"ace_fold-widget"))return hideTooltip();D.isOpen&&n.$tooltipFollowsMouse&&moveTooltip(E),A=E,b||(b=setTimeout((function(){b=null,A&&!n.isMousePressed?function showTooltip(){var b=A.getDocumentPosition().row;if(b==L.session.getLength()){var B=L.renderer.pixelToScreenCoordinates(0,A.y).row,E=A.$pos;if(B>L.session.documentToScreenRow(E.row,E.column))return hideTooltip()}if(D.showTooltip(b),D.isOpen)if(L.on("mousewheel",hideTooltip),n.$tooltipFollowsMouse)moveTooltip(A);else{var X=A.getGutterRow(),$=R.$lines.get(X);if($){var V=$.element.querySelector(".ace_gutter_annotation").getBoundingClientRect(),K=D.getElement().style;K.left=V.right+"px",K.top=V.bottom+"px"}else moveTooltip(A)}}():hideTooltip()}),50))})),E.addListener(L.renderer.$gutter,"mouseout",(function(n){A=null,D.isOpen&&!b&&(b=setTimeout((function(){b=null,hideTooltip()}),50))}),L),L.on("changeSession",hideTooltip),L.on("input",hideTooltip)};var V=function(n){function GutterTooltip(b){var A=n.call(this,b.container)||this;return A.editor=b,A}return R(GutterTooltip,n),GutterTooltip.prototype.setPosition=function(n,b){var A=window.innerWidth||document.documentElement.clientWidth,L=window.innerHeight||document.documentElement.clientHeight,R=this.getWidth(),D=this.getHeight();(n+=15)+R>A&&(n-=n+R-A),(b+=15)+D>L&&(b-=20+D),X.prototype.setPosition.call(this,n,b)},Object.defineProperty(GutterTooltip,"annotationLabels",{get:function(){return{error:{singular:$("gutter-tooltip.aria-label.error.singular","error"),plural:$("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:$("gutter-tooltip.aria-label.security.singular","security finding"),plural:$("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:$("gutter-tooltip.aria-label.warning.singular","warning"),plural:$("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:$("gutter-tooltip.aria-label.info.singular","information message"),plural:$("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:$("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:$("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),GutterTooltip.prototype.showTooltip=function(n){var b,A,L=this.editor.renderer.$gutterLayer,R=L.$annotations[n];A=R?{displayText:Array.from(R.displayText),type:Array.from(R.type)}:{displayText:[],type:[]};var D=L.session.getFoldLine(n);if(D&&L.$showFoldedAnnotations){for(var E,X={error:[],security:[],warning:[],info:[],hint:[]},$={error:1,security:2,warning:3,info:4,hint:5},V=n+1;V<=D.end.row;V++)if(L.$annotations[V])for(var K=0;K5?nt=null:L-nt>=200&&(b.renderer.scrollCursorIntoView(),nt=null)})(K=b.renderer.screenToTextCoordinates(E,X),n),function autoScroll(n,A){var L=Date.now(),R=b.renderer.layerConfig.lineHeight,D=b.renderer.layerConfig.characterWidth,B=b.renderer.scroller.getBoundingClientRect(),$={x:{left:E-B.left,right:B.right-E},y:{top:X-B.top,bottom:B.bottom-X}},V=Math.min($.x.left,$.x.right),K=Math.min($.y.top,$.y.bottom),Q={row:n.row,column:n.column};V/D<=2&&(Q.column+=$.x.left<$.x.right?-3:2),K/R<=1&&(Q.row+=$.y.top<$.y.bottom?-1:1);var tt=n.row!=Q.row,nt=n.column!=Q.column,it=!A||n.row!=A.row;tt||nt&&!it?ot?L-ot>=200&&b.renderer.scrollCursorIntoView(Q):ot=L:ot=null}(K,n)}function addDragMarker(){V=b.selection.toOrientedRange(),B=b.session.addMarker(V,"ace_selection",b.getSelectionStyle()),b.clearSelection(),b.isFocused()&&b.renderer.$cursorLayer.setBlinking(!1),clearInterval($),onDragInterval(),$=setInterval(onDragInterval,20),st=0,R.addListener(document,"mousemove",onMouseMove)}function clearDragMarker(){clearInterval($),b.session.removeMarker(B),B=null,b.selection.fromOrientedRange(V),b.isFocused()&&!tt&&b.$resetCursorStyle(),V=null,K=null,st=0,ot=null,nt=null,R.removeListener(document,"mousemove",onMouseMove)}this.onDragStart=function(n){if(this.cancelDrag||!rt.draggable){var L=this;return setTimeout((function(){L.startSelect(),L.captureMouse(n)}),0),n.preventDefault()}V=b.getSelectionRange();var R=n.dataTransfer;R.effectAllowed=b.getReadOnly()?"copy":"copyMove",b.container.appendChild(A),R.setDragImage&&R.setDragImage(A,0,0),setTimeout((function(){b.container.removeChild(A)})),R.clearData(),R.setData("Text",b.session.getTextRange()),tt=!0,this.setState("drag")},this.onDragEnd=function(n){if(rt.draggable=!1,tt=!1,this.setState(null),!b.getReadOnly()){var A=n.dataTransfer.dropEffect;Q||"move"!=A||b.session.remove(b.getSelectionRange()),b.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(n){if(!b.getReadOnly()&&canAccept(n.dataTransfer))return E=n.clientX,X=n.clientY,B||addDragMarker(),st++,n.dataTransfer.dropEffect=Q=getDropEffect(n),R.preventDefault(n)},this.onDragOver=function(n){if(!b.getReadOnly()&&canAccept(n.dataTransfer))return E=n.clientX,X=n.clientY,B||(addDragMarker(),st++),null!==pt&&(pt=null),n.dataTransfer.dropEffect=Q=getDropEffect(n),R.preventDefault(n)},this.onDragLeave=function(n){if(--st<=0&&B)return clearDragMarker(),Q=null,R.preventDefault(n)},this.onDrop=function(n){if(K){var A=n.dataTransfer;if(tt)switch(Q){case"move":V=V.contains(K.row,K.column)?{start:K,end:K}:b.moveText(V,K);break;case"copy":V=b.moveText(V,K,!0)}else{var L=A.getData("Text");V={start:K,end:b.session.insert(K,L)},b.focus(),Q=null}return clearDragMarker(),R.preventDefault(n)}},R.addListener(rt,"dragstart",this.onDragStart.bind(n),b),R.addListener(rt,"dragend",this.onDragEnd.bind(n),b),R.addListener(rt,"dragenter",this.onDragEnter.bind(n),b),R.addListener(rt,"dragover",this.onDragOver.bind(n),b),R.addListener(rt,"dragleave",this.onDragLeave.bind(n),b),R.addListener(rt,"drop",this.onDrop.bind(n),b);var pt=null;function onMouseMove(){null==pt&&(pt=setTimeout((function(){null!=pt&&B&&clearDragMarker()}),20))}function canAccept(n){var b=n.types;return!b||Array.prototype.some.call(b,(function(n){return"text/plain"==n||"Text"==n}))}function getDropEffect(n){var b=["copy","copymove","all","uninitialized"],A=D.isMac?n.altKey:n.ctrlKey,L="uninitialized";try{L=n.dataTransfer.effectAllowed.toLowerCase()}catch(n){}var R="none";return A&&b.indexOf(L)>=0?R="copy":["move","copymove","linkmove","all","uninitialized"].indexOf(L)>=0?R="move":b.indexOf(L)>=0&&(R="copy"),R}}function calcDistance(n,b,A,L){return Math.sqrt(Math.pow(A-n,2)+Math.pow(L-b,2))}(function(){this.dragWait=function(){Date.now()-this.mousedownEvent.time>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(n){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var n=this.editor;n.container.draggable=!0,n.renderer.$cursorLayer.setBlinking(!1),n.setStyle("ace_dragging");var b=D.isWin?"default":"move";n.renderer.setCursorStyle(b),this.setState("dragReady")},this.onMouseDrag=function(n){var b=this.editor.container;D.isIE&&"dragReady"==this.state&&(calcDistance(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>3&&b.dragDrop());"dragWait"===this.state&&(calcDistance(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>0&&(b.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition())))},this.onMouseDown=function(n){if(this.$dragEnabled){this.mousedownEvent=n;var b=this.editor,A=n.inSelection(),L=n.getButton();if(1===(n.domEvent.detail||1)&&0===L&&A){if(n.editor.inMultiSelectMode&&(n.getAccelKey()||n.getShiftKey()))return;this.mousedownEvent.time=Date.now();var R=n.domEvent.target||n.domEvent.srcElement;if("unselectable"in R&&(R.unselectable="on"),b.getDragDelay()){if(D.isWebKit)this.cancelDrag=!0,b.container.draggable=!0;this.setState("dragWait")}else this.startDrag();this.captureMouse(n,this.onMouseDrag.bind(this)),n.defaultPrevented=!0}}}}).call(DragdropHandler.prototype),b.DragdropHandler=DragdropHandler})),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],(function(n,b,A){"use strict";var L=n("./mouse_event").MouseEvent,R=n("../lib/event"),D=n("../lib/dom");b.addTouchListeners=function(n,b){var A,B,E,X,$,V,K,Q,tt,ot="scroll",nt=0,it=0,rt=0,st=0;function createContextMenu(){var n=window.navigator&&window.navigator.clipboard,A=!1,canExecuteCommand=function(n){return b.commands.canExecute(n,b)},handleClick=function(L){var R,B,E=L.target.getAttribute("action");if("more"==E||!A)return A=!A,R=b.getCopyText(),B=b.session.getUndoManager().hasUndo(),void tt.replaceChild(D.buildDom(A?["span",!R&&canExecuteCommand("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],R&&canExecuteCommand("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],R&&canExecuteCommand("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],n&&canExecuteCommand("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],B&&canExecuteCommand("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],canExecuteCommand("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],canExecuteCommand("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),tt.firstChild);"paste"==E?n.readText().then((function(n){b.execCommand(E,n)})):E&&("cut"!=E&&"copy"!=E||(n?n.writeText(b.getCopyText()):document.execCommand("copy")),b.execCommand(E)),tt.firstChild.style.display="none",A=!1,"openCommandPalette"!=E&&b.focus()};tt=D.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(n){ot="menu",n.stopPropagation(),n.preventDefault(),b.textInput.focus()},ontouchend:function(n){n.stopPropagation(),n.preventDefault(),handleClick(n)},onclick:handleClick},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],b.container)}function showContextMenu(){if(b.getOption("enableMobileMenu")){tt||createContextMenu();var n=b.selection.cursor,A=b.renderer.textToScreenCoordinates(n.row,n.column),L=b.renderer.textToScreenCoordinates(0,0).pageX,R=b.renderer.scrollLeft,D=b.container.getBoundingClientRect();tt.style.top=A.pageY-D.top-3+"px",A.pageX-D.left1)return clearTimeout($),$=null,E=-1,void(ot="zoom");Q=b.$mouseHandler.isMousePressed=!0;var D=b.renderer.layerConfig.lineHeight,V=b.renderer.layerConfig.lineHeight,tt=n.timeStamp;X=tt;var pt=R[0],lt=pt.clientX,ut=pt.clientY;Math.abs(A-lt)+Math.abs(B-ut)>D&&(E=-1),A=n.clientX=lt,B=n.clientY=ut,rt=st=0;var bt=new L(n,b);if(K=bt.getDocumentPosition(),tt-E<500&&1==R.length&&!nt)it++,n.preventDefault(),n.button=0,function switchToSelectionMode(){$=null,clearTimeout($),b.selection.moveToPosition(K);var n=it>=2?b.selection.getLineRange(K.row):b.session.getBracketRange(K);n&&!n.isEmpty()?b.selection.setRange(n):b.selection.selectWord(),ot="wait"}();else{it=0;var Mt=b.selection.cursor,zt=b.selection.isEmpty()?Mt:b.selection.anchor,Ot=b.renderer.$cursorLayer.getPixelPosition(Mt,!0),ft=b.renderer.$cursorLayer.getPixelPosition(zt,!0),mt=b.renderer.scroller.getBoundingClientRect(),_t=b.renderer.layerConfig.offset,gt=b.renderer.scrollLeft,weightedDistance=function(n,b){return(n/=V)*n+(b=b/D-.75)*b};if(n.clientXyt?"cursor":"anchor"),ot=yt<3.5?"anchor":At<3.5?"cursor":"scroll",$=setTimeout(handleLongTap,450)}E=tt}),b),R.addListener(n,"touchend",(function(n){Q=b.$mouseHandler.isMousePressed=!1,V&&clearInterval(V),"zoom"==ot?(ot="",nt=0):$?(b.selection.moveToPosition(K),nt=0,showContextMenu()):"scroll"==ot?(!function animate(){nt+=60,V=setInterval((function(){nt--<=0&&(clearInterval(V),V=null),Math.abs(rt)<.01&&(rt=0),Math.abs(st)<.01&&(st=0),nt<20&&(rt*=.9),nt<20&&(st*=.9);var n=b.session.getScrollTop();b.renderer.scrollBy(10*rt,10*st),n==b.session.getScrollTop()&&(nt=0)}),10)}(),hideContextMenu()):showContextMenu(),clearTimeout($),$=null}),b),R.addListener(n,"touchmove",(function(n){$&&(clearTimeout($),$=null);var R=n.touches;if(!(R.length>1||"zoom"==ot)){var D=R[0],E=A-D.clientX,V=B-D.clientY;if("wait"==ot){if(!(E*E+V*V>4))return n.preventDefault();ot="cursor"}A=D.clientX,B=D.clientY,n.clientX=D.clientX,n.clientY=D.clientY;var K=n.timeStamp,Q=K-X;if(X=K,"scroll"==ot){var tt=new L(n,b);tt.speed=1,tt.wheelX=E,tt.wheelY=V,10*Math.abs(E)=n){for(D=K+1;D=n;)D++;for(E=K,X=D-1;E=b.length||(X=A[R-1])!=Q&&X!=tt||($=b[R+1])!=Q&&$!=tt?ot:(D&&($=tt),$==X?$:ot);case lt:return(X=R>0?A[R-1]:nt)==Q&&R+10&&A[R-1]==Q)return Q;if(D)return ot;for(At=R+1,gt=b.length;At=1425&&qt<=2303||64286==qt;if(X=b[At],vt&&(X==K||X==rt))return K}return R<1||(X=b[R-1])==nt?ot:A[R-1];case nt:return D=!1,B=!0,L;case it:return E=!0,ot;case Mt:case zt:case ft:case mt:case Ot:D=!1;case _t:return ot}}function _getCharacterType(n){var b=n.charCodeAt(0),A=b>>8;return 0==A?b>191?V:gt[b]:5==A?/[\u0591-\u05f4]/.test(n)?K:V:6==A?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(n)?bt:/[\u0660-\u0669\u066b-\u066c]/.test(n)?tt:1642==b?ut:/[\u06f0-\u06f9]/.test(n)?Q:rt:32==A&&b<=8287?At[255&b]:254==A&&b>=65136?rt:ot}b.L=V,b.R=K,b.EN=Q,b.ON_R=3,b.AN=4,b.R_H=5,b.B=6,b.RLE=7,b.DOT="·",b.doBidiReorder=function(n,A,V){if(n.length<2)return{};var Q=n.split(""),pt=new Array(Q.length),lt=new Array(Q.length),ut=[];L=V?1:0,function _computeLevels(n,b,A,V){var K=L?$:X,Q=null,tt=null,ot=null,rt=0,pt=null,lt=-1,ut=null,bt=null,Mt=[];if(!V)for(ut=0,V=[];ut0)if(16==pt){for(ut=lt;ut-1){for(ut=lt;ut=0&&V[zt]==st;zt--)b[zt]=L}}(Q,ut,Q.length,A);for(var bt=0;btrt&&A[bt]0&&"ل"===Q[bt-1]&&/\u0622|\u0623|\u0625|\u0627/.test(Q[bt])&&(ut[bt-1]=ut[bt]=b.R_H,bt++);Q[Q.length-1]===b.DOT&&(ut[Q.length-1]=b.B),""===Q[0]&&(ut[0]=b.RLE);for(bt=0;bt=0&&(n=this.session.$docRowCache[A])}return n},BidiHandler.prototype.getSplitIndex=function(){var n=0,b=this.session.$screenRowCache;if(b.length)for(var A,L=this.session.$getRowCacheIndex(b,this.currentRow);this.currentRow-n>0&&(A=this.session.$getRowCacheIndex(b,this.currentRow-n-1))===L;)L=A,n++;else n=this.currentRow;return n},BidiHandler.prototype.updateRowLine=function(n,b){void 0===n&&(n=this.getDocumentRow());var A=n===this.session.getLength()-1?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(n),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var D=this.session.$wrapData[n];D&&(void 0===b&&(b=this.getSplitIndex()),b>0&&D.length?(this.wrapIndent=D.indent,this.wrapOffset=this.wrapIndent*this.charWidths[L.L],this.line=bb?this.session.getOverwrite()?n:n-1:b,R=L.getVisualFromLogicalIdx(A,this.bidiMap),D=this.bidiMap.bidiLevels,B=0;!this.session.getOverwrite()&&n<=b&&D[R]%2!=0&&R++;for(var E=0;Eb&&D[R]%2==0&&(B+=this.charWidths[D[R]]),this.wrapIndent&&(B+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(B+=this.rtlLineOffset),B},BidiHandler.prototype.getSelections=function(n,b){var A,L=this.bidiMap,R=L.bidiLevels,D=[],B=0,E=Math.min(n,b)-this.wrapIndent,X=Math.max(n,b)-this.wrapIndent,$=!1,V=!1,K=0;this.wrapIndent&&(B+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var Q,tt=0;tt=E&&QA+D/2;){if(A+=D,L===R.length-1){D=0;break}D=this.charWidths[R[++L]]}return L>0&&R[L-1]%2!=0&&R[L]%2==0?(n0&&R[L-1]%2==0&&R[L]%2!=0?b=1+(n>A?this.bidiMap.logicalFromVisual[L]:this.bidiMap.logicalFromVisual[L-1]):this.isRtlDir&&L===R.length-1&&0===D&&R[L-1]%2==0||!this.isRtlDir&&0===L&&R[L]%2!=0?b=1+this.bidiMap.logicalFromVisual[L]:(L>0&&R[L-1]%2!=0&&0!==D&&L--,b=this.bidiMap.logicalFromVisual[L]),0===b&&this.isRtlDir&&b++,b+this.wrapIndent},BidiHandler}();b.BidiHandler=B})),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],(function(n,b,A){"use strict";var L=n("./lib/oop"),R=n("./lib/lang"),D=n("./lib/event_emitter").EventEmitter,B=n("./range").Range,E=function(){function Selection(n){this.session=n,this.doc=n.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var b=this;this.cursor.on("change",(function(n){b.$cursorChanged=!0,b.$silent||b._emit("changeCursor"),b.$isEmpty||b.$silent||b._emit("changeSelection"),b.$keepDesiredColumnOnChange||n.old.column==n.value.column||(b.$desiredColumn=null)})),this.anchor.on("change",(function(){b.$anchorChanged=!0,b.$isEmpty||b.$silent||b._emit("changeSelection")}))}return Selection.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},Selection.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},Selection.prototype.getCursor=function(){return this.lead.getPosition()},Selection.prototype.setAnchor=function(n,b){this.$isEmpty=!1,this.anchor.setPosition(n,b)},Selection.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},Selection.prototype.getSelectionLead=function(){return this.lead.getPosition()},Selection.prototype.isBackwards=function(){var n=this.anchor,b=this.lead;return n.row>b.row||n.row==b.row&&n.column>b.column},Selection.prototype.getRange=function(){var n=this.anchor,b=this.lead;return this.$isEmpty?B.fromPoints(b,b):this.isBackwards()?B.fromPoints(b,n):B.fromPoints(n,b)},Selection.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},Selection.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},Selection.prototype.setRange=function(n,b){var A=b?n.end:n.start,L=b?n.start:n.end;this.$setSelection(A.row,A.column,L.row,L.column)},Selection.prototype.$setSelection=function(n,b,A,L){if(!this.$silent){var R=this.$isEmpty,D=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(n,b),this.cursor.setPosition(A,L),this.$isEmpty=!B.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||R!=this.$isEmpty||D)&&this._emit("changeSelection")}},Selection.prototype.$moveSelection=function(n){var b=this.lead;this.$isEmpty&&this.setSelectionAnchor(b.row,b.column),n.call(this)},Selection.prototype.selectTo=function(n,b){this.$moveSelection((function(){this.moveCursorTo(n,b)}))},Selection.prototype.selectToPosition=function(n){this.$moveSelection((function(){this.moveCursorToPosition(n)}))},Selection.prototype.moveTo=function(n,b){this.clearSelection(),this.moveCursorTo(n,b)},Selection.prototype.moveToPosition=function(n){this.clearSelection(),this.moveCursorToPosition(n)},Selection.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},Selection.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},Selection.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},Selection.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},Selection.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},Selection.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},Selection.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},Selection.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},Selection.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},Selection.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},Selection.prototype.getWordRange=function(n,b){if(void 0===b){var A=n||this.lead;n=A.row,b=A.column}return this.session.getWordRange(n,b)},Selection.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},Selection.prototype.selectAWord=function(){var n=this.getCursor(),b=this.session.getAWordRange(n.row,n.column);this.setSelectionRange(b)},Selection.prototype.getLineRange=function(n,b){var A,L="number"==typeof n?n:this.lead.row,R=this.session.getFoldLine(L);return R?(L=R.start.row,A=R.end.row):A=L,!0===b?new B(L,0,A,this.session.getLine(A).length):new B(L,0,A+1,0)},Selection.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},Selection.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},Selection.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},Selection.prototype.wouldMoveIntoSoftTab=function(n,b,A){var L=n.column,R=n.column+b;return A<0&&(L=n.column-b,R=n.column),this.session.isTabStop(n)&&this.doc.getLine(n.row).slice(L,R).split(" ").length-1==b},Selection.prototype.moveCursorLeft=function(){var n,b=this.lead.getPosition();if(n=this.session.getFoldAt(b.row,b.column,-1))this.moveCursorTo(n.start.row,n.start.column);else if(0===b.column)b.row>0&&this.moveCursorTo(b.row-1,this.doc.getLine(b.row-1).length);else{var A=this.session.getTabSize();this.wouldMoveIntoSoftTab(b,A,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-A):this.moveCursorBy(0,-1)}},Selection.prototype.moveCursorRight=function(){var n,b=this.lead.getPosition();if(n=this.session.getFoldAt(b.row,b.column,1))this.moveCursorTo(n.end.row,n.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(b.column=L)}}this.moveCursorTo(b.row,b.column)},Selection.prototype.moveCursorFileEnd=function(){var n=this.doc.getLength()-1,b=this.doc.getLine(n).length;this.moveCursorTo(n,b)},Selection.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},Selection.prototype.moveCursorLongWordRight=function(){var n=this.lead.row,b=this.lead.column,A=this.doc.getLine(n),L=A.substring(b);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var R=this.session.getFoldAt(n,b,1);if(R)this.moveCursorTo(R.end.row,R.end.column);else{if(this.session.nonTokenRe.exec(L)&&(b+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,L=A.substring(b)),b>=A.length)return this.moveCursorTo(n,A.length),this.moveCursorRight(),void(n0&&this.moveCursorWordLeft());this.session.tokenRe.exec(D)&&(A-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(b,A)}},Selection.prototype.$shortWordEndIndex=function(n){var b,A=0,L=/\s/,R=this.session.tokenRe;if(R.lastIndex=0,this.session.tokenRe.exec(n))A=this.session.tokenRe.lastIndex;else{for(;(b=n[A])&&L.test(b);)A++;if(A<1)for(R.lastIndex=0;(b=n[A])&&!R.test(b);)if(R.lastIndex=0,A++,L.test(b)){if(A>2){A--;break}for(;(b=n[A])&&L.test(b);)A++;if(A>2)break}}return R.lastIndex=0,A},Selection.prototype.moveCursorShortWordRight=function(){var n=this.lead.row,b=this.lead.column,A=this.doc.getLine(n),L=A.substring(b),R=this.session.getFoldAt(n,b,1);if(R)return this.moveCursorTo(R.end.row,R.end.column);if(b==A.length){var D=this.doc.getLength();do{n++,L=this.doc.getLine(n)}while(n0&&/^\s*$/.test(L));A=L.length,/\s+$/.test(L)||(L="")}var D=R.stringReverse(L),B=this.$shortWordEndIndex(D);return this.moveCursorTo(b,A-B)},Selection.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},Selection.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},Selection.prototype.moveCursorBy=function(n,b){var A,L=this.session.documentToScreenPosition(this.lead.row,this.lead.column);if(0===b&&(0!==n&&(this.session.$bidiHandler.isBidiRow(L.row,this.lead.row)?(A=this.session.$bidiHandler.getPosLeft(L.column),L.column=Math.round(A/this.session.$bidiHandler.charWidths[0])):A=L.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?L.column=this.$desiredColumn:this.$desiredColumn=L.column),0!=n&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var R=this.session.lineWidgets[this.lead.row];n<0?n-=R.rowsAbove||0:n>0&&(n+=R.rowCount-(R.rowsAbove||0))}var D=this.session.screenToDocumentPosition(L.row+n,L.column,A);0!==n&&0===b&&D.row===this.lead.row&&(D.column,this.lead.column),this.moveCursorTo(D.row,D.column+b,0===b)},Selection.prototype.moveCursorToPosition=function(n){this.moveCursorTo(n.row,n.column)},Selection.prototype.moveCursorTo=function(n,b,A){var L=this.session.getFoldAt(n,b,1);L&&(n=L.start.row,b=L.start.column),this.$keepDesiredColumnOnChange=!0;var R=this.session.getLine(n);/[\uDC00-\uDFFF]/.test(R.charAt(b))&&R.charAt(b-1)&&(this.lead.row==n&&this.lead.column==b+1?b-=1:b+=1),this.lead.setPosition(n,b),this.$keepDesiredColumnOnChange=!1,A||(this.$desiredColumn=null)},Selection.prototype.moveCursorToScreen=function(n,b,A){var L=this.session.screenToDocumentPosition(n,b);this.moveCursorTo(L.row,L.column,A)},Selection.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},Selection.prototype.fromOrientedRange=function(n){this.setSelectionRange(n,n.cursor==n.start),this.$desiredColumn=n.desiredColumn||this.$desiredColumn},Selection.prototype.toOrientedRange=function(n){var b=this.getRange();return n?(n.start.column=b.start.column,n.start.row=b.start.row,n.end.column=b.end.column,n.end.row=b.end.row):n=b,n.cursor=this.isBackwards()?n.start:n.end,n.desiredColumn=this.$desiredColumn,n},Selection.prototype.getRangeOfMovements=function(n){var b=this.getCursor();try{n(this);var A=this.getCursor();return B.fromPoints(b,A)}catch(n){return B.fromPoints(b,b)}finally{this.moveCursorToPosition(b)}},Selection.prototype.toJSON=function(){if(this.rangeCount)var n=this.ranges.map((function(n){var b=n.clone();return b.isBackwards=n.cursor==n.start,b}));else(n=this.getRange()).isBackwards=this.isBackwards();return n},Selection.prototype.fromJSON=function(n){if(null==n.start){if(this.rangeList&&n.length>1){this.toSingleRange(n[0]);for(var b=n.length;b--;){var A=B.fromPoints(n[b].start,n[b].end);n[b].isBackwards&&(A.cursor=A.start),this.addRange(A,!0)}return}n=n[0]}this.rangeList&&this.toSingleRange(n),this.setSelectionRange(n,n.isBackwards)},Selection.prototype.isEqual=function(n){if((n.length||this.rangeCount)&&n.length!=this.rangeCount)return!1;if(!n.length||!this.ranges)return this.getRange().isEqual(n);for(var b=this.ranges.length;b--;)if(!this.ranges[b].isEqual(n[b]))return!1;return!0},Selection}();E.prototype.setSelectionAnchor=E.prototype.setAnchor,E.prototype.getSelectionAnchor=E.prototype.getAnchor,E.prototype.setSelectionRange=E.prototype.setRange,L.implement(E.prototype,D),b.Selection=E})),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],(function(n,b,A){"use strict";var L=n("./lib/report_error").reportError,R=2e3,D=function(){function Tokenizer(n){for(var b in this.splitRegex,this.states=n,this.regExps={},this.matchMappings={},this.states){for(var A=this.states[b],L=[],R=0,D=this.matchMappings[b]={defaultToken:"text"},B="g",E=[],X=0;X1?this.$applyToken:$.token),K>1&&(/\\\d/.test($.regex)?V=$.regex.replace(/\\([0-9]+)/g,(function(n,b){return"\\"+(parseInt(b,10)+R+1)})):(K=1,V=this.removeCapturingGroups($.regex)),$.splitRegex||"string"==typeof $.token||E.push($)),D[R]=X,R+=K,L.push(V),$.onMatch||($.onMatch=null)}}L.length||(D[0]=0,L.push("$")),E.forEach((function(n){n.splitRegex=this.createSplitterRegexp(n.regex,B)}),this),this.regExps[b]=new RegExp("("+L.join(")|(")+")|($)",B)}}return Tokenizer.prototype.$setMaxTokenCount=function(n){R=0|n},Tokenizer.prototype.$applyToken=function(n){var b=this.splitRegex.exec(n).slice(1),A=this.token.apply(this,b);if("string"==typeof A)return[{type:A,value:n}];for(var L=[],R=0,D=A.length;RV){var rt=n.substring(V,it-nt.length);Q.type==tt?Q.value+=rt:(Q.type&&$.push(Q),Q={type:tt,value:rt})}for(var st=0;stR){for(K>2*n.length&&this.reportError("infinite loop with in ace tokenizer",{startState:b,line:n});V1&&A[0]!==L&&A.unshift("#tmp",L),{tokens:$,state:A.length?A:L}},Tokenizer}();D.prototype.reportError=L,b.Tokenizer=D})),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],(function(n,b,A){"use strict";var L,R=n("../lib/deep_copy").deepCopy;(function(){this.addRules=function(n,b){if(b)for(var A in n){for(var L=n[A],R=0;R=this.$rowTokens.length;){if(this.$row+=1,n||(n=this.$session.getLength()),this.$row>=n)return this.$row=n-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},TokenIterator.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},TokenIterator.prototype.getCurrentTokenRow=function(){return this.$row},TokenIterator.prototype.getCurrentTokenColumn=function(){var n=this.$rowTokens,b=this.$tokenIndex,A=n[b].start;if(void 0!==A)return A;for(A=0;b>0;)A+=n[b-=1].value.length;return A},TokenIterator.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},TokenIterator.prototype.getCurrentTokenRange=function(){var n=this.$rowTokens[this.$tokenIndex],b=this.getCurrentTokenColumn();return new L(this.$row,b,this.$row,b+n.value.length)},TokenIterator}();b.TokenIterator=R})),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],(function(n,b,A){"use strict";var L,R,D=n("../../lib/oop"),B=n("../behaviour").Behaviour,E=n("../../token_iterator").TokenIterator,X=n("../../lib/lang"),$=["text","paren.rparen","rparen","paren","punctuation.operator"],V=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],K={},Q={'"':'"',"'":"'"},initContext=function(n){var b=-1;if(n.multiSelect&&(b=n.selection.index,K.rangeCount!=n.multiSelect.rangeCount&&(K={rangeCount:n.multiSelect.rangeCount})),K[b])return L=K[b];L=K[b]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},getWrapped=function(n,b,A,L){var R=n.end.row-n.start.row;return{text:A+b+L,selection:[0,n.start.column+1,R,n.end.column+(R?0:1)]}};(R=function(n){n=n||{},this.add("braces","insertion",(function(b,A,D,B,E){var $=D.getCursorPosition(),V=B.doc.getLine($.row);if("{"==E){initContext(D);var K=D.getSelectionRange(),Q=B.doc.getTextRange(K),tt=B.getTokenAt($.row,$.column);if(""!==Q&&"{"!==Q&&D.getWrapBehavioursEnabled())return getWrapped(K,Q,"{","}");if(tt&&/(?:string)\.quasi|\.xml/.test(tt.type)){if([/tag\-(?:open|name)/,/attribute\-name/].some((function(n){return n.test(tt.type)}))||/(string)\.quasi/.test(tt.type)&&"$"!==tt.value[$.column-tt.start-1])return;return R.recordAutoInsert(D,B,"}"),{text:"{}",selection:[1,1]}}if(R.isSaneInsertion(D,B))return/[\]\}\)]/.test(V[$.column])||D.inMultiSelectMode||n.braces?(R.recordAutoInsert(D,B,"}"),{text:"{}",selection:[1,1]}):(R.recordMaybeInsert(D,B,"{"),{text:"{",selection:[1,1]})}else if("}"==E){if(initContext(D),"}"==V.substring($.column,$.column+1))if(null!==B.$findOpeningBracket("}",{column:$.column+1,row:$.row})&&R.isAutoInsertedClosing($,V,E))return R.popAutoInsertedClosing(),{text:"",selection:[1,1]}}else{if("\n"==E||"\r\n"==E){initContext(D);var ot="";if(R.isMaybeInsertedClosing($,V)&&(ot=X.stringRepeat("}",L.maybeInsertedBrackets),R.clearMaybeInsertedClosing()),"}"===V.substring($.column,$.column+1)){var nt=B.findMatchingBracket({row:$.row,column:$.column+1},"}");if(!nt)return null;var it=this.$getIndent(B.getLine(nt.row))}else{if(!ot)return void R.clearMaybeInsertedClosing();it=this.$getIndent(V)}var rt=it+B.getTabString();return{text:"\n"+rt+"\n"+it+ot,selection:[1,rt.length,1,rt.length]}}R.clearMaybeInsertedClosing()}})),this.add("braces","deletion",(function(n,b,A,R,D){var B=R.doc.getTextRange(D);if(!D.isMultiLine()&&"{"==B){if(initContext(A),"}"==R.doc.getLine(D.start.row).substring(D.end.column,D.end.column+1))return D.end.column++,D;L.maybeInsertedBrackets--}})),this.add("parens","insertion",(function(n,b,A,L,D){if("("==D){initContext(A);var B=A.getSelectionRange(),E=L.doc.getTextRange(B);if(""!==E&&A.getWrapBehavioursEnabled())return getWrapped(B,E,"(",")");if(R.isSaneInsertion(A,L))return R.recordAutoInsert(A,L,")"),{text:"()",selection:[1,1]}}else if(")"==D){initContext(A);var X=A.getCursorPosition(),$=L.doc.getLine(X.row);if(")"==$.substring(X.column,X.column+1))if(null!==L.$findOpeningBracket(")",{column:X.column+1,row:X.row})&&R.isAutoInsertedClosing(X,$,D))return R.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("parens","deletion",(function(n,b,A,L,R){var D=L.doc.getTextRange(R);if(!R.isMultiLine()&&"("==D&&(initContext(A),")"==L.doc.getLine(R.start.row).substring(R.start.column+1,R.start.column+2)))return R.end.column++,R})),this.add("brackets","insertion",(function(n,b,A,L,D){if("["==D){initContext(A);var B=A.getSelectionRange(),E=L.doc.getTextRange(B);if(""!==E&&A.getWrapBehavioursEnabled())return getWrapped(B,E,"[","]");if(R.isSaneInsertion(A,L))return R.recordAutoInsert(A,L,"]"),{text:"[]",selection:[1,1]}}else if("]"==D){initContext(A);var X=A.getCursorPosition(),$=L.doc.getLine(X.row);if("]"==$.substring(X.column,X.column+1))if(null!==L.$findOpeningBracket("]",{column:X.column+1,row:X.row})&&R.isAutoInsertedClosing(X,$,D))return R.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("brackets","deletion",(function(n,b,A,L,R){var D=L.doc.getTextRange(R);if(!R.isMultiLine()&&"["==D&&(initContext(A),"]"==L.doc.getLine(R.start.row).substring(R.start.column+1,R.start.column+2)))return R.end.column++,R})),this.add("string_dquotes","insertion",(function(n,b,A,L,R){var D=L.$mode.$quotes||Q;if(1==R.length&&D[R]){if(this.lineCommentStart&&-1!=this.lineCommentStart.indexOf(R))return;initContext(A);var B=R,E=A.getSelectionRange(),X=L.doc.getTextRange(E);if(!(""===X||1==X.length&&D[X])&&A.getWrapBehavioursEnabled())return getWrapped(E,X,B,B);if(!X){var $=A.getCursorPosition(),V=L.doc.getLine($.row),K=V.substring($.column-1,$.column),tt=V.substring($.column,$.column+1),ot=L.getTokenAt($.row,$.column),nt=L.getTokenAt($.row,$.column+1);if("\\"==K&&ot&&/escape/.test(ot.type))return null;var it,rt=ot&&/string|escape/.test(ot.type),st=!nt||/string|escape/.test(nt.type);if(tt==B)(it=rt!==st)&&/string\.end/.test(nt.type)&&(it=!1);else{if(rt&&!st)return null;if(rt&&st)return null;var pt=L.$mode.tokenRe;pt.lastIndex=0;var lt=pt.test(K);pt.lastIndex=0;var ut=pt.test(tt),bt=L.$mode.$pairQuotesAfter;if(!(bt&&bt[B]&&bt[B].test(K))&<||ut)return null;if(tt&&!/[\s;,.})\]\\]/.test(tt))return null;var Mt=V[$.column-2];if(K==B&&(Mt==B||pt.test(Mt)))return null;it=!0}return{text:it?B+B:"",selection:[1,1]}}}})),this.add("string_dquotes","deletion",(function(n,b,A,L,R){var D=L.$mode.$quotes||Q,B=L.doc.getTextRange(R);if(!R.isMultiLine()&&D.hasOwnProperty(B)&&(initContext(A),L.doc.getLine(R.start.row).substring(R.start.column+1,R.start.column+2)==B))return R.end.column++,R})),!1!==n.closeDocComment&&this.add("doc comment end","insertion",(function(n,b,A,L,R){if("doc-start"===n&&("\n"===R||"\r\n"===R)&&A.selection.isEmpty()){var D=A.getCursorPosition();if(0===D.column)return;for(var B=L.doc.getLine(D.row),E=L.doc.getLine(D.row+1),X=L.getTokens(D.row),$=0,V=0;V=D.column){if($===D.column){if(!/\.doc/.test(K.type))return;if(/\*\//.test(K.value)){var Q=X[V+1];if(!Q||!/\.doc/.test(Q.type))return}}var tt=D.column-($-K.value.length),ot=K.value.indexOf("*/"),nt=K.value.indexOf("/**",ot>-1?ot+2:0);if(-1!==nt&&tt>nt&&tt=ot&&tt<=nt||!/\.doc/.test(K.type))return;break}}var it=this.$getIndent(B);if(/\s*\*/.test(E))return/^\s*\*/.test(B)?{text:R+it+"* ",selection:[1,2+it.length,1,2+it.length]}:{text:R+it+" * ",selection:[1,3+it.length,1,3+it.length]};if(/\/\*\*/.test(B.substring(0,D.column)))return{text:R+it+" * "+R+" "+it+"*/",selection:[1,4+it.length,1,4+it.length]}}}))}).isSaneInsertion=function(n,b){var A=n.getCursorPosition(),L=new E(b,A.row,A.column);if(!this.$matchTokenType(L.getCurrentToken()||"text",$)){if(/[)}\]]/.test(n.session.getLine(A.row)[A.column]))return!0;var R=new E(b,A.row,A.column+1);if(!this.$matchTokenType(R.getCurrentToken()||"text",$))return!1}return L.stepForward(),L.getCurrentTokenRow()!==A.row||this.$matchTokenType(L.getCurrentToken()||"text",V)},R.$matchTokenType=function(n,b){return b.indexOf(n.type||n)>-1},R.recordAutoInsert=function(n,b,A){var R=n.getCursorPosition(),D=b.doc.getLine(R.row);this.isAutoInsertedClosing(R,D,L.autoInsertedLineEnd[0])||(L.autoInsertedBrackets=0),L.autoInsertedRow=R.row,L.autoInsertedLineEnd=A+D.substr(R.column),L.autoInsertedBrackets++},R.recordMaybeInsert=function(n,b,A){var R=n.getCursorPosition(),D=b.doc.getLine(R.row);this.isMaybeInsertedClosing(R,D)||(L.maybeInsertedBrackets=0),L.maybeInsertedRow=R.row,L.maybeInsertedLineStart=D.substr(0,R.column)+A,L.maybeInsertedLineEnd=D.substr(R.column),L.maybeInsertedBrackets++},R.isAutoInsertedClosing=function(n,b,A){return L.autoInsertedBrackets>0&&n.row===L.autoInsertedRow&&A===L.autoInsertedLineEnd[0]&&b.substr(n.column)===L.autoInsertedLineEnd},R.isMaybeInsertedClosing=function(n,b){return L.maybeInsertedBrackets>0&&n.row===L.maybeInsertedRow&&b.substr(n.column)===L.maybeInsertedLineEnd&&b.substr(0,n.column)==L.maybeInsertedLineStart},R.popAutoInsertedClosing=function(){L.autoInsertedLineEnd=L.autoInsertedLineEnd.substr(1),L.autoInsertedBrackets--},R.clearMaybeInsertedClosing=function(){L&&(L.maybeInsertedBrackets=0,L.maybeInsertedRow=-1)},D.inherits(R,B),b.CstyleBehaviour=R})),ace.define("ace/unicode",["require","exports","module"],(function(n,b,A){"use strict";for(var L=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],R=0,D=[],B=0;B2?L%X!=X-1:L%X==0})}else{if(!this.blockComment)return!1;var tt=this.blockComment.start,ot=this.blockComment.end,nt=new RegExp("^(\\s*)(?:"+$.escapeRegExp(tt)+")"),it=new RegExp("(?:"+$.escapeRegExp(ot)+")\\s*$"),comment=function(n,b){testRemove(n,b)||D&&!/\S/.test(n)||(R.insertInLine({row:b,column:n.length},ot),R.insertInLine({row:b,column:E},tt))},uncomment=function(n,b){var A;(A=n.match(it))&&R.removeInLine(b,n.length-A[0].length,n.length),(A=n.match(nt))&&R.removeInLine(b,A[1].length,A[0].length)},testRemove=function(n,A){if(nt.test(n))return!0;for(var L=b.getTokens(A),R=0;Rn.length&&(rt=n.length)})),E==1/0&&(E=rt,D=!1,B=!1),V&&E%X!=0&&(E=Math.floor(E/X)*X),iter(B?uncomment:comment)},this.toggleBlockComment=function(n,b,A,L){var R=this.blockComment;if(R){!R.start&&R[0]&&(R=R[0]);var D,B,E=(nt=new V(b,L.row,L.column)).getCurrentToken(),X=(b.selection,b.selection.toOrientedRange());if(E&&/comment/.test(E.type)){for(var $,Q;E&&/comment/.test(E.type);){if(-1!=(it=E.value.indexOf(R.start))){var tt=nt.getCurrentTokenRow(),ot=nt.getCurrentTokenColumn()+it;$=new K(tt,ot,tt,ot+R.start.length);break}E=nt.stepBackward()}var nt;for(E=(nt=new V(b,L.row,L.column)).getCurrentToken();E&&/comment/.test(E.type);){var it;if(-1!=(it=E.value.indexOf(R.end))){tt=nt.getCurrentTokenRow(),ot=nt.getCurrentTokenColumn()+it;Q=new K(tt,ot,tt,ot+R.end.length);break}E=nt.stepForward()}Q&&b.remove(Q),$&&(b.remove($),D=$.start.row,B=-R.start.length)}else B=R.start.length,D=A.start.row,b.insert(A.end,R.end),b.insert(A.start,R.start);X.start.row==D&&(X.start.column+=B),X.end.row==D&&(X.end.column+=B),b.selection.fromOrientedRange(X)}},this.getNextLineIndent=function(n,b,A){return this.$getIndent(b)},this.checkOutdent=function(n,b,A){return!1},this.autoOutdent=function(n,b,A){},this.$getIndent=function(n){return n.match(/^\s*/)[0]},this.createWorker=function(n){return null},this.createModeDelegates=function(n){for(var b in this.$embeds=[],this.$modes={},n)if(n[b]){var A=n[b],L=A.prototype.$id,D=R.$modes[L];D||(R.$modes[L]=D=new A),R.$modes[b]||(R.$modes[b]=D),this.$embeds.push(b),this.$modes[b]=D}var B=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],_loop_1=function(n){var b,A,L;L=(b=E)[A=B[n]],b[B[n]]=function(){return this.$delegator(A,arguments,L)}},E=this;for(b=0;bthis.row)){var b=function $getTransformedPoint(n,b,A){var L="insert"==n.action,R=(L?1:-1)*(n.end.row-n.start.row),D=(L?1:-1)*(n.end.column-n.start.column),B=n.start,E=L?B:n.end;if($pointsInOrder(b,B,A))return{row:b.row,column:b.column};if($pointsInOrder(E,b,!A))return{row:b.row+R,column:b.column+(b.row==E.row?D:0)};return{row:B.row,column:B.column}}(n,{row:this.row,column:this.column},this.$insertRight);this.setPosition(b.row,b.column,!0)}},Anchor.prototype.setPosition=function(n,b,A){var L;if(L=A?{row:n,column:b}:this.$clipPositionToDocument(n,b),this.row!=L.row||this.column!=L.column){var R={row:this.row,column:this.column};this.row=L.row,this.column=L.column,this._signal("change",{old:R,value:L})}},Anchor.prototype.detach=function(){this.document.off("change",this.$onChange)},Anchor.prototype.attach=function(n){this.document=n||this.document,this.document.on("change",this.$onChange)},Anchor.prototype.$clipPositionToDocument=function(n,b){var A={};return n>=this.document.getLength()?(A.row=Math.max(0,this.document.getLength()-1),A.column=this.document.getLine(A.row).length):n<0?(A.row=0,A.column=0):(A.row=n,A.column=Math.min(this.document.getLine(A.row).length,Math.max(0,b))),b<0&&(A.column=0),A},Anchor}();function $pointsInOrder(n,b,A){var L=A?n.column<=b.column:n.column=A&&(n=A-1,b=void 0);var L=this.getLine(n);return null==b&&(b=L.length),{row:n,column:b=Math.min(Math.max(b,0),L.length)}},Document.prototype.clonePos=function(n){return{row:n.row,column:n.column}},Document.prototype.pos=function(n,b){return{row:n,column:b}},Document.prototype.$clipPosition=function(n){var b=this.getLength();return n.row>=b?(n.row=Math.max(0,b-1),n.column=this.getLine(b-1).length):(n.row=Math.max(0,n.row),n.column=Math.min(Math.max(n.column,0),this.getLine(n.row).length)),n},Document.prototype.insertFullLines=function(n,b){var A=0;(n=Math.min(Math.max(n,0),this.getLength()))0,L=b=0&&this.applyDelta({start:this.pos(n,this.getLine(n).length),end:this.pos(n+1,0),action:"remove",lines:["",""]})},Document.prototype.replace=function(n,b){return n instanceof B||(n=B.fromPoints(n.start,n.end)),0===b.length&&n.isEmpty()?n.start:b==this.getTextRange(n)?n.end:(this.remove(n),b?this.insert(n.start,b):n.start)},Document.prototype.applyDeltas=function(n){for(var b=0;b=0;b--)this.revertDelta(n[b])},Document.prototype.applyDelta=function(n,b){var A="insert"==n.action;(A?n.lines.length<=1&&!n.lines[0]:!B.comparePoints(n.start,n.end))||(A&&n.lines.length>2e4?this.$splitAndapplyLargeDelta(n,2e4):(R(this.$lines,n,b),this._signal("change",n)))},Document.prototype.$safeApplyDelta=function(n){var b=this.$lines.length;("remove"==n.action&&n.start.row20){A.running=setTimeout(A.$worker,20);break}}A.currentLine=b,-1==L&&(L=b),D<=L&&A.fireUpdateEvent(D,L)}}}return BackgroundTokenizer.prototype.setTokenizer=function(n){this.tokenizer=n,this.lines=[],this.states=[],this.start(0)},BackgroundTokenizer.prototype.setDocument=function(n){this.doc=n,this.lines=[],this.states=[],this.stop()},BackgroundTokenizer.prototype.fireUpdateEvent=function(n,b){var A={first:n,last:b};this._signal("update",{data:A})},BackgroundTokenizer.prototype.start=function(n){this.currentLine=Math.min(n||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},BackgroundTokenizer.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},BackgroundTokenizer.prototype.$updateOnChange=function(n){var b=n.start.row,A=n.end.row-b;if(0===A)this.lines[b]=null;else if("remove"==n.action)this.lines.splice(b,A+1,null),this.states.splice(b,A+1,null);else{var L=Array(A+1);L.unshift(b,1),this.lines.splice.apply(this.lines,L),this.states.splice.apply(this.states,L)}this.currentLine=Math.min(b,this.currentLine,this.doc.getLength()),this.stop()},BackgroundTokenizer.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},BackgroundTokenizer.prototype.getTokens=function(n){return this.lines[n]||this.$tokenizeRow(n)},BackgroundTokenizer.prototype.getState=function(n){return this.currentLine==n&&this.$tokenizeRow(n),this.states[n]||"start"},BackgroundTokenizer.prototype.$tokenizeRow=function(n){var b=this.doc.getLine(n),A=this.states[n-1],L=this.tokenizer.getLineTokens(b,A,n);return this.states[n]+""!=L.state+""?(this.states[n]=L.state,this.lines[n+1]=null,this.currentLine>n+1&&(this.currentLine=n+1)):this.currentLine==n&&(this.currentLine=n+1),this.lines[n]=L.tokens},BackgroundTokenizer.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},BackgroundTokenizer}();L.implement(D.prototype,R),b.BackgroundTokenizer=D})),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],(function(n,b,A){"use strict";var L=n("./lib/lang"),R=n("./range").Range,D=function(){function SearchHighlight(n,b,A){void 0===A&&(A="text"),this.setRegexp(n),this.clazz=b,this.type=A}return SearchHighlight.prototype.setRegexp=function(n){this.regExp+""!=n+""&&(this.regExp=n,this.cache=[])},SearchHighlight.prototype.update=function(n,b,A,D){if(this.regExp)for(var B=D.firstRow,E=D.lastRow,X={},$=B;$<=E;$++){var V=this.cache[$];null==V&&((V=L.getMatchOffsets(A.getLine($),this.regExp)).length>this.MAX_RANGES&&(V=V.slice(0,this.MAX_RANGES)),V=V.map((function(n){return new R($,n.offset,$,n.offset+n.length)})),this.cache[$]=V.length?V:"");for(var K=V.length;K--;){var Q=V[K].toScreenRange(A),tt=Q.toString();X[tt]||(X[tt]=!0,b.drawSingleLineMarker(n,Q,this.clazz,D))}}},SearchHighlight}();D.prototype.MAX_RANGES=500,b.SearchHighlight=D})),ace.define("ace/undomanager",["require","exports","module","ace/range"],(function(n,b,A){"use strict";var L=function(){function UndoManager(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return UndoManager.prototype.addSession=function(n){this.$session=n},UndoManager.prototype.add=function(n,b,A){if(!this.$fromUndo&&n!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),!1===b||!this.lastDeltas){this.lastDeltas=[];var L=this.$undoStack.length;L>this.$undoDepth-1&&this.$undoStack.splice(0,L-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),n.id=this.$rev=++this.$maxRev}"remove"!=n.action&&"insert"!=n.action||(this.$lastDelta=n),this.lastDeltas.push(n)}},UndoManager.prototype.addSelection=function(n,b){this.selections.push({value:n,rev:b||this.$rev})},UndoManager.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},UndoManager.prototype.markIgnored=function(n,b){null==b&&(b=this.$rev+1);for(var A=this.$undoStack,L=A.length;L--;){var R=A[L][0];if(R.id<=n)break;R.id0},UndoManager.prototype.canRedo=function(){return this.$redoStack.length>0},UndoManager.prototype.bookmark=function(n){null==n&&(n=this.$rev),this.mark=n},UndoManager.prototype.isAtBookmark=function(){return this.$rev===this.mark},UndoManager.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},UndoManager.prototype.fromJSON=function(n){this.reset(),this.$undoStack=n.$undoStack,this.$redoStack=n.$redoStack},UndoManager.prototype.$prettyPrint=function(n){return n?stringifyDelta(n):stringifyDelta(this.$undoStack)+"\n---\n"+stringifyDelta(this.$redoStack)},UndoManager}();L.prototype.hasUndo=L.prototype.canUndo,L.prototype.hasRedo=L.prototype.canRedo,L.prototype.isClean=L.prototype.isAtBookmark,L.prototype.markClean=L.prototype.bookmark;var R=n("./range").Range,D=R.comparePoints;R.comparePoints;function clonePos(n){return{row:n.row,column:n.column}}function stringifyDelta(n){if(n=n||this,Array.isArray(n))return n.map(stringifyDelta).join("\n");var b="";return n.action?(b="insert"==n.action?"+":"-",b+="["+n.lines+"]"):n.value&&(b=Array.isArray(n.value)?n.value.map(stringifyRange).join("\n"):stringifyRange(n.value)),n.start&&(b+=stringifyRange(n)),(n.id||n.rev)&&(b+="\t("+(n.id||n.rev)+")"),b}function stringifyRange(n){return n.start.row+":"+n.start.column+"=>"+n.end.row+":"+n.end.column}function swap(n,b){var A="insert"==n.action,L="insert"==b.action;if(A&&L)if(D(b.start,n.end)>=0)shift(b,n,-1);else{if(!(D(b.start,n.start)<=0))return null;shift(n,b,1)}else if(A&&!L)if(D(b.start,n.end)>=0)shift(b,n,-1);else{if(!(D(b.end,n.start)<=0))return null;shift(n,b,-1)}else if(!A&&L)if(D(b.start,n.start)>=0)shift(b,n,1);else{if(!(D(b.start,n.start)<=0))return null;shift(n,b,1)}else if(!A&&!L)if(D(b.start,n.start)>=0)shift(b,n,1);else{if(!(D(b.end,n.start)<=0))return null;shift(n,b,-1)}return[b,n]}function swapGroups(n,b){for(var A=n.length;A--;)for(var L=0;L=0?shift(n,b,-1):(D(n.start,b.start)<=0||shift(n,R.fromPoints(b.start,n.start),-1),shift(b,n,1));else if(!A&&L)D(b.start,n.end)>=0?shift(b,n,-1):(D(b.start,n.start)<=0||shift(b,R.fromPoints(n.start,b.start),-1),shift(n,b,1));else if(!A&&!L)if(D(b.start,n.end)>=0)shift(b,n,-1);else{var B,E;if(!(D(b.end,n.start)<=0))return D(n.start,b.start)<0&&(B=n,n=splitDelta(n,b.start)),D(n.end,b.end)>0&&(E=splitDelta(n,b.end)),shiftPos(b.end,n.start,n.end,-1),E&&!B&&(n.lines=E.lines,n.start=E.start,n.end=E.end,E=n),[b,B,E].filter(Boolean);shift(n,b,-1)}return[b,n]}function shift(n,b,A){shiftPos(n.start,b.start,b.end,A),shiftPos(n.end,b.start,b.end,A)}function shiftPos(n,b,A,L){n.row==(1==L?b:A).row&&(n.column+=L*(A.column-b.column)),n.row+=L*(A.row-b.row)}function splitDelta(n,b){var A=n.lines,L=n.end;n.end=clonePos(b);var R=n.end.row-n.start.row,D=A.splice(R,A.length),B=R?b.column:b.column-n.start.column;return A.push(D[0].substring(0,B)),D[0]=D[0].substr(B),{start:clonePos(b),end:L,lines:D,action:n.action}}function moveDeltasByOne(n,b){b=function cloneDelta(n){return{start:clonePos(n.start),end:clonePos(n.end),action:n.action,lines:n.lines.slice()}}(b);for(var A=n.length;A--;){for(var L=n[A],R=0;Rthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(n),this.folds.sort((function(n,b){return-n.range.compareEnd(b.start.row,b.start.column)})),this.range.compareEnd(n.start.row,n.start.column)>0?(this.end.row=n.end.row,this.end.column=n.end.column):this.range.compareStart(n.end.row,n.end.column)<0&&(this.start.row=n.start.row,this.start.column=n.start.column)}else if(n.start.row==this.end.row)this.folds.push(n),this.end.row=n.end.row,this.end.column=n.end.column;else{if(n.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(n),this.start.row=n.start.row,this.start.column=n.start.column}n.foldLine=this},FoldLine.prototype.containsRow=function(n){return n>=this.start.row&&n<=this.end.row},FoldLine.prototype.walk=function(n,b,A){var L,R,D=0,B=this.folds,E=!0;null==b&&(b=this.end.row,A=this.end.column);for(var X=0;X0)){var X=L(n,B.start);return 0===E?b&&0!==X?-D-2:D:X>0||0===X&&!b?D:-D-1}}return-D-1},RangeList.prototype.add=function(n){var b=!n.isEmpty(),A=this.pointIndex(n.start,b);A<0&&(A=-A-1);var L=this.pointIndex(n.end,b,A);return L<0?L=-L-1:L++,this.ranges.splice(A,L-A,n)},RangeList.prototype.addList=function(n){for(var b=[],A=n.length;A--;)b.push.apply(b,this.add(n[A]));return b},RangeList.prototype.substractPoint=function(n){var b=this.pointIndex(n);if(b>=0)return this.ranges.splice(b,1)},RangeList.prototype.merge=function(){for(var n,b=[],A=this.ranges,R=(A=A.sort((function(n,b){return L(n.start,b.start)})))[0],D=1;D=0},RangeList.prototype.containsPoint=function(n){return this.pointIndex(n)>=0},RangeList.prototype.rangeAtPoint=function(n){var b=this.pointIndex(n);if(b>=0)return this.ranges[b]},RangeList.prototype.clipRows=function(n,b){var A=this.ranges;if(A[0].start.row>b||A[A.length-1].start.row=L)break}if("insert"==n.action)for(var X=R-L,$=-b.column+A.column;BL)break;if(V.start.row==L&&V.start.column>=b.column&&(V.start.column==b.column&&this.$bias<=0||(V.start.column+=$,V.start.row+=X)),V.end.row==L&&V.end.column>=b.column){if(V.end.column==b.column&&this.$bias<0)continue;V.end.column==b.column&&$>0&&BV.start.column&&V.end.column==D[B+1].start.column&&(V.end.column-=$),V.end.column+=$,V.end.row+=X}}else for(X=L-R,$=b.column-A.column;BR)break;V.end.rowb.column)&&(V.end.column=b.column,V.end.row=b.row):(V.end.column+=$,V.end.row+=X):V.end.row>R&&(V.end.row+=X),V.start.rowb.column)&&(V.start.column=b.column,V.start.row=b.row):(V.start.column+=$,V.start.row+=X):V.start.row>R&&(V.start.row+=X)}if(0!=X&&B=n)return R;if(R.end.row>n)return null}return null},this.getNextFoldLine=function(n,b){var A=this.$foldData,L=0;for(b&&(L=A.indexOf(b)),-1==L&&(L=0);L=n)return R}return null},this.getFoldedRowCount=function(n,b){for(var A=this.$foldData,L=b-n+1,R=0;R=b){E=n?L-=b-E:L=0);break}B>=n&&(L-=E>=n?B-E:B-n+1)}return L},this.$addFoldLine=function(n){return this.$foldData.push(n),this.$foldData.sort((function(n,b){return n.start.row-b.start.row})),n},this.addFold=function(n,b){var A,L=this.$foldData,B=!1;n instanceof D?A=n:(A=new D(b,n)).collapseChildren=b.collapseChildren,this.$clipRangeToDocument(A.range);var E=A.start.row,X=A.start.column,$=A.end.row,V=A.end.column,K=this.getFoldAt(E,X,1),Q=this.getFoldAt($,V,-1);if(K&&Q==K)return K.addSubFold(A);K&&!K.range.isStart(E,X)&&this.removeFold(K),Q&&!Q.range.isEnd($,V)&&this.removeFold(Q);var tt=this.getFoldsInRange(A.range);tt.length>0&&(this.removeFolds(tt),A.collapseChildren||tt.forEach((function(n){A.addSubFold(n)})));for(var ot=0;ot0&&this.foldAll(n.start.row+1,n.end.row,n.collapseChildren-1),n.subFolds=[]},this.expandFolds=function(n){n.forEach((function(n){this.expandFold(n)}),this)},this.unfold=function(n,b){var A,R;if(null==n)A=new L(0,0,this.getLength(),0),null==b&&(b=!0);else if("number"==typeof n)A=new L(n,0,n,this.getLine(n).length);else if("row"in n)A=L.fromPoints(n,n);else{if(Array.isArray(n))return R=[],n.forEach((function(n){R=R.concat(this.unfold(n))}),this),R;A=n}for(var D=R=this.getFoldsInRangeList(A);1==R.length&&L.comparePoints(R[0].start,A.start)<0&&L.comparePoints(R[0].end,A.end)>0;)this.expandFolds(R),R=this.getFoldsInRangeList(A);if(0!=b?this.removeFolds(R):this.expandFolds(R),D.length)return D},this.isRowFolded=function(n,b){return!!this.getFoldLine(n,b)},this.getRowFoldEnd=function(n,b){var A=this.getFoldLine(n,b);return A?A.end.row:n},this.getRowFoldStart=function(n,b){var A=this.getFoldLine(n,b);return A?A.start.row:n},this.getFoldDisplayLine=function(n,b,A,L,R){null==L&&(L=n.start.row),null==R&&(R=0),null==b&&(b=n.end.row),null==A&&(A=this.getLine(b).length);var D=this.doc,B="";return n.walk((function(n,b,A,E){if(!(bK)break}while(D&&X.test(D.type));D=R.stepBackward()}else D=R.getCurrentToken();return $.end.row=R.getCurrentTokenRow(),$.end.column=R.getCurrentTokenColumn(),$}},this.foldAll=function(n,b,A,L){null==A&&(A=1e5);var R=this.foldWidgets;if(R){b=b||this.getLength();for(var D=n=n||0;D=n&&(D=B.end.row,B.collapseChildren=A,this.addFold("...",B))}}},this.foldToLevel=function(n){for(this.foldAll();n-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var n=this;this.foldAll(null,null,null,(function(b){for(var A=n.getTokens(b),L=0;L=0;){var D=A[R];if(null==D&&(D=A[R]=this.getFoldWidget(R)),"start"==D){var B=this.getFoldWidgetRange(R);if(L||(L=B),B&&B.end.row>=n)break}R--}return{range:-1!==R&&B,firstRange:L}},this.onFoldWidgetClick=function(n,b){b instanceof E&&(b=b.domEvent);var A={children:b.shiftKey,all:b.ctrlKey||b.metaKey,siblings:b.altKey};if(!this.$toggleFoldWidget(n,A)){var L=b.target||b.srcElement;L&&/ace_fold-widget/.test(L.className)&&(L.className+=" ace_invalid")}},this.$toggleFoldWidget=function(n,b){if(this.getFoldWidget){var A=this.getFoldWidget(n),L=this.getLine(n),R="end"===A?-1:1,D=this.getFoldAt(n,-1===R?0:L.length,R);if(D)return b.children||b.all?this.removeFold(D):this.expandFold(D),D;var B=this.getFoldWidgetRange(n,!0);if(B&&!B.isMultiLine()&&(D=this.getFoldAt(B.start.row,B.start.column,1))&&B.isEqual(D.range))return this.removeFold(D),D;if(b.siblings){var E=this.getParentFoldRangeData(n);if(E.range)var X=E.range.start.row+1,$=E.range.end.row;this.foldAll(X,$,b.all?1e4:0)}else b.children?($=B?B.end.row:this.getLength(),this.foldAll(n+1,$,b.all?1e4:0)):B&&(b.all&&(B.collapseChildren=1e4),this.addFold("...",B));return B}},this.toggleFoldWidget=function(n){var b=this.selection.getCursor().row;b=this.getRowFoldStart(b);var A=this.$toggleFoldWidget(b,{});if(!A){var L=this.getParentFoldRangeData(b,!0);if(A=L.range||L.firstRange){b=A.start.row;var R=this.getFoldAt(b,this.getLine(b).length,1);R?this.removeFold(R):this.addFold("...",A)}}},this.updateFoldWidgets=function(n){var b=n.start.row,A=n.end.row-b;if(0===A)this.foldWidgets[b]=null;else if("remove"==n.action)this.foldWidgets.splice(b,A+1,null);else{var L=Array(A+1);L.unshift(b,1),this.foldWidgets.splice.apply(this.foldWidgets,L)}},this.tokenizerUpdateFoldWidgets=function(n){var b=n.data;b.first!=b.last&&this.foldWidgets.length>b.first&&this.foldWidgets.splice(b.first,this.foldWidgets.length)}}})),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],(function(n,b,A){"use strict";var L=n("../token_iterator").TokenIterator,R=n("../range").Range;b.BracketMatch=function BracketMatch(){this.findMatchingBracket=function(n,b){if(0==n.column)return null;var A=b||this.getLine(n.row).charAt(n.column-1);if(""==A)return null;var L=A.match(/([\(\[\{])|([\)\]\}])/);return L?L[1]?this.$findClosingBracket(L[1],n):this.$findOpeningBracket(L[2],n):null},this.getBracketRange=function(n){var b,A=this.getLine(n.row),L=!0,D=A.charAt(n.column-1),B=D&&D.match(/([\(\[\{])|([\)\]\}])/);if(B||(D=A.charAt(n.column),n={row:n.row,column:n.column+1},B=D&&D.match(/([\(\[\{])|([\)\]\}])/),L=!1),!B)return null;if(B[1]){if(!(E=this.$findClosingBracket(B[1],n)))return null;b=R.fromPoints(n,E),L||(b.end.column++,b.start.column--),b.cursor=b.end}else{var E;if(!(E=this.$findOpeningBracket(B[2],n)))return null;b=R.fromPoints(E,n),L||(b.start.column++,b.end.column--),b.cursor=b.start}return b},this.getMatchingBracketRanges=function(n,b){var A=this.getLine(n.row),L=/([\(\[\{])|([\)\]\}])/,D=!b&&A.charAt(n.column-1),B=D&&D.match(L);if(B||(D=(void 0===b||b)&&A.charAt(n.column),n={row:n.row,column:n.column+1},B=D&&D.match(L)),!B)return null;var E=new R(n.row,n.column-1,n.row,n.column),X=B[1]?this.$findClosingBracket(B[1],n):this.$findOpeningBracket(B[2],n);return X?[E,new R(X.row,X.column,X.row,X.column+1)]:[E]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(n,b,A){var R=this.$brackets[n],D=1,B=new L(this,b.row,b.column),E=B.getCurrentToken();if(E||(E=B.stepForward()),E){A||(A=new RegExp("(\\.?"+E.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var X=b.column-B.getCurrentTokenColumn()-2,$=E.value;;){for(;X>=0;){var V=$.charAt(X);if(V==R){if(0==(D-=1))return{row:B.getCurrentTokenRow(),column:X+B.getCurrentTokenColumn()}}else V==n&&(D+=1);X-=1}do{E=B.stepBackward()}while(E&&!A.test(E.type));if(null==E)break;X=($=E.value).length-1}return null}},this.$findClosingBracket=function(n,b,A){var R=this.$brackets[n],D=1,B=new L(this,b.row,b.column),E=B.getCurrentToken();if(E||(E=B.stepForward()),E){A||(A=new RegExp("(\\.?"+E.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var X=b.column-B.getCurrentTokenColumn();;){for(var $=E.value,V=$.length;X"===b.value?L=!0:-1!==b.type.indexOf("tag-name")&&(A=!0))}while(b&&!A);return b},this.$findClosingTag=function(n,b){var A,L=b.value,D=b.value,B=0,E=new R(n.getCurrentTokenRow(),n.getCurrentTokenColumn(),n.getCurrentTokenRow(),n.getCurrentTokenColumn()+1);b=n.stepForward();var X=new R(n.getCurrentTokenRow(),n.getCurrentTokenColumn(),n.getCurrentTokenRow(),n.getCurrentTokenColumn()+b.value.length),$=!1;do{if(-1!==(A=b).type.indexOf("tag-close")&&!$){var V=new R(n.getCurrentTokenRow(),n.getCurrentTokenColumn(),n.getCurrentTokenRow(),n.getCurrentTokenColumn()+1);$=!0}if(b=n.stepForward()){if(">"===b.value&&!$){V=new R(n.getCurrentTokenRow(),n.getCurrentTokenColumn(),n.getCurrentTokenRow(),n.getCurrentTokenColumn()+1);$=!0}if(-1!==b.type.indexOf("tag-name")){if(D===(L=b.value))if("<"===A.value)B++;else if(""===A.value&&--B<0){n.stepBackward();var K=new R(n.getCurrentTokenRow(),n.getCurrentTokenColumn(),n.getCurrentTokenRow(),n.getCurrentTokenColumn()+2);b=n.stepForward();var Q=new R(n.getCurrentTokenRow(),n.getCurrentTokenColumn(),n.getCurrentTokenRow(),n.getCurrentTokenColumn()+b.value.length);if(-1===b.type.indexOf("tag-close")&&(b=n.stepForward()),!b||">"!==b.value)return;var tt=new R(n.getCurrentTokenRow(),n.getCurrentTokenColumn(),n.getCurrentTokenRow(),n.getCurrentTokenColumn()+1)}}else if(D===L&&"/>"===b.value&&--B<0)tt=Q=K=new R(n.getCurrentTokenRow(),n.getCurrentTokenColumn(),n.getCurrentTokenRow(),n.getCurrentTokenColumn()+2),V=new R(X.end.row,X.end.column,X.end.row,X.end.column+1)}}while(b&&B>=0);if(E&&V&&K&&tt&&X&&Q)return{openTag:new R(E.start.row,E.start.column,V.end.row,V.end.column),closeTag:new R(K.start.row,K.start.column,tt.end.row,tt.end.column),openTagName:X,closeTagName:Q}},this.$findOpeningTag=function(n,b){var A=n.getCurrentToken(),L=b.value,D=0,B=n.getCurrentTokenRow(),E=n.getCurrentTokenColumn(),X=E+2,$=new R(B,E,B,X);n.stepForward();var V=new R(n.getCurrentTokenRow(),n.getCurrentTokenColumn(),n.getCurrentTokenRow(),n.getCurrentTokenColumn()+b.value.length);if(-1===b.type.indexOf("tag-close")&&(b=n.stepForward()),b&&">"===b.value){var K=new R(n.getCurrentTokenRow(),n.getCurrentTokenColumn(),n.getCurrentTokenRow(),n.getCurrentTokenColumn()+1);n.stepBackward(),n.stepBackward();do{if(b=A,B=n.getCurrentTokenRow(),X=(E=n.getCurrentTokenColumn())+b.value.length,A=n.stepBackward(),b)if(-1!==b.type.indexOf("tag-name")){if(L===b.value)if("<"===A.value){if(++D>0){var Q=new R(B,E,B,X),tt=new R(n.getCurrentTokenRow(),n.getCurrentTokenColumn(),n.getCurrentTokenRow(),n.getCurrentTokenColumn()+1);do{b=n.stepForward()}while(b&&">"!==b.value);var ot=new R(n.getCurrentTokenRow(),n.getCurrentTokenColumn(),n.getCurrentTokenRow(),n.getCurrentTokenColumn()+1)}}else""===A.value&&D--}else if("/>"===b.value){for(var nt=0,it=A;it;){if(-1!==it.type.indexOf("tag-name")&&it.value===L){D--;break}if("<"===it.value)break;it=n.stepBackward(),nt++}for(var rt=0;rtA&&(this.$docRowCache.splice(A,b),this.$screenRowCache.splice(A,b))},EditSession.prototype.$getRowCacheIndex=function(n,b){for(var A=0,L=n.length-1;A<=L;){var R=A+L>>1,D=n[R];if(b>D)A=R+1;else{if(!(b=b);D++);return(A=L[D])?(A.index=D,A.start=R-A.value.length,A):null},EditSession.prototype.setUndoManager=function(n){if(this.$undoManager=n,this.$informUndoManager&&this.$informUndoManager.cancel(),n){var b=this;n.addSession(this),this.$syncInformUndoManager=function(){b.$informUndoManager.cancel(),b.mergeUndoDeltas=!1},this.$informUndoManager=R.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},EditSession.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},EditSession.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},EditSession.prototype.getTabString=function(){return this.getUseSoftTabs()?R.stringRepeat(" ",this.getTabSize()):"\t"},EditSession.prototype.setUseSoftTabs=function(n){this.setOption("useSoftTabs",n)},EditSession.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},EditSession.prototype.setTabSize=function(n){this.setOption("tabSize",n)},EditSession.prototype.getTabSize=function(){return this.$tabSize},EditSession.prototype.isTabStop=function(n){return this.$useSoftTabs&&n.column%this.$tabSize==0},EditSession.prototype.setNavigateWithinSoftTabs=function(n){this.setOption("navigateWithinSoftTabs",n)},EditSession.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},EditSession.prototype.setOverwrite=function(n){this.setOption("overwrite",n)},EditSession.prototype.getOverwrite=function(){return this.$overwrite},EditSession.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},EditSession.prototype.addGutterDecoration=function(n,b){this.$decorations[n]||(this.$decorations[n]=""),this.$decorations[n]+=" "+b,this._signal("changeBreakpoint",{})},EditSession.prototype.removeGutterDecoration=function(n,b){this.$decorations[n]=(this.$decorations[n]||"").replace(" "+b,""),this._signal("changeBreakpoint",{})},EditSession.prototype.getBreakpoints=function(){return this.$breakpoints},EditSession.prototype.setBreakpoints=function(n){this.$breakpoints=[];for(var b=0;b0&&(L=!!A.charAt(b-1).match(this.tokenRe)),L||(L=!!A.charAt(b).match(this.tokenRe)),L)var R=this.tokenRe;else if(/^\s+$/.test(A.slice(b-1,b+1)))R=/\s/;else R=this.nonTokenRe;var D=b;if(D>0){do{D--}while(D>=0&&A.charAt(D).match(R));D++}for(var B=b;Bn&&(n=b.screenWidth)})),this.lineWidgetWidth=n},EditSession.prototype.$computeWidth=function(n){if(this.$modified||n){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var b=this.doc.getAllLines(),A=this.$rowLengthCache,L=0,R=0,D=this.$foldData[R],B=D?D.start.row:1/0,E=b.length,X=0;XB){if((X=D.end.row+1)>=E)break;B=(D=this.$foldData[R++])?D.start.row:1/0}null==A[X]&&(A[X]=this.$getStringScreenWidth(b[X])[0]),A[X]>L&&(L=A[X])}this.screenWidth=L}},EditSession.prototype.getLine=function(n){return this.doc.getLine(n)},EditSession.prototype.getLines=function(n,b){return this.doc.getLines(n,b)},EditSession.prototype.getLength=function(){return this.doc.getLength()},EditSession.prototype.getTextRange=function(n){return this.doc.getTextRange(n||this.selection.getRange())},EditSession.prototype.insert=function(n,b){return this.doc.insert(n,b)},EditSession.prototype.remove=function(n){return this.doc.remove(n)},EditSession.prototype.removeFullLines=function(n,b){return this.doc.removeFullLines(n,b)},EditSession.prototype.undoChanges=function(n,b){if(n.length){this.$fromUndo=!0;for(var A=n.length-1;-1!=A;A--){var L=n[A];"insert"==L.action||"remove"==L.action?this.doc.revertDelta(L):L.folds&&this.addFolds(L.folds)}!b&&this.$undoSelect&&(n.selectionBefore?this.selection.fromJSON(n.selectionBefore):this.selection.setRange(this.$getUndoSelection(n,!0))),this.$fromUndo=!1}},EditSession.prototype.redoChanges=function(n,b){if(n.length){this.$fromUndo=!0;for(var A=0;An.end.column&&(D.start.column+=$),D.end.row==n.end.row&&D.end.column>n.end.column&&(D.end.column+=$)),B&&D.start.row>=n.end.row&&(D.start.row+=B,D.end.row+=B)}if(D.end=this.insert(D.start,L),R.length){var E=n.start,X=D.start,$=(B=X.row-E.row,X.column-E.column);this.addFolds(R.map((function(n){return(n=n.clone()).start.row==E.row&&(n.start.column+=$),n.end.row==E.row&&(n.end.column+=$),n.start.row+=B,n.end.row+=B,n})))}return D},EditSession.prototype.indentRows=function(n,b,A){A=A.replace(/\t/g,this.getTabString());for(var L=n;L<=b;L++)this.doc.insertInLine({row:L,column:0},A)},EditSession.prototype.outdentRows=function(n){for(var b=n.collapseRows(),A=new V(0,0,0,0),L=this.getTabSize(),R=b.start.row;R<=b.end.row;++R){var D=this.getLine(R);A.start.row=R,A.end.row=R;for(var B=0;B0){var R;if((R=this.getRowFoldEnd(b+A))>this.doc.getLength()-1)return 0;L=R-b}else{n=this.$clipRowToDocument(n);L=(b=this.$clipRowToDocument(b))-n+1}var D=new V(n,0,b,Number.MAX_VALUE),B=this.getFoldsInRange(D).map((function(n){return(n=n.clone()).start.row+=L,n.end.row+=L,n})),E=0==A?this.doc.getLines(n,b):this.doc.removeFullLines(n,b);return this.doc.insertFullLines(n+L,E),B.length&&this.addFolds(B),L},EditSession.prototype.moveLinesUp=function(n,b){return this.$moveLines(n,b,-1)},EditSession.prototype.moveLinesDown=function(n,b){return this.$moveLines(n,b,1)},EditSession.prototype.duplicateLines=function(n,b){return this.$moveLines(n,b,0)},EditSession.prototype.$clipRowToDocument=function(n){return Math.max(0,Math.min(n,this.doc.getLength()-1))},EditSession.prototype.$clipColumnToRow=function(n,b){return b<0?0:Math.min(this.doc.getLine(n).length,b)},EditSession.prototype.$clipPositionToDocument=function(n,b){if(b=Math.max(0,b),n<0)n=0,b=0;else{var A=this.doc.getLength();n>=A?(n=A-1,b=this.doc.getLine(A-1).length):b=Math.min(this.doc.getLine(n).length,b)}return{row:n,column:b}},EditSession.prototype.$clipRangeToDocument=function(n){n.start.row<0?(n.start.row=0,n.start.column=0):n.start.column=this.$clipColumnToRow(n.start.row,n.start.column);var b=this.doc.getLength()-1;return n.end.row>b?(n.end.row=b,n.end.column=this.doc.getLine(b).length):n.end.column=this.$clipColumnToRow(n.end.row,n.end.column),n},EditSession.prototype.setUseWrapMode=function(n){if(n!=this.$useWrapMode){if(this.$useWrapMode=n,this.$modified=!0,this.$resetRowCache(0),n){var b=this.getLength();this.$wrapData=Array(b),this.$updateWrapData(0,b-1)}this._signal("changeWrapMode")}},EditSession.prototype.getUseWrapMode=function(){return this.$useWrapMode},EditSession.prototype.setWrapLimitRange=function(n,b){this.$wrapLimitRange.min===n&&this.$wrapLimitRange.max===b||(this.$wrapLimitRange={min:n,max:b},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},EditSession.prototype.adjustWrapLimit=function(n,b){var A=this.$wrapLimitRange;A.max<0&&(A={min:b,max:b});var L=this.$constrainWrapLimit(n,A.min,A.max);return L!=this.$wrapLimit&&L>1&&(this.$wrapLimit=L,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0)},EditSession.prototype.$constrainWrapLimit=function(n,b,A){return b&&(n=Math.max(b,n)),A&&(n=Math.min(A,n)),n},EditSession.prototype.getWrapLimit=function(){return this.$wrapLimit},EditSession.prototype.setWrapLimit=function(n){this.setWrapLimitRange(n,n)},EditSession.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},EditSession.prototype.$updateInternalDataOnChange=function(n){var b=this.$useWrapMode,A=n.action,L=n.start,R=n.end,D=L.row,B=R.row,E=B-D,X=null;if(this.$updating=!0,0!=E)if("remove"===A){this[b?"$wrapData":"$rowLengthCache"].splice(D,E);var $=this.$foldData;X=this.getFoldsInRange(n),this.removeFolds(X);var V=0;if(nt=this.getFoldLine(R.row)){nt.addRemoveChars(R.row,R.column,L.column-R.column),nt.shiftRow(-E);var K=this.getFoldLine(D);K&&K!==nt&&(K.merge(nt),nt=K),V=$.indexOf(nt)+1}for(;V<$.length;V++){(nt=$[V]).start.row>=R.row&&nt.shiftRow(-E)}B=D}else{var Q=Array(E);Q.unshift(D,0);var tt=b?this.$wrapData:this.$rowLengthCache;tt.splice.apply(tt,Q);$=this.$foldData,V=0;if(nt=this.getFoldLine(D)){var ot=nt.range.compareInside(L.row,L.column);0==ot?(nt=nt.split(L.row,L.column))&&(nt.shiftRow(E),nt.addRemoveChars(B,0,R.column-L.column)):-1==ot&&(nt.addRemoveChars(D,0,R.column-L.column),nt.shiftRow(E)),V=$.indexOf(nt)+1}for(;V<$.length;V++){var nt;(nt=$[V]).start.row>=D&&nt.shiftRow(E)}}else E=Math.abs(n.start.column-n.end.column),"remove"===A&&(X=this.getFoldsInRange(n),this.removeFolds(X),E=-E),(nt=this.getFoldLine(D))&&nt.addRemoveChars(D,L.column,E);return b&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,b?this.$updateWrapData(D,B):this.$updateRowLengthCache(D,B),X},EditSession.prototype.$updateRowLengthCache=function(n,b){this.$rowLengthCache[n]=null,this.$rowLengthCache[b]=null},EditSession.prototype.$updateWrapData=function(n,b){var A,L,R=this.doc.getAllLines(),D=this.getTabSize(),B=this.$wrapData,E=this.$wrapLimit,X=n;for(b=Math.min(b,R.length-1);X<=b;)(L=this.getFoldLine(X,L))?(A=[],L.walk(function(n,b,L,D){var B;if(null!=n){(B=this.$getDisplayTokens(n,A.length))[0]=st;for(var E=1;Eb-V;){var K=D+b-V;if(n[K-1]>=ut&&n[K]>=ut)addSplit(K);else if(n[K]!=st&&n[K]!=pt){for(var Q=Math.max(K-(b-(b>>2)),D-1);K>Q&&n[K]Q&&n[K]Q&&n[K]==lt;)K--}else for(;K>Q&&n[K]Q?addSplit(++K):(n[K=D+b]==rt&&K--,addSplit(K-V))}else{for(;K!=D-1&&n[K]!=st;K--);if(K>D){addSplit(K);continue}for(K=D+b;K39&&D<48||D>57&&D<64?L.push(lt):D>=4352&&isFullWidth(D)?L.push(it,rt):L.push(it)}return L},EditSession.prototype.$getStringScreenWidth=function(n,b,A){if(0==b)return[0,0];var L,R;for(null==b&&(b=1/0),A=A||0,R=0;R=4352&&isFullWidth(L)?A+=2:A+=1,!(A>b));R++);return[A,R]},EditSession.prototype.getRowLength=function(n){var b=1;return this.lineWidgets&&(b+=this.lineWidgets[n]&&this.lineWidgets[n].rowCount||0),this.$useWrapMode&&this.$wrapData[n]?this.$wrapData[n].length+b:b},EditSession.prototype.getRowLineCount=function(n){return this.$useWrapMode&&this.$wrapData[n]?this.$wrapData[n].length+1:1},EditSession.prototype.getRowWrapIndent=function(n){if(this.$useWrapMode){var b=this.screenToDocumentPosition(n,Number.MAX_VALUE),A=this.$wrapData[b.row];return A.length&&A[0]=0){E=$[V],D=this.$docRowCache[V];var Q=n>$[K-1]}else Q=!K;for(var tt=this.getLength()-1,ot=this.getNextFoldLine(D),nt=ot?ot.start.row:1/0;E<=n&&!(E+(X=this.getRowLength(D))>n||D>=tt);)E+=X,++D>nt&&(D=ot.end.row+1,nt=(ot=this.getNextFoldLine(D,ot))?ot.start.row:1/0),Q&&(this.$docRowCache.push(D),this.$screenRowCache.push(E));if(ot&&ot.start.row<=D)L=this.getFoldDisplayLine(ot),D=ot.start.row;else{if(E+X<=n||D>tt)return{row:tt,column:this.getLine(tt).length};L=this.getLine(D),ot=null}var it=0,rt=Math.floor(n-E);if(this.$useWrapMode){var st=this.$wrapData[D];st&&(R=st[rt],rt>0&&st.length&&(it=st.indent,B=st[rt-1]||st[st.length-1],L=L.substring(B)))}return void 0!==A&&this.$bidiHandler.isBidiRow(E+rt,D,rt)&&(b=this.$bidiHandler.offsetToCol(A)),B+=this.$getStringScreenWidth(L,b-it)[1],this.$useWrapMode&&B>=R&&(B=R-1),ot?ot.idxToPosition(B):{row:D,column:B}},EditSession.prototype.documentToScreenPosition=function(n,b){if(void 0===b)var A=this.$clipPositionToDocument(n.row,n.column);else A=this.$clipPositionToDocument(n,b);n=A.row,b=A.column;var L,R=0,D=null;(L=this.getFoldAt(n,b,1))&&(n=L.start.row,b=L.start.column);var B,E=0,X=this.$docRowCache,$=this.$getRowCacheIndex(X,n),V=X.length;if(V&&$>=0){E=X[$],R=this.$screenRowCache[$];var K=n>X[V-1]}else K=!V;for(var Q=this.getNextFoldLine(E),tt=Q?Q.start.row:1/0;E=tt){if((B=Q.end.row+1)>n)break;tt=(Q=this.getNextFoldLine(B,Q))?Q.start.row:1/0}else B=E+1;R+=this.getRowLength(E),E=B,K&&(this.$docRowCache.push(E),this.$screenRowCache.push(R))}var ot="";Q&&E>=tt?(ot=this.getFoldDisplayLine(Q,n,b),D=Q.start.row):(ot=this.getLine(n).substring(0,b),D=n);var nt=0;if(this.$useWrapMode){var it=this.$wrapData[D];if(it){for(var rt=0;ot.length>=it[rt];)R++,rt++;ot=ot.substring(it[rt-1]||0,ot.length),nt=rt>0?it.indent:0}}return this.lineWidgets&&this.lineWidgets[E]&&this.lineWidgets[E].rowsAbove&&(R+=this.lineWidgets[E].rowsAbove),{row:R,column:nt+this.$getStringScreenWidth(ot)[0]}},EditSession.prototype.documentToScreenColumn=function(n,b){return this.documentToScreenPosition(n,b).column},EditSession.prototype.documentToScreenRow=function(n,b){return this.documentToScreenPosition(n,b).row},EditSession.prototype.getScreenLength=function(){var n=0,b=null;if(this.$useWrapMode)for(var A=this.$wrapData.length,L=0,R=(E=0,(b=this.$foldData[E++])?b.start.row:1/0);LR&&(L=b.end.row+1,R=(b=this.$foldData[E++])?b.start.row:1/0)}else{n=this.getLength();for(var B=this.$foldData,E=0;EA);D++);return[L,D]})},EditSession.prototype.getPrecedingCharacter=function(){var n=this.selection.getCursor();return 0===n.column?0===n.row?"":this.doc.getNewLineCharacter():this.getLine(n.row)[n.column-1]},EditSession.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection.detach()},EditSession}();nt.$uid=0,nt.prototype.$modes=B.$modes,nt.prototype.getValue=nt.prototype.toString,nt.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},nt.prototype.$overwrite=!1,nt.prototype.$mode=null,nt.prototype.$modeId=null,nt.prototype.$scrollTop=0,nt.prototype.$scrollLeft=0,nt.prototype.$wrapLimit=80,nt.prototype.$useWrapMode=!1,nt.prototype.$wrapLimitRange={min:null,max:null},nt.prototype.lineWidgets=null,nt.prototype.isFullWidth=isFullWidth,L.implement(nt.prototype,E);var it=1,rt=2,st=3,pt=4,lt=9,ut=10,bt=11,Mt=12;function isFullWidth(n){return!(n<4352)&&(n>=4352&&n<=4447||n>=4515&&n<=4519||n>=4602&&n<=4607||n>=9001&&n<=9002||n>=11904&&n<=11929||n>=11931&&n<=12019||n>=12032&&n<=12245||n>=12272&&n<=12283||n>=12288&&n<=12350||n>=12353&&n<=12438||n>=12441&&n<=12543||n>=12549&&n<=12589||n>=12593&&n<=12686||n>=12688&&n<=12730||n>=12736&&n<=12771||n>=12784&&n<=12830||n>=12832&&n<=12871||n>=12880&&n<=13054||n>=13056&&n<=19903||n>=19968&&n<=42124||n>=42128&&n<=42182||n>=43360&&n<=43388||n>=44032&&n<=55203||n>=55216&&n<=55238||n>=55243&&n<=55291||n>=63744&&n<=64255||n>=65040&&n<=65049||n>=65072&&n<=65106||n>=65108&&n<=65126||n>=65128&&n<=65131||n>=65281&&n<=65376||n>=65504&&n<=65510)}n("./edit_session/folding").Folding.call(nt.prototype),n("./edit_session/bracket_match").BracketMatch.call(nt.prototype),B.defineOptions(nt.prototype,"session",{wrap:{set:function(n){if(n&&"off"!=n?"free"==n?n=!0:"printMargin"==n?n=-1:"string"==typeof n&&(n=parseInt(n,10)||!1):n=!1,this.$wrap!=n)if(this.$wrap=n,n){var b="number"==typeof n?n:null;this.setWrapLimitRange(b,b),this.setUseWrapMode(!0)}else this.setUseWrapMode(!1)},get:function(){return this.getUseWrapMode()?-1==this.$wrap?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(n){(n="auto"==n?"text"!=this.$mode.type:"text"!=n)!=this.$wrapAsCode&&(this.$wrapAsCode=n,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(n){this.$useWorker=n,this.$stopWorker(),n&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(n){(n=parseInt(n))>0&&this.$tabSize!==n&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=n,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(n){this.setFoldStyle(n)},handlesSet:!0},overwrite:{set:function(n){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(n){this.doc.setNewLineMode(n)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(n){this.setMode(n)},get:function(){return this.$modeId},handlesSet:!0}}),b.EditSession=nt})),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],(function(n,b,A){"use strict";var L=n("./lib/lang"),R=n("./lib/oop"),D=n("./range").Range,B=function(){function Search(){this.$options={}}return Search.prototype.set=function(n){return R.mixin(this.$options,n),this},Search.prototype.getOptions=function(){return L.copyObject(this.$options)},Search.prototype.setOptions=function(n){this.$options=n},Search.prototype.find=function(n){var b=this.$options,A=this.$matchIterator(n,b);if(!A)return!1;var L=null;return A.forEach((function(n,A,R,B){return L=new D(n,A,R,B),!(A==B&&b.start&&b.start.start&&0!=b.skipCurrent&&L.isEqual(b.start))||(L=null,!1)})),L},Search.prototype.findAll=function(n){var b=this.$options;if(!b.needle)return[];this.$assembleRegExp(b);var A=b.range,R=A?n.getLines(A.start.row,A.end.row):n.doc.getAllLines(),B=[],E=b.re;if(b.$isMultiLine){var X,$=E.length,V=R.length-$;t:for(var K=E.offset||0;K<=V;K++){for(var Q=0;Q<$;Q++)if(-1==R[K+Q].search(E[Q]))continue t;var tt=R[K],ot=R[K+$-1],nt=tt.length-tt.match(E[0])[0].length,it=ot.match(E[$-1])[0].length;X&&X.end.row===K&&X.end.column>nt||(B.push(X=new D(K,nt,K+$-1,it)),$>2&&(K=K+$-2))}}else for(var rt=0;rtut&&B[Q].end.row==bt;)Q--;for(B=B.slice(rt,Q+1),rt=0,Q=B.length;rt=$;A--)if(forEachInLine(A,Number.MAX_VALUE,n))return;if(0!=b.wrap)for(A=V,$=X.row;A>=$;A--)if(forEachInLine(A,Number.MAX_VALUE,n))return}};else forEach=function(n){var A=X.row;if(!forEachInLine(A,X.column,n)){for(A+=1;A<=V;A++)if(forEachInLine(A,0,n))return;if(0!=b.wrap)for(A=$,V=X.row;A<=V;A++)if(forEachInLine(A,0,n))return}};if(b.$isMultiLine)var K=A.length,forEachInLine=function(b,L,D){var B=R?b-K+1:b;if(!(B<0||B+K>n.getLength())){var E=n.getLine(B),X=E.search(A[0]);if(!(!R&&XL))return!!D(B,X,B+K-1,V)||void 0}}};else if(R)forEachInLine=function(b,R,D){var E,X=n.getLine(b),$=[],V=0;for(A.lastIndex=0;E=A.exec(X);){var K=E[0].length;if(V=E.index,!K){if(V>=X.length)break;A.lastIndex=V+=L.skipEmptyMatch(X,V,B)}if(E.index+K>R)break;$.push(E.index,K)}for(var Q=$.length-1;Q>=0;Q-=2){var tt=$[Q-1];if(D(b,tt,b,tt+(K=$[Q])))return!0}};else forEachInLine=function(b,R,D){var E,X,$=n.getLine(b);for(A.lastIndex=R;X=A.exec($);){var V=X[0].length;if(D(b,E=X.index,b,E+V))return!0;if(!V&&(A.lastIndex=E+=L.skipEmptyMatch($,E,B),E>=$.length))return!1}};return{forEach}},Search}();b.Search=B})),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],(function(n,b,A){"use strict";var L,R=this&&this.__extends||(L=function(n,b){return L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,b){n.__proto__=b}||function(n,b){for(var A in b)Object.prototype.hasOwnProperty.call(b,A)&&(n[A]=b[A])},L(n,b)},function(n,b){if("function"!=typeof b&&null!==b)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=n}L(n,b),n.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}),D=n("../lib/keys"),B=n("../lib/useragent"),E=D.KEY_MODS,X=function(){function MultiHashHandler(n,b){this.$init(n,b,!1)}return MultiHashHandler.prototype.$init=function(n,b,A){this.platform=b||(B.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(n),this.$singleCommand=A},MultiHashHandler.prototype.addCommand=function(n){this.commands[n.name]&&this.removeCommand(n),this.commands[n.name]=n,n.bindKey&&this._buildKeyHash(n)},MultiHashHandler.prototype.removeCommand=function(n,b){var A=n&&("string"==typeof n?n:n.name);n=this.commands[A],b||delete this.commands[A];var L=this.commandKeyBinding;for(var R in L){var D=L[R];if(D==n)delete L[R];else if(Array.isArray(D)){var B=D.indexOf(n);-1!=B&&(D.splice(B,1),1==D.length&&(L[R]=D[0]))}}},MultiHashHandler.prototype.bindKey=function(n,b,A){if("object"==typeof n&&n&&(null==A&&(A=n.position),n=n[this.platform]),n)return"function"==typeof b?this.addCommand({exec:b,bindKey:n,name:b.name||n}):void n.split("|").forEach((function(n){var L="";if(-1!=n.indexOf(" ")){var R=n.split(/\s+/);n=R.pop(),R.forEach((function(n){var b=this.parseKeys(n),A=E[b.hashId]+b.key;L+=(L?" ":"")+A,this._addCommandToBinding(L,"chainKeys")}),this),L+=" "}var D=this.parseKeys(n),B=E[D.hashId]+D.key;this._addCommandToBinding(L+B,b,A)}),this)},MultiHashHandler.prototype._addCommandToBinding=function(n,b,A){var L,R=this.commandKeyBinding;if(b)if(!R[n]||this.$singleCommand)R[n]=b;else{Array.isArray(R[n])?-1!=(L=R[n].indexOf(b))&&R[n].splice(L,1):R[n]=[R[n]],"number"!=typeof A&&(A=getPosition(b));var D=R[n];for(L=0;LA)break}D.splice(L,0,b)}else delete R[n]},MultiHashHandler.prototype.addCommands=function(n){n&&Object.keys(n).forEach((function(b){var A=n[b];if(A){if("string"==typeof A)return this.bindKey(A,b);"function"==typeof A&&(A={exec:A}),"object"==typeof A&&(A.name||(A.name=b),this.addCommand(A))}}),this)},MultiHashHandler.prototype.removeCommands=function(n){Object.keys(n).forEach((function(b){this.removeCommand(n[b])}),this)},MultiHashHandler.prototype.bindKeys=function(n){Object.keys(n).forEach((function(b){this.bindKey(b,n[b])}),this)},MultiHashHandler.prototype._buildKeyHash=function(n){this.bindKey(n.bindKey,n)},MultiHashHandler.prototype.parseKeys=function(n){var b=n.toLowerCase().split(/[\-\+]([\-\+])?/).filter((function(n){return n})),A=b.pop(),L=D[A];if(D.FUNCTION_KEYS[L])A=D.FUNCTION_KEYS[L].toLowerCase();else{if(!b.length)return{key:A,hashId:-1};if(1==b.length&&"shift"==b[0])return{key:A.toUpperCase(),hashId:-1}}for(var R=0,B=b.length;B--;){var E=D.KEY_MODS[b[B]];if(null==E)return"undefined"!=typeof console&&console.error("invalid modifier "+b[B]+" in "+n),!1;R|=E}return{key:A,hashId:R}},MultiHashHandler.prototype.findKeyCommand=function(n,b){var A=E[n]+b;return this.commandKeyBinding[A]},MultiHashHandler.prototype.handleKeyboard=function(n,b,A,L){if(!(L<0)){var R=E[b]+A,D=this.commandKeyBinding[R];return n.$keyChain&&(n.$keyChain+=" "+R,D=this.commandKeyBinding[n.$keyChain]||D),!D||"chainKeys"!=D&&"chainKeys"!=D[D.length-1]?(n.$keyChain&&(b&&4!=b||1!=A.length?(-1==b||L>0)&&(n.$keyChain=""):n.$keyChain=n.$keyChain.slice(0,-R.length-1)),{command:D}):(n.$keyChain=n.$keyChain||R,{command:"null"})}},MultiHashHandler.prototype.getStatusText=function(n,b){return b.$keyChain||""},MultiHashHandler}();function getPosition(n){return"object"==typeof n&&n.bindKey&&n.bindKey.position||(n.isDefault?-100:0)}var $=function(n){function HashHandler(b,A){var L=n.call(this,b,A)||this;return L.$singleCommand=!0,L}return R(HashHandler,n),HashHandler}(X);$.call=function(n,b,A){X.prototype.$init.call(n,b,A,!0)},X.call=function(n,b,A){X.prototype.$init.call(n,b,A,!1)},b.HashHandler=$,b.MultiHashHandler=X})),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],(function(n,b,A){"use strict";var L,R=this&&this.__extends||(L=function(n,b){return L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,b){n.__proto__=b}||function(n,b){for(var A in b)Object.prototype.hasOwnProperty.call(b,A)&&(n[A]=b[A])},L(n,b)},function(n,b){if("function"!=typeof b&&null!==b)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=n}L(n,b),n.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}),D=n("../lib/oop"),B=n("../keyboard/hash_handler").MultiHashHandler,E=n("../lib/event_emitter").EventEmitter,X=function(n){function CommandManager(b,A){var L=n.call(this,A,b)||this;return L.byName=L.commands,L.setDefaultHandler("exec",(function(n){return n.args?n.command.exec(n.editor,n.args,n.event,!1):n.command.exec(n.editor,{},n.event,!0)})),L}return R(CommandManager,n),CommandManager.prototype.exec=function(n,b,A){if(Array.isArray(n)){for(var L=n.length;L--;)if(this.exec(n[L],b,A))return!0;return!1}if("string"==typeof n&&(n=this.commands[n]),!this.canExecute(n,b))return!1;var R={editor:b,command:n,args:A};return R.returnValue=this._emit("exec",R),this._signal("afterExec",R),!1!==R.returnValue},CommandManager.prototype.canExecute=function(n,b){return"string"==typeof n&&(n=this.commands[n]),!!n&&(!(b&&b.$readOnly&&!n.readOnly)&&!(0!=this.$checkCommandState&&n.isAvailable&&!n.isAvailable(b)))},CommandManager.prototype.toggleRecording=function(n){if(!this.$inReplay)return n&&n._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(n){this.macro.push([n.command,n.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},CommandManager.prototype.replay=function(n){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(n);try{this.$inReplay=!0,this.macro.forEach((function(b){"string"==typeof b?this.exec(b,n):this.exec(b[0],n,b[1])}),this)}finally{this.$inReplay=!1}}},CommandManager.prototype.trimMacro=function(n){return n.map((function(n){return"string"!=typeof n[0]&&(n[0]=n[0].name),n[1]||(n=n[0]),n}))},CommandManager}(B);D.implement(X.prototype,E),b.CommandManager=X})),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],(function(n,b,A){"use strict";var L=n("../lib/lang"),R=n("../config"),D=n("../range").Range;function bindKey(n,b){return{win:n,mac:b}}b.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:bindKey("Ctrl-,","Command-,"),exec:function(n){R.loadModule("ace/ext/settings_menu",(function(b){b.init(n),n.showSettingsMenu()}))},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:bindKey("Alt-E","F4"),exec:function(n){R.loadModule("ace/ext/error_marker",(function(b){b.showErrorMarker(n,1)}))},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:bindKey("Alt-Shift-E","Shift-F4"),exec:function(n){R.loadModule("ace/ext/error_marker",(function(b){b.showErrorMarker(n,-1)}))},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:bindKey("Ctrl-A","Command-A"),exec:function(n){n.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:bindKey(null,"Ctrl-L"),exec:function(n){n.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:bindKey("Ctrl-L","Command-L"),exec:function(n,b){"number"!=typeof b||isNaN(b)||n.gotoLine(b),n.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:bindKey("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(n){n.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:bindKey("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(n){n.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:bindKey("F2","F2"),exec:function(n){n.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:bindKey("Alt-F2","Alt-F2"),exec:function(n){n.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:bindKey(null,"Ctrl-Command-Option-0"),exec:function(n){n.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:bindKey(null,"Ctrl-Command-Option-0"),exec:function(n){n.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:bindKey("Alt-0","Command-Option-0"),exec:function(n){n.session.foldAll(),n.session.unfold(n.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:bindKey("Alt-Shift-0","Command-Option-Shift-0"),exec:function(n){n.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:bindKey("Ctrl-K","Command-G"),exec:function(n){n.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:bindKey("Ctrl-Shift-K","Command-Shift-G"),exec:function(n){n.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:bindKey("Alt-K","Ctrl-G"),exec:function(n){n.selection.isEmpty()?n.selection.selectWord():n.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:bindKey("Alt-Shift-K","Ctrl-Shift-G"),exec:function(n){n.selection.isEmpty()?n.selection.selectWord():n.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:bindKey("Ctrl-F","Command-F"),exec:function(n){R.loadModule("ace/ext/searchbox",(function(b){b.Search(n)}))},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(n){n.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:bindKey("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(n){n.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:bindKey("Ctrl-Home","Command-Home|Command-Up"),exec:function(n){n.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:bindKey("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(n){n.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:bindKey("Up","Up|Ctrl-P"),exec:function(n,b){n.navigateUp(b.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:bindKey("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(n){n.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:bindKey("Ctrl-End","Command-End|Command-Down"),exec:function(n){n.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:bindKey("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(n){n.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:bindKey("Down","Down|Ctrl-N"),exec:function(n,b){n.navigateDown(b.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:bindKey("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(n){n.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:bindKey("Ctrl-Left","Option-Left"),exec:function(n){n.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:bindKey("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(n){n.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:bindKey("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(n){n.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:bindKey("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(n){n.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:bindKey("Left","Left|Ctrl-B"),exec:function(n,b){n.navigateLeft(b.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:bindKey("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(n){n.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:bindKey("Ctrl-Right","Option-Right"),exec:function(n){n.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:bindKey("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(n){n.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:bindKey("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(n){n.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:bindKey("Shift-Right","Shift-Right"),exec:function(n){n.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:bindKey("Right","Right|Ctrl-F"),exec:function(n,b){n.navigateRight(b.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(n){n.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:bindKey(null,"Option-PageDown"),exec:function(n){n.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:bindKey("PageDown","PageDown|Ctrl-V"),exec:function(n){n.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(n){n.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:bindKey(null,"Option-PageUp"),exec:function(n){n.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(n){n.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:bindKey("Ctrl-Up",null),exec:function(n){n.renderer.scrollBy(0,-2*n.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:bindKey("Ctrl-Down",null),exec:function(n){n.renderer.scrollBy(0,2*n.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(n){n.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(n){n.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:bindKey("Ctrl-Alt-E","Command-Option-E"),exec:function(n){n.commands.toggleRecording(n)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:bindKey("Ctrl-Shift-E","Command-Shift-E"),exec:function(n){n.commands.replay(n)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:bindKey("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(n){n.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:bindKey("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(n){n.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:bindKey("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(n){n.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:bindKey(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(n){},readOnly:!0},{name:"cut",description:"Cut",exec:function(n){var b=n.$copyWithEmptySelection&&n.selection.isEmpty()?n.selection.getLineRange():n.selection.getRange();n._emit("cut",b),b.isEmpty()||n.session.remove(b),n.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(n,b){n.$handlePaste(b)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:bindKey("Ctrl-D","Command-D"),exec:function(n){n.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:bindKey("Ctrl-Shift-D","Command-Shift-D"),exec:function(n){n.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:bindKey("Ctrl-Alt-S","Command-Alt-S"),exec:function(n){n.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:bindKey("Ctrl-/","Command-/"),exec:function(n){n.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:bindKey("Ctrl-Shift-/","Command-Shift-/"),exec:function(n){n.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:bindKey("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(n){n.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:bindKey("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(n){n.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:bindKey("Ctrl-H","Command-Option-F"),exec:function(n){R.loadModule("ace/ext/searchbox",(function(b){b.Search(n,!0)}))}},{name:"undo",description:"Undo",bindKey:bindKey("Ctrl-Z","Command-Z"),exec:function(n){n.undo()}},{name:"redo",description:"Redo",bindKey:bindKey("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(n){n.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:bindKey("Alt-Shift-Up","Command-Option-Up"),exec:function(n){n.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:bindKey("Alt-Up","Option-Up"),exec:function(n){n.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:bindKey("Alt-Shift-Down","Command-Option-Down"),exec:function(n){n.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:bindKey("Alt-Down","Option-Down"),exec:function(n){n.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:bindKey("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(n){n.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:bindKey("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(n){n.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:bindKey("Shift-Delete",null),exec:function(n){if(!n.selection.isEmpty())return!1;n.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:bindKey("Alt-Backspace","Command-Backspace"),exec:function(n){n.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:bindKey("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(n){n.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:bindKey("Ctrl-Shift-Backspace",null),exec:function(n){var b=n.selection.getRange();b.start.column=0,n.session.remove(b)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:bindKey("Ctrl-Shift-Delete",null),exec:function(n){var b=n.selection.getRange();b.end.column=Number.MAX_VALUE,n.session.remove(b)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:bindKey("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(n){n.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:bindKey("Ctrl-Delete","Alt-Delete"),exec:function(n){n.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:bindKey("Shift-Tab","Shift-Tab"),exec:function(n){n.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:bindKey("Tab","Tab"),exec:function(n){n.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:bindKey("Ctrl-[","Ctrl-["),exec:function(n){n.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:bindKey("Ctrl-]","Ctrl-]"),exec:function(n){n.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(n,b){n.insert(b)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(n,b){n.insert(L.stringRepeat(b.text||"",b.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:bindKey(null,"Ctrl-O"),exec:function(n){n.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:bindKey("Alt-Shift-X","Ctrl-T"),exec:function(n){n.transposeLetters()},multiSelectAction:function(n){n.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:bindKey("Ctrl-U","Ctrl-U"),exec:function(n){n.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:bindKey("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(n){n.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:bindKey(null,null),exec:function(n){n.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:bindKey("Ctrl-Shift-L","Command-Shift-L"),exec:function(n){var b=n.selection.getRange();b.start.column=b.end.column=0,b.end.row++,n.selection.setRange(b,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:bindKey("Ctrl+F3","F3"),exec:function(n){n.openLink()}},{name:"joinlines",description:"Join lines",bindKey:bindKey(null,null),exec:function(n){for(var b=n.selection.isBackwards(),A=b?n.selection.getSelectionLead():n.selection.getSelectionAnchor(),R=b?n.selection.getSelectionAnchor():n.selection.getSelectionLead(),B=n.session.doc.getLine(A.row).length,E=n.session.doc.getTextRange(n.selection.getRange()).replace(/\n\s*/," ").length,X=n.session.doc.getLine(A.row),$=A.row+1;$<=R.row+1;$++){var V=L.stringTrimLeft(L.stringTrimRight(n.session.doc.getLine($)));0!==V.length&&(V=" "+V),X+=V}R.row+10?(n.selection.moveCursorTo(A.row,A.column),n.selection.selectTo(A.row,A.column+E)):(B=n.session.doc.getLine(A.row).length>B?B+1:B,n.selection.moveCursorTo(A.row,B))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:bindKey(null,null),exec:function(n){var b=n.session.doc.getLength()-1,A=n.session.doc.getLine(b).length,L=n.selection.rangeList.ranges,R=[];L.length<1&&(L=[n.selection.getRange()]);for(var B=0;Bb[A].column&&A++,D.unshift(A,0),b.splice.apply(b,D),this.$updateRows()}}},LineWidgets.prototype.$updateRows=function(){var n=this.session.lineWidgets;if(n){var b=!0;n.forEach((function(n,A){if(n)for(b=!1,n.row=A;n.$oldWidget;)n.$oldWidget.row=A,n=n.$oldWidget})),b&&(this.session.lineWidgets=null)}},LineWidgets.prototype.$registerLineWidget=function(n){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var b=this.session.lineWidgets[n.row];return b&&(n.$oldWidget=b,b.el&&b.el.parentNode&&(b.el.parentNode.removeChild(b.el),b._inDocument=!1)),this.session.lineWidgets[n.row]=n,n},LineWidgets.prototype.addLineWidget=function(n){if(this.$registerLineWidget(n),n.session=this.session,!this.editor)return n;var b=this.editor.renderer;n.html&&!n.el&&(n.el=L.createElement("div"),n.el.innerHTML=n.html),n.text&&!n.el&&(n.el=L.createElement("div"),n.el.textContent=n.text),n.el&&(L.addCssClass(n.el,"ace_lineWidgetContainer"),n.className&&L.addCssClass(n.el,n.className),n.el.style.position="absolute",n.el.style.zIndex="5",b.container.appendChild(n.el),n._inDocument=!0,n.coverGutter||(n.el.style.zIndex="3"),null==n.pixelHeight&&(n.pixelHeight=n.el.offsetHeight)),null==n.rowCount&&(n.rowCount=n.pixelHeight/b.layerConfig.lineHeight);var A=this.session.getFoldAt(n.row,0);if(n.$fold=A,A){var R=this.session.lineWidgets;n.row!=A.end.row||R[A.start.row]?n.hidden=!0:R[A.start.row]=n}return this.session._emit("changeFold",{data:{start:{row:n.row}}}),this.$updateRows(),this.renderWidgets(null,b),this.onWidgetChanged(n),n},LineWidgets.prototype.removeLineWidget=function(n){if(n._inDocument=!1,n.session=null,n.el&&n.el.parentNode&&n.el.parentNode.removeChild(n.el),n.editor&&n.editor.destroy)try{n.editor.destroy()}catch(n){}if(this.session.lineWidgets){var b=this.session.lineWidgets[n.row];if(b==n)this.session.lineWidgets[n.row]=n.$oldWidget,n.$oldWidget&&this.onWidgetChanged(n.$oldWidget);else for(;b;){if(b.$oldWidget==n){b.$oldWidget=n.$oldWidget;break}b=b.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:n.row}}}),this.$updateRows()},LineWidgets.prototype.getWidgetsAtRow=function(n){for(var b=this.session.lineWidgets,A=b&&b[n],L=[];A;)L.push(A),A=A.$oldWidget;return L},LineWidgets.prototype.onWidgetChanged=function(n){this.session._changedWidgets.push(n),this.editor&&this.editor.renderer.updateFull()},LineWidgets.prototype.measureWidgets=function(n,b){var A=this.session._changedWidgets,L=b.layerConfig;if(A&&A.length){for(var R=1/0,D=0;D0&&!L[R];)R--;this.firstRow=A.firstRow,this.lastRow=A.lastRow,b.$cursorLayer.config=A;for(var B=R;B<=D;B++){var E=L[B];if(E&&E.el)if(E.hidden)E.el.style.top=-100-(E.pixelHeight||0)+"px";else{E._inDocument||(E._inDocument=!0,b.container.appendChild(E.el));var X=b.$cursorLayer.getPixelPosition({row:B,column:0},!0).top;E.coverLine||(X+=A.lineHeight*this.session.getRowLineCount(E.row)),E.el.style.top=X-A.offset+"px";var $=E.coverGutter?0:b.gutterWidth;E.fixedWidth||($-=b.scrollLeft),E.el.style.left=$+"px",E.fullWidth&&E.screenWidth&&(E.el.style.minWidth=A.width+2*A.padding+"px"),E.fixedWidth?E.el.style.right=b.scrollBar.getWidth()+"px":E.el.style.right=""}}}},LineWidgets}();b.LineWidgets=R})),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys","ace/mouse/default_gutter_handler"],(function(n,b,A){"use strict";var L=n("../lib/keys"),R=n("../mouse/default_gutter_handler").GutterTooltip,D=function(){function GutterKeyboardHandler(n){this.editor=n,this.gutterLayer=n.renderer.$gutterLayer,this.element=n.renderer.$gutter,this.lines=n.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=new R(this.editor)}return GutterKeyboardHandler.prototype.addListener=function(){this.element.addEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.addEventListener("focusout",this.$blurGutter.bind(this)),this.editor.on("mousewheel",this.$blurGutter.bind(this))},GutterKeyboardHandler.prototype.removeListener=function(){this.element.removeEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.removeEventListener("focusout",this.$blurGutter.bind(this)),this.editor.off("mousewheel",this.$blurGutter.bind(this))},GutterKeyboardHandler.prototype.$onGutterKeyDown=function(n){if(this.annotationTooltip.isOpen)return n.preventDefault(),void(n.keyCode===L.escape&&this.annotationTooltip.hideTooltip());if(n.target===this.element){if(n.keyCode!=L.enter)return;n.preventDefault();var b=this.editor.getCursorPosition().row;return this.editor.isRowVisible(b)||this.editor.scrollToLine(b,!0,!0),void setTimeout(function(){var n=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),b=this.$findNearestFoldWidget(n),A=this.$findNearestAnnotation(n);if(null!==b||null!==A)return null===b&&null!==A?(this.activeRowIndex=A,this.activeLane="annotation",void this.$focusAnnotation(this.activeRowIndex)):null!==b&&null===A?(this.activeRowIndex=b,this.activeLane="fold",void this.$focusFoldWidget(this.activeRowIndex)):Math.abs(A-n)0||n+b=0&&this.$isFoldWidgetVisible(n-b))return n-b;if(n+b<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(n+b))return n+b}return null},GutterKeyboardHandler.prototype.$findNearestAnnotation=function(n){if(this.$isAnnotationVisible(n))return n;for(var b=0;n-b>0||n+b=0&&this.$isAnnotationVisible(n-b))return n-b;if(n+b<=this.lines.getLength()-1&&this.$isAnnotationVisible(n+b))return n+b}return null},GutterKeyboardHandler.prototype.$focusFoldWidget=function(n){if(null!=n){var b=this.$getFoldWidget(n);b.classList.add(this.editor.renderer.keyboardFocusClassName),b.focus()}},GutterKeyboardHandler.prototype.$focusAnnotation=function(n){if(null!=n){var b=this.$getAnnotation(n);b.classList.add(this.editor.renderer.keyboardFocusClassName),b.focus()}},GutterKeyboardHandler.prototype.$blurFoldWidget=function(n){var b=this.$getFoldWidget(n);b.classList.remove(this.editor.renderer.keyboardFocusClassName),b.blur()},GutterKeyboardHandler.prototype.$blurAnnotation=function(n){var b=this.$getAnnotation(n);b.classList.remove(this.editor.renderer.keyboardFocusClassName),b.blur()},GutterKeyboardHandler.prototype.$moveFoldWidgetUp=function(){for(var n=this.activeRowIndex;n>0;)if(n--,this.$isFoldWidgetVisible(n))return this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=n,void this.$focusFoldWidget(this.activeRowIndex)},GutterKeyboardHandler.prototype.$moveFoldWidgetDown=function(){for(var n=this.activeRowIndex;n0;)if(n--,this.$isAnnotationVisible(n))return this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=n,void this.$focusAnnotation(this.activeRowIndex)},GutterKeyboardHandler.prototype.$moveAnnotationDown=function(){for(var n=this.activeRowIndex;n=n.length&&(n=void 0),{value:n&&n[L++],done:!n}}};throw new TypeError(b?"Object is not iterable.":"Symbol.iterator is not defined.")},R=n("./lib/oop"),D=n("./lib/dom"),B=n("./lib/lang"),E=n("./lib/useragent"),X=n("./keyboard/textinput").TextInput,$=n("./mouse/mouse_handler").MouseHandler,V=n("./mouse/fold_handler").FoldHandler,K=n("./keyboard/keybinding").KeyBinding,Q=n("./edit_session").EditSession,tt=n("./search").Search,ot=n("./range").Range,nt=n("./lib/event_emitter").EventEmitter,it=n("./commands/command_manager").CommandManager,rt=n("./commands/default_commands").commands,st=n("./config"),pt=n("./token_iterator").TokenIterator,lt=n("./line_widgets").LineWidgets,ut=n("./keyboard/gutter_handler").GutterKeyboardHandler,bt=n("./config").nls,Mt=n("./clipboard"),zt=n("./lib/keys"),Ot=function(){function Editor(n,b,A){this.session,this.$toDestroy=[];var L=n.getContainerElement();this.container=L,this.renderer=n,this.id="editor"+ ++Editor.$uid,this.commands=new it(E.isMac?"mac":"win",rt),"object"==typeof document&&(this.textInput=new X(n.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new $(this),new V(this)),this.keyBinding=new K(this),this.$search=(new tt).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=B.delayedCall(function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",(function(n,b){b._$emitInputEvent.schedule(31)})),this.setSession(b||A&&A.session||new Q("")),st.resetOptions(this),A&&this.setOptions(A),st._signal("editor",this)}return Editor.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=B.delayedCall(this.endOperation.bind(this,!0)),this.on("change",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.selectionChanged=!0}.bind(this),!0)},Editor.prototype.startOperation=function(n){if(this.curOp){if(!n||this.curOp.command)return;this.prevOp=this.curOp}n||(this.previousCommand=null,n={}),this.$opResetTimer.schedule(),this.curOp=this.session.curOp={command:n.command||{},args:n.args,scrollTop:this.renderer.scrollTop},this.curOp.selectionBefore=this.selection.toJSON()},Editor.prototype.endOperation=function(n){if(this.curOp&&this.session){if(n&&!1===n.returnValue||!this.session)return this.curOp=null;if(1==n&&this.curOp.command&&"mouse"==this.curOp.command.name)return;if(this._signal("beforeEndOperation"),!this.curOp)return;var b=this.curOp.command,A=b&&b.scrollIntoView;if(A){switch(A){case"center-animate":A="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var L=this.selection.getRange(),R=this.renderer.layerConfig;(L.start.row>=R.lastRow||L.end.row<=R.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==A&&this.renderer.animateScrolling(this.curOp.scrollTop)}var D=this.selection.toJSON();this.curOp.selectionAfter=D,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(D),this.prevOp=this.curOp,this.curOp=null}},Editor.prototype.$historyTracker=function(n){if(this.$mergeUndoDeltas){var b=this.prevOp,A=this.$mergeableCommands,L=b.command&&n.command.name==b.command.name;if("insertstring"==n.command.name){var R=n.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),L=L&&this.mergeNextCommand&&(!/\s/.test(R)||/\s/.test(b.args)),this.mergeNextCommand=!0}else L=L&&-1!==A.indexOf(n.command.name);"always"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(L=!1),L?this.session.mergeUndoDeltas=!0:-1!==A.indexOf(n.command.name)&&(this.sequenceStartTime=Date.now())}},Editor.prototype.setKeyboardHandler=function(n,b){if(n&&"string"==typeof n&&"ace"!=n){this.$keybindingId=n;var A=this;st.loadModule(["keybinding",n],(function(L){A.$keybindingId==n&&A.keyBinding.setKeyboardHandler(L&&L.handler),b&&b()}))}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(n),b&&b()},Editor.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},Editor.prototype.setSession=function(n){if(this.session!=n){this.curOp&&this.endOperation(),this.curOp={};var b=this.session;if(b){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var A=this.session.getSelection();A.off("changeCursor",this.$onCursorChange),A.off("changeSelection",this.$onSelectionChange)}this.session=n,n?(this.$onDocumentChange=this.onDocumentChange.bind(this),n.on("change",this.$onDocumentChange),this.renderer.setSession(n),this.$onChangeMode=this.onChangeMode.bind(this),n.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),n.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),n.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),n.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),n.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),n.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=n.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(n)),this._signal("changeSession",{session:n,oldSession:b}),this.curOp=null,b&&b._signal("changeEditor",{oldEditor:this}),n&&n._signal("changeEditor",{editor:this}),n&&!n.destroyed&&n.bgTokenizer.scheduleStart()}},Editor.prototype.getSession=function(){return this.session},Editor.prototype.setValue=function(n,b){return this.session.doc.setValue(n),b?1==b?this.navigateFileEnd():-1==b&&this.navigateFileStart():this.selectAll(),n},Editor.prototype.getValue=function(){return this.session.getValue()},Editor.prototype.getSelection=function(){return this.selection},Editor.prototype.resize=function(n){this.renderer.onResize(n)},Editor.prototype.setTheme=function(n,b){this.renderer.setTheme(n,b)},Editor.prototype.getTheme=function(){return this.renderer.getTheme()},Editor.prototype.setStyle=function(n){this.renderer.setStyle(n)},Editor.prototype.unsetStyle=function(n){this.renderer.unsetStyle(n)},Editor.prototype.getFontSize=function(){return this.getOption("fontSize")||D.computedStyle(this.container).fontSize},Editor.prototype.setFontSize=function(n){this.setOption("fontSize",n)},Editor.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var n=this;this.$highlightPending=!0,setTimeout((function(){n.$highlightPending=!1;var b=n.session;if(b&&!b.destroyed){b.$bracketHighlight&&(b.$bracketHighlight.markerIds.forEach((function(n){b.removeMarker(n)})),b.$bracketHighlight=null);var A=n.getCursorPosition(),L=n.getKeyboardHandler(),R=L&&L.$getDirectionForHighlight&&L.$getDirectionForHighlight(n),D=b.getMatchingBracketRanges(A,R);if(!D){var B=new pt(b,A.row,A.column).getCurrentToken();if(B&&/\b(?:tag-open|tag-name)/.test(B.type)){var E=b.getMatchingTags(A);E&&(D=[E.openTagName.isEmpty()?E.openTag:E.openTagName,E.closeTagName.isEmpty()?E.closeTag:E.closeTagName])}}if(!D&&b.$mode.getMatching&&(D=b.$mode.getMatching(n.session)),D){var X="ace_bracket";Array.isArray(D)?1==D.length&&(X="ace_error_bracket"):D=[D],2==D.length&&(0==ot.comparePoints(D[0].end,D[1].start)?D=[ot.fromPoints(D[0].start,D[1].end)]:0==ot.comparePoints(D[0].start,D[1].end)&&(D=[ot.fromPoints(D[1].start,D[0].end)])),b.$bracketHighlight={ranges:D,markerIds:D.map((function(n){return b.addMarker(n,X,"text")}))},n.getHighlightIndentGuides()&&n.renderer.$textLayer.$highlightIndentGuide()}else n.getHighlightIndentGuides()&&n.renderer.$textLayer.$highlightIndentGuide()}}),50)}},Editor.prototype.focus=function(){this.textInput.focus()},Editor.prototype.isFocused=function(){return this.textInput.isFocused()},Editor.prototype.blur=function(){this.textInput.blur()},Editor.prototype.onFocus=function(n){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",n))},Editor.prototype.onBlur=function(n){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",n))},Editor.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},Editor.prototype.onDocumentChange=function(n){var b=this.session.$useWrapMode,A=n.start.row==n.end.row?n.end.row:1/0;this.renderer.updateLines(n.start.row,A,b),this._signal("change",n),this.$cursorChange()},Editor.prototype.onTokenizerUpdate=function(n){var b=n.data;this.renderer.updateLines(b.first,b.last)},Editor.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},Editor.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},Editor.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},Editor.prototype.$updateHighlightActiveLine=function(){var n,b=this.getSession();if(this.$highlightActiveLine&&("line"==this.$selectionStyle&&this.selection.isMultiLine()||(n=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(n=!1),!this.renderer.$maxLines||1!==this.session.getLength()||this.renderer.$minLines>1||(n=!1)),b.$highlightLineMarker&&!n)b.removeMarker(b.$highlightLineMarker.id),b.$highlightLineMarker=null;else if(!b.$highlightLineMarker&&n){var A=new ot(n.row,n.column,n.row,1/0);A.id=b.addMarker(A,"ace_active-line","screenLine"),b.$highlightLineMarker=A}else n&&(b.$highlightLineMarker.start.row=n.row,b.$highlightLineMarker.end.row=n.row,b.$highlightLineMarker.start.column=n.column,b._signal("changeBackMarker"))},Editor.prototype.onSelectionChange=function(n){var b=this.session;if(b.$selectionMarker&&b.removeMarker(b.$selectionMarker),b.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var A=this.selection.getRange(),L=this.getSelectionStyle();b.$selectionMarker=b.addMarker(A,"ace_selection",L)}var R=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(R),this._signal("changeSelection")},Editor.prototype.$getSelectionHighLightRegexp=function(){var n=this.session,b=this.getSelectionRange();if(!b.isEmpty()&&!b.isMultiLine()){var A=b.start.column,L=b.end.column,R=n.getLine(b.start.row),D=R.substring(A,L);if(!(D.length>5e3)&&/[\w\d]/.test(D)){var B=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:D}),E=R.substring(A-1,L+1);if(B.test(E))return B}}},Editor.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},Editor.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},Editor.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},Editor.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},Editor.prototype.onChangeMode=function(n){this.renderer.updateText(),this._emit("changeMode",n)},Editor.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},Editor.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},Editor.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},Editor.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},Editor.prototype.getCopyText=function(){var n=this.getSelectedText(),b=this.session.doc.getNewLineCharacter(),A=!1;if(!n&&this.$copyWithEmptySelection){A=!0;for(var L=this.selection.getAllRanges(),R=0;RE.search(/\S|$/)){var X=E.substr(R.column).search(/\S|$/);A.doc.removeInLine(R.row,R.column,R.column+X)}}this.clearSelection();var $=R.column,V=A.getState(R.row),K=(E=A.getLine(R.row),L.checkOutdent(V,E,n));if(A.insert(R,n),D&&D.selection&&(2==D.selection.length?this.selection.setSelectionRange(new ot(R.row,$+D.selection[0],R.row,$+D.selection[1])):this.selection.setSelectionRange(new ot(R.row+D.selection[0],D.selection[1],R.row+D.selection[2],D.selection[3]))),this.$enableAutoIndent){if(A.getDocument().isNewLine(n)){var Q=L.getNextLineIndent(V,E.slice(0,R.column),A.getTabString());A.insert({row:R.row+1,column:0},Q)}K&&L.autoOutdent(V,A,R.row)}},Editor.prototype.autoIndent=function(){for(var n=this.session,b=n.getMode(),A=this.selection.isEmpty()?[new ot(0,0,n.doc.getLength()-1,0)]:this.selection.getAllRanges(),L="",R="",D="",B=n.getTabString(),E=0;E0&&(L=n.getState(V-1),R=n.getLine(V-1),D=b.getNextLineIndent(L,R,B));var K=n.getLine(V),Q=b.$getIndent(K);if(D!==Q){if(Q.length>0){var tt=new ot(V,0,V,Q.length);n.remove(tt)}D.length>0&&n.insert({row:V,column:0},D)}b.autoOutdent(L,n,V)}},Editor.prototype.onTextInput=function(n,b){if(!b)return this.keyBinding.onTextInput(n);this.startOperation({command:{name:"insertstring"}});var A=this.applyComposition.bind(this,n,b);this.selection.rangeCount?this.forEachSelection(A):A(),this.endOperation()},Editor.prototype.applyComposition=function(n,b){var A;(b.extendLeft||b.extendRight)&&((A=this.selection.getRange()).start.column-=b.extendLeft,A.end.column+=b.extendRight,A.start.column<0&&(A.start.row--,A.start.column+=this.session.getLine(A.start.row).length+1),this.selection.setRange(A),n||A.isEmpty()||this.remove());(!n&&this.selection.isEmpty()||this.insert(n,!0),b.restoreStart||b.restoreEnd)&&((A=this.selection.getRange()).start.column-=b.restoreStart,A.end.column-=b.restoreEnd,this.selection.setRange(A))},Editor.prototype.onCommandKey=function(n,b,A){return this.keyBinding.onCommandKey(n,b,A)},Editor.prototype.setOverwrite=function(n){this.session.setOverwrite(n)},Editor.prototype.getOverwrite=function(){return this.session.getOverwrite()},Editor.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},Editor.prototype.setScrollSpeed=function(n){this.setOption("scrollSpeed",n)},Editor.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},Editor.prototype.setDragDelay=function(n){this.setOption("dragDelay",n)},Editor.prototype.getDragDelay=function(){return this.getOption("dragDelay")},Editor.prototype.setSelectionStyle=function(n){this.setOption("selectionStyle",n)},Editor.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},Editor.prototype.setHighlightActiveLine=function(n){this.setOption("highlightActiveLine",n)},Editor.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},Editor.prototype.setHighlightGutterLine=function(n){this.setOption("highlightGutterLine",n)},Editor.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},Editor.prototype.setHighlightSelectedWord=function(n){this.setOption("highlightSelectedWord",n)},Editor.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},Editor.prototype.setAnimatedScroll=function(n){this.renderer.setAnimatedScroll(n)},Editor.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},Editor.prototype.setShowInvisibles=function(n){this.renderer.setShowInvisibles(n)},Editor.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},Editor.prototype.setDisplayIndentGuides=function(n){this.renderer.setDisplayIndentGuides(n)},Editor.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},Editor.prototype.setHighlightIndentGuides=function(n){this.renderer.setHighlightIndentGuides(n)},Editor.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},Editor.prototype.setShowPrintMargin=function(n){this.renderer.setShowPrintMargin(n)},Editor.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},Editor.prototype.setPrintMarginColumn=function(n){this.renderer.setPrintMarginColumn(n)},Editor.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},Editor.prototype.setReadOnly=function(n){this.setOption("readOnly",n)},Editor.prototype.getReadOnly=function(){return this.getOption("readOnly")},Editor.prototype.setBehavioursEnabled=function(n){this.setOption("behavioursEnabled",n)},Editor.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},Editor.prototype.setWrapBehavioursEnabled=function(n){this.setOption("wrapBehavioursEnabled",n)},Editor.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},Editor.prototype.setShowFoldWidgets=function(n){this.setOption("showFoldWidgets",n)},Editor.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},Editor.prototype.setFadeFoldWidgets=function(n){this.setOption("fadeFoldWidgets",n)},Editor.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},Editor.prototype.remove=function(n){this.selection.isEmpty()&&("left"==n?this.selection.selectLeft():this.selection.selectRight());var b=this.getSelectionRange();if(this.getBehavioursEnabled()){var A=this.session,L=A.getState(b.start.row),R=A.getMode().transformAction(L,"deletion",this,A,b);if(0===b.end.column){var D=A.getTextRange(b);if("\n"==D[D.length-1]){var B=A.getLine(b.end.row);/^\s+$/.test(B)&&(b.end.column=B.length)}}R&&(b=R)}this.session.remove(b),this.clearSelection()},Editor.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},Editor.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},Editor.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},Editor.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var n=this.getSelectionRange();n.start.column==n.end.column&&n.start.row==n.end.row&&(n.end.column=0,n.end.row++),this.session.remove(n),this.clearSelection()},Editor.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var n=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(n)},Editor.prototype.setGhostText=function(n,b){this.session.widgetManager||(this.session.widgetManager=new lt(this.session),this.session.widgetManager.attach(this)),this.renderer.setGhostText(n,b)},Editor.prototype.removeGhostText=function(){this.session.widgetManager&&this.renderer.removeGhostText()},Editor.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var n=this.getCursorPosition(),b=n.column;if(0!==b){var A,L,R=this.session.getLine(n.row);bb.toLowerCase()?1:0}));var R=new ot(0,0,0,0);for(L=n.first;L<=n.last;L++){var D=b.getLine(L);R.start.row=L,R.end.row=L,R.end.column=D.length,b.replace(R,A[L-n.first])}},Editor.prototype.toggleCommentLines=function(){var n=this.session.getState(this.getCursorPosition().row),b=this.$getSelectedRows();this.session.getMode().toggleCommentLines(n,this.session,b.first,b.last)},Editor.prototype.toggleBlockComment=function(){var n=this.getCursorPosition(),b=this.session.getState(n.row),A=this.getSelectionRange();this.session.getMode().toggleBlockComment(b,this.session,A,n)},Editor.prototype.getNumberAt=function(n,b){var A=/[\-]?[0-9]+(?:\.[0-9]+)?/g;A.lastIndex=0;for(var L=this.session.getLine(n);A.lastIndex=b)return{value:R[0],start:R.index,end:R.index+R[0].length}}return null},Editor.prototype.modifyNumber=function(n){var b=this.selection.getCursor().row,A=this.selection.getCursor().column,L=new ot(b,A-1,b,A),R=this.session.getTextRange(L);if(!isNaN(parseFloat(R))&&isFinite(R)){var D=this.getNumberAt(b,A);if(D){var B=D.value.indexOf(".")>=0?D.start+D.value.indexOf(".")+1:D.end,E=D.start+D.value.length-B,X=parseFloat(D.value);X*=Math.pow(10,E),B!==D.end&&A=E&&D<=X&&(A=b,$.selection.clearSelection(),$.moveCursorTo(n,E+L),$.selection.selectTo(n,X+L)),E=X}));for(var V,K=this.$toggleWordPairs,Q=0;Q=X&&B<=$&&Q.match(/((?:https?|ftp):\/\/[\S]+)/)){E=Q.replace(/[\s:.,'";}\]]+$/,"");break}X=$}}catch(n){A={error:n}}finally{try{K&&!K.done&&(R=V.return)&&R.call(V)}finally{if(A)throw A.error}}return E},Editor.prototype.openLink=function(){var n=this.selection.getCursor(),b=this.findLinkAt(n.row,n.column);return b&&window.open(b,"_blank"),null!=b},Editor.prototype.removeLines=function(){var n=this.$getSelectedRows();this.session.removeFullLines(n.first,n.last),this.clearSelection()},Editor.prototype.duplicateSelection=function(){var n=this.selection,b=this.session,A=n.getRange(),L=n.isBackwards();if(A.isEmpty()){var R=A.start.row;b.duplicateLines(R,R)}else{var D=L?A.start:A.end,B=b.insert(D,b.getTextRange(A));A.start=D,A.end=B,n.setSelectionRange(A,L)}},Editor.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},Editor.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},Editor.prototype.moveText=function(n,b,A){return this.session.moveText(n,b,A)},Editor.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},Editor.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},Editor.prototype.$moveLines=function(n,b){var A,L,R=this.selection;if(!R.inMultiSelectMode||this.inVirtualSelectionMode){var D=R.toOrientedRange();A=this.$getSelectedRows(D),L=this.session.$moveLines(A.first,A.last,b?0:n),b&&-1==n&&(L=0),D.moveBy(L,0),R.fromOrientedRange(D)}else{var B=R.rangeList.ranges;R.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var E=0,X=0,$=B.length,V=0;V<$;V++){var K=V;B[V].moveBy(E,0);for(var Q=(A=this.$getSelectedRows(B[V])).first,tt=A.last;++V<$;){X&&B[V].moveBy(X,0);var ot=this.$getSelectedRows(B[V]);if(b&&ot.first!=tt)break;if(!b&&ot.first>tt+1)break;tt=ot.last}for(V--,E=this.session.$moveLines(Q,tt,b?0:n),b&&-1==n&&(K=V+1);K<=V;)B[K].moveBy(E,0),K++;b||(E=0),X+=E}R.fromOrientedRange(R.ranges[0]),R.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},Editor.prototype.$getSelectedRows=function(n){return n=(n||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(n.start.row),last:this.session.getRowFoldEnd(n.end.row)}},Editor.prototype.onCompositionStart=function(n){this.renderer.showComposition(n)},Editor.prototype.onCompositionUpdate=function(n){this.renderer.setCompositionText(n)},Editor.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},Editor.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},Editor.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},Editor.prototype.isRowVisible=function(n){return n>=this.getFirstVisibleRow()&&n<=this.getLastVisibleRow()},Editor.prototype.isRowFullyVisible=function(n){return n>=this.renderer.getFirstFullyVisibleRow()&&n<=this.renderer.getLastFullyVisibleRow()},Editor.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},Editor.prototype.$moveByPage=function(n,b){var A=this.renderer,L=this.renderer.layerConfig,R=n*Math.floor(L.height/L.lineHeight);!0===b?this.selection.$moveSelection((function(){this.moveCursorBy(R,0)})):!1===b&&(this.selection.moveCursorBy(R,0),this.selection.clearSelection());var D=A.scrollTop;A.scrollBy(0,R*L.lineHeight),null!=b&&A.scrollCursorIntoView(null,.5),A.animateScrolling(D)},Editor.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},Editor.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},Editor.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},Editor.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},Editor.prototype.scrollPageDown=function(){this.$moveByPage(1)},Editor.prototype.scrollPageUp=function(){this.$moveByPage(-1)},Editor.prototype.scrollToRow=function(n){this.renderer.scrollToRow(n)},Editor.prototype.scrollToLine=function(n,b,A,L){this.renderer.scrollToLine(n,b,A,L)},Editor.prototype.centerSelection=function(){var n=this.getSelectionRange(),b={row:Math.floor(n.start.row+(n.end.row-n.start.row)/2),column:Math.floor(n.start.column+(n.end.column-n.start.column)/2)};this.renderer.alignCursor(b,.5)},Editor.prototype.getCursorPosition=function(){return this.selection.getCursor()},Editor.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},Editor.prototype.getSelectionRange=function(){return this.selection.getRange()},Editor.prototype.selectAll=function(){this.selection.selectAll()},Editor.prototype.clearSelection=function(){this.selection.clearSelection()},Editor.prototype.moveCursorTo=function(n,b){this.selection.moveCursorTo(n,b)},Editor.prototype.moveCursorToPosition=function(n){this.selection.moveCursorToPosition(n)},Editor.prototype.jumpToMatching=function(n,b){var A=this.getCursorPosition(),L=new pt(this.session,A.row,A.column),R=L.getCurrentToken(),D=0;R&&-1!==R.type.indexOf("tag-name")&&(R=L.stepBackward());var B=R||L.stepForward();if(B){var E,X,$=!1,V={},K=A.column-B.start,Q={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(B.value.match(/[{}()\[\]]/g)){for(;K1?V[B.value]++:""===R.value&&V[B.value]--,-1===V[B.value]&&(E="tag",$=!0));$||(R=B,D++,B=L.stepForward(),K=0)}while(B&&!$);if(E){var tt,nt;if("bracket"===E)(tt=this.session.getBracketRange(A))||(nt=(tt=new ot(L.getCurrentTokenRow(),L.getCurrentTokenColumn()+K-1,L.getCurrentTokenRow(),L.getCurrentTokenColumn()+K-1)).start,(b||nt.row===A.row&&Math.abs(nt.column-A.column)<2)&&(tt=this.session.getBracketRange(nt)));else if("tag"===E){if(!B||-1===B.type.indexOf("tag-name"))return;if(0===(tt=new ot(L.getCurrentTokenRow(),L.getCurrentTokenColumn()-2,L.getCurrentTokenRow(),L.getCurrentTokenColumn()-2)).compare(A.row,A.column)){var it=this.session.getMatchingTags(A);it&&(it.openTag.contains(A.row,A.column)?nt=(tt=it.closeTag).start:(tt=it.openTag,nt=it.closeTag.start.row===A.row&&it.closeTag.start.column===A.column?tt.end:tt.start))}nt=nt||tt.start}(nt=tt&&tt.cursor||nt)&&(n?tt&&b?this.selection.setRange(tt):tt&&tt.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(nt.row,nt.column):this.selection.moveTo(nt.row,nt.column))}}},Editor.prototype.gotoLine=function(n,b,A){this.selection.clearSelection(),this.session.unfold({row:n-1,column:b||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(n-1,b||0),this.isRowFullyVisible(n-1)||this.scrollToLine(n-1,!0,A)},Editor.prototype.navigateTo=function(n,b){this.selection.moveTo(n,b)},Editor.prototype.navigateUp=function(n){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var b=this.selection.anchor.getPosition();return this.moveCursorToPosition(b)}this.selection.clearSelection(),this.selection.moveCursorBy(-n||-1,0)},Editor.prototype.navigateDown=function(n){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var b=this.selection.anchor.getPosition();return this.moveCursorToPosition(b)}this.selection.clearSelection(),this.selection.moveCursorBy(n||1,0)},Editor.prototype.navigateLeft=function(n){if(this.selection.isEmpty())for(n=n||1;n--;)this.selection.moveCursorLeft();else{var b=this.getSelectionRange().start;this.moveCursorToPosition(b)}this.clearSelection()},Editor.prototype.navigateRight=function(n){if(this.selection.isEmpty())for(n=n||1;n--;)this.selection.moveCursorRight();else{var b=this.getSelectionRange().end;this.moveCursorToPosition(b)}this.clearSelection()},Editor.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},Editor.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},Editor.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},Editor.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},Editor.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},Editor.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},Editor.prototype.replace=function(n,b){b&&this.$search.set(b);var A=this.$search.find(this.session),L=0;return A?(this.$tryReplace(A,n)&&(L=1),this.selection.setSelectionRange(A),this.renderer.scrollSelectionIntoView(A.start,A.end),L):L},Editor.prototype.replaceAll=function(n,b){b&&this.$search.set(b);var A=this.$search.findAll(this.session),L=0;if(!A.length)return L;var R=this.getSelectionRange();this.selection.moveTo(0,0);for(var D=A.length-1;D>=0;--D)this.$tryReplace(A[D],n)&&L++;return this.selection.setSelectionRange(R),L},Editor.prototype.$tryReplace=function(n,b){var A=this.session.getTextRange(n);return null!==(b=this.$search.replace(A,b))?(n.end=this.session.replace(n,b),n):null},Editor.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},Editor.prototype.find=function(n,b,A){b||(b={}),"string"==typeof n||n instanceof RegExp?b.needle=n:"object"==typeof n&&R.mixin(b,n);var L=this.selection.getRange();null==b.needle&&((n=this.session.getTextRange(L)||this.$search.$options.needle)||(L=this.session.getWordRange(L.start.row,L.start.column),n=this.session.getTextRange(L)),this.$search.set({needle:n})),this.$search.set(b),b.start||this.$search.set({start:L});var D=this.$search.find(this.session);return b.preventScroll?D:D?(this.revealRange(D,A),D):(b.backwards?L.start=L.end:L.end=L.start,void this.selection.setRange(L))},Editor.prototype.findNext=function(n,b){this.find({skipCurrent:!0,backwards:!1},n,b)},Editor.prototype.findPrevious=function(n,b){this.find(n,{skipCurrent:!0,backwards:!0},b)},Editor.prototype.revealRange=function(n,b){this.session.unfold(n),this.selection.setSelectionRange(n);var A=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(n.start,n.end,.5),!1!==b&&this.renderer.animateScrolling(A)},Editor.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},Editor.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},Editor.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach((function(n){n.destroy()})),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},Editor.prototype.setAutoScrollEditorIntoView=function(n){if(n){var b,A=this,L=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var R=this.$scrollAnchor;R.style.cssText="position:absolute",this.container.insertBefore(R,this.container.firstChild);var D=this.on("changeSelection",(function(){L=!0})),B=this.renderer.on("beforeRender",(function(){L&&(b=A.renderer.container.getBoundingClientRect())})),E=this.renderer.on("afterRender",(function(){if(L&&b&&(A.isFocused()||A.searchBox&&A.searchBox.isFocused())){var n=A.renderer,D=n.$cursorLayer.$pixelPos,B=n.layerConfig,E=D.top-B.offset;null!=(L=D.top>=0&&E+b.top<0||!(D.topwindow.innerHeight)&&null)&&(R.style.top=E+"px",R.style.left=D.left+"px",R.style.height=B.lineHeight+"px",R.scrollIntoView(L)),L=b=null}}));this.setAutoScrollEditorIntoView=function(n){n||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",D),this.renderer.off("afterRender",E),this.renderer.off("beforeRender",B))}}},Editor.prototype.$resetCursorStyle=function(){var n=this.$cursorStyle||"ace",b=this.renderer.$cursorLayer;b&&(b.setSmoothBlinking(/smooth/.test(n)),b.isBlinking=!this.$readOnly&&"wide"!=n,D.setCssClass(b.element,"ace_slim-cursors",/slim/.test(n)))},Editor.prototype.prompt=function(n,b,A){var L=this;st.loadModule("ace/ext/prompt",(function(R){R.prompt(L,n,b,A)}))},Editor}();Ot.$uid=0,Ot.prototype.curOp=null,Ot.prototype.prevOp={},Ot.prototype.$mergeableCommands=["backspace","del","insertstring"],Ot.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],R.implement(Ot.prototype,nt),st.defineOptions(Ot.prototype,"editor",{selectionStyle:{set:function(n){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:n})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(n){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(n){this.textInput.setReadOnly(n),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(n){this.textInput.setCopyWithEmptySelection(n)},initialValue:!1},cursorStyle:{set:function(n){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(n){this.setAutoScrollEditorIntoView(n)}},keyboardHandler:{set:function(n){this.setKeyboardHandler(n)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(n){this.session.setValue(n)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(n){this.setSession(n)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(n){this.renderer.$gutterLayer.setShowLineNumbers(n),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),n&&this.$relativeLineNumbers?ft.attach(this):ft.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(n){this.$showLineNumbers&&n?ft.attach(this):ft.detach(this)}},placeholder:{set:function(n){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var n=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(n&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),D.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(n||this.renderer.placeholderNode)!n&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"");else{this.renderer.on("afterRender",this.$updatePlaceholder),D.addCssClass(this.container,"ace_hasPlaceholder");var b=D.createElement("div");b.className="ace_placeholder",b.textContent=this.$placeholder||"",this.renderer.placeholderNode=b,this.renderer.content.appendChild(this.renderer.placeholderNode)}}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(n){var b,A={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(n){n.blur(),n.renderer.scroller.focus()},readOnly:!0},focusOnEnterKeyup=function(n){if(n.target==this.renderer.scroller&&n.keyCode===zt.enter){n.preventDefault();var b=this.getCursorPosition().row;this.isRowVisible(b)||this.scrollToLine(b,!0,!0),this.focus()}};n?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(E.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",bt("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",bt("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",focusOnEnterKeyup.bind(this)),this.commands.addCommand(A),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",bt("editor.gutter.aria-roledescription","editor")),this.renderer.$gutter.setAttribute("aria-label",bt("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),b||(b=new ut(this)),b.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",focusOnEnterKeyup.bind(this)),this.commands.removeCommand(A),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),b&&b.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(n){this.$textInputAriaLabel=n},initialValue:""},enableMobileMenu:{set:function(n){this.$enableMobileMenu=n},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var ft={getText:function(n,b){return(Math.abs(n.selection.lead.row-b)||b+1+(b<9?"·":""))+""},getWidth:function(n,b,A){return Math.max(b.toString().length,(A.lastRow+1).toString().length,2)*A.characterWidth},update:function(n,b){b.renderer.$loop.schedule(b.renderer.CHANGE_GUTTER)},attach:function(n){n.renderer.$gutterLayer.$renderer=this,n.on("changeSelection",this.update),this.update(null,n)},detach:function(n){n.renderer.$gutterLayer.$renderer==this&&(n.renderer.$gutterLayer.$renderer=null),n.off("changeSelection",this.update),this.update(null,n)}};b.Editor=Ot})),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],(function(n,b,A){"use strict";var L=n("../lib/dom"),R=function(){function Lines(n,b){this.element=n,this.canvasHeight=b||5e5,this.element.style.height=2*this.canvasHeight+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return Lines.prototype.moveContainer=function(n){L.translate(this.element,0,-n.firstRowScreen*n.lineHeight%this.canvasHeight-n.offset*this.$offsetCoefficient)},Lines.prototype.pageChanged=function(n,b){return Math.floor(n.firstRowScreen*n.lineHeight/this.canvasHeight)!==Math.floor(b.firstRowScreen*b.lineHeight/this.canvasHeight)},Lines.prototype.computeLineTop=function(n,b,A){var L=b.firstRowScreen*b.lineHeight,R=Math.floor(L/this.canvasHeight);return A.documentToScreenRow(n,0)*b.lineHeight-R*this.canvasHeight},Lines.prototype.computeLineHeight=function(n,b,A){return b.lineHeight*A.getRowLineCount(n)},Lines.prototype.getLength=function(){return this.cells.length},Lines.prototype.get=function(n){return this.cells[n]},Lines.prototype.shift=function(){this.$cacheCell(this.cells.shift())},Lines.prototype.pop=function(){this.$cacheCell(this.cells.pop())},Lines.prototype.push=function(n){if(Array.isArray(n)){this.cells.push.apply(this.cells,n);for(var b=L.createFragment(this.element),A=0;AD&&(X=R.end.row+1,D=(R=b.getNextFoldLine(X,R))?R.start.row:1/0),X>L){for(;this.$lines.getLength()>E+1;)this.$lines.pop();break}(B=this.$lines.get(++E))?B.row=X:(B=this.$lines.createCell(X,n,this.session,onCreateCell),this.$lines.push(B)),this.$renderCell(B,n,R,X),X++}this._signal("afterRender"),this.$updateGutterWidth(n)},Gutter.prototype.$updateGutterWidth=function(n){var b=this.session,A=b.gutterRenderer||this.$renderer,L=b.$firstLineNumber,R=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||b.$useWrapMode)&&(R=b.getLength()+L-1);var D=A?A.getWidth(b,R,n):R.toString().length*n.characterWidth,B=this.$padding||this.$computePadding();(D+=B.left+B.right)===this.gutterWidth||isNaN(D)||(this.gutterWidth=D,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",D))},Gutter.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var n=this.session.selection.getCursor();this.$cursorRow!==n.row&&(this.$cursorRow=n.row)}},Gutter.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var n=this.session.selection.cursor.row;if(this.$cursorRow=n,!this.$cursorCell||this.$cursorCell.row!=n){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var b=this.$lines.cells;this.$cursorCell=null;for(var A=0;A=this.$cursorRow){if(L.row>this.$cursorRow){var R=this.session.getFoldLine(this.$cursorRow);if(!(A>0&&R&&R.start.row==b[A-1].row))break;L=b[A-1]}L.element.className="ace_gutter-active-line "+L.element.className,this.$cursorCell=L;break}}}}},Gutter.prototype.scrollLines=function(n){var b=this.config;if(this.config=n,this.$updateCursorRow(),this.$lines.pageChanged(b,n))return this.update(n);this.$lines.moveContainer(n);var A=Math.min(n.lastRow+n.gutterOffset,this.session.getLength()-1),L=this.oldLastRow;if(this.oldLastRow=A,!b||L0;R--)this.$lines.shift();if(L>A)for(R=this.session.getFoldedRowCount(A+1,L);R>0;R--)this.$lines.pop();n.firstRowL&&this.$lines.push(this.$renderLines(n,L+1,A)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(n)},Gutter.prototype.$renderLines=function(n,b,A){for(var L=[],R=b,D=this.session.getNextFoldLine(R),B=D?D.start.row:1/0;R>B&&(R=D.end.row+1,B=(D=this.session.getNextFoldLine(R,D))?D.start.row:1/0),!(R>A);){var E=this.$lines.createCell(R,n,this.session,onCreateCell);this.$renderCell(E,n,D,R),L.push(E),R++}return L},Gutter.prototype.$renderCell=function(n,b,A,R){var D=n.element,B=this.session,E=D.childNodes[0],$=D.childNodes[1],V=D.childNodes[2],K=V.firstChild,Q=B.$firstLineNumber,tt=B.$breakpoints,ot=B.$decorations,nt=B.gutterRenderer||this.$renderer,it=this.$showFoldWidgets&&B.foldWidgets,rt=A?A.start.row:Number.MAX_VALUE,st=b.lineHeight+"px",pt=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",lt=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",ut=(nt?nt.getText(B,R):R+Q).toString();if(this.$highlightGutterLine&&(R==this.$cursorRow||A&&R=rt&&this.$cursorRow<=A.end.row)&&(pt+="ace_gutter-active-line ",this.$cursorCell!=n&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=n)),tt[R]&&(pt+=tt[R]),ot[R]&&(pt+=ot[R]),this.$annotations[R]&&R!==rt&&(pt+=this.$annotations[R].className),it){var bt=it[R];null==bt&&(bt=it[R]=B.getFoldWidget(R))}if(bt){var Mt="ace_fold-widget ace_"+bt,zt="start"==bt&&R==rt&&RA.right-b.right?"foldWidgets":void 0},Gutter}();function onCreateCell(n){var b=document.createTextNode("");n.appendChild(b);var A=L.createElement("span");n.appendChild(A);var R=L.createElement("span");n.appendChild(R);var D=L.createElement("span");return R.appendChild(D),n}$.prototype.$fixedWidth=!1,$.prototype.$highlightGutterLine=!0,$.prototype.$renderer="",$.prototype.$showLineNumbers=!0,$.prototype.$showFoldWidgets=!0,R.implement($.prototype,B),b.Gutter=$})),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],(function(n,b,A){"use strict";var L=n("../range").Range,R=n("../lib/dom"),D=function(){function Marker(n){this.element=R.createElement("div"),this.element.className="ace_layer ace_marker-layer",n.appendChild(this.element)}return Marker.prototype.setPadding=function(n){this.$padding=n},Marker.prototype.setSession=function(n){this.session=n},Marker.prototype.setMarkers=function(n){this.markers=n},Marker.prototype.elt=function(n,b){var A=-1!=this.i&&this.element.childNodes[this.i];A?this.i++:(A=document.createElement("div"),this.element.appendChild(A),this.i=-1),A.style.cssText=b,A.className=n},Marker.prototype.update=function(n){if(n){var b;for(var A in this.config=n,this.i=0,this.markers){var L=this.markers[A];if(L.range){var R=L.range.clipRows(n.firstRow,n.lastRow);if(!R.isEmpty())if(R=R.toScreenRange(this.session),L.renderer){var D=this.$getTop(R.start.row,n),B=this.$padding+R.start.column*n.characterWidth;L.renderer(b,R,B,D,n)}else"fullLine"==L.type?this.drawFullLineMarker(b,R,L.clazz,n):"screenLine"==L.type?this.drawScreenLineMarker(b,R,L.clazz,n):R.isMultiLine()?"text"==L.type?this.drawTextMarker(b,R,L.clazz,n):this.drawMultiLineMarker(b,R,L.clazz,n):this.drawSingleLineMarker(b,R,L.clazz+" ace_start ace_br15",n)}else L.update(b,this,this.session,n)}if(-1!=this.i)for(;this.iQ?4:0)|($==X?8:0)),R,$==X?0:1,D)},Marker.prototype.drawMultiLineMarker=function(n,b,A,L,R){var D=this.$padding,B=L.lineHeight,E=this.$getTop(b.start.row,L),X=D+b.start.column*L.characterWidth;(R=R||"",this.session.$bidiHandler.isBidiRow(b.start.row))?(($=b.clone()).end.row=$.start.row,$.end.column=this.session.getLine($.start.row).length,this.drawBidiSingleLineMarker(n,$,A+" ace_br1 ace_start",L,null,R)):this.elt(A+" ace_br1 ace_start","height:"+B+"px;right:"+D+"px;top:"+E+"px;left:"+X+"px;"+(R||""));if(this.session.$bidiHandler.isBidiRow(b.end.row)){var $;($=b.clone()).start.row=$.end.row,$.start.column=0,this.drawBidiSingleLineMarker(n,$,A+" ace_br12",L,null,R)}else{E=this.$getTop(b.end.row,L);var V=b.end.column*L.characterWidth;this.elt(A+" ace_br12","height:"+B+"px;width:"+V+"px;top:"+E+"px;left:"+D+"px;"+(R||""))}if(!((B=(b.end.row-b.start.row-1)*L.lineHeight)<=0)){E=this.$getTop(b.start.row+1,L);var K=(b.start.column?1:0)|(b.end.column?0:8);this.elt(A+(K?" ace_br"+K:""),"height:"+B+"px;right:"+D+"px;top:"+E+"px;left:"+D+"px;"+(R||""))}},Marker.prototype.drawSingleLineMarker=function(n,b,A,L,R,D){if(this.session.$bidiHandler.isBidiRow(b.start.row))return this.drawBidiSingleLineMarker(n,b,A,L,R,D);var B=L.lineHeight,E=(b.end.column+(R||0)-b.start.column)*L.characterWidth,X=this.$getTop(b.start.row,L),$=this.$padding+b.start.column*L.characterWidth;this.elt(A,"height:"+B+"px;width:"+E+"px;top:"+X+"px;left:"+$+"px;"+(D||""))},Marker.prototype.drawBidiSingleLineMarker=function(n,b,A,L,R,D){var B=L.lineHeight,E=this.$getTop(b.start.row,L),X=this.$padding;this.session.$bidiHandler.getSelections(b.start.column,b.end.column).forEach((function(n){this.elt(A,"height:"+B+"px;width:"+(n.width+(R||0))+"px;top:"+E+"px;left:"+(X+n.left)+"px;"+(D||""))}),this)},Marker.prototype.drawFullLineMarker=function(n,b,A,L,R){var D=this.$getTop(b.start.row,L),B=L.lineHeight;b.start.row!=b.end.row&&(B+=this.$getTop(b.end.row,L)-D),this.elt(A,"height:"+B+"px;top:"+D+"px;left:0;right:0;"+(R||""))},Marker.prototype.drawScreenLineMarker=function(n,b,A,L,R){var D=this.$getTop(b.start.row,L),B=L.lineHeight;this.elt(A,"height:"+B+"px;top:"+D+"px;left:0;right:0;"+(R||""))},Marker}();D.prototype.$padding=0,b.Marker=D})),ace.define("ace/layer/text_util",["require","exports","module"],(function(n,b,A){var L=new Set(["text","rparen","lparen"]);b.isTextToken=function(n){return L.has(n)}})),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("../lib/dom"),D=n("../lib/lang"),B=n("./lines").Lines,E=n("../lib/event_emitter").EventEmitter,X=n("../config").nls,$=n("./text_util").isTextToken,V=function(){function Text(n){this.dom=R,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",n.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new B(this.element)}return Text.prototype.$updateEolChar=function(){var n=this.session.doc,b="\n"==n.getNewLineCharacter()&&"windows"!=n.getNewLineMode()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=b)return this.EOL_CHAR=b,!0},Text.prototype.setPadding=function(n){this.$padding=n,this.element.style.margin="0 "+n+"px"},Text.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},Text.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},Text.prototype.$setFontMetrics=function(n){this.$fontMetrics=n,this.$fontMetrics.on("changeCharacterSize",function(n){this._signal("changeCharacterSize",n)}.bind(this)),this.$pollSizeChanges()},Text.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},Text.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},Text.prototype.setSession=function(n){this.session=n,n&&this.$computeTabString()},Text.prototype.setShowInvisibles=function(n){return this.showInvisibles!=n&&(this.showInvisibles=n,"string"==typeof n?(this.showSpaces=/tab/i.test(n),this.showTabs=/space/i.test(n),this.showEOL=/eol/i.test(n)):this.showSpaces=this.showTabs=this.showEOL=n,this.$computeTabString(),!0)},Text.prototype.setDisplayIndentGuides=function(n){return this.displayIndentGuides!=n&&(this.displayIndentGuides=n,this.$computeTabString(),!0)},Text.prototype.setHighlightIndentGuides=function(n){return this.$highlightIndentGuides!==n&&(this.$highlightIndentGuides=n,n)},Text.prototype.$computeTabString=function(){var n=this.session.getTabSize();this.tabSize=n;for(var b=this.$tabStrings=[0],A=1;AV&&(E=X.end.row+1,V=(X=this.session.getNextFoldLine(E,X))?X.start.row:1/0),!(E>R);){var K=D[B++];if(K){this.dom.removeChildren(K),this.$renderLine(K,E,E==V&&X),$&&(K.style.top=this.$lines.computeLineTop(E,n,this.session)+"px");var Q=n.lineHeight*this.session.getRowLength(E)+"px";K.style.height!=Q&&($=!0,K.style.height=Q)}E++}if($)for(;B0;R--)this.$lines.shift();if(b.lastRow>n.lastRow)for(R=this.session.getFoldedRowCount(n.lastRow+1,b.lastRow);R>0;R--)this.$lines.pop();n.firstRowb.lastRow&&this.$lines.push(this.$renderLinesFragment(n,b.lastRow+1,n.lastRow)),this.$highlightIndentGuide()},Text.prototype.$renderLinesFragment=function(n,b,A){for(var L=[],D=b,B=this.session.getNextFoldLine(D),E=B?B.start.row:1/0;D>E&&(D=B.end.row+1,E=(B=this.session.getNextFoldLine(D,B))?B.start.row:1/0),!(D>A);){var X=this.$lines.createCell(D,n,this.session),$=X.element;this.dom.removeChildren($),R.setStyle($.style,"height",this.$lines.computeLineHeight(D,n,this.session)+"px"),R.setStyle($.style,"top",this.$lines.computeLineTop(D,n,this.session)+"px"),this.$renderLine($,D,D==E&&B),this.$useLineGroups()?$.className="ace_line_group":$.className="ace_line",L.push(X),D++}return L},Text.prototype.update=function(n){this.$lines.moveContainer(n),this.config=n;for(var b=n.firstRow,A=n.lastRow,L=this.$lines;L.getLength();)L.pop();L.push(this.$renderLinesFragment(n,b,A))},Text.prototype.$renderToken=function(n,b,A,L){for(var R,B=this,E=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,V=this.dom.createFragment(this.element),K=0;R=E.exec(L);){var Q=R[1],tt=R[2],ot=R[3],nt=R[4],it=R[5];if(B.showSpaces||!tt){var rt=K!=R.index?L.slice(K,R.index):"";if(K=R.index+R[0].length,rt&&V.appendChild(this.dom.createTextNode(rt,this.element)),Q){var st=B.session.getScreenTabSize(b+R.index);V.appendChild(B.$tabStrings[st].cloneNode(!0)),b+=st-1}else if(tt){if(B.showSpaces)(lt=this.dom.createElement("span")).className="ace_invisible ace_invisible_space",lt.textContent=D.stringRepeat(B.SPACE_CHAR,tt.length),V.appendChild(lt);else V.appendChild(this.dom.createTextNode(tt,this.element))}else if(ot){(lt=this.dom.createElement("span")).className="ace_invisible ace_invisible_space ace_invalid",lt.textContent=D.stringRepeat(B.SPACE_CHAR,ot.length),V.appendChild(lt)}else if(nt){b+=1,(lt=this.dom.createElement("span")).style.width=2*B.config.characterWidth+"px",lt.className=B.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",lt.textContent=B.showSpaces?B.SPACE_CHAR:nt,V.appendChild(lt)}else if(it){b+=1,(lt=this.dom.createElement("span")).style.width=2*B.config.characterWidth+"px",lt.className="ace_cjk",lt.textContent=it,V.appendChild(lt)}}}if(V.appendChild(this.dom.createTextNode(K?L.slice(K):L,this.element)),$(A.type))n.appendChild(V);else{var pt="ace_"+A.type.replace(/\./g," ace_"),lt=this.dom.createElement("span");"fold"==A.type&&(lt.style.width=A.value.length*this.config.characterWidth+"px",lt.setAttribute("title",X("inline-fold.closed.title","Unfold code"))),lt.className=pt,lt.appendChild(V),n.appendChild(lt)}return b+L.length},Text.prototype.renderIndentGuide=function(n,b,A){var L=b.search(this.$indentGuideRe);if(L<=0||L>=A)return b;if(" "==b[0]){for(var R=(L-=L%this.tabSize)/this.tabSize,D=0;DR[D].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}if(!this.$highlightIndentGuideMarker.end&&""!==n[b.row]&&b.column===n[b.row].length){this.$highlightIndentGuideMarker.dir=1;for(D=b.row+1;D0)for(var L=0;L=this.$highlightIndentGuideMarker.start+1){if(L.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(L,b)}}else for(A=n.length-1;A>=0;A--){L=n[A];if(this.$highlightIndentGuideMarker.end&&L.row=B;)E=this.$renderToken(X,E,V,K.substring(0,B-L)),K=K.substring(B-L),L=B,X=this.$createLineElement(),n.appendChild(X),X.appendChild(this.dom.createTextNode(D.stringRepeat(" ",A.indent),this.element)),E=0,B=A[++R]||Number.MAX_VALUE;0!=K.length&&(L+=K.length,E=this.$renderToken(X,E,V,K))}}A[A.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(X,E,null,"",!0)},Text.prototype.$renderSimpleLine=function(n,b){for(var A=0,L=0;Lthis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(n,A,R,D);A=this.$renderToken(n,A,R,D)}}},Text.prototype.$renderOverflowMessage=function(n,b,A,L,R){A&&this.$renderToken(n,b,A,L.slice(0,this.MAX_LINE_LENGTH-b));var D=this.dom.createElement("span");D.className="ace_inline_button ace_keyword ace_toggle_wrap",D.textContent=R?"":"",n.appendChild(D)},Text.prototype.$renderLine=function(n,b,A){if(A||0==A||(A=this.session.getFoldLine(b)),A)var L=this.$getFoldLineTokens(b,A);else L=this.session.getTokens(b);var R=n;if(L.length){var D=this.session.getRowSplitData(b);if(D&&D.length){this.$renderWrappedLine(n,L,D);R=n.lastChild}else{R=n;this.$useLineGroups()&&(R=this.$createLineElement(),n.appendChild(R)),this.$renderSimpleLine(R,L)}}else this.$useLineGroups()&&(R=this.$createLineElement(),n.appendChild(R));if(this.showEOL&&R){A&&(b=A.end.row);var B=this.dom.createElement("span");B.className="ace_invisible ace_invisible_eol",B.textContent=b==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,R.appendChild(B)}},Text.prototype.$getFoldLineTokens=function(n,b){var A=this.session,L=[];var R=A.getTokens(n);return b.walk((function(n,b,D,B,E){null!=n?L.push({type:"fold",value:n}):(E&&(R=A.getTokens(b)),R.length&&function addTokens(n,b,A){for(var R=0,D=0;D+n[R].value.lengthA-b&&(B=B.substring(0,A-b)),L.push({type:n[R].type,value:B}),D=b+B.length,R+=1);DA?L.push({type:n[R].type,value:B.substring(0,A-D)}):L.push(n[R]),D+=B.length,R+=1}}(R,B,D))}),b.end.row,this.session.getLine(b.end.row).length),L},Text.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},Text}();V.prototype.EOF_CHAR="¶",V.prototype.EOL_CHAR_LF="¬",V.prototype.EOL_CHAR_CRLF="¤",V.prototype.EOL_CHAR=V.prototype.EOL_CHAR_LF,V.prototype.TAB_CHAR="—",V.prototype.SPACE_CHAR="·",V.prototype.$padding=0,V.prototype.MAX_LINE_LENGTH=1e4,V.prototype.showInvisibles=!1,V.prototype.showSpaces=!1,V.prototype.showTabs=!1,V.prototype.showEOL=!1,V.prototype.displayIndentGuides=!0,V.prototype.$highlightIndentGuides=!0,V.prototype.$tabStrings=[],V.prototype.destroy={},V.prototype.onChangeTabSize=V.prototype.$computeTabString,L.implement(V.prototype,E),b.Text=V})),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],(function(n,b,A){"use strict";var L=n("../lib/dom"),R=function(){function Cursor(n){this.element=L.createElement("div"),this.element.className="ace_layer ace_cursor-layer",n.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),L.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return Cursor.prototype.$updateOpacity=function(n){for(var b=this.cursors,A=b.length;A--;)L.setStyle(b[A].style,"opacity",n?"":"0")},Cursor.prototype.$startCssAnimation=function(){for(var n=this.cursors,b=n.length;b--;)n[b].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout(function(){this.$isAnimating&&L.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},Cursor.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,L.removeCssClass(this.element,"ace_animate-blinking")},Cursor.prototype.setPadding=function(n){this.$padding=n},Cursor.prototype.setSession=function(n){this.session=n},Cursor.prototype.setBlinking=function(n){n!=this.isBlinking&&(this.isBlinking=n,this.restartTimer())},Cursor.prototype.setBlinkInterval=function(n){n!=this.blinkInterval&&(this.blinkInterval=n,this.restartTimer())},Cursor.prototype.setSmoothBlinking=function(n){n!=this.smoothBlinking&&(this.smoothBlinking=n,L.setCssClass(this.element,"ace_smooth-blinking",n),this.$updateCursors(!0),this.restartTimer())},Cursor.prototype.addCursor=function(){var n=L.createElement("div");return n.className="ace_cursor",this.element.appendChild(n),this.cursors.push(n),n},Cursor.prototype.removeCursor=function(){if(this.cursors.length>1){var n=this.cursors.pop();return n.parentNode.removeChild(n),n}},Cursor.prototype.hideCursor=function(){this.isVisible=!1,L.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},Cursor.prototype.showCursor=function(){this.isVisible=!0,L.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},Cursor.prototype.restartTimer=function(){var n=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,L.removeCssClass(this.element,"ace_smooth-blinking")),n(!0),this.isBlinking&&this.blinkInterval&&this.isVisible)if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout(function(){this.$isSmoothBlinking&&L.addCssClass(this.element,"ace_smooth-blinking")}.bind(this))),L.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var b=function(){this.timeoutId=setTimeout((function(){n(!1)}),.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval((function(){n(!0),b()}),this.blinkInterval),b()}else this.$stopCssAnimation()},Cursor.prototype.getPixelPosition=function(n,b){if(!this.config||!this.session)return{left:0,top:0};n||(n=this.session.selection.getCursor());var A=this.session.documentToScreenPosition(n);return{left:this.$padding+(this.session.$bidiHandler.isBidiRow(A.row,n.row)?this.session.$bidiHandler.getPosLeft(A.column):A.column*this.config.characterWidth),top:(A.row-(b?this.config.firstRowScreen:0))*this.config.lineHeight}},Cursor.prototype.isCursorInView=function(n,b){return n.top>=0&&n.topn.height+n.offset||B.top<0)&&A>1)){var E=this.cursors[R++]||this.addCursor(),X=E.style;this.drawCursor?this.drawCursor(E,B,n,b[A],this.session):this.isCursorInView(B,n)?(L.setStyle(X,"display","block"),L.translate(E,B.left,B.top),L.setStyle(X,"width",Math.round(n.characterWidth)+"px"),L.setStyle(X,"height",n.lineHeight+"px")):L.setStyle(X,"display","none")}}for(;this.cursors.length>R;)this.removeCursor();var $=this.session.getOverwrite();this.$setOverwrite($),this.$pixelPos=B,this.restartTimer()},Cursor.prototype.$setOverwrite=function(n){n!=this.overwrite&&(this.overwrite=n,n?L.addCssClass(this.element,"ace_overwrite-cursors"):L.removeCssClass(this.element,"ace_overwrite-cursors"))},Cursor.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},Cursor}();R.prototype.$padding=0,R.prototype.drawCursor=null,b.Cursor=R})),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],(function(n,b,A){"use strict";var L,R=this&&this.__extends||(L=function(n,b){return L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,b){n.__proto__=b}||function(n,b){for(var A in b)Object.prototype.hasOwnProperty.call(b,A)&&(n[A]=b[A])},L(n,b)},function(n,b){if("function"!=typeof b&&null!==b)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=n}L(n,b),n.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}),D=n("./lib/oop"),B=n("./lib/dom"),E=n("./lib/event"),X=n("./lib/event_emitter").EventEmitter,$=32768,V=function(){function Scrollbar(n,b){this.element=B.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+b,this.inner=B.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),n.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,E.addListener(this.element,"scroll",this.onScroll.bind(this)),E.addListener(this.element,"mousedown",E.preventDefault)}return Scrollbar.prototype.setVisible=function(n){this.element.style.display=n?"":"none",this.isVisible=n,this.coeff=1},Scrollbar}();D.implement(V.prototype,X);var K=function(n){function VScrollBar(b,A){var L=n.call(this,b,"-v")||this;return L.scrollTop=0,L.scrollHeight=0,A.$scrollbarWidth=L.width=B.scrollbarWidth(b.ownerDocument),L.inner.style.width=L.element.style.width=(L.width||15)+5+"px",L.$minWidth=0,L}return R(VScrollBar,n),VScrollBar.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,1!=this.coeff){var n=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-n)/(this.coeff-n)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},VScrollBar.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},VScrollBar.prototype.setHeight=function(n){this.element.style.height=n+"px"},VScrollBar.prototype.setScrollHeight=function(n){this.scrollHeight=n,n>$?(this.coeff=$/n,n=$):1!=this.coeff&&(this.coeff=1),this.inner.style.height=n+"px"},VScrollBar.prototype.setScrollTop=function(n){this.scrollTop!=n&&(this.skipEvent=!0,this.scrollTop=n,this.element.scrollTop=n*this.coeff)},VScrollBar}(V);K.prototype.setInnerHeight=K.prototype.setScrollHeight;var Q=function(n){function HScrollBar(b,A){var L=n.call(this,b,"-h")||this;return L.scrollLeft=0,L.height=A.$scrollbarWidth,L.inner.style.height=L.element.style.height=(L.height||15)+5+"px",L}return R(HScrollBar,n),HScrollBar.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},HScrollBar.prototype.getHeight=function(){return this.isVisible?this.height:0},HScrollBar.prototype.setWidth=function(n){this.element.style.width=n+"px"},HScrollBar.prototype.setInnerWidth=function(n){this.inner.style.width=n+"px"},HScrollBar.prototype.setScrollWidth=function(n){this.inner.style.width=n+"px"},HScrollBar.prototype.setScrollLeft=function(n){this.scrollLeft!=n&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=n)},HScrollBar}(V);b.ScrollBar=K,b.ScrollBarV=K,b.ScrollBarH=Q,b.VScrollBar=K,b.HScrollBar=Q})),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],(function(n,b,A){"use strict";var L,R=this&&this.__extends||(L=function(n,b){return L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,b){n.__proto__=b}||function(n,b){for(var A in b)Object.prototype.hasOwnProperty.call(b,A)&&(n[A]=b[A])},L(n,b)},function(n,b){if("function"!=typeof b&&null!==b)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=n}L(n,b),n.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}),D=n("./lib/oop"),B=n("./lib/dom"),E=n("./lib/event"),X=n("./lib/event_emitter").EventEmitter;B.importCssString(".ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{\n position: absolute;\n background: rgba(128, 128, 128, 0.6);\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n border: 1px solid #bbb;\n border-radius: 2px;\n z-index: 8;\n}\n.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {\n position: absolute;\n z-index: 6;\n background: none;\n overflow: hidden!important;\n}\n.ace_editor>.ace_sb-v {\n z-index: 6;\n right: 0;\n top: 0;\n width: 12px;\n}\n.ace_editor>.ace_sb-v div {\n z-index: 8;\n right: 0;\n width: 100%;\n}\n.ace_editor>.ace_sb-h {\n bottom: 0;\n left: 0;\n height: 12px;\n}\n.ace_editor>.ace_sb-h div {\n bottom: 0;\n height: 100%;\n}\n.ace_editor>.ace_sb_grabbed {\n z-index: 8;\n background: #000;\n}","ace_scrollbar.css",!1);var $=function(){function ScrollBar(n,b){this.element=B.createElement("div"),this.element.className="ace_sb"+b,this.inner=B.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,n.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,E.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return ScrollBar.prototype.setVisible=function(n){this.element.style.display=n?"":"none",this.isVisible=n,this.coeff=1},ScrollBar}();D.implement($.prototype,X);var V=function(n){function VScrollBar(b,A){var L=n.call(this,b,"-v")||this;return L.scrollTop=0,L.scrollHeight=0,L.parent=b,L.width=L.VScrollWidth,L.renderer=A,L.inner.style.width=L.element.style.width=(L.width||15)+"px",L.$minWidth=0,L}return R(VScrollBar,n),VScrollBar.prototype.onMouseDown=function(n,b){if("mousedown"===n&&0===E.getButton(b)&&2!==b.detail){if(b.target===this.inner){var A=this,L=b.clientY,R=b.clientY,D=this.thumbTop;E.capture(this.inner,(function(n){L=n.clientY}),(function(){clearInterval(B)}));var B=setInterval((function(){if(void 0!==L){var n=A.scrollTopFromThumbTop(D+L-R);n!==A.scrollTop&&A._emit("scroll",{data:n})}}),20);return E.preventDefault(b)}var X=b.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(X)}),E.preventDefault(b)}},VScrollBar.prototype.getHeight=function(){return this.height},VScrollBar.prototype.scrollTopFromThumbTop=function(n){var b=n*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return(b|=0)<0?b=0:b>this.pageHeight-this.viewHeight&&(b=this.pageHeight-this.viewHeight),b},VScrollBar.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},VScrollBar.prototype.setHeight=function(n){this.height=Math.max(0,n),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},VScrollBar.prototype.setScrollHeight=function(n,b){(this.pageHeight!==n||b)&&(this.pageHeight=n,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop})))},VScrollBar.prototype.setScrollTop=function(n){this.scrollTop=n,n<0&&(n=0),this.thumbTop=n*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},VScrollBar}($);V.prototype.setInnerHeight=V.prototype.setScrollHeight;var K=function(n){function HScrollBar(b,A){var L=n.call(this,b,"-h")||this;return L.scrollLeft=0,L.scrollWidth=0,L.height=L.HScrollHeight,L.inner.style.height=L.element.style.height=(L.height||12)+"px",L.renderer=A,L}return R(HScrollBar,n),HScrollBar.prototype.onMouseDown=function(n,b){if("mousedown"===n&&0===E.getButton(b)&&2!==b.detail){if(b.target===this.inner){var A=this,L=b.clientX,R=b.clientX,D=this.thumbLeft;E.capture(this.inner,(function(n){L=n.clientX}),(function(){clearInterval(B)}));var B=setInterval((function(){if(void 0!==L){var n=A.scrollLeftFromThumbLeft(D+L-R);n!==A.scrollLeft&&A._emit("scroll",{data:n})}}),20);return E.preventDefault(b)}var X=b.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(X)}),E.preventDefault(b)}},HScrollBar.prototype.getHeight=function(){return this.isVisible?this.height:0},HScrollBar.prototype.scrollLeftFromThumbLeft=function(n){var b=n*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return(b|=0)<0?b=0:b>this.pageWidth-this.viewWidth&&(b=this.pageWidth-this.viewWidth),b},HScrollBar.prototype.setWidth=function(n){this.width=Math.max(0,n),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},HScrollBar.prototype.setScrollWidth=function(n,b){(this.pageWidth!==n||b)&&(this.pageWidth=n,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft})))},HScrollBar.prototype.setScrollLeft=function(n){this.scrollLeft=n,n<0&&(n=0),this.thumbLeft=n*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},HScrollBar}($);K.prototype.setInnerWidth=K.prototype.setScrollWidth,b.ScrollBar=V,b.ScrollBarV=V,b.ScrollBarH=K,b.VScrollBar=V,b.HScrollBar=K})),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],(function(n,b,A){"use strict";var L=n("./lib/event"),R=function(){function RenderLoop(n,b){this.onRender=n,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=b||window;var A=this;this._flush=function(n){A.pending=!1;var b=A.changes;if(b&&(L.blockIdle(100),A.changes=0,A.onRender(b)),A.changes){if(A.$recursionLimit--<0)return;A.schedule()}else A.$recursionLimit=2}}return RenderLoop.prototype.schedule=function(n){this.changes=this.changes|n,this.changes&&!this.pending&&(L.nextFrame(this._flush),this.pending=!0)},RenderLoop.prototype.clear=function(n){var b=this.changes;return this.changes=0,b},RenderLoop}();b.RenderLoop=R})),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],(function(n,b,A){var L=n("../lib/oop"),R=n("../lib/dom"),D=n("../lib/lang"),B=n("../lib/event"),E=n("../lib/useragent"),X=n("../lib/event_emitter").EventEmitter,$=512,V="function"==typeof ResizeObserver,K=200,Q=function(){function FontMetrics(n){this.el=R.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=R.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=R.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),n.appendChild(this.el),this.$measureNode.textContent=D.stringRepeat("X",$),this.$characterSize={width:0,height:0},V?this.$addObserver():this.checkForSizeChanges()}return FontMetrics.prototype.$setMeasureNodeStyles=function(n,b){n.width=n.height="auto",n.left=n.top="0px",n.visibility="hidden",n.position="absolute",n.whiteSpace="pre",E.isIE<8?n["font-family"]="inherit":n.font="inherit",n.overflow=b?"hidden":"visible"},FontMetrics.prototype.checkForSizeChanges=function(n){if(void 0===n&&(n=this.$measureSizes()),n&&(this.$characterSize.width!==n.width||this.$characterSize.height!==n.height)){this.$measureNode.style.fontWeight="bold";var b=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=n,this.charSizes=Object.create(null),this.allowBoldFonts=b&&b.width===n.width&&b.height===n.height,this._emit("changeCharacterSize",{data:n})}},FontMetrics.prototype.$addObserver=function(){var n=this;this.$observer=new window.ResizeObserver((function(b){n.checkForSizeChanges()})),this.$observer.observe(this.$measureNode)},FontMetrics.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var n=this;return this.$pollSizeChangesTimer=B.onIdle((function cb(){n.checkForSizeChanges(),B.onIdle(cb,500)}),500)},FontMetrics.prototype.setPolling=function(n){n?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},FontMetrics.prototype.$measureSizes=function(n){var b={height:(n||this.$measureNode).clientHeight,width:(n||this.$measureNode).clientWidth/$};return 0===b.width||0===b.height?null:b},FontMetrics.prototype.$measureCharWidth=function(n){return this.$main.textContent=D.stringRepeat(n,$),this.$main.getBoundingClientRect().width/$},FontMetrics.prototype.getCharacterWidth=function(n){var b=this.charSizes[n];return void 0===b&&(b=this.charSizes[n]=this.$measureCharWidth(n)/this.$characterSize.width),b},FontMetrics.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},FontMetrics.prototype.$getZoom=function(n){return n&&n.parentElement?(Number(window.getComputedStyle(n).zoom)||1)*this.$getZoom(n.parentElement):1},FontMetrics.prototype.$initTransformMeasureNodes=function(){var t=function(n,b){return["div",{style:"position: absolute;top:"+n+"px;left:"+b+"px;"}]};this.els=R.buildDom([t(0,0),t(K,0),t(0,K),t(K,K)],this.el)},FontMetrics.prototype.transformCoordinates=function(n,b){n&&(n=mul(1/this.$getZoom(this.el),n));function solve(n,b,A){var L=n[1]*b[0]-n[0]*b[1];return[(-b[1]*A[0]+b[0]*A[1])/L,(+n[1]*A[0]-n[0]*A[1])/L]}function sub(n,b){return[n[0]-b[0],n[1]-b[1]]}function add(n,b){return[n[0]+b[0],n[1]+b[1]]}function mul(n,b){return[n*b[0],n*b[1]]}function p(n){var b=n.getBoundingClientRect();return[b.left,b.top]}this.els||this.$initTransformMeasureNodes();var A=p(this.els[0]),L=p(this.els[1]),R=p(this.els[2]),D=p(this.els[3]),B=solve(sub(D,L),sub(D,R),sub(add(L,R),add(D,A))),E=mul(1+B[0],sub(L,A)),X=mul(1+B[1],sub(R,A));if(b){var $=b,V=B[0]*$[0]/K+B[1]*$[1]/K+1,Q=add(mul($[0],E),mul($[1],X));return add(mul(1/V/K,Q),A)}var tt=sub(n,A),ot=solve(sub(E,mul(B[0],tt)),sub(X,mul(B[1],tt)),tt);return mul(K,ot)},FontMetrics}();Q.prototype.$characterSize={width:0,height:0},L.implement(Q.prototype,X),b.FontMetrics=Q})),ace.define("ace/css/editor-css",["require","exports","module"],(function(n,b,A){A.exports='\n.ace_br1 {border-top-left-radius : 3px;}\n.ace_br2 {border-top-right-radius : 3px;}\n.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}\n.ace_br4 {border-bottom-right-radius: 3px;}\n.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}\n.ace_br8 {border-bottom-left-radius : 3px;}\n.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n\n\n.ace_editor {\n position: relative;\n overflow: hidden;\n padding: 0;\n font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'Source Code Pro\', \'source-code-pro\', monospace;\n direction: ltr;\n text-align: left;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n forced-color-adjust: none;\n}\n\n.ace_scroller {\n position: absolute;\n overflow: hidden;\n top: 0;\n bottom: 0;\n background-color: inherit;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n cursor: text;\n}\n\n.ace_content {\n position: absolute;\n box-sizing: border-box;\n min-width: 100%;\n contain: style size layout;\n font-variant-ligatures: no-common-ligatures;\n}\n\n.ace_keyboard-focus:focus {\n box-shadow: inset 0 0 0 2px #5E9ED6;\n outline: none;\n}\n\n.ace_dragging .ace_scroller:before{\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n content: \'\';\n background: rgba(250, 250, 250, 0.01);\n z-index: 1000;\n}\n.ace_dragging.ace_dark .ace_scroller:before{\n background: rgba(0, 0, 0, 0.01);\n}\n\n.ace_gutter {\n position: absolute;\n overflow : hidden;\n width: auto;\n top: 0;\n bottom: 0;\n left: 0;\n cursor: default;\n z-index: 4;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n contain: style size layout;\n}\n\n.ace_gutter-active-line {\n position: absolute;\n left: 0;\n right: 0;\n}\n\n.ace_scroller.ace_scroll-left:after {\n content: "";\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;\n pointer-events: none;\n}\n\n.ace_gutter-cell, .ace_gutter-cell_svg-icons {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n padding-left: 19px;\n padding-right: 6px;\n background-repeat: no-repeat;\n}\n\n.ace_gutter-cell_svg-icons .ace_gutter_annotation {\n margin-left: -14px;\n float: left;\n}\n\n.ace_gutter-cell .ace_gutter_annotation {\n margin-left: -19px;\n float: left;\n}\n\n.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");\n}\n\n.ace_icon_svg.ace_error {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");\n background-color: crimson;\n}\n.ace_icon_svg.ace_security {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");\n background-color: crimson;\n}\n.ace_icon_svg.ace_warning {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");\n background-color: darkorange;\n}\n.ace_icon_svg.ace_info {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");\n background-color: royalblue;\n}\n.ace_icon_svg.ace_hint {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");\n background-color: silver;\n}\n\n.ace_icon_svg.ace_error_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");\n background-color: crimson;\n}\n.ace_icon_svg.ace_security_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");\n background-color: crimson;\n}\n.ace_icon_svg.ace_warning_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");\n background-color: darkorange;\n}\n\n.ace_scrollbar {\n contain: strict;\n position: absolute;\n right: 0;\n bottom: 0;\n z-index: 6;\n}\n\n.ace_scrollbar-inner {\n position: absolute;\n cursor: text;\n left: 0;\n top: 0;\n}\n\n.ace_scrollbar-v{\n overflow-x: hidden;\n overflow-y: scroll;\n top: 0;\n}\n\n.ace_scrollbar-h {\n overflow-x: scroll;\n overflow-y: hidden;\n left: 0;\n}\n\n.ace_print-margin {\n position: absolute;\n height: 100%;\n}\n\n.ace_text-input {\n position: absolute;\n z-index: 0;\n width: 0.5em;\n height: 1em;\n opacity: 0;\n background: transparent;\n -moz-appearance: none;\n appearance: none;\n border: none;\n resize: none;\n outline: none;\n overflow: hidden;\n font: inherit;\n padding: 0 1px;\n margin: 0 -1px;\n contain: strict;\n -ms-user-select: text;\n -moz-user-select: text;\n -webkit-user-select: text;\n user-select: text;\n /*with `pre-line` chrome inserts instead of space*/\n white-space: pre!important;\n}\n.ace_text-input.ace_composition {\n background: transparent;\n color: inherit;\n z-index: 1000;\n opacity: 1;\n}\n.ace_composition_placeholder { color: transparent }\n.ace_composition_marker { \n border-bottom: 1px solid;\n position: absolute;\n border-radius: 0;\n margin-top: 1px;\n}\n\n[ace_nocontext=true] {\n transform: none!important;\n filter: none!important;\n clip-path: none!important;\n mask : none!important;\n contain: none!important;\n perspective: none!important;\n mix-blend-mode: initial!important;\n z-index: auto;\n}\n\n.ace_layer {\n z-index: 1;\n position: absolute;\n overflow: hidden;\n /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/\n word-wrap: normal;\n white-space: pre;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n /* setting pointer-events: auto; on node under the mouse, which changes\n during scroll, will break mouse wheel scrolling in Safari */\n pointer-events: none;\n}\n\n.ace_gutter-layer {\n position: relative;\n width: auto;\n text-align: right;\n pointer-events: auto;\n height: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer {\n font: inherit !important;\n position: absolute;\n height: 1000000px;\n width: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {\n contain: style size layout;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n}\n\n.ace_hidpi .ace_text-layer,\n.ace_hidpi .ace_gutter-layer,\n.ace_hidpi .ace_content,\n.ace_hidpi .ace_gutter {\n contain: strict;\n}\n.ace_hidpi .ace_text-layer > .ace_line, \n.ace_hidpi .ace_text-layer > .ace_line_group {\n contain: strict;\n}\n\n.ace_cjk {\n display: inline-block;\n text-align: center;\n}\n\n.ace_cursor-layer {\n z-index: 4;\n}\n\n.ace_cursor {\n z-index: 4;\n position: absolute;\n box-sizing: border-box;\n border-left: 2px solid;\n /* workaround for smooth cursor repaintng whole screen in chrome */\n transform: translatez(0);\n}\n\n.ace_multiselect .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_slim-cursors .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_overwrite-cursors .ace_cursor {\n border-left-width: 0;\n border-bottom: 1px solid;\n}\n\n.ace_hidden-cursors .ace_cursor {\n opacity: 0.2;\n}\n\n.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {\n opacity: 0;\n}\n\n.ace_smooth-blinking .ace_cursor {\n transition: opacity 0.18s;\n}\n\n.ace_animate-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: step-end;\n animation-name: blink-ace-animate;\n animation-iteration-count: infinite;\n}\n\n.ace_animate-blinking.ace_smooth-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: ease-in-out;\n animation-name: blink-ace-animate-smooth;\n}\n \n@keyframes blink-ace-animate {\n from, to { opacity: 1; }\n 60% { opacity: 0; }\n}\n\n@keyframes blink-ace-animate-smooth {\n from, to { opacity: 1; }\n 45% { opacity: 1; }\n 60% { opacity: 0; }\n 85% { opacity: 0; }\n}\n\n.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\n position: absolute;\n z-index: 3;\n}\n\n.ace_marker-layer .ace_selection {\n position: absolute;\n z-index: 5;\n}\n\n.ace_marker-layer .ace_bracket {\n position: absolute;\n z-index: 6;\n}\n\n.ace_marker-layer .ace_error_bracket {\n position: absolute;\n border-bottom: 1px solid #DE5555;\n border-radius: 0;\n}\n\n.ace_marker-layer .ace_active-line {\n position: absolute;\n z-index: 2;\n}\n\n.ace_marker-layer .ace_selected-word {\n position: absolute;\n z-index: 4;\n box-sizing: border-box;\n}\n\n.ace_line .ace_fold {\n box-sizing: border-box;\n\n display: inline-block;\n height: 11px;\n margin-top: -2px;\n vertical-align: middle;\n\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");\n background-repeat: no-repeat, repeat-x;\n background-position: center center, top left;\n color: transparent;\n\n border: 1px solid black;\n border-radius: 2px;\n\n cursor: pointer;\n pointer-events: auto;\n}\n\n.ace_dark .ace_fold {\n}\n\n.ace_fold:hover{\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");\n}\n\n.ace_tooltip {\n background-color: #f5f5f5;\n border: 1px solid gray;\n border-radius: 1px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n color: black;\n max-width: 100%;\n padding: 3px 4px;\n position: fixed;\n z-index: 999999;\n box-sizing: border-box;\n cursor: default;\n white-space: pre-wrap;\n word-wrap: break-word;\n line-height: normal;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n pointer-events: none;\n overflow: auto;\n max-width: min(60em, 66vw);\n overscroll-behavior: contain;\n}\n.ace_tooltip pre {\n white-space: pre-wrap;\n}\n\n.ace_tooltip.ace_dark {\n background-color: #636363;\n color: #fff;\n}\n\n.ace_tooltip:focus {\n outline: 1px solid #5E9ED6;\n}\n\n.ace_icon {\n display: inline-block;\n width: 18px;\n vertical-align: top;\n}\n\n.ace_icon_svg {\n display: inline-block;\n width: 12px;\n vertical-align: top;\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-size: 12px;\n -webkit-mask-position: center;\n}\n\n.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {\n padding-right: 13px;\n}\n\n.ace_fold-widget {\n box-sizing: border-box;\n\n margin: 0 -12px 0 1px;\n display: none;\n width: 11px;\n vertical-align: top;\n\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: center;\n\n border-radius: 3px;\n \n border: 1px solid transparent;\n cursor: pointer;\n}\n\n.ace_folding-enabled .ace_fold-widget {\n display: inline-block; \n}\n\n.ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");\n}\n\n.ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");\n}\n\n.ace_fold-widget:hover {\n border: 1px solid rgba(0, 0, 0, 0.3);\n background-color: rgba(255, 255, 255, 0.2);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\n}\n\n.ace_fold-widget:active {\n border: 1px solid rgba(0, 0, 0, 0.4);\n background-color: rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\n}\n/**\n * Dark version for fold widgets\n */\n.ace_dark .ace_fold-widget {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");\n}\n.ace_dark .ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget:hover {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n background-color: rgba(255, 255, 255, 0.1);\n}\n.ace_dark .ace_fold-widget:active {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n}\n\n.ace_inline_button {\n border: 1px solid lightgray;\n display: inline-block;\n margin: -1px 8px;\n padding: 0 5px;\n pointer-events: auto;\n cursor: pointer;\n}\n.ace_inline_button:hover {\n border-color: gray;\n background: rgba(200,200,200,0.2);\n display: inline-block;\n pointer-events: auto;\n}\n\n.ace_fold-widget.ace_invalid {\n background-color: #FFB4B4;\n border-color: #DE5555;\n}\n\n.ace_fade-fold-widgets .ace_fold-widget {\n transition: opacity 0.4s ease 0.05s;\n opacity: 0;\n}\n\n.ace_fade-fold-widgets:hover .ace_fold-widget {\n transition: opacity 0.05s ease 0.05s;\n opacity:1;\n}\n\n.ace_underline {\n text-decoration: underline;\n}\n\n.ace_bold {\n font-weight: bold;\n}\n\n.ace_nobold .ace_bold {\n font-weight: normal;\n}\n\n.ace_italic {\n font-style: italic;\n}\n\n\n.ace_error-marker {\n background-color: rgba(255, 0, 0,0.2);\n position: absolute;\n z-index: 9;\n}\n\n.ace_highlight-marker {\n background-color: rgba(255, 255, 0,0.2);\n position: absolute;\n z-index: 8;\n}\n\n.ace_mobile-menu {\n position: absolute;\n line-height: 1.5;\n border-radius: 4px;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n background: white;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #dcdcdc;\n color: black;\n}\n.ace_dark > .ace_mobile-menu {\n background: #333;\n color: #ccc;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #444;\n\n}\n.ace_mobile-button {\n padding: 2px;\n cursor: pointer;\n overflow: hidden;\n}\n.ace_mobile-button:hover {\n background-color: #eee;\n opacity:1;\n}\n.ace_mobile-button:active {\n background-color: #ddd;\n}\n\n.ace_placeholder {\n position: relative;\n font-family: arial;\n transform: scale(0.9);\n transform-origin: left;\n white-space: pre;\n opacity: 0.7;\n margin: 0 10px;\n z-index: 1;\n}\n\n.ace_ghost_text {\n opacity: 0.5;\n font-style: italic;\n}\n\n.ace_ghost_text_container > div {\n white-space: pre;\n}\n\n.ghost_text_line_wrapped::after {\n content: "↩";\n position: absolute;\n}\n\n.ace_lineWidgetContainer.ace_ghost_text {\n margin: 0px 4px\n}\n\n.ace_screenreader-only {\n position:absolute;\n left:-10000px;\n top:auto;\n width:1px;\n height:1px;\n overflow:hidden;\n}\n\n.ace_hidden_token {\n display: none;\n}'})),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],(function(n,b,A){"use strict";var L=n("../lib/dom"),R=n("../lib/oop"),D=n("../lib/event_emitter").EventEmitter,B=function(){function Decorator(n,b){this.canvas=L.createElement("canvas"),this.renderer=b,this.pixelRatio=1,this.maxHeight=b.layerConfig.maxHeight,this.lineHeight=b.layerConfig.lineHeight,this.canvasHeight=n.parent.scrollHeight,this.heightRatio=this.canvasHeight/this.maxHeight,this.canvasWidth=n.width,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7px",this.canvas.style.position="absolute",this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},n.element.appendChild(this.canvas)}return Decorator.prototype.$updateDecorators=function(n){var b=!0===this.renderer.theme.isDark?this.colors.dark:this.colors.light;n&&(this.maxHeight=n.maxHeight,this.lineHeight=n.lineHeight,this.canvasHeight=n.height,(n.lastRow+1)*this.lineHeightb.priority?1:0}));for(var D=this.renderer.session.$foldData,B=0;Bthis.canvasHeight&&(Q=this.canvasHeight-this.halfMinDecorationHeight),V=Math.round(Q-this.halfMinDecorationHeight),K=Math.round(Q+this.halfMinDecorationHeight)}A.fillStyle=b[L[B].type]||null,A.fillRect(0,$,this.canvasWidth,K-V)}}var tt=this.renderer.session.selection.getCursor();if(tt){X=this.compensateFoldRows(tt.row,D),$=Math.round((tt.row-X)*this.lineHeight*this.heightRatio);A.fillStyle="rgba(0, 0, 0, 0.5)",A.fillRect(0,$,this.canvasWidth,2)}},Decorator.prototype.compensateFoldRows=function(n,b){var A=0;if(b&&b.length>0)for(var L=0;Lb[L].start.row&&n=b[L].end.row&&(A+=b[L].end.row-b[L].start.row);return A},Decorator}();R.implement(B.prototype,D),b.Decorator=B})),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/scrollbar_custom","ace/scrollbar_custom","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/css/editor-css","ace/layer/decorators","ace/lib/useragent","ace/layer/text_util"],(function(n,b,A){"use strict";var L=n("./lib/oop"),R=n("./lib/dom"),D=n("./lib/lang"),B=n("./config"),E=n("./layer/gutter").Gutter,X=n("./layer/marker").Marker,$=n("./layer/text").Text,V=n("./layer/cursor").Cursor,K=n("./scrollbar").HScrollBar,Q=n("./scrollbar").VScrollBar,tt=n("./scrollbar_custom").HScrollBar,ot=n("./scrollbar_custom").VScrollBar,nt=n("./renderloop").RenderLoop,it=n("./layer/font_metrics").FontMetrics,rt=n("./lib/event_emitter").EventEmitter,st=n("./css/editor-css"),pt=n("./layer/decorators").Decorator,lt=n("./lib/useragent"),ut=n("./layer/text_util").isTextToken;R.importCssString(st,"ace_editor.css",!1);var bt=function(){function VirtualRenderer(n,b){var A=this;this.container=n||R.createElement("div"),R.addCssClass(this.container,"ace_editor"),R.HI_DPI&&R.addCssClass(this.container,"ace_hidpi"),this.setTheme(b),null==B.get("useStrictCSP")&&B.set("useStrictCSP",!1),this.$gutter=R.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=R.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=R.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new E(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new X(this.content);var L=this.$textLayer=new $(this.content);this.canvas=L.element,this.$markerFront=new X(this.content),this.$cursorLayer=new V(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new Q(this.container,this),this.scrollBarH=new K(this.container,this),this.scrollBarV.on("scroll",(function(n){A.$scrollAnimation||A.session.setScrollTop(n.data-A.scrollMargin.top)})),this.scrollBarH.on("scroll",(function(n){A.$scrollAnimation||A.session.setScrollLeft(n.data-A.scrollMargin.left)})),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new it(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",(function(n){A.updateCharacterSize(),A.onResize(!0,A.gutterWidth,A.$size.width,A.$size.height),A._signal("changeCharacterSize",n)})),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!lt.isIOS,this.$loop=new nt(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),B.resetOptions(this),B._signal("renderer",this)}return VirtualRenderer.prototype.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),R.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},VirtualRenderer.prototype.setSession=function(n){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=n,n&&this.scrollMargin.top&&n.getScrollTop()<=0&&n.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(n),this.$markerBack.setSession(n),this.$markerFront.setSession(n),this.$gutterLayer.setSession(n),this.$textLayer.setSession(n),n&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},VirtualRenderer.prototype.updateLines=function(n,b,A){if(void 0===b&&(b=1/0),this.$changedLines?(this.$changedLines.firstRow>n&&(this.$changedLines.firstRow=n),this.$changedLines.lastRowthis.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},VirtualRenderer.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},VirtualRenderer.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},VirtualRenderer.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},VirtualRenderer.prototype.updateFull=function(n){n?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},VirtualRenderer.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},VirtualRenderer.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},VirtualRenderer.prototype.onResize=function(n,b,A,L){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=n?1:0;var R=this.container;L||(L=R.clientHeight||R.scrollHeight),!L&&this.$maxLines&&this.lineHeight>1&&(R.style.height&&"0px"!=R.style.height||(R.style.height="1px",L=R.clientHeight||R.scrollHeight)),A||(A=R.clientWidth||R.scrollWidth);var D=this.$updateCachedSize(n,b,A,L);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!A&&!L)return this.resizing=0;n&&(this.$gutterLayer.$padding=null),n?this.$renderChanges(D|this.$changes,!0):this.$loop.schedule(D|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},VirtualRenderer.prototype.$updateCachedSize=function(n,b,A,L){L-=this.$extraHeight||0;var D=0,B=this.$size,E={width:B.width,height:B.height,scrollerHeight:B.scrollerHeight,scrollerWidth:B.scrollerWidth};if(L&&(n||B.height!=L)&&(B.height=L,D|=this.CHANGE_SIZE,B.scrollerHeight=B.height,this.$horizScroll&&(B.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(B.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",D|=this.CHANGE_SCROLL),A&&(n||B.width!=A)){D|=this.CHANGE_SIZE,B.width=A,null==b&&(b=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=b,R.setStyle(this.scrollBarH.element.style,"left",b+"px"),R.setStyle(this.scroller.style,"left",b+this.margin.left+"px"),B.scrollerWidth=Math.max(0,A-b-this.scrollBarV.getWidth()-this.margin.h),R.setStyle(this.$gutter.style,"left",this.margin.left+"px");var X=this.scrollBarV.getWidth()+"px";R.setStyle(this.scrollBarH.element.style,"right",X),R.setStyle(this.scroller.style,"right",X),R.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(B.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||n)&&(D|=this.CHANGE_FULL)}return B.$dirty=!A||!L,D&&this._signal("resize",E),D},VirtualRenderer.prototype.onGutterResize=function(n){var b=this.$showGutter?n:0;b!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,b,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()||this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},VirtualRenderer.prototype.adjustWrapLimit=function(){var n=this.$size.scrollerWidth-2*this.$padding,b=Math.floor(n/this.characterWidth);return this.session.adjustWrapLimit(b,this.$showPrintMargin&&this.$printMarginColumn)},VirtualRenderer.prototype.setAnimatedScroll=function(n){this.setOption("animatedScroll",n)},VirtualRenderer.prototype.getAnimatedScroll=function(){return this.$animatedScroll},VirtualRenderer.prototype.setShowInvisibles=function(n){this.setOption("showInvisibles",n),this.session.$bidiHandler.setShowInvisibles(n)},VirtualRenderer.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},VirtualRenderer.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},VirtualRenderer.prototype.setDisplayIndentGuides=function(n){this.setOption("displayIndentGuides",n)},VirtualRenderer.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},VirtualRenderer.prototype.setHighlightIndentGuides=function(n){this.setOption("highlightIndentGuides",n)},VirtualRenderer.prototype.setShowPrintMargin=function(n){this.setOption("showPrintMargin",n)},VirtualRenderer.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},VirtualRenderer.prototype.setPrintMarginColumn=function(n){this.setOption("printMarginColumn",n)},VirtualRenderer.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},VirtualRenderer.prototype.getShowGutter=function(){return this.getOption("showGutter")},VirtualRenderer.prototype.setShowGutter=function(n){return this.setOption("showGutter",n)},VirtualRenderer.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},VirtualRenderer.prototype.setFadeFoldWidgets=function(n){this.setOption("fadeFoldWidgets",n)},VirtualRenderer.prototype.setHighlightGutterLine=function(n){this.setOption("highlightGutterLine",n)},VirtualRenderer.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},VirtualRenderer.prototype.$updatePrintMargin=function(){if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){var n=R.createElement("div");n.className="ace_layer ace_print-margin-layer",this.$printMarginEl=R.createElement("div"),this.$printMarginEl.className="ace_print-margin",n.appendChild(this.$printMarginEl),this.content.insertBefore(n,this.content.firstChild)}var b=this.$printMarginEl.style;b.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",b.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&-1==this.session.$wrap&&this.adjustWrapLimit()}},VirtualRenderer.prototype.getContainerElement=function(){return this.container},VirtualRenderer.prototype.getMouseEventTarget=function(){return this.scroller},VirtualRenderer.prototype.getTextAreaContainer=function(){return this.container},VirtualRenderer.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var n=this.textarea.style,b=this.$composition;if(this.$keepTextAreaAtCursor||b){var A=this.$cursorLayer.$pixelPos;if(A){b&&b.markerRange&&(A=this.$cursorLayer.getPixelPosition(b.markerRange.start,!0));var L=this.layerConfig,D=A.top,B=A.left;D-=L.offset;var E=b&&b.useTextareaForIME||lt.isMobile?this.lineHeight:1;if(D<0||D>L.height-E)R.translate(this.textarea,0,0);else{var X=1,$=this.$size.height-E;if(b)if(b.useTextareaForIME){var V=this.textarea.value;X=this.characterWidth*this.session.$getStringScreenWidth(V)[0]}else D+=this.lineHeight+2;else D+=this.lineHeight;(B-=this.scrollLeft)>this.$size.scrollerWidth-X&&(B=this.$size.scrollerWidth-X),B+=this.gutterWidth+this.margin.left,R.setStyle(n,"height",E+"px"),R.setStyle(n,"width",X+"px"),R.translate(this.textarea,Math.min(B,this.$size.scrollerWidth-X),Math.min(D,$))}}}else R.translate(this.textarea,-100,0)}},VirtualRenderer.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},VirtualRenderer.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},VirtualRenderer.prototype.getLastFullyVisibleRow=function(){var n=this.layerConfig,b=n.lastRow;return this.session.documentToScreenRow(b,0)*n.lineHeight-this.session.getScrollTop()>n.height-n.lineHeight?b-1:b},VirtualRenderer.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},VirtualRenderer.prototype.setPadding=function(n){this.$padding=n,this.$textLayer.setPadding(n),this.$cursorLayer.setPadding(n),this.$markerFront.setPadding(n),this.$markerBack.setPadding(n),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},VirtualRenderer.prototype.setScrollMargin=function(n,b,A,L){var R=this.scrollMargin;R.top=0|n,R.bottom=0|b,R.right=0|L,R.left=0|A,R.v=R.top+R.bottom,R.h=R.left+R.right,R.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-R.top),this.updateFull()},VirtualRenderer.prototype.setMargin=function(n,b,A,L){var R=this.margin;R.top=0|n,R.bottom=0|b,R.right=0|L,R.left=0|A,R.v=R.top+R.bottom,R.h=R.left+R.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},VirtualRenderer.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},VirtualRenderer.prototype.setHScrollBarAlwaysVisible=function(n){this.setOption("hScrollBarAlwaysVisible",n)},VirtualRenderer.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},VirtualRenderer.prototype.setVScrollBarAlwaysVisible=function(n){this.setOption("vScrollBarAlwaysVisible",n)},VirtualRenderer.prototype.$updateScrollBarV=function(){var n=this.layerConfig.maxHeight,b=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(n-=(b-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>n-b&&(n=this.scrollTop+b,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(n+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},VirtualRenderer.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},VirtualRenderer.prototype.freeze=function(){this.$frozen=!0},VirtualRenderer.prototype.unfreeze=function(){this.$frozen=!1},VirtualRenderer.prototype.$renderChanges=function(n,b){if(this.$changes&&(n|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&(n||b)){if(this.$size.$dirty)return this.$changes|=n,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",n),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var A=this.layerConfig;if(n&this.CHANGE_FULL||n&this.CHANGE_SIZE||n&this.CHANGE_TEXT||n&this.CHANGE_LINES||n&this.CHANGE_SCROLL||n&this.CHANGE_H_SCROLL){if(n|=this.$computeLayerConfig()|this.$loop.clear(),A.firstRow!=this.layerConfig.firstRow&&A.firstRowScreen==this.layerConfig.firstRowScreen){var L=this.scrollTop+(A.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;L>0&&(this.scrollTop=L,n|=this.CHANGE_SCROLL,n|=this.$computeLayerConfig()|this.$loop.clear())}A=this.layerConfig,this.$updateScrollBarV(),n&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),R.translate(this.content,-this.scrollLeft,-A.offset);var D=A.width+2*this.$padding+"px",B=A.minHeight+"px";R.setStyle(this.content.style,"width",D),R.setStyle(this.content.style,"height",B)}if(n&this.CHANGE_H_SCROLL&&(R.translate(this.content,-this.scrollLeft,-A.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),n&this.CHANGE_FULL)return this.$changedLines=null,this.$textLayer.update(A),this.$showGutter&&this.$gutterLayer.update(A),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(A),this.$markerBack.update(A),this.$markerFront.update(A),this.$cursorLayer.update(A),this.$moveTextAreaToCursor(),void this._signal("afterRender",n);if(n&this.CHANGE_SCROLL)return this.$changedLines=null,n&this.CHANGE_TEXT||n&this.CHANGE_LINES?this.$textLayer.update(A):this.$textLayer.scrollLines(A),this.$showGutter&&(n&this.CHANGE_GUTTER||n&this.CHANGE_LINES?this.$gutterLayer.update(A):this.$gutterLayer.scrollLines(A)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(A),this.$markerBack.update(A),this.$markerFront.update(A),this.$cursorLayer.update(A),this.$moveTextAreaToCursor(),void this._signal("afterRender",n);n&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(A),this.$showGutter&&this.$gutterLayer.update(A),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(A)):n&this.CHANGE_LINES?((this.$updateLines()||n&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(A),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(A)):n&this.CHANGE_TEXT||n&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(A),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(A)):n&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(A),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(A)),n&this.CHANGE_CURSOR&&(this.$cursorLayer.update(A),this.$moveTextAreaToCursor()),n&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(A),n&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(A),this._signal("afterRender",n)}else this.$changes|=n},VirtualRenderer.prototype.$autosize=function(){var n=this.session.getScreenLength()*this.lineHeight,b=this.$maxLines*this.lineHeight,A=Math.min(b,Math.max((this.$minLines||1)*this.lineHeight,n))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(A+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&A>this.$maxPixelHeight&&(A=this.$maxPixelHeight);var L=!(A<=2*this.lineHeight)&&n>b;if(A!=this.desiredHeight||this.$size.height!=this.desiredHeight||L!=this.$vScroll){L!=this.$vScroll&&(this.$vScroll=L,this.scrollBarV.setVisible(L));var R=this.container.clientWidth;this.container.style.height=A+"px",this.$updateCachedSize(!0,this.$gutterWidth,R,A),this.desiredHeight=A,this._signal("autosize")}},VirtualRenderer.prototype.$computeLayerConfig=function(){var n=this.session,b=this.$size,A=b.height<=2*this.lineHeight,L=this.session.getScreenLength()*this.lineHeight,R=this.$getLongestLine(),D=!A&&(this.$hScrollBarAlwaysVisible||b.scrollerWidth-R-2*this.$padding<0),B=this.$horizScroll!==D;B&&(this.$horizScroll=D,this.scrollBarH.setVisible(D));var E=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var X=b.scrollerHeight+this.lineHeight,$=!this.$maxLines&&this.$scrollPastEnd?(b.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;L+=$;var V=this.scrollMargin;this.session.setScrollTop(Math.max(-V.top,Math.min(this.scrollTop,L-b.scrollerHeight+V.bottom))),this.session.setScrollLeft(Math.max(-V.left,Math.min(this.scrollLeft,R+2*this.$padding-b.scrollerWidth+V.right)));var K=!A&&(this.$vScrollBarAlwaysVisible||b.scrollerHeight-L+$<0||this.scrollTop>V.top),Q=E!==K;Q&&(this.$vScroll=K,this.scrollBarV.setVisible(K));var tt,ot,nt=this.scrollTop%this.lineHeight,it=Math.ceil(X/this.lineHeight)-1,rt=Math.max(0,Math.round((this.scrollTop-nt)/this.lineHeight)),st=rt+it,pt=this.lineHeight;rt=n.screenToDocumentRow(rt,0);var lt=n.getFoldLine(rt);lt&&(rt=lt.start.row),tt=n.documentToScreenRow(rt,0),ot=n.getRowLength(rt)*pt,st=Math.min(n.screenToDocumentRow(st,0),n.getLength()-1),X=b.scrollerHeight+n.getRowLength(st)*pt+ot,nt=this.scrollTop-tt*pt;var ut=0;return(this.layerConfig.width!=R||B)&&(ut=this.CHANGE_H_SCROLL),(B||Q)&&(ut|=this.$updateCachedSize(!0,this.gutterWidth,b.width,b.height),this._signal("scrollbarVisibilityChanged"),Q&&(R=this.$getLongestLine())),this.layerConfig={width:R,padding:this.$padding,firstRow:rt,firstRowScreen:tt,lastRow:st,lineHeight:pt,characterWidth:this.characterWidth,minHeight:X,maxHeight:L,offset:nt,gutterOffset:pt?Math.max(0,Math.ceil((nt+b.height-b.scrollerHeight)/pt)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(R-this.$padding),ut},VirtualRenderer.prototype.$updateLines=function(){if(this.$changedLines){var n=this.$changedLines.firstRow,b=this.$changedLines.lastRow;this.$changedLines=null;var A=this.layerConfig;if(!(n>A.lastRow+1||bthis.$textLayer.MAX_LINE_LENGTH&&(n=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(n*this.characterWidth))},VirtualRenderer.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},VirtualRenderer.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},VirtualRenderer.prototype.addGutterDecoration=function(n,b){this.$gutterLayer.addGutterDecoration(n,b)},VirtualRenderer.prototype.removeGutterDecoration=function(n,b){this.$gutterLayer.removeGutterDecoration(n,b)},VirtualRenderer.prototype.updateBreakpoints=function(n){this._rows=n,this.$loop.schedule(this.CHANGE_GUTTER)},VirtualRenderer.prototype.setAnnotations=function(n){this.$gutterLayer.setAnnotations(n),this.$loop.schedule(this.CHANGE_GUTTER)},VirtualRenderer.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},VirtualRenderer.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},VirtualRenderer.prototype.showCursor=function(){this.$cursorLayer.showCursor()},VirtualRenderer.prototype.scrollSelectionIntoView=function(n,b,A){this.scrollCursorIntoView(n,A),this.scrollCursorIntoView(b,A)},VirtualRenderer.prototype.scrollCursorIntoView=function(n,b,A){if(0!==this.$size.scrollerHeight){var L=this.$cursorLayer.getPixelPosition(n),R=L.left,D=L.top,B=A&&A.top||0,E=A&&A.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var X=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;X+B>D?(b&&X+B>D+this.lineHeight&&(D-=b*this.$size.scrollerHeight),0===D&&(D=-this.scrollMargin.top),this.session.setScrollTop(D)):X+this.$size.scrollerHeight-E=1-this.scrollMargin.top||(b>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||(n<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||(n>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right||void 0)))},VirtualRenderer.prototype.pixelToScreenCoordinates=function(n,b){var A;if(this.$hasCssTransforms){A={top:0,left:0};var L=this.$fontMetrics.transformCoordinates([n,b]);n=L[1]-this.gutterWidth-this.margin.left,b=L[0]}else A=this.scroller.getBoundingClientRect();var R=n+this.scrollLeft-A.left-this.$padding,D=R/this.characterWidth,B=Math.floor((b+this.scrollTop-A.top)/this.lineHeight),E=this.$blockCursor?Math.floor(D):Math.round(D);return{row:B,column:E,side:D-E>0?1:-1,offsetX:R}},VirtualRenderer.prototype.screenToTextCoordinates=function(n,b){var A;if(this.$hasCssTransforms){A={top:0,left:0};var L=this.$fontMetrics.transformCoordinates([n,b]);n=L[1]-this.gutterWidth-this.margin.left,b=L[0]}else A=this.scroller.getBoundingClientRect();var R=n+this.scrollLeft-A.left-this.$padding,D=R/this.characterWidth,B=this.$blockCursor?Math.floor(D):Math.round(D),E=Math.floor((b+this.scrollTop-A.top)/this.lineHeight);return this.session.screenToDocumentPosition(E,Math.max(B,0),R)},VirtualRenderer.prototype.textToScreenCoordinates=function(n,b){var A=this.scroller.getBoundingClientRect(),L=this.session.documentToScreenPosition(n,b),R=this.$padding+(this.session.$bidiHandler.isBidiRow(L.row,n)?this.session.$bidiHandler.getPosLeft(L.column):Math.round(L.column*this.characterWidth)),D=L.row*this.lineHeight;return{pageX:A.left+R-this.scrollLeft,pageY:A.top+D-this.scrollTop}},VirtualRenderer.prototype.visualizeFocus=function(){R.addCssClass(this.container,"ace_focus")},VirtualRenderer.prototype.visualizeBlur=function(){R.removeCssClass(this.container,"ace_focus")},VirtualRenderer.prototype.showComposition=function(n){this.$composition=n,n.cssText||(n.cssText=this.textarea.style.cssText),null==n.useTextareaForIME&&(n.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(R.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):n.markerId=this.session.addMarker(n.markerRange,"ace_composition_marker","text")},VirtualRenderer.prototype.setCompositionText=function(n){var b=this.session.selection.cursor;this.addToken(n,"composition_placeholder",b.row,b.column),this.$moveTextAreaToCursor()},VirtualRenderer.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),R.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var n=this.session.selection.cursor;this.removeExtraToken(n.row,n.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},VirtualRenderer.prototype.setGhostText=function(n,b){var A=this.session.selection.cursor,L=b||{row:A.row,column:A.column};this.removeGhostText();var D=this.$calculateWrappedTextChunks(n,L);this.addToken(D[0].text,"ghost_text",L.row,L.column),this.$ghostText={text:n,position:{row:L.row,column:L.column}};var B=R.createElement("div");if(D.length>1){var E,X=this.hideTokensAfterPosition(L.row,L.column);D.slice(1).forEach((function(n){var b=R.createElement("div"),A=R.createElement("span");A.className="ace_ghost_text",n.wrapped&&(b.className="ghost_text_line_wrapped"),0===n.text.length&&(n.text=" "),A.appendChild(R.createTextNode(n.text)),b.appendChild(A),B.appendChild(b),E=b})),X.forEach((function(n){var b=R.createElement("span");ut(n.type)||(b.className="ace_"+n.type.replace(/\./g," ace_")),b.appendChild(R.createTextNode(n.value)),E.appendChild(b)})),this.$ghostTextWidget={el:B,row:L.row,column:L.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var $=this.$cursorLayer.getPixelPosition(L,!0),V=this.container.getBoundingClientRect().height,K=D.length*this.lineHeight;if(K0){var $=0;X.push(R[B].length);for(var V=0;V1||Math.abs(n.$size.height-L)>1?n.$resizeTimer.delay():n.$resizeTimer.cancel()})),this.$resizeObserver.observe(this.container)}},VirtualRenderer}();bt.prototype.CHANGE_CURSOR=1,bt.prototype.CHANGE_MARKER=2,bt.prototype.CHANGE_GUTTER=4,bt.prototype.CHANGE_SCROLL=8,bt.prototype.CHANGE_LINES=16,bt.prototype.CHANGE_TEXT=32,bt.prototype.CHANGE_SIZE=64,bt.prototype.CHANGE_MARKER_BACK=128,bt.prototype.CHANGE_MARKER_FRONT=256,bt.prototype.CHANGE_FULL=512,bt.prototype.CHANGE_H_SCROLL=1024,bt.prototype.$changes=0,bt.prototype.$padding=null,bt.prototype.$frozen=!1,bt.prototype.STEPS=8,L.implement(bt.prototype,rt),B.defineOptions(bt.prototype,"renderer",{useResizeObserver:{set:function(n){!n&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):n&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(n){this.$textLayer.setShowInvisibles(n)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(n){"number"==typeof n&&(this.$printMarginColumn=n),this.$showPrintMargin=!!n,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(n){this.$gutter.style.display=n?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(n){this.$gutterLayer.$useSvgGutterIcons=n},initialValue:!1},showFoldedAnnotations:{set:function(n){this.$gutterLayer.$showFoldedAnnotations=n},initialValue:!1},fadeFoldWidgets:{set:function(n){R.setCssClass(this.$gutter,"ace_fade-fold-widgets",n)},initialValue:!1},showFoldWidgets:{set:function(n){this.$gutterLayer.setShowFoldWidgets(n),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(n){this.$textLayer.setDisplayIndentGuides(n)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(n){1==this.$textLayer.setHighlightIndentGuides(n)?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(n){this.$gutterLayer.setHighlightGutterLine(n),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(n){this.$hScrollBarAlwaysVisible&&this.$horizScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(n){this.$vScrollBarAlwaysVisible&&this.$vScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(n){"number"==typeof n&&(n+="px"),this.container.style.fontSize=n,this.updateFontSize()},initialValue:12},fontFamily:{set:function(n){this.container.style.fontFamily=n,this.updateFontSize()}},maxLines:{set:function(n){this.updateFull()}},minLines:{set:function(n){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(n){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(n){n=+n||0,this.$scrollPastEnd!=n&&(this.$scrollPastEnd=n,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(n){this.$gutterLayer.$fixedWidth=!!n,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(n){this.$updateCustomScrollbar(n)},initialValue:!1},theme:{set:function(n){this.setTheme(n)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!lt.isMobile&&!lt.isIE}}),b.VirtualRenderer=bt})),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],(function(n,b,A){"use strict";var L=n("../lib/oop"),R=n("../lib/net"),D=n("../lib/event_emitter").EventEmitter,B=n("../config");function createWorker(n){if("undefined"==typeof Worker)return{postMessage:function(){},terminate:function(){}};if(B.get("loadWorkerFromBlob")){var b=function $workerBlob(n){var b="importScripts('"+R.qualifyURL(n)+"');";try{return new Blob([b],{type:"application/javascript"})}catch(n){var A=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);return A.append(b),A.getBlob("application/javascript")}}(n),A=(window.URL||window.webkitURL).createObjectURL(b);return new Worker(A)}return new Worker(n)}var WorkerClient=function(n){n.postMessage||(n=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=n,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){L.implement(this,D),this.$createWorkerFromOldConfig=function(b,A,L,R,D){if(n.nameToUrl&&!n.toUrl&&(n.toUrl=n.nameToUrl),B.get("packaged")||!n.toUrl)R=R||B.moduleUrl(A,"worker");else{var E=this.$normalizePath;R=R||E(n.toUrl("ace/worker/worker.js",null,"_"));var X={};b.forEach((function(b){X[b]=E(n.toUrl(b,null,"_").replace(/(\.js)?(\?.*)?$/,""))}))}return this.$worker=createWorker(R),D&&this.send("importScripts",D),this.$worker.postMessage({init:!0,tlns:X,module:A,classname:L}),this.$worker},this.onMessage=function(n){var b=n.data;switch(b.type){case"event":this._signal(b.name,{data:b.data});break;case"call":var A=this.callbacks[b.id];A&&(A(b.data),delete this.callbacks[b.id]);break;case"error":this.reportError(b.data);break;case"log":window.console&&console.log&&console.log.apply(console,b.data)}},this.reportError=function(n){window.console&&console.error&&console.error(n)},this.$normalizePath=function(n){return R.qualifyURL(n)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(n){n.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(n,b){this.$worker.postMessage({command:n,args:b})},this.call=function(n,b,A){if(A){var L=this.callbackId++;this.callbacks[L]=A,b.push(L)}this.send(n,b)},this.emit=function(n,b){try{b.data&&b.data.err&&(b.data.err={message:b.data.err.message,stack:b.data.err.stack,code:b.data.err.code}),this.$worker&&this.$worker.postMessage({event:n,data:{data:b.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(n){this.$doc&&this.terminate(),this.$doc=n,this.call("setValue",[n.getValue()]),n.on("change",this.changeListener,!0)},this.changeListener=function(n){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),"insert"==n.action?this.deltaQueue.push(n.start,n.lines):this.deltaQueue.push(n.start,n.end)},this.$sendDeltaQueue=function(){var n=this.deltaQueue;n&&(this.deltaQueue=null,n.length>50&&n.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:n}))}}).call(WorkerClient.prototype);b.UIWorkerClient=function(n,b,A){var L=null,R=!1,E=Object.create(D),X=[],$=new WorkerClient({messageBuffer:X,terminate:function(){},postMessage:function(n){X.push(n),L&&(R?setTimeout(processNext):processNext())}});$.setEmitSync=function(n){R=n};var processNext=function(){var n=X.shift();n.command?L[n.command].apply(L,n.args):n.event&&E._signal(n.event,n.data)};return E.postMessage=function(n){$.onMessage({data:n})},E.callback=function(n,b){this.postMessage({type:"call",id:b,data:n})},E.emit=function(n,b){this.postMessage({type:"event",name:n,data:b})},B.loadModule(["worker",b],(function(n){for(L=new n[A](E);X.length;)processNext()})),$},b.WorkerClient=WorkerClient,b.createWorker=createWorker})),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],(function(n,b,A){"use strict";var L=n("./range").Range,R=n("./lib/event_emitter").EventEmitter,D=n("./lib/oop"),B=function(){function PlaceHolder(n,b,A,L,R,D){var B=this;this.length=b,this.session=n,this.doc=n.getDocument(),this.mainClass=R,this.othersClass=D,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=L,this.$onCursorChange=function(){setTimeout((function(){B.onCursorChange()}))},this.$pos=A;var E=n.getUndoManager().$undoStack||n.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=E.length,this.setup(),n.selection.on("changeCursor",this.$onCursorChange)}return PlaceHolder.prototype.setup=function(){var n=this,b=this.doc,A=this.session;this.selectionBefore=A.selection.toJSON(),A.selection.inMultiSelectMode&&A.selection.toSingleRange(),this.pos=b.createAnchor(this.$pos.row,this.$pos.column);var R=this.pos;R.$insertRight=!0,R.detach(),R.markerId=A.addMarker(new L(R.row,R.column,R.row,R.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach((function(A){var L=b.createAnchor(A.row,A.column);L.$insertRight=!0,L.detach(),n.others.push(L)})),A.setUndoSelect(!1)},PlaceHolder.prototype.showOtherMarkers=function(){if(!this.othersActive){var n=this.session,b=this;this.othersActive=!0,this.others.forEach((function(A){A.markerId=n.addMarker(new L(A.row,A.column,A.row,A.column+b.length),b.othersClass,null,!1)}))}},PlaceHolder.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var n=0;n=this.pos.column&&b.start.column<=this.pos.column+this.length+1,D=b.start.column-this.pos.column;if(this.updateAnchors(n),R&&(this.length+=A),R&&!this.session.$fromUndo)if("insert"===n.action)for(var B=this.others.length-1;B>=0;B--){var E={row:(X=this.others[B]).row,column:X.column+D};this.doc.insertMergedLines(E,n.lines)}else if("remove"===n.action)for(B=this.others.length-1;B>=0;B--){var X;E={row:(X=this.others[B]).row,column:X.column+D};this.doc.remove(new L(E.row,E.column,E.row,E.column-A))}this.$updating=!1,this.updateMarkers()}},PlaceHolder.prototype.updateAnchors=function(n){this.pos.onChange(n);for(var b=this.others.length;b--;)this.others[b].onChange(n);this.updateMarkers()},PlaceHolder.prototype.updateMarkers=function(){if(!this.$updating){var n=this,b=this.session,updateMarker=function(A,R){b.removeMarker(A.markerId),A.markerId=b.addMarker(new L(A.row,A.column,A.row,A.column+n.length),R,null,!1)};updateMarker(this.pos,this.mainClass);for(var A=this.others.length;A--;)updateMarker(this.others[A],this.othersClass)}},PlaceHolder.prototype.onCursorChange=function(n){if(!this.$updating&&this.session){var b=this.session.selection.getCursor();b.row===this.pos.row&&b.column>=this.pos.column&&b.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",n)):(this.hideOtherMarkers(),this._emit("cursorLeave",n))}},PlaceHolder.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},PlaceHolder.prototype.cancel=function(){if(-1!==this.$undoStackDepth){for(var n=this.session.getUndoManager(),b=(n.$undoStack||n.$undostack).length-this.$undoStackDepth,A=0;A1?n.multiSelect.joinSelections():n.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(n){n.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(n){n.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(n){n.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],b.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(n){n.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(n){return n&&n.inMultiSelectMode}}];var L=n("../keyboard/hash_handler").HashHandler;b.keyboardHandler=new L(b.multiSelectCommands)})),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],(function(n,b,A){var L=n("./range_list").RangeList,R=n("./range").Range,D=n("./selection").Selection,B=n("./mouse/multi_select_handler").onMouseDown,E=n("./lib/event"),X=n("./lib/lang"),$=n("./commands/multi_select_commands");b.commands=$.defaultCommands.concat($.multiSelectCommands);var V=new(0,n("./search").Search);var K=n("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(K.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(n,b){if(n){if(!this.inMultiSelectMode&&0===this.rangeCount){var A=this.toOrientedRange();if(this.rangeList.add(A),this.rangeList.add(n),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),b||this.fromOrientedRange(n);this.rangeList.removeAll(),this.rangeList.add(A),this.$onAddRange(A)}n.cursor||(n.cursor=n.end);var L=this.rangeList.add(n);return this.$onAddRange(n),L.length&&this.$onRemoveRange(L),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),b||this.fromOrientedRange(n)}},this.toSingleRange=function(n){n=n||this.ranges[0];var b=this.rangeList.removeAll();b.length&&this.$onRemoveRange(b),n&&this.fromOrientedRange(n)},this.substractPoint=function(n){var b=this.rangeList.substractPoint(n);if(b)return this.$onRemoveRange(b),b[0]},this.mergeOverlappingRanges=function(){var n=this.rangeList.merge();n.length&&this.$onRemoveRange(n)},this.$onAddRange=function(n){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(n),this._signal("addRange",{range:n})},this.$onRemoveRange=function(n){if(this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode){var b=this.rangeList.ranges.pop();n.push(b),this.rangeCount=0}for(var A=n.length;A--;){var L=this.ranges.indexOf(n[A]);this.ranges.splice(L,1)}this._signal("removeRange",{ranges:n}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),(b=b||this.ranges[0])&&!b.isEqual(this.getRange())&&this.fromOrientedRange(b)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new L,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var n=this.ranges.length?this.ranges:[this.getRange()],b=[],A=0;A1){var n=this.rangeList.ranges,b=n[n.length-1],A=R.fromPoints(n[0].start,b.end);this.toSingleRange(),this.setSelectionRange(A,b.cursor==b.start)}else{var L=this.session.documentToScreenPosition(this.cursor),D=this.session.documentToScreenPosition(this.anchor);this.rectangularRangeBlock(L,D).forEach(this.addRange,this)}},this.rectangularRangeBlock=function(n,b,A){var L=[],D=n.column0;)st--;if(st>0)for(var pt=0;L[pt].isEmpty();)pt++;for(var lt=st;lt>=pt;lt--)L[lt].isEmpty()&&L.splice(lt,1)}return L}}.call(D.prototype);var Q=n("./editor").Editor;function MultiSelect(n){n.$multiselectOnSessionChange||(n.$onAddRange=n.$onAddRange.bind(n),n.$onRemoveRange=n.$onRemoveRange.bind(n),n.$onMultiSelect=n.$onMultiSelect.bind(n),n.$onSingleSelect=n.$onSingleSelect.bind(n),n.$multiselectOnSessionChange=b.onSessionChange.bind(n),n.$checkMultiselectChange=n.$checkMultiselectChange.bind(n),n.$multiselectOnSessionChange(n),n.on("changeSession",n.$multiselectOnSessionChange),n.on("mousedown",B),n.commands.addCommands($.defaultCommands),function addAltCursorListeners(n){if(!n.textInput)return;var b=n.textInput.getElement(),A=!1;function reset(b){A&&(n.renderer.setMouseCursor(""),A=!1)}E.addListener(b,"keydown",(function(b){var L=18==b.keyCode&&!(b.ctrlKey||b.shiftKey||b.metaKey);n.$blockSelectEnabled&&L?A||(n.renderer.setMouseCursor("crosshair"),A=!0):A&&reset()}),n),E.addListener(b,"keyup",reset,n),E.addListener(b,"blur",reset,n)}(n))}(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(n){n.cursor||(n.cursor=n.end);var b=this.getSelectionStyle();return n.marker=this.session.addMarker(n,"ace_selection",b),this.session.$selectionMarkers.push(n),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,n},this.removeSelectionMarker=function(n){if(n.marker){this.session.removeMarker(n.marker);var b=this.session.$selectionMarkers.indexOf(n);-1!=b&&this.session.$selectionMarkers.splice(b,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(n){for(var b=this.session.$selectionMarkers,A=n.length;A--;){var L=n[A];if(L.marker){this.session.removeMarker(L.marker);var R=b.indexOf(L);-1!=R&&b.splice(R,1)}}this.session.selectionMarkerCount=b.length},this.$onAddRange=function(n){this.addSelectionMarker(n.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(n){this.removeSelectionMarkers(n.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(n){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler($.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(n){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler($.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(n){var b=n.command,A=n.editor;if(A.multiSelect){if(b.multiSelectAction)"forEach"==b.multiSelectAction?L=A.forEachSelection(b,n.args):"forEachLine"==b.multiSelectAction?L=A.forEachSelection(b,n.args,!0):"single"==b.multiSelectAction?(A.exitMultiSelectMode(),L=b.exec(A,n.args||{})):L=b.multiSelectAction(A,n.args||{});else{var L=b.exec(A,n.args||{});A.multiSelect.addRange(A.multiSelect.toOrientedRange()),A.multiSelect.mergeOverlappingRanges()}return L}},this.forEachSelection=function(n,b,A){if(!this.inVirtualSelectionMode){var L,R=A&&A.keepOrder,B=1==A||A&&A.$byLines,E=this.session,X=this.selection,$=X.rangeList,V=(R?X:$).ranges;if(!V.length)return n.exec?n.exec(this,b||{}):n(this,b||{});var K=X._eventRegistry;X._eventRegistry={};var Q=new D(E);this.inVirtualSelectionMode=!0;for(var tt=V.length;tt--;){if(B)for(;tt>0&&V[tt].start.row==V[tt-1].end.row;)tt--;Q.fromOrientedRange(V[tt]),Q.index=tt,this.selection=E.selection=Q;var ot=n.exec?n.exec(this,b||{}):n(this,b||{});L||void 0===ot||(L=ot),Q.toOrientedRange(V[tt])}Q.detach(),this.selection=E.selection=X,this.inVirtualSelectionMode=!1,X._eventRegistry=K,X.mergeOverlappingRanges(),X.ranges[0]&&X.fromOrientedRange(X.ranges[0]);var nt=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),nt&&nt.from==nt.to&&this.renderer.animateScrolling(nt.from),L}},this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()},this.getSelectedText=function(){var n="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var b=this.multiSelect.rangeList.ranges,A=[],L=0;LB&&(B=A.column),LV?n.insert(L,X.stringRepeat(" ",D-V)):n.remove(new R(L.row,L.column,L.row,L.column-D+V)),b.start.column=b.end.column=B,b.start.row=b.end.row=L.row,b.cursor=b.end})),b.fromOrientedRange(A[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var V=this.selection.getRange(),K=V.start.row,Q=V.end.row,tt=K==Q;if(tt){var ot,nt=this.session.getLength();do{ot=this.session.getLine(Q)}while(/[=:]/.test(ot)&&++Q0);K<0&&(K=0),Q>=nt&&(Q=nt-1)}var it=this.session.removeFullLines(K,Q);it=this.$reAlignText(it,tt),this.session.insert({row:K,column:0},it.join("\n")+"\n"),tt||(V.start.column=0,V.end.column=it[it.length-1].length),this.selection.setRange(V)}},this.$reAlignText=function(n,b){var A,L,R,D=!0,B=!0;return n.map((function(n){var b=n.match(/(\s*)(.*?)(\s*)([=:].*)/);return b?null==A?(A=b[1].length,L=b[2].length,R=b[3].length,b):(A+L+R!=b[1].length+b[2].length+b[3].length&&(B=!1),A!=b[1].length&&(D=!1),A>b[1].length&&(A=b[1].length),Lb[3].length&&(R=b[3].length),b):[n]})).map(b?alignLeft:D?B?function alignRight(n){return n[2]?spaces(A+L-n[2].length)+n[2]+spaces(R)+n[4].replace(/^([=:])\s+/,"$1 "):n[0]}:alignLeft:function unAlign(n){return n[2]?spaces(A)+n[2]+spaces(R)+n[4].replace(/^([=:])\s+/,"$1 "):n[0]});function spaces(n){return X.stringRepeat(" ",n)}function alignLeft(n){return n[2]?spaces(A)+n[2]+spaces(L-n[2].length+R)+n[4].replace(/^([=:])\s+/,"$1 "):n[0]}}}).call(Q.prototype),b.onSessionChange=function(n){var b=n.session;b&&!b.multiSelect&&(b.$selectionMarkers=[],b.selection.$initRangeList(),b.multiSelect=b.selection),this.multiSelect=b&&b.multiSelect;var A=n.oldSession;A&&(A.multiSelect.off("addRange",this.$onAddRange),A.multiSelect.off("removeRange",this.$onRemoveRange),A.multiSelect.off("multiSelect",this.$onMultiSelect),A.multiSelect.off("singleSelect",this.$onSingleSelect),A.multiSelect.lead.off("change",this.$checkMultiselectChange),A.multiSelect.anchor.off("change",this.$checkMultiselectChange)),b&&(b.multiSelect.on("addRange",this.$onAddRange),b.multiSelect.on("removeRange",this.$onRemoveRange),b.multiSelect.on("multiSelect",this.$onMultiSelect),b.multiSelect.on("singleSelect",this.$onSingleSelect),b.multiSelect.lead.on("change",this.$checkMultiselectChange),b.multiSelect.anchor.on("change",this.$checkMultiselectChange)),b&&this.inMultiSelectMode!=b.selection.inMultiSelectMode&&(b.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},b.MultiSelect=MultiSelect,n("./config").defineOptions(Q.prototype,"editor",{enableMultiselect:{set:function(n){MultiSelect(this),n?this.on("mousedown",B):this.off("mousedown",B)},value:!0},enableBlockSelect:{set:function(n){this.$blockSelectEnabled=n},value:!0}})})),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],(function(n,b,A){"use strict";var L=n("../../range").Range,R=b.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(n,b,A){var L=n.getLine(A);return this.foldingStartMarker.test(L)?"start":"markbeginend"==b&&this.foldingStopMarker&&this.foldingStopMarker.test(L)?"end":""},this.getFoldWidgetRange=function(n,b,A){return null},this.indentationBlock=function(n,b,A){var R=/\S/,D=n.getLine(b),B=D.search(R);if(-1!=B){for(var E=A||D.length,X=n.getLength(),$=b,V=b;++b$){var tt=n.getLine(V).length;return new L($,E,V,tt)}}},this.openingBracketBlock=function(n,b,A,R,D){var B={row:A,column:R+1},E=n.$findClosingBracket(b,B,D);if(E){var X=n.foldWidgets[E.row];return null==X&&(X=n.getFoldWidget(E.row)),"start"==X&&E.row>B.row&&(E.row--,E.column=n.getLine(E.row).length),L.fromPoints(B,E)}},this.closingBracketBlock=function(n,b,A,R,D){var B={row:A,column:R},E=n.$findOpeningBracket(b,B);if(E)return E.column++,B.column--,L.fromPoints(E,B)}}).call(R.prototype)})),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range","ace/config"],(function(n,b,A){"use strict";var L=n("../line_widgets").LineWidgets,R=n("../lib/dom"),D=n("../range").Range,B=n("../config").nls;b.showErrorMarker=function(n,b){var A=n.session;A.widgetManager||(A.widgetManager=new L(A),A.widgetManager.attach(n));var E=n.getCursorPosition(),X=E.row,$=A.widgetManager.getWidgetsAtRow(X).filter((function(n){return"errorMarker"==n.type}))[0];$?$.destroy():X-=b;var V,K=function findAnnotations(n,b,A){var L=n.getAnnotations().sort(D.comparePoints);if(L.length){var R=function binarySearch(n,b,A){for(var L=0,R=n.length-1;L<=R;){var D=L+R>>1,B=A(b,n[D]);if(B>0)L=D+1;else{if(!(B<0))return D;R=D-1}}return-(L+1)}(L,{row:b,column:-1},D.comparePoints);R<0&&(R=-R-1),R>=L.length?R=A>0?0:L.length-1:0===R&&A<0&&(R=L.length-1);var B=L[R];if(B&&A){if(B.row===b){do{B=L[R+=A]}while(B&&B.row===b);if(!B)return L.slice()}var E=[];b=B.row;do{E[A<0?"unshift":"push"](B),B=L[R+=A]}while(B&&B.row==b);return E.length&&E}}}(A,X,b);if(K){var Q=K[0];E.column=(Q.pos&&"number"!=typeof Q.column?Q.pos.sc:Q.column)||0,E.row=Q.row,V=n.renderer.$gutterLayer.$annotations[E.row]}else{if($)return;V={displayText:[B("error-marker.good-state","Looks good!")],className:"ace_ok"}}n.session.unfold(E.row),n.selection.moveToPosition(E);var tt={row:E.row,fixedWidth:!0,coverGutter:!0,el:R.createElement("div"),type:"errorMarker"},ot=tt.el.appendChild(R.createElement("div")),nt=tt.el.appendChild(R.createElement("div"));nt.className="error_widget_arrow "+V.className;var it=n.renderer.$cursorLayer.getPixelPosition(E).left;nt.style.left=it+n.renderer.gutterWidth-5+"px",tt.el.className="error_widget_wrapper",ot.className="error_widget "+V.className,V.displayText.forEach((function(n,b){ot.appendChild(R.createTextNode(n)),b{var L=A(7288),R={}.hasOwnProperty;L.CSSLoader=function(n){function CSSLoader(){return CSSLoader.__super__.constructor.apply(this,arguments)}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(CSSLoader,n),CSSLoader.prototype.readOpts=function(){CSSLoader.__super__.readOpts.call(this),this._cssName?this.__cssName=this._cssName:this.__cssName="cui-css-"+this.getUniqueId()},CSSLoader.prototype.initOpts=function(){return CSSLoader.__super__.initOpts.call(this),this.addOpts({cssName:{check:String}})},CSSLoader.prototype.__getCSSNodes=function(){return L.dom.matchSelector(document.documentElement,'link[name="'+this.__cssName+'"]')},CSSLoader.prototype.getActiveCSS=function(){var n,b,A,R;for(b=0,A=(R=this.__getCSSNodes()).length;b0?L.dom.insertAfter(V[V.length-1],R):document.head.appendChild(R),B.promise())},CSSLoader}(L.Element)},2295:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty,D=[].indexOf||function(n){for(var b=0,A=this.length;b0}}})},CSVData.prototype.readOpts=function(){CSVData.__super__.readOpts.call(this),this.__max_column_count=0,this._rows?this.rows=this._rows:this.rows=[],this.giveAllRowsSameNumberOfColumns()},CSVData.prototype.giveAllRowsSameNumberOfColumns=function(){var n,b,A,L,R,D,B,E,X,$,V,K;for(this.__max_column_count=0,b=0,D=(E=this.rows).length;bthis.__max_column_count&&(this.__max_column_count=n);for(L=0,B=(X=this.rows).length;LV;A=$<=V?++R:--R)K[A]=""},CSVData.prototype.getMaxColumnCount=function(){return this.__max_column_count},CSVData.prototype.getRows=function(){return this.rows},CSVData.prototype.getRow=function(n){return this.rows[n]},CSVData.prototype.getRowsCount=function(){return this.rows.length},CSVData.prototype.debug=function(){return console.debug("rows:",this.rows)},CSVData.prototype.toText=function(n){var b,A,R,D,B,E,X,$,V,K,Q,tt,ot,nt;for(null==n&&(n={}),(Q=L.Element.readOpts(n,"CSVData.toText",{delimiter:{mandatory:!0,default:";",check:function(n){return L.util.isString(n)&&n.length>0}},quotechar:{mandatory:!0,default:'"',check:function(n){return L.util.isString(n)&&n.length>0}},always_quote:{mandatory:!0,default:!0,check:Boolean},equal_columns:{mandatory:!0,default:!0,check:Boolean},newline:{mandatory:!0,default:String.fromCharCode(10),check:function(n){return L.util.isString(n)&&n.length>0}}})).equal_columns&&this.giveAllRowsSameNumberOfColumns(),K=String.fromCharCode(10),D=String.fromCharCode(13),A=[],B=0,$=(tt=this.rows).length;B<$;B++){for(b=[],E=X=0,V=(ot=tt[B]).length;X0&&b.push(Q.delimiter),nt=L.util.isEmpty(R)?"":""+R,!!Q.always_quote||(nt.indexOf(Q.delimiter)>-1||(nt.indexOf(Q.quotechar)>-1||(nt.indexOf(K)>-1||nt.indexOf(D)>-1)))?b.push(L.CSVData.quote(nt,Q.quotechar)):b.push(nt);A.push(b.join(""))}return A.join(Q.newline)},CSVData.prototype.parse=function(n){var b,A,R,B,E,X,$,V,K,Q,tt,ot,nt,it,rt,st,pt;return null==n&&(n={}),nt=L.Element.readOpts(n,"CSVData.parse",{text:{mandatory:!0,check:String},delimiter:{check:String},quotechar:{check:String},defer:{mandatory:!0,default:!0,check:Boolean}}),this.rows=[],st=nt.text,E=[],B=0,R=[],tt=st.length,K=0,Q=!1,ot=0,rt=[" "],A=['"',"'"],b=[",",";","\t"],X=void 0!==nt.delimiter?nt.delimiter:null,it=void 0!==nt.quotechar?nt.quotechar:null,nt.defer&&($=new L.Deferred),pt=this,V=function(){var n,lt,ut,bt,Mt,zt;for(ut=function(){E[B]=R.join(""),R.splice(0),B+=1},bt=function(){E.length>0&&(ot+=1,pt.rows.push(E),E=[]),B=0};K=0)K+=1;else if(null===it&&D.call(A,n)>=0&&(it=n),null===X&&D.call(b,n)>=0&&(X=n),n!==it||0!==R.length&&!Q)if(n!==X){if(lt=st.charCodeAt(K),zt=st.charCodeAt(K+1),13!==lt&&10!==lt)R.push(n),K+=1;else if(K+=13===lt&&10===zt?2:1,Q)R.push(String.fromCharCode(10));else if(ut(),bt(),ot%1e3==0&&nt.defer)return $.notify({row_count:ot,file_read_idx:K,file_length:tt}),void L.setTimeout({ms:10,call:V})}else{if(Q){R.push(n),K+=1;continue}ut(),K+=1}else{if(Q){if(st[K+1]===it){R.push(n),K+=2;continue}Q=!1,K+=1;continue}Q=!0,K+=1}return R.length>0&&ut(),E.length>0&&bt(),pt.giveAllRowsSameNumberOfColumns(),Mt={row_count:ot,file_length:tt,rows:pt.rows},nt.defer?$.resolve(Mt):Mt},nt.defer?(L.setTimeout({ms:0,call:V}),$.done((function(){})),$.promise()):V()},CSVData.quote=function(n,b){return null==b&&(b='"'),b+n.replace(new RegExp(L.util.escapeRegExp(b),"g"),b+b)+b},CSVData}(L.Element)},7288:function(n,b,A){var L,R;R=A(3185),L=function(){function CUI(){}var n;return CUI.__readyFuncs=[],CUI.__themes=[],CUI.__ng__=!0,CUI.start=function(){var n,b,L;return b=function(){return CUI.Events.trigger({type:"viewport-resize"})},CUI.Events.listen({type:"resize",node:window,call:function(n,A){CUI.browser.ie?CUI.scheduleCallback({ms:500,call:b}):b()}}),CUI.Events.listen({type:"drop",node:document.documentElement,call:function(n){return n.preventDefault()}}),CUI.Events.listen({type:"keyup",node:window,capture:!0,call:(L=this,function(n){"C+U+I"===n.getKeyboard()&&CUI.toaster({text:"CUI!"}),CUI.defaults.debug&&("Alt+Shift+U"===n.getKeyboard()&&L.__toggleUIElements(),"Control+Shift+U"===n.getKeyboard()&&L.__toggleUIElements(!0))})}),CUI.Events.listen({type:"keydown",node:window,call:function(n){var b,A,L,R,D;if("c+"===n.getKeyboard()&&CUI.toaster({text:"CUI!"}),8===n.keyCode()){for(b=0,A=(R=CUI.dom.elementsUntil(n.getTarget(),null,document.documentElement)).length;b=1}},timeout:{mandatory:!0,default:0,check:function(n){return n>=-1}},call:{mandatory:!0,check:function(n){return n instanceof Function}}}),b=B.chunk_size,E=B.timeout,CUI.util.assert(this!==CUI,"CUI.chunkWork","Cannot call CUI.chunkWork with 'this' not set to the caller."),L=0,R=B.items.length,X=this,D=function(){var n,$,V;$=L+1+" - "+Math.min(R,L+b)+" / "+R,A.notify({progress:$,idx:L,len:R,chunk_size:b}),n=function(){L+b>=R?A.resolve():(L+=b,-1===E?D():CUI.setTimeout({ms:E,call:D}))},!1!==(V=B.call.call(X,B.items.slice(L,L+B.chunk_size),L,R))?CUI.util.isPromise(V)?V.fail(A.reject).done(n):n():A.reject()},A=new CUI.Deferred,CUI.setTimeout({ms:Math.min(0,E),call:function(){return R>0?D():A.resolve()}}),A.promise()},CUI.chunkWorkOLD=function(n,b,A){var L,R,D;return null==b&&(b=10),null==A&&(A=0),L=new CUI.Deferred,D=0,R=function(){var B;for(B=0;D0&&this.__callTimeoutChangeCallbacks(),this.__startTimeout(B)},CUI.__scheduledCallbacks=[],CUI.scheduleCallback=function(n){var b,A,L,R,D,B;return R=CUI.Element.readOpts(n,"CUI.scheduleCallback",{call:{mandatory:!0,check:Function},ms:{default:0,check:function(n){return CUI.util.isInteger(n)&&n>=0}},track:{default:!1,check:Boolean}}),(L=CUI.util.idxInArray(R.call,this.__scheduledCallbacks,(function(n){return n.call===R.call})))>-1&&CUI.isTimeoutRunning(this.__scheduledCallbacks[L].timeoutID)&&(L=-1),-1!==L?(CUI.resetTimeout(this.__scheduledCallbacks[L].timeoutID),this.__scheduledCallbacks[L].promise):(L=this.__scheduledCallbacks.length,A=new CUI.Deferred,D=CUI.setTimeout({ms:R.ms,track:R.track,call:function(){return R.call(),A.resolve()}}),b=this.__scheduledCallbacks[L]={call:R.call,timeoutID:D,promise:A.promise()},A.done((B=this,function(){return CUI.util.removeFromArray(R.call,B.__scheduledCallbacks,(function(n){return n.call===R.call}))})),b.promise)},CUI.scheduleCallbackCancel=function(n){var b,A;return A=CUI.Element.readOpts(n,"CUI.scheduleCallbackCancel",{call:{mandatory:!0,check:Function}}),(b=CUI.util.idxInArray(A.call,this.__scheduledCallbacks,(function(n){return n.call===A.call})))>-1&&!CUI.isTimeoutRunning(this.__scheduledCallbacks[b].timeoutID)&&(CUI.clearTimeout(this.__scheduledCallbacks[b].timeoutID),this.__scheduledCallbacks.splice(b,1),!0)},CUI.utf8ArrayBufferToString=function(n){var b,A,L,R,D,B,E;for(E=[],B=(b=new Uint8Array(n)).length,D=0;D>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:E.push(String.fromCharCode(A));break;case 12:case 13:L=b[D++],E.push(String.fromCharCode((31&A)<<6|63&L));break;case 14:L=b[D++],R=b[D++],E.push(String.fromCharCode((15&A)<<12|(63&L)<<6|63&R))}return E.join("")},CUI.__startTimeout=function(n){var b;return b=window.setTimeout(n.call,n.ms),n.id||(n.id=b),n.real_id=b,n.id},CUI.countTimeouts=function(){var n,b,A,L;for(L=0,n=0,b=(A=this.__timeouts).length;n0&&$.push(","),A=R=0,B=(X=V.split(":")).length;R0&&$.push(":"),$.push(encodeURIComponent(K));return $.join("")},CUI.decodeURIComponentNicely=function(n){return decodeURIComponent((n||"").replace(/\+/g," "))},CUI.decodeUrlData=function(n,b,A,L,R){var D,B,E,X,$,V,K,Q,tt;for(null==b&&(b=null),null==A&&(A="&"),null==L&&(L="="),null==R&&(R=!1),V={},D=b?CUI.util.isFunction(b)?b:function(n){return CUI.util.stringMapReplace(n+"",b)}:function(n){return decodeURIComponent(n)},B=0,X=(Q=n.split(A)).length;B-1?(E=D(($=K.split(L))[0]),tt=D($[1])):(E=D(K),tt=""),R?(V[E]||(V[E]=[]),V[E].push(tt)):V[E]=tt);return V},CUI.decodeUrlDataArray=function(n,b,A,L){return null==b&&(b=null),null==A&&(A="&"),null==L&&(L="="),this.decodeUrlData(n,b,A,L,!0)},CUI.mergeMap=function(n,b){var A,L;for(A in b)L=b[A],n.hasOwnProperty(A)?CUI.util.isPlainObject(n[A])&&CUI.util.isPlainObject(L)&&CUI.util.mergeMap(n[A],L):n[A]=L;return n},CUI.revertMap=function(n){var b,A;for(b in A={},n)A[n[b]]=b;return A},CUI.stringMapReplace=function(n,b){var A,L;for(A in L=[],b)CUI.util.isEmpty(A)||L.push(A.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"));return L.length>0?n.replace(new RegExp(L.join("|"),"g"),(function(n){return b[n]})):n},CUI.isFunction=function(n){return n&&"function"==typeof n},CUI.isPlainObject=function(n){var b;return null!=n&&"object"==typeof n&&((b=Object.getPrototypeOf(n))===Object.prototype||null===b)},CUI.isEmptyObject=function(n){var b;for(b in n)return!1;return!0},CUI.isMap=function(n){return this.isPlainObject(n)},CUI.isArray=function(n){return Array.isArray(n)},CUI.inArray=function(n,b){return b.indexOf(n)},CUI.isString=function(n){return"string"==typeof n},CUI.downloadData=function(n,b){var A,L;return A=new Blob([n],{type:"octet/stream"}),window.navigator.msSaveOrOpenBlob?window.navigator.msSaveOrOpenBlob(A,b):(L=window.URL.createObjectURL(A),this.__downloadDataElement.href=L,this.__downloadDataElement.download=b,this.__downloadDataElement.click(),window.URL.revokeObjectURL(L))},CUI.urlRegex=new RegExp("^(?:(?:(sftp|ftp|ftps|https|http))://|)(?:(\\S+?)(?::(\\S*))?@)?((?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:[a-z0-9\\u00a1-\\uffff](?:|[a-z\\u00a1-\\uffff0-9-]*[a-z0-9\\u00a1-\\uffff])\\.)*(?:[a-z\\u00a1-\\uffff]{2,})|(?:[a-z0-9\\u00a1-\\uffff][a-z0-9-\\u00a1-\\uffff]*[a-z0-9\\u00a1-\\uffff])))|)(?::(\\d{2,5}))?(?:([/?#]\\S*))?$","i"),CUI.evalCode=function(n){var b;return(b=document.createElement("script")).text=n,document.head.appendChild(b).parentNode.removeChild(b)},CUI.appendToUrl=function(n,b){var A,L;for(A in b)void 0!==(L=b[A])&&(n.match(/\?/)?n+="&":n+="?",n+=encodeURIComponent(A)+"="+encodeURIComponent(L));return n},CUI.parseLocation=function(n){var b,A,L,R,D;if(!CUI.util.isFunction(null!=n?n.match:void 0)||0===n.length)return null;try{L={protocol:(null!=(D=(R=new URL(n)).protocol)?D.replaceAll(":",""):void 0)||"",user:R.username,password:R.password,hostname:R.hostname,port:R.port,path:R.pathname,origin:"",search:R.search,hash:R.hash,href:R.href}}catch(b){if(!(A=n.match(this.urlRegex)))return null;L={protocol:A[1]||"",user:A[2]||"",password:A[3]||"",hostname:A[4]||"",port:A[5]||"",path:A[6]||"",origin:""}}return L.hostname?(L.protocol||(L.protocol="http"),L.origin=L.protocol+"://"+L.hostname,L.port&&(L.origin+=":"+L.port),L.url=L.protocol+"://",L.user&&(L.url=L.url+L.user+":"+L.password+"@"),L.url=L.url+L.hostname,L.port&&(L.url=L.url+":"+L.port)):L.url="",L.path.length>0?(b=L.path.match(/(.*?)(|\?.*?)(|\#.*)$/),L.pathname=b[1],L.search||(L.search=b[2]),"?"===L.search&&(L.search=""),L.fragment=b[3]):(L.search="",L.pathname="",L.fragment=""),L.href||(L.href=L.origin+L.path),L.hash||(L.hash=L.fragment),L.login&&(L.auth=btoa(L.user+":"+L.password)),L.url=L.url+L.path,L},CUI.escapeAttribute=function(n){return CUI.util.isNull(n)||!CUI.util.isString(n)?"":n=n.replace(/"/g,""").replace(/\'/g,"'")},CUI.loadScript=function(n){var b,A;return b=new CUI.Deferred,A=CUI.dom.element("script",{charset:"utf-8",src:n}),CUI.Events.listen({type:"load",node:A,instance:A,call:function(n){b.resolve(n)}}),CUI.Events.listen({type:"error",node:A,instance:A,call:function(n){document.head.removeChild(A),b.reject(n)}}),b.always((function(){return CUI.Events.ignore({instance:A})})),document.head.appendChild(A),b.promise()},CUI.browser=((n={opera:!!window.opr&&!!opr.addons||!!window.opera||navigator.userAgent.indexOf(" OPR/")>=0,firefox:"undefined"!=typeof InstallTrigger,safari:Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")>0,ie:!!document.documentMode,chrome:!!window.chrome&&!!window.chrome.webstore}).edge=!n.ie&&!!window.StyleMedia,n.blink=(n.chrome||n.opera)&&!!window.CSS,n),CUI.__toggleUIElements=function(n){var b,A,L,R,D,B,E,X,$,V,K,Q,tt,ot,nt,it,rt,st,pt,lt;if(null==n&&(n=!1),(null!=(V=this.__uiHighlightDivs)?V.length:void 0)>0){for(R=0,B=(K=this.__uiHighlightDivs).length;RL.width?E.x:E.x+E.width),CUI.dom.setStyle(n,{top:B,left:R}),CUI.dom.setStyle(n,{zIndex:5},""),CUI.dom.hideElement(n);CUI.dom.remove(n)},D=0,E=st.length;D div"))?Q[0]:void 0)!==(null!=(tt=CUI.dom.parents(nt,"body > div"))?tt[0]:void 0))||(b=CUI.dom.div(),this.__uiHighlightDivs.push(b),A(b,it));for($=0,X=(ot=this.__uiHighlightDivs).length;$\x3c!-- /CUI.CUI --\x3e"),L.__downloadDataElement=b[1],L.dom.append(document.body,b)})),window.addEventListener?window.addEventListener("load",(function(){return L.start()})):alert("Your browser is not supported. Please update to a current version of Google Chrome, Mozilla Firefox or Internet Explorer."),n.exports=L},674:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty;L.DOMElement=function(n){function DOMElement(){return DOMElement.__super__.constructor.apply(this,arguments)}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(DOMElement,n),DOMElement.prototype.initOpts=function(){return DOMElement.__super__.initOpts.call(this),this.addOpts({class:{default:"",check:String},id:{check:String},ui:{check:String},attr:{check:"PlainObject"}})},DOMElement.prototype.registerTemplate=function(n,b){return null==b&&(b=!0),L.util.assert(n instanceof L.Template,L.util.getObjectClass(this)+".registerDOMElement","template must be instance of Template but is "+L.util.getObjectClass(n)+".",{template:n}),this.__template&&(console.warn(L.util.getObjectClass(this)+".registerDO MElement","Already called before, destroying existing template",{template:this.__template}),this.__template.destroy()),this.__template=n,this.registerDOMElement(this.__template.DOM,b)},DOMElement.prototype.getDOMElementClasses=function(){return"cui-"+L.util.toDash(this.__cls)},DOMElement.prototype.registerDOMElement=function(n,b){return this.DOM=n,null==b&&(b=!0),b&&L.dom.addClass(this.DOM,this.getDOMElementClasses()),this._attr&&L.dom.setAttributeMap(this.DOM,this._attr),this._id&&L.dom.setAttribute(this.DOM,"id",this._id),this._class&&L.dom.addClass(this.DOM,this._class),this._ui&&L.dom.setAttribute(this.DOM,"ui",this._ui),L.dom.data(this.DOM,"element",this),this},DOMElement.prototype.getElementForLayer=function(){return this.DOM},DOMElement.prototype.unregisterDOMElement=function(){return L.dom.removeClass(this.DOM,this.getDOMElementClasses()),L.dom.removeAttribute(this.DOM,"id"),this._class&&L.dom.removeClass(this.DOM,this._class),L.dom.removeData(this.DOM,"element"),delete this.DOM,this},DOMElement.prototype.__assertDOMElement=function(n){return L.util.assert(this.DOM,this.__cls+"."+n,'registerDOMElement needs to be called before "'+n+'" is supported.')},DOMElement.prototype.__assertTemplateElement=function(n){return L.util.assert(this.__template,this.__cls+"."+n,'registerTemplateElement needs to be called before "'+n+'" is supported.')},DOMElement.prototype.addClass=function(n,b){return L.util.assert(1===arguments.length||2===arguments.length,"addClass","Only 'className' and 'key' parameters are allowed."),b?(this.__assertTemplateElement("addClass"),this.__template.addClass.call(this.__template,n,b,this)):(this.__assertDOMElement("addClass"),L.dom.addClass(this.DOM,n))},DOMElement.prototype.setAria=function(n,b){return this.__assertDOMElement("setAria"),L.dom.setAria(this.DOM,n,b)},DOMElement.prototype.removeClass=function(n,b){return L.util.assert(1===arguments.length||2===arguments.length,"removeClass","Only 'className' and 'key' parameters are allowed."),b?(this.__assertTemplateElement("removeClass"),this.__template.removeClass.call(this.__template,n,b,this)):(this.__assertDOMElement("removeClass"),L.dom.removeClass(this.DOM,n))},DOMElement.prototype.hide=function(n){return L.util.isEmpty(n)?(this.__assertDOMElement("hide"),L.dom.hideElement(this.DOM)):(this.__assertTemplateElement("hide"),this.__template.hide.call(this.__template,n))},DOMElement.prototype.show=function(n){return L.util.isEmpty(n)?(this.__assertDOMElement("show"),L.dom.showElement(this.DOM)):(this.__assertTemplateElement("show"),this.__template.show.call(this.__template,n))},DOMElement.prototype.showWaitBlock=function(){return this.__assertDOMElement("showWaitBlock"),this.__wb=new L.WaitBlock({element:this.DOM}).show(),this},DOMElement.prototype.hideWaitBlock=function(){return this.__wb.destroy(),delete this.__wb,this},DOMElement.prototype.hasClass=function(n){return L.util.assert(1===arguments.length,"CUI.dom.hasClass","Only one parameter allowed."),this.__assertDOMElement("hasClass"),L.dom.hasClass(this.DOM,n)},DOMElement.prototype.isDestroyed=function(n){var b;return null!=(b=this.__template)?b.isDestroyed.call(this.__template,n):void 0},DOMElement.prototype.empty=function(n){return this.__assertTemplateElement("empty"),this.__template.empty.call(this.__template,n)},DOMElement.prototype.replace=function(n,b){return this.__assertTemplateElement("replace"),this.__template.replace.call(this.__template,n,b,this)},DOMElement.prototype.append=function(n,b){return this.__assertTemplateElement("append"),this.__template.append.call(this.__template,n,b,this)},DOMElement.prototype.prepend=function(n,b){return this.__assertTemplateElement("prepend"),this.__template.prepend.call(this.__template,n,b,this)},DOMElement.prototype.text=function(n,b){return this.__assertTemplateElement("text"),this.__template.text.call(this.__template,n,b,this)},DOMElement.prototype.get=function(n){return this.__assertTemplateElement("get"),this.__template.get.call(this.__template,n,this)},DOMElement.prototype.getFlexHandle=function(n,b){return this.__assertTemplateElement("getFlexHandle"),this.__template.getFlexHandle.call(this.__template,n,b)},DOMElement.prototype.destroy=function(){var n;return DOMElement.__super__.destroy.call(this),this.__template?null!=(n=this.__template)&&n.destroy():this.DOM&&L.dom.remove(this.DOM),this},DOMElement}(L.Element)},5533:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty;L.CheckValueError=function(){function CheckValueError(){return CheckValueError.__super__.constructor.apply(this,arguments)}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(CheckValueError,window.Error),CheckValueError}()},9248:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty,D=[].slice;L.Template.loadTemplateText(A(5936)),L.DataField=function(n){function DataField(n){var b,A;DataField.__super__.constructor.call(this,n),L.util.assertImplements(this,["render"]),this._name&&L.util.assertImplements(this,["getDefaultValue"]),this.__checkChangedValue=void 0,this.initTemplate(),this.addClass("cui-data-field"),this.maximizeAddClasses(),L.Events.listen({type:"data-changed",node:this.DOM,call:(A=this,function(n,b){A.onDataChanged(n,b)})}),this.getName()&&this.DOM.setAttribute("cui-data-field-name",this.getName()),this.init(),this._data&&!L.util.isFunction(this._data)&&this.setData(this._data),this.__initDisabled(),this._hidden&&this.hide(),this._tooltip&&(this._tooltip.text||this._tooltip.content)&&((b=L.util.copyObject(this._tooltip)).element=this.DOM,this.__tooltip=new L.Tooltip(b)),this.__opacity=1,"function"==typeof this._onInit&&this._onInit(this)}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(DataField,n),DataField.changed_marker_css_class="cui-data-field-changed-marker",DataField.defaults={undo_and_changed_support:!1},DataField.prototype.onDataChanged=function(n,b){if(null!=b?b.element:void 0)return"function"==typeof this._onDataChanged?this._onDataChanged(this.getData(),b.element,n,b):void 0;console.warn(L.util.getObjectClass(this)+"[DataField].listen[data-changed]: received event with element not set.",n,b,this)},DataField.prototype.initOpts=function(){return DataField.__super__.initOpts.call(this),this.addOpts({name:this.getNameOpt(),maximize:{check:Boolean},maximize_horizontal:{check:Boolean,default:!1},maximize_vertical:{check:Boolean,default:!1},padded:{check:Boolean,default:!1},data:{check:function(n){return L.util.isFunction(null!=n?n.hasOwnProperty:void 0)||L.util.isFunction(n)}},data_not_for_others:{default:!1,check:Boolean},disabled:{default:!1,check:function(n){return L.util.isBoolean(n)||L.util.isFunction(n)}},disabled_depends_on_data:{check:Function},tooltip:{check:"PlainObject"},hidden:{check:Boolean},form:{},undo_and_changed_support:{check:Boolean},undo_support:{default:L.DataField.defaults.undo_and_changed_support,check:Boolean},mark_changed:{default:L.DataField.defaults.undo_and_changed_support,check:Boolean},check_changed:{default:L.DataField.defaults.undo_and_changed_support,check:Boolean},onDataChanged:{check:Function},onDataInit:{check:Function},onInit:{check:Function},onRender:{check:Function},render_as_block:{check:Boolean}})},DataField.prototype.readOpts=function(){var n,b,A,R;if(this.opts.hasOwnProperty("undo_and_changed_support"))for(n=0,A=(R=["undo_support","check_changed","mark_changed"]).length;n")+"]}"},DataField.prototype.reload=function(){return this.remove(),this.render(),this.displayValue(),"function"==typeof this._onRender&&this._onRender(this),this},DataField.prototype.remove=function(){return this.callOnOthers("remove"),this.isDestroyed()||this.empty(),this.__isRendered=!1},DataField.prototype.getNameOpt=function(){return{check:String}},DataField.prototype.registerLabel=function(n){var b;(b=this.getUniqueIdForLabel())&&n.setAttribute("for",b)},DataField.prototype.getLabel=function(){return this._label},DataField.prototype.getMaximizeHorizontal=function(){return this.__maximize_horizontal},DataField.prototype.setForm=function(n){return L.util.assertImplements(n,["getFieldsByName","getFieldByIdx","getData","getFields"]),this.__form=n,this.getForm().getFormPath?(this.__form.getMaximizeHorizontal()&&!1!==this.getOpt("maximize_horizontal")&&this.addClass("cui-maximize-horizontal"),this):this},DataField.prototype.getFormPath=function(n,b,A){var R;return null==n&&(n=!1),null==b&&(b=[]),null==A&&(A=0),L.util.assert(A<100,"CUI.DataField.getPath","Recursion detected."),(null!=(R=this.getForm())?R.getFormPath:void 0)&&this.getForm().getFormPath(!0,b,A+1),n&&b.push(this),b},DataField.prototype.getForm=function(){return this.__form},DataField.prototype.getOtherField=function(n){var b,A;return null!=(b=this.__form)&&null!=(A=b.getFieldsByName(n))?A[0]:void 0},DataField.prototype.getRootForm=function(){return this.__form?this.__form.getRootForm():this instanceof L.Form?this:null},DataField.prototype.__initDisabled=function(){this._disabled&&(!0===this._disabled||this._disabled.call(this,this))&&this.disable()},DataField.prototype.enable=function(){return this.removeClass("cui-data-field-disabled"),this.callOnOthers("enable"),this},DataField.prototype.disable=function(){return this.addClass("cui-data-field-disabled"),this.callOnOthers("disable"),this},DataField.prototype.isDisabled=function(){return this.hasClass("cui-data-field-disabled")},DataField.prototype.isHidden=function(){return this.hasClass("cui-data-field-hidden")},DataField.prototype.isShown=function(){return!this.isHidden()},DataField.prototype.updateData=function(n){return L.util.isFunction(this._data)?this.__data=this._data.call(this,n,this):this.__data=n,this.displayValue()},DataField.prototype.unsetData=function(){delete this.__data,this.setDataOnOthers()&&this.callOnOthers("unsetData")},DataField.prototype.setData=function(n,b){var A;if(null==b&&(b=!0),!this.__data||!this._data||L.util.isFunction(this._data))return L.util.assert(!this.__data,this+".setData","data is already set.",{opts:this.opts,data:this.__data}),L.util.isFunction(this._data)?this.__data=this._data.call(this,n,this):this.__data=n,L.util.assert(L.util.isPlainObject(this.__data)||(null!=(A=this.__data)&&"function"==typeof A.hasOwnProperty?A.hasOwnProperty(this.getName()):void 0),this+".setData",'data needs to be PlainObject or have a property "'+this.getName()+'".',{data:n,opts:this.opts}),this.setDataOnOthers()&&this.callOnOthers("setData",this.__data,b),b&&this.initData(),this},DataField.prototype.setDataOnOthers=function(){return!this._data_not_for_others},DataField.prototype.hide=function(n){return null==n&&(n=!1),this.addClass("cui-data-field-hidden"),this.callOnOthers("hide"),n&&L.Events.trigger({type:"form-check-row-visibility",node:this.DOM,info:{element:this}}),this},DataField.prototype.show=function(n){return null==n&&(n=!1),this.removeClass("cui-data-field-hidden"),this.callOnOthers("show"),n&&L.Events.trigger({type:"form-check-row-visibility",node:this.DOM,info:{element:this}}),this},DataField.prototype.isRendered=function(){return this.__isRendered},DataField.prototype.render=function(n){var b,A;return b=null==(A=(null!=n?n:{}).callOnRender)||A,L.util.assert(!this.__isRendered,this.__cls+".render","Cannot be called when already rendered.",{opts:this.opts,dataField:this}),this.__isRendered=!0,this.callOnOthers("render"),this.isDisabled()&&this.disable(),this.isHidden()&&this.hide(!0),b&&"function"==typeof this._onRender&&this._onRender(this),this},DataField.prototype.displayValue=function(){return L.util.assert(!this.isDestroyed(),this.__cls+".displayValue","DataField already destroyed, cannot display value.",{data_field:this}),L.util.assert(this.__isRendered,this.__cls+".displayValue","not rendered yet, cannot display.",{opts:this.opts,data:this.__data}),this.checkChanged(),this.callOnOthers("displayValue")},DataField.prototype.start=function(){return L.util.assert(!this.__isRendered,this.__cls+".start","Cannot be called when already rendered.",{opts:this.opts,dataField:this}),this.__initDisabled(),this.render(),this.displayValue(),this},DataField.prototype.getAllDataFields=function(n){return null==n&&(n=!1),this.getDataFields(!0)},DataField.prototype.getDataFields=function(n,b){return null==n&&(n=!1),null==b&&(b=[]),(this.isDataField()||n)&&b.push(this),this.callOnOthers("getDataFields",n,b),b},DataField.prototype.renderAsBlock=function(){return!!this._render_as_block},DataField.prototype.isDataField=function(){return this.hasData()},DataField.prototype.callOnOthers=function(){var n,b,A,R,B,E;for(A=arguments[0],n=2<=arguments.length?D.call(arguments,1):[],R=0,B=(E=this.getFields?this.getFields(A).slice(0):[]).length;R-1||(D[B]=X):E=X;for(B in A)X=A[B],D.hasOwnProperty(B)||(D[B]=X);return L.util.assert(L.util.isFunction(E),"CUI.DataField.new",'type is unknown: "'+E+'".',{field:n}),R=new E(D),L.util.assert(R instanceof L.DataField,"CUI.DataField.new","field.type needs to be of class DataField, but is "+L.util.getObjectClass(R)+".",{field:n}),R},DataField}(L.DOMElement),L.Events.registerEvent({type:"data-changed",bubble:!0})},580:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty;L.DataFieldInput=function(n){function DataFieldInput(n){DataFieldInput.__super__.constructor.call(this,n),L.dom.setAttributeMap(this.DOM,this._attr),this.addClass("cui-data-field-input")}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(DataFieldInput,n),DataFieldInput.prototype.initOpts=function(){return DataFieldInput.__super__.initOpts.call(this),this.addOpts({group:{check:String},attr:{default:{},check:"PlainObject"}})},DataFieldInput.prototype.getGroup=function(){return this._group},DataFieldInput.prototype.isResizable=function(){return!0},DataFieldInput}(L.DataField)},5412:(n,b,A)=>{var L=A(7288),R=[].indexOf||function(n){for(var b=0,A=this.length;b=0&&(A.func.apply(this,b),"done"===(B=A.type)||"always"===B||"fail"===B)?this.__callbacks.splice(L,1):L++;return this.__runningCallbacks=!1,this},Deferred.prototype.__register=function(n,b){if(L.util.assert(L.util.isFunction(b),"Deferred."+n+": Callback needs to be Function.",{callback:b}),!("rejected"===this.__state&&"done"===n||"resolved"===this.__state&&"fail"===n)){if(this.__callbacks.push({type:n,func:b}),"pending"!==this.__state&&!this.__runningCallbacks)switch(this.__state){case"resolved":this.__callback(["done","always"],this.__finished_args);break;case"rejected":this.__callback(["fail","always"],this.__finished_args)}return this}},Deferred.prototype.done=function(n){return this.__register("done",n),this},Deferred.prototype.fail=function(n){return this.__register("fail",n),this},Deferred.prototype.always=function(n){return this.__register("always",n),this},Deferred.prototype.progress=function(n){return this.__register("progress",n),this},Deferred.prototype.__notify=function(){return L.util.assert("pending"===this.__state,"CUI.Deferred.notify","Cannot notify state "+this.__state+"."),this.__callback(["progress"],arguments),this},Deferred.prototype.__resolve=function(){return L.util.assert("pending"===this.__state,"CUI.Deferred.resolve","Cannot resolve state "+this.__state+"."),this.__finished_args=arguments,this.__state="resolved",this.__callback(["done","always"],arguments),this},Deferred.prototype.__reject=function(){return L.util.assert("pending"===this.__state,"CUI.Deferred.reject","Cannot reject state "+this.__state+"."),this.__finished_args=arguments,this.__state="rejected",this.__callback(["fail","always"],arguments),this},Deferred.prototype.state=function(){return this.__state},Deferred.prototype.promise=function(){return new L.Promise(this)},Deferred.uniqueId=0,Deferred}()},1852:(n,b,A)=>{var L=A(7288);L.Promise=function(){function Promise(n){this.__deferred=n,L.util.assert(this.__deferred instanceof L.Deferred,"new Promise","parameter needs to be instanceof CUI.Deferred",{parameter:this.__deferred})}return Promise.prototype.done=function(){return this.__deferred.done.apply(this.__deferred,arguments),this},Promise.prototype.fail=function(){return this.__deferred.fail.apply(this.__deferred,arguments),this},Promise.prototype.always=function(){return this.__deferred.always.apply(this.__deferred,arguments),this},Promise.prototype.progress=function(){return this.__deferred.progress.apply(this.__deferred,arguments),this},Promise.prototype.state=function(){return this.__deferred.state.apply(this.__deferred,arguments)},Promise.prototype.getUniqueId=function(){return this.__deferred.getUniqueId()},Promise}()},7199:function(n,b,A){var L=A(7288);L.decide=function(n){var b;return b=new L.Deferred,L.util.isPromise(n)?(n.done(b.resolve),n.fail(b.reject)):!1===n?b.reject(!1):b.resolve(n),b.promise()}},1007:function(n,b,A){var L,R=A(7288);R.whenAllReject=(L=this,function(){var n,b;return b=new R.Deferred,(n=[!1]).push.apply(n,arguments),R.whenAll.apply(L,n).done((function(){var n,A,L;for(n=0,A=arguments.length;nQ.width&&(E.scrollLeft,0<(tt=D=(A=K.clientX())-Q.left)&&ttQ.height&&(E.scrollTop,0<(nt=D=(R=K.clientY())-Q.top)&&nt{var L=A(7288),R={}.hasOwnProperty,D=[].indexOf||function(n){for(var b=0,A=this.length;b=0}},selector:{check:function(n){return L.util.isString(n)||L.util.isFunction(n)}}})},Draggable.prototype.readOpts=function(){return Draggable.__super__.readOpts.call(this),this.__autoRepeatTimeout=null,this.supportTouch()?this.__event_types={start:["mousedown","touchstart"],end:["mouseup","touchend"],move:["mousemove","touchmove"]}:this.__event_types={start:["mousedown"],end:["mouseup"],move:["mousemove"]},this},Draggable.prototype.getClass=function(){return this._selector?Draggable.__super__.getClass.call(this):"cui-draggable "+Draggable.__super__.getClass.call(this)},Draggable.prototype.supportTouch=function(){return!!this._support_touch},Draggable.prototype.__killTimeout=function(){return this.__autoRepeatTimeout&&(L.clearTimeout(this.__autoRepeatTimeout),this.__autoRepeatTimeout=null),this},Draggable.prototype.__cleanup=function(){var n;this.__killTimeout(),this.__ref&&(L.Events.ignore({instance:this.__ref}),this.__ref=null),(null!=(n=L.globalDrag)?n.instance:void 0)===this&&(L.globalDrag=null)},Draggable.prototype.destroy=function(){var n;return Draggable.__super__.destroy.call(this),L.dom.remove(null!=(n=L.globalDrag)?n.helperNode:void 0),this.__cleanup(),this},Draggable.prototype.init=function(){return L.util.assert(!this._helper_contain_element||L.dom.closest(this._element,this._helper_contain_element),"new CUI.sDraggable","opts.helper_contain_element needs to be parent of opts.element",{opts:this.opts}),L.Events.listen({type:this.__event_types.start,node:this.element,instance:this,selector:this._selector,call:(n=this,function(b){var A,R,D,B,E;b.getButton()>0&&"mousedown"===b.getType()||L.globalDrag||(D=L.util.elementGetPosition(L.util.getCoordinatesFromEvent(b),b.getTarget()),(R=L.dom.getDimensions(b.getTarget())).clientWidthScaled>0&&D.left-R.scrollLeftScaled>R.clientWidthScaled?console.warn("Mousedown on a vertical scrollbar, not starting drag."):R.clientHeightScaled>0&&D.top-R.scrollTopScaled>R.clientHeightScaled?console.warn("Mousedown on a horizontal scrollbar, not starting drag."):(B=b.getCurrentTarget(),E=L.dom.getDimensions(B),L.dom.isInDOM(B)&&0!==E.clientWidth&&0!==E.clientHeight&&(L.dom.closest(b.getTarget(),"input,textarea,select")||(A=B,n.init_drag(b,A)))))})});var n},Draggable.prototype.init_drag=function(n,b){var A,R,D,B,E,X,$,V,K;if(b&&(L.globalDrag="function"==typeof this._create?this._create(n,b):void 0,!1!==L.globalDrag)){for(E in(L.util.isNull(L.globalDrag)||!0===L.globalDrag)&&(L.globalDrag={}),L.util.assert(L.util.isPlainObject(L.globalDrag),"CUI.Draggable.init_drag","returned data must be a plain object",{data:L.globalDrag}),$=L.util.getCoordinatesFromEvent(n),V=L.util.elementGetPosition($,b),B={$source:b,startEvent:n,startCoordinates:$,instance:this,startScroll:{top:b.scrollTop,left:b.scrollLeft},start:V,threshold:this._threshold})K=B[E],L.globalDrag[E]=K;var Q;n.stopPropagation(),this.before_drag(n,b),this.__ref=new L.Dummy,A=0,X=null,Q=this,R=function(){var n;return n=X.getPointTarget()||X.getTarget(),L.Events.trigger({type:"dragover-scroll",node:n,count:A,originalEvent:X}),A+=1,Q.__killTimeout(),Q.__autoRepeatTimeout=L.setTimeout({ms:100,track:!1,call:R})},L.Events.listen({node:document,type:this.__event_types.move,instance:this.__ref,call:function(n){return function(A){var D,B;if(L.globalDrag&&(A.preventDefault(),(b=A.getTarget())&&!L.globalDrag.ended)){switch(B={x:(D=L.util.getCoordinatesFromEvent(A)).pageX-L.globalDrag.startCoordinates.pageX,y:D.pageY-L.globalDrag.startCoordinates.pageY,eventPoint:D},n.get_axis()){case"x":B.y=0;break;case"y":B.x=0}B.bare_x=B.x,B.bare_y=B.y,B.x+=L.globalDrag.$source.scrollLeft-L.globalDrag.startScroll.left,B.y+=L.globalDrag.$source.scrollTop-L.globalDrag.startScroll.top,(Math.abs(B.x)>=L.globalDrag.threshold||Math.abs(B.y)>=L.globalDrag.threshold||L.globalDrag.dragStarted)&&(L.globalDrag.dragDiff=B,L.globalDrag.dragStarted||(L.globalDrag.startEvent.preventDefault(),n.__startDrag(A,b,B),n._get_cursor?document.body.setAttribute("data-cursor",n._get_cursor(L.globalDrag)):document.body.setAttribute("data-cursor",n.getCursor())),X=A,R(),n.do_drag(A,b,B),"function"==typeof n._dragging&&n._dragging(A,L.globalDrag,B))}}}(this)}),D=function(n){return function(b,A){var R,D,B;null==A&&(A=!1),D=L.globalDrag.$source,B=L.dom.parents(D),L.globalDrag.ended=!0,document.body.removeAttribute("data-cursor"),A?(L.globalDrag.stopped=!0,n.stop_drag(b),"function"==typeof n._dragstop&&n._dragstop(b,L.globalDrag,n)):(n.end_drag(b),"function"==typeof n._dragend&&n._dragend(b,L.globalDrag,n)),n.isDestroyed()||(R=L.globalDrag.noClickKill,n.__cleanup(),R||function(){var n,b,A,R,E;for(E=L.dom.parents(D),b=n=0,A=B.length;n=0||"max"===V&&R<=0||("y"===Q&&D.call(n.fix,"n")>=0?n.h-=R:"x"===Q&&D.call(n.fix,"w")>=0?n.w-=R:(n[Q]-=R,"h"===Q&&D.call(n.fix,"s")>=0&&(n.y+=R),"w"===Q&&D.call(n.fix,"e")>=0&&(n.x+=R),"x"===Q&&D.call(n.fix,"e")>=0&&(n.w+=R),"y"===Q&&D.call(n.fix,"s")>=0&&(n.h+=R))));return n},Draggable}(L.DragDropSelect)},3986:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty;L.DragoverScrollEvent=function(n){function DragoverScrollEvent(){return DragoverScrollEvent.__super__.constructor.apply(this,arguments)}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(DragoverScrollEvent,n),DragoverScrollEvent.prototype.initOpts=function(){return DragoverScrollEvent.__super__.initOpts.call(this),this.addOpts({count:{mandatory:!0,check:function(n){return L.util.isPosInt(n)}},originalEvent:{mandatory:!0,check:L.Event}})},DragoverScrollEvent.prototype.getCount=function(){return this._count},DragoverScrollEvent.prototype.getOriginalEvent=function(){return this._originalEvent},DragoverScrollEvent}(L.Event)},8952:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty;L.Dragscroll=function(n){function Dragscroll(){return Dragscroll.__super__.constructor.apply(this,arguments)}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(Dragscroll,n),Dragscroll.prototype.initOpts=function(){return Dragscroll.__super__.initOpts.call(this),this.removeOpt("helper"),this.addOpts({scroll_element:{check:function(n){return L.util.isElement(n)}}})},Dragscroll.prototype.readOpts=function(){return Dragscroll.__super__.readOpts.call(this),this._scroll_element?this.__scroll_element=this._scroll_element:this.__scroll_element=this._element},Dragscroll.prototype.supportTouch=function(){return void 0===this._support_touch||Dragscroll.__super__.supportTouch.call(this)},Dragscroll.prototype.start_drag=function(){return this.__scroll={top:this.__scroll_element.scrollTop,left:this.__scroll_element.scrollLeft}},Dragscroll.prototype.do_drag=function(n,b,A){var L,R;return R=this.__scroll.top-A.bare_y,L=this.__scroll.left-A.bare_x,this.__scroll_element.scrollTop=R,this.__scroll_element.scrollLeft=L},Dragscroll}(L.Draggable)},5462:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty;L.Droppable=function(n){function Droppable(){return Droppable.__super__.constructor.apply(this,arguments)}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(Droppable,n),Droppable.cls="droppable",Droppable.prototype.initOpts=function(){return Droppable.__super__.initOpts.call(this),this.addOpts({accept:{check:Function},drop:{default:function(n,b){var A;return A=b.dropTargetPos||"on",L.alert({markdown:!0,text:"You dropped me **"+A+"**: "+L.dom.getAttribute(b.dropTarget,"class")})},check:Function},hoverClass:{default:"cui-droppable",check:String},dropHelper:{mandatory:!0,default:!1,check:Boolean},targetHelper:{mandatory:!0,default:!1,check:Boolean},selector:{check:function(n){return L.util.isString(n)||L.util.isFunction(n)}}})},Droppable.prototype.accept=function(n,b){return"function"==typeof this._accept?this._accept(n,b):void 0},Droppable.prototype.destroy=function(){return this.removeHelper(),Droppable.__super__.destroy.call(this)},Droppable.prototype.readOpts=function(){Droppable.__super__.readOpts.call(this),this._targetHelper&&L.util.assert(this._selector,"new CUI.Droppable","opts.targetHelper needs opts.selector to be set.",{opts:this.opts}),this._dropHelper&&(L.util.assert(!this._selector||this._targetHelper,"new CUI.Droppable","opts.dropHelper does only work without opts.selector or with opts.targetHelper and opts.selector. needs opts.selector to be set.",{opts:this.opts}),this.__dropHelper=L.dom.element("DIV",{class:"cui-droppable-drop-helper"}))},Droppable.prototype.removeHelper=function(){var n,b,A;if(this.resetMargin(),this.__selectedTarget&&(L.dom.removeClass(this.__selectedTarget,this._hoverClass),this.__selectedTarget=null),this.__dropHelper&&L.dom.remove(this.__dropHelper),this._targetHelper)for(n=0,b=(A=L.dom.findElements(this._element,this._selector)).length;nD.viewportCenterLeft||"y"===this.__axis&&R.pageY>D.viewportCenterTop?"after":"before",A(B=this.__selectedTarget,E)?(this.__dropTarget=B,this.__dropTargetPos=E,$="cui-droppable-target-helper-"+this.__axis+"--"+this.__dropTargetPos,this.__resetMargin===this.__selectedTarget&&this.__selectedTarget.__target_helper_class===$||(this.resetMargin(),this.__saveZoneDims=[L.dom.getDimensions(this.__selectedTarget)],this.__selectedTarget.__target_helper_class=$,L.dom.addClass(this.__selectedTarget,this.__selectedTarget.__target_helper_class),this.__saveZoneDims.push(L.dom.getDimensions(this.__selectedTarget)),this.__resetMargin=this.__selectedTarget)):this.removeHelper()},Droppable.prototype.init=function(){var n;return L.Events.listen({node:this.element,type:"cui-dragend",instance:this,call:(n=this,function(b,A){return n.removeHelper()})}),L.Events.listen({node:this.element,type:"cui-drop",instance:this,call:function(n){return function(b,A){n.__dropTarget&&(A.dropTarget=n.__dropTarget,n._targetHelper&&(A.dropTargetPos=n.__dropTargetPos),!1!==n.accept(b,A)&&(b.stopPropagation(),L.setTimeout({call:function(){return n._drop(b,A)}})))}}(this)}),L.Events.listen({node:this.element,type:["cui-dragover","cui-dragenter","cui-dragleave"],instance:this,call:function(n){return function(b,A){n.syncTargetHelper(b,A),b.stopPropagation()}}(this)})},Droppable}(L.DragDropSelect)},1051:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty,D=[].indexOf||function(n){for(var b=0,A=this.length;b0&&(it-=tt,V=0)):(tt=(V=L.globalDrag.start.left)+(it=A.x)-this.element.scrollWidth)>0&&(it-=tt),A.y<=0?(nt=L.globalDrag.start.top+A.y,B=-A.y,(tt=-nt)>0&&(B-=tt,nt=0)):(tt=(nt=L.globalDrag.start.top)+(B=A.y)-this.element.scrollHeight)>0&&(B-=tt),E=0,K=($=this.get_lassoed_elements()).length;E{var L=A(7288),R={}.hasOwnProperty;L.Movable=function(n){function Movable(){return Movable.__super__.constructor.apply(this,arguments)}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(Movable,n),Movable.cls="movable",Movable.prototype.initOpts=function(){return Movable.__super__.initOpts.call(this),this.addOpts({limitRect:{default:{},check:function(n){return L.util.isPlainObject(n)||n instanceof Function}},onPositioned:{check:Function},onPosition:{check:Function},start_drag:{check:Function},do_drag:{check:Function}}),this.removeOpt("helper")},Movable.prototype.readOpts=function(){return Movable.__super__.readOpts.call(this),this._helper=null},Movable.prototype.getLimitRect=function(){return L.util.isFunction(this._limitRect)?this._limitRect():this._limitRect},Movable.prototype.setElementCss=function(n){var b;return L.util.assert(L.util.isPlainObject(n),L.util.getObjectClass(this),"opts.position must return a PlainObject containing any of x, y, w, h",{pos:n}),b={},L.util.isEmpty(n.x)||(b.left=n.x),L.util.isEmpty(n.y)||(b.top=n.y),L.util.isEmpty(n.w)||(b.marginBoxWidth=n.w),L.util.isEmpty(n.h)||(b.marginBoxHeight=n.h),L.dom.setDimensions(this.element,b),"function"==typeof this._onPositioned?this._onPositioned(n):void 0},Movable.prototype.init_drag=function(n,b){if(!L.dom.closest(n.getTarget(),".cui-resizable-handle"))return Movable.__super__.init_drag.call(this,n,b)},Movable.prototype.before_drag=function(){var n;return n=L.dom.getDimensions(this.element),this.start={x:n.left||0,y:n.top||0,w:n.marginBoxWidth,h:n.marginBoxHeight},this},Movable.prototype.start_drag=function(n,b,A){return this._start_drag&&this._start_drag(n,b,A,this),this},Movable.prototype.do_drag=function(n,b,A){var L,R;return this._do_drag?(this._do_drag(n,b,A,this),this):(L={x:A.x+this.start.x,y:A.y+this.start.y,w:this.start.w,h:this.start.h},this._onPosition?(R=this._onPosition(L.x,L.y,this.start,A),L.x=R[0],L.y=R[1]):this.limitRect(L,this.start),this.setElementCss(L),this)},Movable.prototype.limitRect=function(n,b,A){return null==b&&(b={}),null==A&&(A=this.getLimitRect()),L.Draggable.limitRect(n,A,b)},Movable}(L.Draggable)},9328:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty;L.Resizable=function(n){function Resizable(){var n,b;return this.getResizePos=(n=this.getResizePos,b=this,function(){return n.apply(b,arguments)}),Resizable.__super__.constructor.apply(this,arguments)}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(Resizable,n),Resizable.cls="resizable",Resizable.prototype.initOpts=function(){return Resizable.__super__.initOpts.call(this),this.removeOpt("selector")},Resizable.prototype.readOpts=function(){return Resizable.__super__.readOpts.call(this),this._selector=".cui-resizable-handle"},Resizable.prototype.init=function(){var n,b,A,R,D;for(Resizable.__super__.init.call(this),D=[],b=0,A=(R=["ne","nw","se","sw","s","n","e","w"]).length;b{var L=A(7288),R={}.hasOwnProperty;L.Sortable=function(n){function Sortable(){return Sortable.__super__.constructor.apply(this,arguments)}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(Sortable,n),Sortable.cls="sortable",Sortable.prototype.initOpts=function(){return Sortable.__super__.initOpts.call(this),this.addOpts({allowSort:{mandatory:!0,default:function(n,b,A){return!0},check:Function},sorted:{mandatory:!0,default:function(n,b,A){return alert("You sorted item "+b+" to "+A+".")},check:Function}}),this.removeOpt("helper_contain_element")},Sortable.prototype.getSortTarget=function(n,b){var A;return(A=L.dom.elementsUntil(n,null,b)).length>1?A[A.length-2]:null},Sortable.prototype.getClass=function(){return this._selector?"cui-drag-drop-select":Sortable.__super__.getClass.call(this)},Sortable.prototype.readOpts=function(){return Sortable.__super__.readOpts.call(this),this._helper_contain_element=this._element},Sortable.prototype.get_child_number=function(n){var b,A,L,R;for(A=b=0,L=(R=this.element.children).length;bb&&(L.globalDrag.noClickKill=!0,L.dom.insertBefore(A,R)),L.dom.syncAnimatedClone(this.element),this},Sortable.prototype.start_drag=function(n,b,A){return L.globalDrag.sort_source=this.__findClosestSon(L.globalDrag.$source),L.globalDrag.sort_source.classList.add("cui-sortable-placeholder"),L.globalDrag.start_idx=this.get_child_number(L.globalDrag.sort_source),L.dom.addClass(this.element,"cui-sorting"),L.dom.initAnimatedClone(this.element)},Sortable.prototype.getCloneSourceForHelper=function(){return this.__findClosestSon(L.globalDrag.$source)},Sortable.prototype.__findClosestSon=function(n){var b;if((b=L.dom.parentsUntil(n,null,this.element))[b.length-1]===window)return null;switch(b.length){case 0:return null;case 1:return n;default:return b[b.length-2]}},Sortable.prototype.do_drag=function(n,b,A){var R,D,B;if(this.position_helper(n,b,A),B=this.__findClosestSon(b))return D=this.get_child_number(L.globalDrag.sort_source),R=this.get_child_number(B),this._allowSort(n,D,R)&&this.move_element(D,R),this},Sortable.prototype.init_drag=function(n,b){return Sortable.__super__.init_drag.call(this,n,this.getSortTarget(n.getTarget(),this._element))},Sortable.prototype.stop_drag=function(n){return Sortable.__super__.stop_drag.call(this,n),this.__end_drag(n,!0)},Sortable.prototype.end_drag=function(n){return Sortable.__super__.end_drag.call(this,n),this.__end_drag(n,!1)},Sortable.prototype.cleanup_drag=function(n){return Sortable.__super__.cleanup_drag.call(this,n),L.dom.removeClass(this.element,"cui-sorting"),L.globalDrag.sort_source.classList.remove("cui-sortable-placeholder"),L.dom.removeAnimatedClone(this.element)},Sortable.prototype.__end_drag=function(n,b){var A;A=this.get_child_number(L.globalDrag.sort_source),L.globalDrag.start_idx!==A&&(b?this.move_element(A,L.globalDrag.start_idx):this._sorted(n,L.globalDrag.start_idx,A))},Sortable}(L.Draggable)},3599:(n,b,A)=>{var L=A(7288);L.Dummy=function(){function Dummy(n){null==n&&(n={}),this.opts=n,this.__uniqueId=L.Dummy.uniqueId++,this.__cls=L.util.getObjectClass(this)}return Dummy.prototype.getUniqueId=function(){return this.__uniqueId},Dummy.uniqueId=0,Dummy}(),L.Dummy},7343:(n,b,A)=>{var L=A(7288);L.Element=function(){function Element(n){this.opts=null!=n?n:{},this.__uniqueId=L.Element.uniqueId++,this.__cls=L.util.getObjectClass(this),this.__destroyed=!1,this.__check_map={},this.__mapped_keys=[],this.initOpts(),L.Element.__dont_read_opts||(this.readOpts(),this.__initOptsCalled||console.warn("new "+this.__cls+": CUI.Element::initOpts not called.",{opts:this.opts}),"function"==typeof this._onConstruct&&this._onConstruct(this))}return Element.prototype.getElementClass=function(){return this.__cls},Element.prototype.getUniqueId=function(){return this.__uniqueId},Element.prototype.getOpts=function(){return this.opts},Element.prototype.getOpt=function(n){return this.opts[n]},Element.prototype.hasOpt=function(n){return this.opts.hasOwnProperty(n)},Element.prototype.getSetOpt=function(n){return this["_"+n]},Element.prototype.hasSetOpt=function(n){return this.hasOwnProperty("_"+n)},Element.prototype.initOpts=function(){return this.__initOptsCalled=!0,this.addOpts({debug:{},onConstruct:{check:Function},onDestroy:{check:Function}})},Element.prototype.copy=function(){return new this.constructor(this.opts)},Element.prototype.mergeOpt=function(n,b){var A,L,R;for(A in null==b&&(b={}),L=this.__check_map[n]||{},b)R=b[A],L[A]=R;return this.addOpt(n,L,"mergeOpt")},Element.prototype.removeOpt=function(n){return delete this.__check_map[n]},Element.prototype.addOpt=function(n,b,A){if(null==A&&(A="addOpt"),L.util.assert(L.util.isString(n),this.__cls+"."+A,"key needs to be String",{key:n,check_map:b}),!L.util.isNull(b))return L.util.assert(L.util.isPlainObject(b),this.__cls+"."+A,"check_map needs to be Map",{key:n,check_map:b}),this.__check_map[n]=b,this},Element.prototype.addOpts=function(n){var b,A;for(b in L.util.assert(L.util.isPlainObject(n),this.__cls+".addOpts","Parameter needs to be Map",{map:n}),n)A=n[b],this.addOpt(b,A);return this},Element.prototype.mergeOpts=function(n){var b,A;for(b in L.util.assert(L.util.isPlainObject(n),this.__cls+".mergeOpts","Parameter needs to be Map",{map:n}),n)A=n[b],this.mergeOpt(b,A);return this},Element.prototype.__getCheckMap=function(){return this.__check_map},Element.prototype.readOpts=function(n,b,A){return null==n&&(n=this.opts),null==b&&(b=this.__cls),null==A&&(A=this.__check_map),L.Element.readOpts.call(this,n,b,A,!0)},Element.prototype.readOptsFromAttr=function(n){var b,A,R,D,B,E,X,$;if(B={},!(null!=n?n.split:void 0))return B;for(b=0,D=(E=n.split(";")).length;b0?Q.deprecated:"",console.warn(b+": opts."+$+" is deprecated.",tt));else{if(!V)continue;L.util.assert(!1,b,"opts."+$+" needs to be set.",{opts:n,check_map:A})}!Q.check||L.util.isNull(tt)&&!V||(L.util.isArray(Q.check)?L.util.assert(Q.check.indexOf(tt)>-1,b,"opts."+$+' needs to be one of ["'+Q.check.join('","')+'"].',{opts:n}):Q.check===Boolean||Q.check===String||Q.check===Function||Q.check===Array?L.util.assertInstanceOf.call(this,$,Q.check,tt):L.util.isFunction(Q.check)&&!Q.check.__super__?(L.util.assert(L.util.isEmpty(Q.check.name)||"check"===Q.check.name,b,$+'.check is "'+Q.check.name+'" but has no "__super__" method. Use "extends CUI.Element" or "extends CUI.Dummy" to fix that.',{opts:n,key:$,value:Q}),B=Q.check.call(this,tt),L.util.isNull(B)||L.util.isBoolean(B)||L.util.isString(B)||(D=B,console.error("CUI.Element.readOpts: check needs to return Boolean, null, undefined or String.","opts:",n,"opt:",Q,"return:",D),B=!!D),!0!==B&&(E=L.util.isString(B)?B:"needs to match\n\n"+Q.check.toString(),L.util.assert(!1,b,"opts."+$+": "+E+".",{opts:n}))):L.util.isPlainObject(Q.check)?tt=L.Element.readOpts(tt,b+" [opts."+$+"]",Q.check):L.util.isNull(tt)&&V?L.util.assert(!1,b,"opts."+$+" is mandatory, but is "+tt+".",{opts:n}):L.util.assertInstanceOf.call(this,$,Q.check,tt)),R&&(this["_"+$]=tt,this instanceof L.Element&&this.__mapped_keys.push($)),K[$]=tt}for($ in n)void 0===(Q=n[$])||K.hasOwnProperty($)||$.startsWith("_")||console.warn(b+": opts."+$+", not supported. check_map: ",A,"opts:",n);return K},Element}()},3740:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty;L.CUIEvent=function(n){function CUIEvent(){return CUIEvent.__super__.constructor.apply(this,arguments)}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(CUIEvent,n),CUIEvent}(L.Event)},4339:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty;L.Event=function(n){function Event(n){Event.__super__.constructor.call(this,n),this._require_node_in_dom&&(console.debug("require node in dom",this.isInDOM(),this.__node),L.util.assert(this.isInDOM(),"new Event","node is not in DOM, unable to create event.",{opts:this.opts})),this.__propagationStopped=!1,this.__propagationImmediateStopped=!1,this.__preventDefault=!1,this.__dragPrevented=!1}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(Event,n),Event.prototype.initOpts=function(){return Event.__super__.initOpts.call(this),this.addOpts({type:{mandatory:!0,check:function(n){return L.util.isString(n)&&!L.util.isEmpty(n)&&1===n.split(/\s+/).length}},node:{default:document.documentElement,mandatory:!0,check:function(n){return L.dom.isNode(n)}},require_node_in_dom:{default:!1,mandatory:!0,check:Boolean},bubble:{default:!1,check:Boolean},sink:{default:!1,check:Boolean},exclude_self:{default:!1,check:Boolean},info:{default:{},check:"PlainObject"},prevent_default:{default:!1,check:Boolean}})},Event.prototype.readOpts=function(){return Event.__super__.readOpts.call(this),this.__node=L.dom.getNode(this._node),this._preventDefault&&this.preventDefault(),this.__listenerClass=null,this.__isInDOM=null},Event.prototype.__setListener=function(n){return this.__listenerClass?L.util.assert(this.__listenerClass===n.getElementClass(),"Event.setListener","listener class cannot change during an events life cycle.",{listener:n,listenerClass:this.__listenerClass}):this.__listenerClass=n.getElementClass(),this},Event.prototype.__setPhase=function(n){this.__phase=n},Event.prototype.isExcludeSelf=function(){return this._exclude_self},Event.prototype.getPhase=function(){return this.__phase},Event.prototype.getType=function(){return this._type},Event.prototype.getDebug=function(){return this._type+"["+this.getUniqueId()+"]"},Event.prototype.getInfo=function(){return this._info},Event.prototype.getNode=function(){return this.__node},Event.prototype.getElement=function(){return L.dom.data(this.getNode(),"element")},Event.prototype.isBubble=function(){return this._bubble},Event.prototype.isSink=function(){return this._sink},Event.prototype.isInDOM=function(){return null!==this.__isInDOM?this.__isInDOM:this.__node===document||this.__node===window?this.__isInDOM=!0:this.__isInDOM=L.dom.isInDOM(this.__node)},Event.prototype.setNativeEvent=function(n){return L.util.assert("object"==typeof n,"CUI.Event.setNativeEvent","Event needs to be instanceof Event",{Event:n}),this.__NativeEvent=n,this},Event.prototype.getNativeEvent=function(){return this.__NativeEvent},Event.prototype.getPointTarget=function(){return document.elementFromPoint(this.clientX(),this.clientY())},Event.prototype.getTarget=function(){var n;return this.__target||(null!=(n=this.getNativeEvent())?n.target:void 0)},Event.prototype.setTarget=function(n){return this.__target=n},Event.prototype.getCurrentTarget=function(){return this.__currentTarget||this.getTarget()},Event.prototype.setCurrentTarget=function(n){return this.__currentTarget=n},Event.prototype.getModifiers=function(){var n,b,A,L;for(n in b=[],A={meta:"Meta",ctrl:"Control",alt:"Alt",shift:"Shift"})L=A[n],this[n+"Key"]()&&b.push(L);return b},Event.prototype.hasModifierKey=function(n){return null==n&&(n=!1),this.metaKey()||this.ctrlKey()||this.altKey()||n&&this.shiftKey()},Event.prototype.getButton=function(){var n;return null!=(n=this.getNativeEvent())?n.button:void 0},Event.prototype.keyCode=function(){var n;return null!=(n=this.getNativeEvent())?n.which:void 0},Event.prototype.metaKey=function(){var n;return null!=(n=this.getNativeEvent())?n.metaKey:void 0},Event.prototype.ctrlKey=function(){var n;return null!=(n=this.getNativeEvent())?n.ctrlKey:void 0},Event.prototype.altKey=function(){var n;return null!=(n=this.getNativeEvent())?n.altKey:void 0},Event.prototype.shiftKey=function(){var n;return null!=(n=this.getNativeEvent())?n.shiftKey:void 0},Event.prototype.clientX=function(){var n;return null!=(n=this.getNativeEvent())?n.clientX:void 0},Event.prototype.clientY=function(){var n;return null!=(n=this.getNativeEvent())?n.clientY:void 0},Event.prototype.pageX=function(){var n;return null!=(n=this.getNativeEvent())?n.pageX:void 0},Event.prototype.pageY=function(){var n;return null!=(n=this.getNativeEvent())?n.pageY:void 0},Event.prototype.stopImmediatePropagation=function(){var n;return this.__propagationImmediateStopped=!0,null!=(n=this.getNativeEvent())&&n.stopImmediatePropagation(),this},Event.prototype.stopPropagation=function(){var n;return this.__propagationStopped=!0,null!=(n=this.getNativeEvent())&&n.stopPropagation(),this},Event.prototype.preventDefault=function(){var n;return this.__defaultPrevented=!0,null!=(n=this.getNativeEvent())&&n.preventDefault(),this},Event.prototype.isImmediatePropagationStopped=function(){return this.__propagationImmediateStopped},Event.prototype.isPropagationStopped=function(){return this.__propagationStopped},Event.prototype.isDefaultPrevented=function(){return this.__defaultPrevented},Event.prototype.dispatch=function(){var n,b;return L.util.assert(!this.getNativeEvent(),"CUI.Event.dispatch","Can only dispatch once.",{event:this}),(n=document.createEvent("Event")).initEvent(this.getType(),this.isBubble(),!0),n.__cui_event=this,b=this.isExcludeSelf()?L.dom.parent(this.getNode()):this.getNode(),this.isDefaultPrevented()&&n.preventDefault(),this.setNativeEvent(n),b.dispatchEvent(n),n},Event.prototype.dump=function(){var n,b;return b=this.__cls+": **"+this.getType()+"**",(n=this.getModifiers()).length>0&&(b+=" Modifiers: **"+n.join("+")+"**"),b},Event.prototype.stop=function(){return this.preventDefault(),this.stopPropagation(),this.stopImmediatePropagation(),!1},Event.require=function(n,b){var A,R,D;return L.util.isPlainObject(n)?(D=(R=L.Events.getEventType(n.type)).eventClass?R.eventClass:L.Event,L.util.mergeMap(n,R),delete n.eventClass,delete n.listenerClass,A=new D(n)):A=n,L.util.assert(A instanceof L.Event,""+b,"event needs to be PlainObject or instance of CUI.Event."),A},Event.createFromDOMEvent=function(n,b){var A,R;return R=L.Events.getEventType(n.type),b||(b=R.eventClass?R.eventClass:L.Event),(A=new b({type:n.type,bubble:n.bubbles,node:n.target})).setNativeEvent(n),A},Event}(L.Element)},9652:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty,D=[].indexOf||function(n){for(var b=0,A=this.length;b=0)}}}),R=[],D=[],b=L.dom.getNode(E.node),A=new L.Deferred,D.push(L.Events.listen({type:E.type,node:b,call:function(){A.resolve()}})),R.push(A),(B=new L.Deferred).always((function(){var n,b;for(n=0,b=D.length;n=0&&L.setTimeout({ms:E.maxWait,call:function(){var n,b;for(n=0,b=R.length;n0){for(it=L.dom.parents(nt),bt=!1,$=0,Q=zt.length;$0,"CUI.Events.registerEvent","event.type must be String.",{event:n}),K=this,$=function(b){var A;return(A=L.util.copyObject(n,!0)).type=b,K.registerEvent(A,!1)},L.util.isArray(n.type))for(A=0,D=(E=n.type).length;A=0&&(b="Num"+String.fromCharCode(n-48)),D.call([112,113,114,115,116,117,118,119,120,121,122,123],n)>=0)b="F"+String.fromCharCode(n-111);else switch(n){case 8:b="Backspace";break;case 9:b="Tab";break;case 13:b="Return";break;case 16:b="Shift";break;case 17:b="Ctrl";break;case 18:b="Alt";break;case 20:b="CapsLock";break;case 27:b="Esc";break;case 32:b="Space";break;case 33:b="PageUp";break;case 34:b="PageDown";break;case 37:b="Left";break;case 38:b="Up";break;case 39:b="Right";break;case 40:b="Down";break;case 46:b="Insert";break;case 46:b="Delete";break;case 110:b="Num.";break;case 144:b="Numlock";break;case 111:b="Num/";break;case 106:b="Num*";break;case 107:b="Num+";break;default:b=String.fromCharCode(n)}return b}},KeyboardEvent.prototype.key=function(){return this.getNativeEvent().key},KeyboardEvent.prototype.code=function(){return this.getNativeEvent().code},KeyboardEvent.prototype.hasDefaultActionModifier=function(){return/Mac|iPod|iPhone|iPad/.test(navigator.platform)?this.metaKey():this.ctrlKey()},KeyboardEvent.prototype.dump=function(){var n,b;return b=this.__cls+": **"+this.getType()+"**",b+=" Key: **"+this.key()+"** KeyCode: **"+this.keyCode()+"**",(n=this.getKeyboard()).length>0&&(b=b+" Keyboard: **"+n+"**"),b},KeyboardEvent.__initKeyboardListener=function(){var n;return n=function(n){switch(n){case 16:case 17:case 18:case 91:case 93:return!0;default:return!1}},L.KeyboardEvent.__keys=[],L.Events.listen({type:["keydown"],node:window,capture:!0,call:function(b){n(b.keyCode())||L.util.pushOntoArray(b.getKeyboardKey(),L.KeyboardEvent.__keys)}}),L.Events.listen({type:["keyup"],node:window,capture:!0,call:function(b){n(b.keyCode())||L.util.removeFromArray(b.getKeyboardKey(),L.KeyboardEvent.__keys)}}),L.Events.listen({type:["blur"],node:window,capture:!0,call:function(n){return L.KeyboardEvent.__keys=[]}})},KeyboardEvent}(L.Event),L.ready((function(){return L.KeyboardEvent.__initKeyboardListener()}))},2305:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty,D=[].indexOf||function(n){for(var b=0,A=this.length;b=0));B++);else V=n.type,X=D.call(this.__types,V)>=0;return X&&n.call&&(R=!0,X=n.call===this._call),X&&n.instance&&(R=!0,X=n.instance===this.getInstance()),L.util.assert(R,"Listener.matchesFilter","Filter did not filter anything, make sure you have 'node', 'type', 'call', or 'instance' set.",{filter:n}),X},Listener.require=function(n,b){var A,R,D,B,E,X,$;if(L.util.isPlainObject(n)){for(E=null,R=0,D=($=n.type instanceof Array?n.type:[n.type]).length;R{var L=A(7288),R={}.hasOwnProperty;L.MouseEvent=function(n){function MouseEvent(){return MouseEvent.__super__.constructor.apply(this,arguments)}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(MouseEvent,n),MouseEvent.prototype.initOpts=function(){return MouseEvent.__super__.initOpts.call(this),this.addOpts({button:{check:function(n){return n>=0}},pageX:{check:function(n){return n>0}},pageY:{check:function(n){return n>0}},clientX:{check:function(n){return n>0}},clientY:{check:function(n){return n>0}}})},MouseEvent.prototype.setNativeEvent=function(n){var b,A,L,R,D;for(b=0,L=(D=["button","pageX","pageY","clientX","clientY"]).length;b{var L=A(7288),R={}.hasOwnProperty;L.Events.MouseIsStill=function(n){function MouseIsStill(n){var b;MouseIsStill.__super__.constructor.call(this,n),this.__timeout=null,L.Events.listen({type:"mouseenter",instance:this,node:this._node,call:(b=this,function(){return b.start()})}),L.Events.listen({type:"mouseleave",instance:this,node:this._node,call:function(n){return function(){return n.stop()}}(this)})}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(MouseIsStill,n),MouseIsStill.prototype.initOpts=function(){MouseIsStill.__super__.initOpts.call(this),this.addOpts({ms:{check:function(n){return n>=1},mandatory:!0},call:{check:Function,mandatory:!0},node:{mandatory:!0,check:function(n){return L.dom.isNode(n)}}})},MouseIsStill.prototype.start=function(){var n;this.__clickEvent=L.Events.listen({type:["click","dblclick"],capture:!0,node:this._element,only_once:!0,call:(n=this,function(b){return n.stop()})}),this.__event=L.Events.listen({type:["mousemove"],node:this._node,instance:this,call:function(n){return function(b){return L.clearTimeout(n.__timeout),n.__timeout=L.setTimeout({ms:n._ms,call:function(){return n.stop(),n._call(b)}})}}(this)})},MouseIsStill.prototype.stop=function(){this.__timeout&&(L.clearTimeout(this.__timeout),this.__timeout=null),this.__event&&(L.Events.ignore(this.__event),L.Events.ignore(this.__clickEvent),this.__clickEvent=null,this.__event=null)},MouseIsStill.prototype.destroy=function(){this.stop(),L.Events.ignore({instance:this}),MouseIsStill.__super__.destroy.call(this)},MouseIsStill}(L.Element)},3876:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty;L.TouchEvent=function(n){function TouchEvent(){return TouchEvent.__super__.constructor.apply(this,arguments)}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(TouchEvent,n),TouchEvent.prototype.initOpts=function(){return TouchEvent.__super__.initOpts.call(this),this.addOpts({button:{check:function(n){return n>=0}},pageX:{check:function(n){return n>0}},pageY:{check:function(n){return n>0}},clientX:{check:function(n){return n>0}},clientY:{check:function(n){return n>0}}})},TouchEvent.prototype.setNativeEvent=function(n){var b,A,L,R,D;for(b=0,L=(D=["button","pageX","pageY","clientX","clientY"]).length;b{var L=A(7288),R={}.hasOwnProperty;L.WheelEvent=function(n){function WheelEvent(){return WheelEvent.__super__.constructor.apply(this,arguments)}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(WheelEvent,n),WheelEvent.prototype.dump=function(){return WheelEvent.__super__.dump.call(this)+" wheelY: **"+this.wheelDeltaY()+"**"},WheelEvent.prototype.wheelDeltaY=function(){var n;return(n=this.getNativeEvent())&&n.deltaY||0},WheelEvent}(L.MouseEvent)},1412:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty;L.FlexHandle=function(n){function FlexHandle(n){var b,A,R,D,B;for(FlexHandle.__super__.constructor.call(this,n),this.__pane=null,D=R=0,B=(A=this._element.parentNode.children).length;Rthis.__pane_idx?this.__element_idx0&&(this.__adjacent_pane=A[this.__element_idx-1]),this.__closed=this._closed,this.__hidden=this._hidden,this.__stretched=null,this.__size=null,L.util.assert(this.__pane,"new "+this.__cls,'pane "'+this._pane+'" not found in parent element of cui-flex-handle element.',{opts:this.opts,children:A}),L.dom.data(this.__pane,"flexHandle",this),L.dom.setAttribute(this.__pane,"flex-handled-pane",this._name)}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(FlexHandle,n),FlexHandle.prototype.readOpts=function(){var n,b,A;FlexHandle.__super__.readOpts.call(this),"horizontal"===(n=this._direction)||"row"===n?this.__direction="row":"vertical"!==(b=this._direction)&&"column"!==b||(this.__direction="column"),L.util.assert("row"===(A=this.__direction)||"column"===A,"new "+this.__cls,"opts.direction needs to be set",{opts:this.opts,element:this._element}),this._label&&this.addLabel(this._label)},FlexHandle.prototype.initOpts=function(){return FlexHandle.__super__.initOpts.call(this),this.addOpts({element:{mandatory:!0,check:function(n){return L.util.isElement(n)}},pane:{mandatory:!0,check:String},name:{mandatory:!0,check:String},closed:{check:Boolean},closable:{mandatory:!0,default:!1,check:Boolean},open_button_icon:{mandatory:!1,check:function(n){return L.util.isString(n)||n instanceof L.Icon}},label:{check:function(n){return n instanceof L.Label||L.util.isPlainObject(n)}},hidden:{check:Boolean},direction:{check:["horizontal","vertical","row","column"]},manage_state:{default:!0,check:Boolean},state_name:{check:String},class:{check:String},onResize:{check:Function},maxValue:{check:function(n){return n>0}},unit:{default:"px",check:function(n){return"px"===n||"%"===n}}})},FlexHandle.prototype.init=function(){var n,b,A,R;if(!this.isDestroyed())return L.dom.addClass(this._element,"cui-flex-handle cui-flex-handle-"+this.__direction+" cui-flex-handle-"+this._name),this.__closed&&this.close(),this.__hidden&&this.hide(),this._class&&L.dom.addClass(this._element,this._class),"row"===this.__direction?(n="x",this.__css_value="Width"):(n="y",this.__css_value="Height"),this._open_button_icon?this._element.classList.add("cui-flex-handle-with-button-icon"):(L.Events.listen({type:"dblclick",node:this._element,call:(R=this,function(n){null===R.__size?R.isClosed()?R.open():R._closable&&R.close():R.resetSize(),R.storeState()})}),L.Events.listen({type:["click"],node:this._element,call:function(n){return function(b){n.__label&&n.isClosed()&&(n.open(),n.storeState())}}(this)}),L.Events.listen({type:"keydown",node:this._element,call:function(n){return function(b){var A;n.__label&&n.isClosed()&&("Return"!==(A=b.getKeyboardKey())&&"Space"!==A||(n.open(),n.storeState()))}}(this)})),b=null,new L.Draggable({element:this._element,axis:n,support_touch:!0,create:function(n){return function(){if(n.isClosed())return!1}}(this),dragstart:function(A){return function(R,D){var B,E,X,$,V;return X=A.__pane_idx0?n/b*100:n,R=(A=Math.max(1,Math.min(A,100))).toFixed(2)+"%"):"string"==typeof n&&-1!==n.indexOf("%")?(A=parseFloat(n),R=(A=Math.max(1,Math.min(A,100))).toFixed(2)+"%"):(A=(b=L.dom.getDimension(this.__pane.parentNode,"contentBox"+this.__css_value))>0?parseFloat(n)/b*100:n,R=(A=Math.max(1,Math.min(A,100))).toFixed(2)+"%"),this.__pane.classList.add("cui-is-manually-sized"),this._element.classList.add("cui-is-manually-sized"),L.dom.setStyleOne(this.__pane,this.__css_value.toLowerCase(),R),this.__size=R):(this.__pane.classList.add("cui-is-manually-sized"),this._element.classList.add("cui-is-manually-sized"),L.dom.setDimension(this.__pane,"contentBox"+this.__css_value,n),this.__size=n),this.__resize()},FlexHandle.prototype.resetSize=function(){return this.__setSize(null),this},FlexHandle.prototype.getSize=function(){return this.__size},FlexHandle.prototype.__isAlive=function(){return!(this.isDestroyed()||!L.dom.isInDOM(this._element))},FlexHandle.prototype.__resize=function(){if(this.__isAlive())return"function"==typeof this._onResize&&this._onResize(this,this.getSize()),L.Events.trigger({type:"viewport-resize",info:{FlexHandle:!0}})},FlexHandle.prototype.__getState=function(){var n;return n=L.getLocalStorage(this.__state_name),L.util.isNull(n)?{}:JSON.parse(n)},FlexHandle.prototype.__setState=function(){var n;if(this.__state_name)return n=this.__getState(),!L.util.isUndef(n.closed)&&this._closable&&(n.closed?this.close():this.open()),L.util.isUndef(n.size)||this.__setSize(n.size),this},FlexHandle.prototype.storeState=function(){var n,b;if(this.__state_name)return n={closed:this.isClosed(),size:this.getSize()},b=JSON.stringify(n),L.setLocalStorage(this.__state_name,b),console.info("FlexHandle.storeState: ",this.__state_name,b),this},FlexHandle.prototype.isStretched=function(){return this.__stretched},FlexHandle.prototype.stretch=function(n,b){var A,R,D,B,E,X,$,V;if(null==b&&(b=!0),b){if(this.isStretched()===n)return;this.unstretch()}switch($=this.getPane(),n){case"west":case"north":R=L.dom.findPreviousSiblings($);break;case"east":case"south":R=L.dom.findNextSiblings($)}switch(n){case"west":case"east":V="width";break;case"north":case"south":V="height"}if(b){for(D=0,E=R.length;D{var L=A(7288),R={}.hasOwnProperty;L.Icon=function(n){function Icon(n){var b,A,R;Icon.__super__.constructor.call(this,n),R="",b="",this._icon&&(b||(b=L.Icon.icon_map[this._icon]),b||(b=this._icon),b.startsWith("svg-")&&(R=b,b="")),L.util.isEmpty(this._class)||(b+=" "+this._class),R?this.DOM=L.dom.htmlToNodes('')[0]:(this.DOM=L.dom.element("I",{class:"fa "+b}),!this._icon||L.Icon.icon_map[this._icon]||this._icon.startsWith("fa-")||this._icon.startsWith("css-swatch")||((A=L.dom.span("cui-no-icon")).textContent=this._icon[0],L.dom.removeClass(this.DOM,this._icon),L.dom.removeClass(this.DOM,"fa"),L.dom.append(this.DOM,A))),this._ui&&L.dom.setAttribute(this.DOM,"ui",this._ui),this._tooltip&&(this._tooltip.element=this.DOM,new L.Tooltip(this._tooltip))}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(Icon,n),Icon.prototype.initOpts=function(){return Icon.__super__.initOpts.call(this),this.addOpts({class:{check:String},icon:{check:String},ui:{check:String},fixed_width:{check:Boolean},tooltip:{check:"PlainObject"}})},Icon.prototype.copy=function(){var n,b;return n=Icon.__super__.copy.call(this),b=L.dom.getStyle(this),L.dom.setStyle(n,b),n},Icon.prototype.hide=function(){return L.dom.hideElement(this.DOM)},Icon.prototype.show=function(){return L.dom.showElement(this.DOM)},Icon.icon_map={audio:"fa-music",bolt:"fa-bolt",calendar:"fa-calendar-plus-o",camera:"fa-camera",check:"fa-check",clock:"fa-clock-o",close:"svg-close",cloud:"fa-cloud",copy:"fa-files-o",crop:"fa-crop",dive:"fa-angle-right",down:"fa-angle-down",download:"fa-download",east:"fa-angle-right",edit:"fa-pencil",ellipsis_h:"fa-ellipsis-h",ellipsis_v:"fa-ellipsis-v",email:"fa-envelope-o",envelope_active:"fa-envelope",envelope:"fa-envelope-o",expert_search:"fa-list-ul",export:"fa-download",external_link:"svg-external-link",failed:"fa-warning",file_text:"fa-file-text-o",file_text_active:"fa-file-text",file:"fa-file",filter:"fa-filter",folder_shared_upload:"svg-folder-shared-upload",folder_shared:"svg-folder-shared",folder_upload:"svg-folder-upload",folder:"svg-folder",fullscreen_expand:"svg-fullscreen-expand",fullscreen_compress:"svg-fullscreen-compress",heart:"fa-heart",help:"fa-question",image:"fa-picture-o",info_circle:"svg-info-circle",info_circle_ng:"svg-info-circle-ng",info:"fa-info-circle",left:"fa-angle-left",legal:"fa-legal",list:"fa-question",menu:"fa-bars",minus:"fa-minus",no_right:"fa-slack",north:"fa-angle-up",play:"fa-play",plus:"fa-plus",print:"fa-print",question:"fa-question",refresh:"fa-refresh",remove:"svg-close",required:"fa-bullhorn",reset:"svg-reset",resize_full:"fa-expand",resize_small:"fa-compress",right:"fa-angle-right",rotate_horizontal:"fa-arrows-h",rotate_left:"fa-rotate-left",rotate_right:"fa-rotate-right",rotate_vertical:"fa-arrows-v",ruler:"svg-ruler",save:"fa-floppy-o",search:"fa-search",settings:"fa-cog",share:"fa-share",show:"fa-question",sliders:"fa-sliders",south:"fa-angle-down",spinner:"svg-spinner cui-spin-stepped",start:"fa-play",stop:"fa-stop",trash:"svg-trash",up:"fa-angle-up",upload:"fa-upload",user:"fa-user",warning:"fa-warning",west:"fa-angle-left",zip:"fa-file-archive-o",zoom_in:"fa-search-plus",zoom_out:"fa-search-minus"},Icon}(L.Element),L.proxyMethods(L.Icon,L.Button,["hide","show","isShown","isHidden"])},2536:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty,D=[].indexOf||function(n){for(var b=0,A=this.length;b=0&&n.left>=0}},fill_space:{default:"auto",mandatory:!0,check:L.Layer.FILL_SPACE_CHECK_ARRAY},check_for_element:{default:!1,check:Boolean},show_ms:{default:700,check:function(n){return n>0}},visible:{check:Boolean},hide_ms:{default:100,check:function(n){return n>0}}}),this},Layer.prototype.readOpts=function(){return Layer.__super__.readOpts.call(this),this.__fill_space=this._fill_space,this},Layer.prototype.setVisible=function(n){return null==n&&(n=!0),n?L.dom.setStyleOne(this.__layer_root.DOM,"visibility",""):L.dom.setStyleOne(this.__layer_root.DOM,"visibility","hidden")},Layer.prototype.__allPlacements=["s","e","w","ws","wn","n","se","ne","es","en","nw","sw","c"],Layer.prototype.knownPlacements=["s","e","w","ws","wn","n","se","ne","es","en","nw","sw","c"],Layer.prototype.__setElement=function(n){return n instanceof L.DOMElement?this.__element=n.getElementForLayer():n.DOM?this.__element=n.DOM:this.__element=n,L.util.assert(!L.dom.closest(this.__element,".cui-tmpl"),"Layer.__setElement","element cannot be inside a Template.",{element:n}),L.util.assert(this.__element instanceof HTMLElement,"Layer.__setElement","element needs to be HTMLElement.",{element:n}),this.__element},Layer.prototype.__getOriginalElement=function(){var n;return(null!=(n=this._element)?n.DOM:void 0)||this._element||null},Layer.prototype.autoSize=function(){return this.position()},Layer.prototype.position=function(n){var b,A,R,B,E,X,$,V,K,Q,tt,ot,nt,it,rt,st,pt,lt,ut,bt,Mt,zt,Ot,ft,mt,_t,gt,At,yt,qt,vt,Wt,wt,Lt,Rt,xt,kt,Tt,Ct,Dt,St,Bt,Nt,Et,It,Yt,Pt,Ht,Ft,Xt,Vt,Ut,jt,Zt,Gt,Kt,oe,ie,re,se,ae,ce,le,ue;if(!this.isShown())return this;if("content-resize"!==(null!=n?n.getType():void 0)&&(this.__currentPlacement=null),(X=L.dom.getDimensions(document.body)).isPositioned="relative"===(It=X.computedStyle.position)||"fixed"===It||"absolute"===It,Q={width:window.innerWidth-L.dom.getLayerSidebarWidth(),height:window.innerHeight},it=function(n){return{n:"s",s:"n",e:"w",w:"e"}[n]},nt=function(n){return"cui-layer-pointer--"+n},this.__pointer)for(L.dom.setStyle(this.__pointer,{top:0,left:0,display:"",margin:""}),rt=0,zt=(Yt=["w","s","e","n"]).length;rtse.top&&(se.top=se.window_top),se.window_left>se.left&&(se.left=se.window_left),se.window_bottomse.width&&(ut.width=se.width,se.cuts++),ut.height>se.height&&(ut.height=se.height,se.cuts++),se.align_horizontal){case"left":ut.left=se.left;break;case"right":ut.left=se.right-ut.width;break;case"center":ut.left=$.viewportCenterLeft-ut.width/2}switch(se.align_vertical){case"top":ut.top=se.top;break;case"bottom":ut.top=se.bottom-ut.height;break;case"center":ut.top=$.viewportCenterTop-ut.height/2}if(se.dim_pointer){switch(se.pointer_align_horizontal){case"left":St.left=$.viewportRight+se.dim_pointer.marginLeft;break;case"right":St.left=$.viewportLeft-se.dim_pointer.borderBoxWidth-se.dim_pointer.marginLeft;break;case"center":St.left=$.viewportCenterLeft-se.dim_pointer.borderBoxWidth/2}switch(se.pointer_align_vertical){case"top":St.top=$.viewportBottom+se.dim_pointer.marginTop;break;case"bottom":St.top=$.viewportTop-se.dim_pointer.marginBoxHeight+se.dim_pointer.marginTop;break;case"center":St.top=$.viewportCenterTop-se.dim_pointer.borderBoxHeight/2}St.width=se.dim_pointer.borderBoxWidth,St.height=se.dim_pointer.borderBoxHeight,St.direction=se.dim_pointer.direction}if(ut.top0&&(ut.top=ut.top-Lt),(xt=ut.left+ut.width-se.right)>0&&(ut.left=ut.left-xt),se.overlap_height=0,se.overlap_width=0,this.__pointer||this._show_at_position){if((Rt=V.borderBoxHeight-ut.height)>0)switch(se.overlap_align){case"bottom":se.overlap_height=Math.min(ut.top-se.window_top,Rt),ut.top=ut.top-se.overlap_height,ut.height=ut.height+se.overlap_height;break;case"top":se.overlap_height=Math.min(se.window_bottom-ut.top-ut.height,Rt),ut.height=ut.height+se.overlap_height}if((kt=V.borderBoxWidth-ut.width)>0)switch(se.overlap_align){case"right":se.overlap_width=Math.min(ut.left-se.window_left,kt),ut.left=ut.left-se.overlap_width,ut.width=ut.width+se.overlap_width;break;case"left":se.overlap_height=Math.min(se.window_right-ut.right,kt),ut.width=ut.width+se.overlap_width}}if(this.__pointer&&se.dim_pointer)switch(Mt=se.layer_pos.left+se.layer_pos.width,bt=se.layer_pos.top+se.layer_pos.height,Nt=se.pointer_pos.left+se.pointer_pos.width,Bt=se.pointer_pos.top+se.pointer_pos.height,se.pointer_pos.direction){case"n":case"s":(Et=se.pointer_pos.left-se.layer_pos.left-se.dim_pointer.marginLeft)<0&&(re=se.layer_pos.left-se.window_left,se.push_left=Math.min(re,-Et),se.layer_pos.left=se.layer_pos.left-se.push_left),(Et=Mt-Nt-se.dim_pointer.marginRight)<0&&(re=se.window_right-Mt,se.push_right=Math.min(re,-Et),se.layer_pos.left=se.layer_pos.left+se.push_right);break;case"e":case"w":(Et=se.pointer_pos.top-se.layer_pos.top-se.dim_pointer.marginTop)<0&&(re=se.layer_pos.top-se.window_top,se.push_top=Math.min(re,-Et),se.layer_pos.top=se.layer_pos.top-se.push_top),(Et=bt-Bt-se.dim_pointer.marginBottom)<0&&(re=se.window_bottom-bt,se.push_bottom=Math.min(re,-Et),se.layer_pos.top=se.layer_pos.top+se.push_bottom)}this._onPosition&&"function"==typeof this._onPosition&&this._onPosition(this,se),se.layer_pos.estate=se.layer_pos.width*se.layer_pos.height,se.layer_pos.aspect_ratio=(se.layer_pos.width||1)/(se.layer_pos.height||1),se.dim_layer.aspect_ratio=(se.dim_layer.borderBoxWidth||1)/(se.dim_layer.borderBoxHeight||1),le=b.length-L.util.idxInArray(Tt,b),ce===Tt&&(le=b.length+1),se.ranking=10*le+1-Math.abs(se.layer_pos.aspect_ratio-se.dim_layer.aspect_ratio)+se.layer_pos.estate}for(Tt in A=[],ae)se=ae[Tt],A.push(Tt);if(0===A.length)return this.hide(),void console.warn("Layer.position","No available placements found.");for(A.sort((function(n,b){var A;return A=function(n){return ae[n].ranking},L.util.compareIndex(A(n),A(b))})),A.reverse(),Ut=this.__currentPlacement,D.call(A,Ut)<0&&(this.__currentPlacement=A[0]),(null!=n?n.hasModifierKey():void 0)&&(console.debug("Layer.position",this,this.opts),console.debug("layer",V),console.debug("element",$),console.debug("pointer",K),console.debug("window",Q),console.debug("placements",this.__currentPlacement,ae),ue=this,oe=function(n){var b,A,R,D,B;if(ue.__removeDebugDivs(),b=ae[n],console.info("Layer: Placement",n,b),ue.__dbg_div1=L.dom.element("DIV"),ue.__dbg_div2=L.dom.element("DIV"),ue.__dbg_div3=L.dom.element("DIV"),R={position:"absolute",zIndex:2,border:"2px solid #ff0032",backgroundColor:"rgba(255, 0, 0, 0.4)",top:b.top,left:b.left,width:b.width,height:b.height},L.dom.setStyle(ue.__dbg_div1,R),D={position:"absolute",zIndex:2,border:"2px solid #00ff32",backgroundColor:"rgba(0, 255, 0, 0.4)",top:b.layer_pos.top,left:b.layer_pos.left,width:b.layer_pos.width,height:b.layer_pos.height,alignItems:"center",justifyContent:"center",fontSize:40,color:"rgb(0,255,50)"},(A=L.dom.element("SPAN")).textContent=n,ue.__dbg_div2.appendChild(A),L.dom.setStyle(ue.__dbg_div2,D),B={position:"absolute",zIndex:2,border:"2px solid #0032ff",backgroundColor:"rgba(0, 0, 255, 0.4)",top:b.pointer_pos.top,left:b.pointer_pos.left,width:b.pointer_pos.width,height:b.pointer_pos.height},L.dom.setStyle(ue.__dbg_div3,B),ue.__layer_root.DOM.appendChild(ue.__dbg_div1),ue.__layer_root.DOM.appendChild(ue.__dbg_div2),ue.__pointer)return ue.__layer_root.DOM.appendChild(ue.__dbg_div3)},E=0,yt=L.Events.listen({node:document,type:"keyup",call:function(n){return function(b,A){var L;if(32===b.keyCode())for(;;){if((E+=1)===n.knownPlacements.length)return n.__removeDebugDivs(),void yt.destroy();if(L=n.knownPlacements[E],ae[L])return void oe(L);console.warn("Placement",L,"is unavailable.")}}}(this)})),(se=ae[this.__currentPlacement]).layer_pos.width<10||se.layer_pos.height,vt=this._element&&this._use_element_width_as_min_width?$.borderBoxWidth:void 0,L.dom.setAttribute(this.__layer_root.DOM,"cui-placement",Tt),L.dom.setAttribute(this.__layer_root.DOM,"cui-fill-space",this.__fill_space),Gt={top:se.layer_pos.top,left:se.layer_pos.left,minWidth:vt,margin:0},V.computedStyle.maxWidth&&"none"!==V.computedStyle.maxWidth||(Gt.maxWidth=se.width+se.overlap_width),V.computedStyle.maxHeight&&"none"!==V.computedStyle.maxHeight||(Gt.maxHeight=se.height+se.overlap_height),"c"===Tt||((null!=(jt=this.__layer_root.DOM.previousElementSibling)?jt.hasAttribute("cui-layer-fixed"):void 0)||!1)?(this.__layer_root.DOM.setAttribute("cui-layer-fixed",""),Gt.top=se.layer_pos.top,Gt.left=se.layer_pos.left):(this.__layer_root.DOM.removeAttribute("cui-layer-fixed"),Kt={top:B,left:R,bottom:0,right:0},X.isPositioned&&(Kt.top-=X.marginTop+X.borderTopWidth,Kt.left-=X.marginLeft+X.borderLeftWidth,Kt.bottom-=X.marginBottom+X.borderBottomWidth,Kt.right-=X.marginRight+X.borderRightWidth),L.dom.setStyle(this.__layer_root.DOM,Kt)),Gt.width=Math.ceil(se.layer_pos.width),Gt.height=Math.ceil(se.layer_pos.height),L.browser.ie&&(ie=this.__layer_root.DOM.previousElementSibling,L.dom.remove(this.__layer_root)),L.dom.setStyle(this.__layer.DOM,Gt),this.__pointer&&(se.dim_pointer?(L.dom.setStyle(this.__pointer,{top:se.pointer_pos.top,left:se.pointer_pos.left,margin:0}),L.dom.addClass(this.__pointer,nt(se.pointer_pos.direction)),L.dom.addClass(this.__layer,"has-"+nt(se.pointer_pos.direction))):L.dom.setStyle(this.__pointer,{display:"none"})),this.__backdrop_crop&&(L.dom.setStyle(this.__backdrop_crop,{top:se.layer_pos.top,left:se.layer_pos.left,width:se.layer_pos.width,height:se.layer_pos.height}),L.dom.setStyle(this.__backdrop_crop.firstChild,{width:Q.width,height:Q.height,top:-se.layer_pos.top,left:-se.layer_pos.left})),L.browser.ie&&L.dom.insertAfter(ie,this.__layer_root.DOM),wt=0,At=(Zt=L.dom.matchSelector(this.__layer.DOM,"*")).length;wt .cui-layer-root")).length,A=b=0,D=R.length;b0||(this.__focused_on_show=!1),(this.__focused_on_show||this.forceFocusOnShow())&&this.DOM.focus(),this},Layer.prototype.forceFocusOnShow=function(){return!1},Layer.prototype.focusOnHide=function(n){var b;return this.__element?((n===L.KeyboardEvent||this.__focused_on_show)&&null!=(b=L.dom.findElement(this.__element,"[tabindex]"))&&b.focus(),this):this},Layer.prototype.getElement=function(){return this.__element},Layer.prototype.isShown=function(){return this.__shown},Layer.prototype.destroy=function(){var n,b,A;return this.__shown&&this.hide(),Layer.__super__.destroy.call(this),null!=(n=this.__layer)&&n.destroy(),null!=(b=this.__layer_root)&&b.destroy(),this.__layer=null,this.__layer_root=null,L.dom.remove(this.__pointer),this.__pointer=null,null!=(A=this.__backdrop)&&A.destroy(),this.__backdrop=null},Layer.prototype.setFillSpace=function(n){return L.util.assert(D.call(Layer.FILL_SPACE_CHECK_ARRAY,n)>=0,"Layer.setFillSpace","Parameter fillSpace should be: "+Layer.FILL_SPACE_CHECK_ARRAY.join(""),{fillSpace:n}),this.__fill_space=n,this.position(),this},Layer}(L.DOMElement),L.ready((function(){return L.Events.listen({type:["mousedown","touchend"],capture:!0,node:document.body,call:function(n,b){var A,R,D,B,E,X;for(E=L.dom.find("body > .cui-layer-root, body > .cui-pane-fill-screen-is-on, body > .cui-layer-prevent-click-thru"),X=n.getTarget(),R=E.length-1;R>=0;R+=-1){if(B=E[R],!L.dom.hasClass(B,"cui-layer-backdrop-policy-click-thru")){if(L.dom.hasClass(B,"cui-layer-root-tooltip"))continue;return}if(L.dom.hasClass(B,"cui-layer-sidebar"))return;if(L.dom.closest(X,B))return;(A=(D=L.dom.data(L.dom.children(B,".cui-layer")[0],"element")).getElement())&&L.dom.closest(n.getTarget(),A)&&L.Events.listen({node:document.documentElement,type:["dblclick","click"],capture:!0,only_once:!0,call:function(n){return n.stop()}}),n.cui_layer_closed=!0,D.hide(n)}}}),L.Events.listen({type:["keyup"],node:document.body,call:function(n){var b,A,R,D;if(27===n.keyCode()&&!L.globalDrag&&(A=(R=L.dom.find("body > .cui-layer-root > .cui-layer:not(.cui-tooltip)"))[R.length-1])&&((D=n.getTarget())===A||D===document.body))return b=L.dom.data(A,"element"),n.stopImmediatePropagation(),n.preventDefault(),b.isKeyboardCancellable(n)?(b.doCancel(n),!1):void 0}})}))},2734:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty;L.Layout=function(n){function Layout(n){Layout.__super__.constructor.call(this,n),this.__isInit=!1,this.init()}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(Layout,n),Layout.prototype.initOpts=function(){var n,b,A,R,D;for(Layout.__super__.initOpts.call(this),this.addOpts({absolute:{check:Boolean},maximize:{check:Boolean},maximize_horizontal:{check:Boolean},maximize_vertical:{check:Boolean},auto_buttonbar:{default:!0,mandatory:!0,check:Boolean},center:{default:{},check:"PlainObject"}}),D=[],n=0,b=(R=this.getSupportedPanes()).length;n0?ut.slice(0,$).reduce((function(n,b){return n+b})):0;break;case"right":case"bottom":lt=$+10&&L.Events.trigger({type:"viewport-resize"}),this},Layout.all=function(){return L.scheduleCallback({call:L.Layout.__all})},Layout}(L.DOMElement),L.ready((function(){return L.Events.listen({type:["viewport-resize","content-resize"],call:function(n,b){return b.FlexHandle?L.Layout.__all():L.Layout.all()}})}))},7524:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty;L.Socket=function(n){function Socket(){return Socket.__super__.constructor.apply(this,arguments)}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(Socket,n),Socket.prototype.getGroup=function(){return"Core"},Socket.prototype.initOpts=function(){return Socket.__super__.initOpts.call(this),this.addOpts({url:{mandatory:!0,check:String,check:function(n){return n.trim().length>0}},onmessage:{check:Function},onclose:{check:Function},onopen:{check:Function},onerror:{check:Function}}),this},Socket.states={0:"OPENING",1:"OPEN",2:"CLOSING",3:"CLOSED"},Socket.prototype.readOpts=function(){var n;switch(Socket.__super__.readOpts.call(this),(n=L.parseLocation(this._url)).protocol){case"http":case"ws":this.__protocol="ws";break;case"https":case"wss":this.__protocol="wss"}return this._url=this._url.replace(n.protocol,this.__protocol),this},Socket.prototype.open=function(){var n,b,A;n=new L.Deferred,b=function(){"pending"===n.state()&&n.reject()};try{this.__webSocket=new WebSocket(this._url),this.__webSocket.onerror=function(n){return b()},this.__webSocket.onopen=(A=this,function(b){return A.__onOpen(b),n.resolve()}),this.__webSocket.onclose=function(n){return function(b){return n.__onClose(b)}}(this)}catch(n){b()}return n.promise()},Socket.prototype.__onOpen=function(n){return this._onopen&&this._onopen(n),this.__webSocket.onmessage=(b=this,function(n){var A;return A={},L.util.isEmpty(n.data)||(A=JSON.parse(n.data)),b._onmessage(n,A)});var b},Socket.prototype.__onClose=function(n){if(this._onclose)return this._onclose()},Socket.prototype.close=function(){return this.__webSocket.close()},Socket.prototype.send=function(n){if("OPEN"===this.getStatus())return this.__websocket.send(n)},Socket.prototype.getStatus=function(n){var b;return null==n&&(n=!0),b=this.__websocket.readyState,n?this.states[b]:b},Socket}(L.Element)},5982:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty;L.Template=function(n){function Template(n){var b;Template.__super__.constructor.call(this,n),b=L.Template.nodeByName[this._name],L.util.assert(b,"CUI.Template",this._name+" not found. Make sure to call Template.loadFile(...)."),this.DOM=b.cloneNode(!0),this._class&&L.dom.addClass(this.DOM,this._class),this._attr&&L.dom.setAttributeMap(this.DOM,this._attr),this.map=this.getElMap(this._map),this.__updateTemplateEmpty(),this._init_flex_handles&&this.initFlexHandles()}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(Template,n),Template.prototype.initOpts=function(){return Template.__super__.initOpts.call(this),this.addOpts({name:{mandatory:!0,check:String},map_prefix:{check:String},init_flex_handles:{mandatory:!0,default:!1,check:Boolean},map:{type:"PlainObject",default:{}},class:{check:String},attr:{check:"PlainObject"}}),this},Template.prototype.initFlexHandles=function(n){var b,A,R,D,B,E,X,$,V,K;for(null==n&&(n={}),this.__flexHandles={},D=0,E=($=L.dom.matchSelector(this.DOM,"[data-cui-flex-handle]")).length;D1?(console.debug(R,V,"found more than once",D,this.DOM),X.push("* "+R+": found more than once ("+$+")"),B++):(X.push("+ "+R+": found"),A[R]=D[0],D[0].removeAttribute("data-slot"),function(n){return function(b){return A[b].empty=function(){return n.empty(b),A[b]},A[b].append=function(L){return n.append(L,b),A[b]},A[b].prepend=function(L){return n.prepend(L,b),A[b]}}}(this)(R)));return B&&L.util.assert(!1,'Not all required elements were found for Template:\n\n"'+this._name+'"\n\n'+X.join("\n")),A},Template.prototype.destroy=function(){return L.dom.remove(this.DOM),delete this.map,Template.__super__.destroy.call(this)},Template.prototype.addClass=function(n,b){return b?(L.util.assert(this.map[b],this.__cls+".addClass",'Key "'+b+'" not found in map. Template: "'+this._name+'".',{map:this.map,DOM:this.DOM}),L.dom.addClass(this.map[b],n)):L.dom.addClass(this.DOM,n)},Template.prototype.removeClass=function(n,b){return b?(L.util.assert(this.map[b],this.__cls+".removeClass",'Key "'+b+'" not found in map. Template: "'+this._name+'".',{map:this.map,DOM:this.DOM}),L.dom.removeClass(this.map[b],n)):L.dom.removeClass(this.DOM,n)},Template.prototype.hasClass=function(n,b){return b?(L.util.assert(this.map[b],this.__cls+".hasClass",'Key "'+b+'" not found in map. Template: "'+this._name+'".',{map:this.map,DOM:this.DOM}),L.dom.hasClass(this.map[b],n)):L.dom.hasClass(this.DOM,n)},Template.prototype.has=function(n){return!!this.map[n]},Template.prototype.hide=function(n){return n?L.dom.hideElement(this.map[n]):L.dom.hideElement(this.DOM)},Template.prototype.show=function(n){return n?L.dom.showElement(this.map[n]):L.dom.showElement(this.DOM)},Template.prototype.__updateTemplateEmpty=function(){var n,b;if(L.util.isEmptyObject(this.map))n=this.isEmpty();else for(b in n=!0,this.map)if(!this.isEmpty(b)){n=!1;break}n?L.dom.addClass(this.DOM,"cui-template-empty"):L.dom.removeClass(this.DOM,"cui-template-empty")},Template.prototype.replace=function(n,b,A){var R;return L.util.assert(this.map,"Template["+this._name+"].replace ["+this.getUniqueId()+"]","Already destroyed"),b&&L.util.assert(this.map[b],this.__cls+".replace",'Key "'+b+'" not found in map. Template: "'+this._name+'".',{map:this.map,DOM:this.DOM}),this.__empty(b),R=this.__append(n,b,A),this.__updateTemplateEmpty(),R},Template.prototype.text=function(n,b,A){L.util.assert(L.util.isString(n),this.__cls+".text","Value must be String",{value:n,key:b,element:A}),b?this.map[b].textContent=n:this.DOM.textContent=n,this.__updateTemplateEmpty()},Template.prototype.prepend=function(n,b,A){var L;return L=this.__append(n,b,A,!0),this.__updateTemplateEmpty(),L},Template.prototype.append=function(n,b,A){var L;return L=this.__append(n,b,A,!1),this.__updateTemplateEmpty(),L},Template.prototype.empty=function(n){var b;return b=this.__empty(n),this.__updateTemplateEmpty(),b},Template.prototype.__empty=function(n){if(L.util.assert(this.map,"Template["+this._name+"].empty ["+this.getUniqueId()+"]","Already destroyed",{template:this,name:this._name}),this.isEmpty(n))return n?this.map[n]:this.DOM;if(n)return L.util.assert(this.map[n],this.__cls+".empty",'Key "'+n+'" not found in map. Template: "'+this._name+'".',{map:this.map}),L.dom.empty(this.map[n]),this.map[n];if(L.util.isEmptyObject(this.map))L.dom.empty(this.DOM);else for(n in this.map)L.dom.empty(this.map[n]);return this.DOM},Template.prototype.__append=function(n,b,A,R){var D,B,E,X,$,V;for(E=R?"prepend":"append",L.util.assert(this.map,"Template["+this._name+"]."+E+" ["+this.getUniqueId()+"]","Already destroyed"),b&&L.util.assert(this.map[b],this.__cls+"."+E,'Key "'+b+'" not found in map. Template: "'+this._name+'".',{map:this.map}),L.util.isFunction(n)&&(n=n(A)),L.util.isArray(n)||(n=[n]),B=[],X=0,$=n.length;X<$;X++)(null!=(D=n[X])?D.DOM:void 0)?B.push(D.DOM):(L.util.assert(!L.util.isPromise(D),"Template.append","value cannot be Promise",{value:n}),D&&B.push(D));return V=b?this.map[b]:this.DOM,B.length>0&&L.dom[E](V,B),V},Template.prototype.get=function(n){return L.util.assert(this.map[n],this.__cls+".get",'Key "'+n+'" not found in map. Template: "'+this._name+'".',{map:this.map,DOM:this.DOM}),this.map[n]},Template.prototype.isEmpty=function(n){return n?(L.util.assert(this.map[n],this.__cls+".isEmpty",'Key "'+n+'" not found in map. Template: "'+this._name+'".',{map:this.map}),!this.map[n].firstChild):!this.DOM.firstChild},Template.prototype.removeEmptySlots=function(){var n,b,A;for(n in A=this.map)(b=A[n]).firstChild||L.dom.remove(b);return this},Template.nodeByName={},Template.loadTemplateFile=function(n){return this.loadFile(n,!0)},Template.loadTemplateText=function(n){return this.__appendContent(n,!0)},Template.loadText=function(n){return this.__appendContent(n,!1)},Template.loadFile=function(n,b){var A,R;return null==b&&(b=!1),A=n.match("^(https://|http://|/)")?n:L.getPathToScript()+n,new L.XHR({url:A,responseType:"text"}).start().done((R=this,function(n){R.__appendContent(n,b)})).fail((function(b){return console.error('Template.loadFile: Unable to load filename: "'+n+'", see Console for more details. You can however, output easydbui.html manually before loading easydbui.js.',b)}))},Template.load=function(n){var b,A,R,D,B,E,X,$,V,K;for(null==n&&(n=document.documentElement),A=0,D=0,E=(V=L.dom.matchSelector(n,".cui-tmpl,[data-template]")).length;D0&&(document.body.appendChild(R),console.warn("Template.appendContent: contains extra content",R)),0===A?console.warn("Template.appendContent: contains no Templates"):void 0):document.body.appendChild(R)},Template}(L.Element)},320:(n,b,A)=>{var L=A(7288),R={}.hasOwnProperty;L.XHR=function(n){function XHR(){return XHR.__super__.constructor.apply(this,arguments)}return function(n,b){for(var A in b)R.call(b,A)&&(n[A]=b[A]);function ctor(){this.constructor=n}ctor.prototype=b.prototype,n.prototype=new ctor,n.__super__=b.prototype}(XHR,n),XHR.prototype.getGroup=function(){return"Core"},XHR.prototype.initOpts=function(){return XHR.__super__.initOpts.call(this),this.addOpts({method:{mandatory:!0,default:"GET",check:["GET","POST","PUT","DELETE","OPTIONS","HEAD","PATCH"]},url:{mandatory:!0,check:String,check:function(n){return n.trim().length>0}},user:{check:String},password:{check:String},responseType:{mandatory:!0,default:"json",check:["","text","json","blob","arraybuffer"]},timeout:{check:function(n){return n>=0}},form:{check:"PlainObject"},url_data:{check:"PlainObject"},body:{},json_data:{},json_pretty:{default:!1,check:function(n){return!1===n||!0===n||L.util.isString(n)}},headers:{mandatory:!0,default:{},check:"PlainObject"},withCredentials:{mandatory:!0,default:!1,check:Boolean}}),this},XHR.readyStates={0:"UNSENT",1:"OPENED",2:"HEADERS_RECEIVED",3:"LOADING",4:"DONE"},XHR.statusText={"-1":"abort","-2":"timeout","-3":"network_failure"},XHR.prototype.readOpts=function(){var n,b,A,R;for(n in XHR.__super__.readOpts.call(this),this.__xhr=new XMLHttpRequest,this.__xhr.withCredentials=this._withCredentials,this.__readyStatesSeen=[this.readyState()],this.__registerEvents("download"),this.__registerEvents("upload"),this.__headers={},b=this._headers)R=b[n],this.__headers[n.toLowerCase()]=R;return this._form&&(this.opts.method||(this._method="POST")),this._url_data?this.__url=L.appendToUrl(this._url,this._url_data):this.__url=this._url,A=0,this._form&&(A+=1),this._json_data&&(A+=1,void 0===this.__headers["content-type"]&&(this.__headers["content-type"]="application/json; charset=utf-8")),this._body&&(A+=1),L.util.assert(A<=1,"new CUI.XHR","opts.form, opts.json_data, opts.body are mutually exclusive."),this},XHR.prototype.__registerEvents=function(n){var b,A,L,R,D,B,E,X;for(D=["loadStart","progress","abort","error","load","loadend","timeout"],"upload"===n?E=this.__xhr.upload:(D.push("readyStateChange"),E=this.__xhr),X=this,A=function(n,b){return E.addEventListener(b.toLowerCase(),(function(b){return X[n](b)}))},L=0,B=D.length;L=200&&this.__xhr.status<300||304===this.__xhr.status)},XHR.prototype.status=function(){return this.__status<0?this.__status:this.__xhr.status},XHR.prototype.statusText=function(){return this.__status<0?L.XHR.statusText[this.__status+""]:this.__xhr.statusText},XHR.prototype.response=function(){var n;if("json"===this._responseType&&""===this.__xhr.responseType)try{n=JSON.parse(this.__xhr.response)}catch(b){n=this.__xhr.response}else n=this.__xhr.response;return"json"===this._responseType&&(this.__xhr.responseJSON=n),n},XHR.prototype.start=function(){var n,b,A,R,D,B;for(b in this.__xhr.open(this._method,this.__url,!0,this._user,this._password),A=this.__headers)B=A[b],this.__xhr.setRequestHeader(b,B);if(this.__xhr.responseType=this._responseType,this.__xhr.timeout=this._timeout,this._form){for(b in n=new FormData,R=this._form)B=R[b],n.append(b,B);D=n}else D=this._json_data?this._json_pretty?!0===this._json_pretty?JSON.stringify(this._json_data,null,"\t"):JSON.stringify(this._json_data,null,this._json_pretty):JSON.stringify(this._json_data):this._body?this._body:void 0;return this.__dfr=new L.Deferred,this.__xhr.send(D),this.__dfr.promise()},XHR.prototype.getXHR=function(){return this.__xhr},XHR.prototype.getAllResponseHeaders=function(){var n,b,A,L,R;for(b=[],A=0,L=(R=this.__xhr.getAllResponseHeaders().split("\r\n")).length;A{var L=A(7288);L.dom=function(){function dom(){}return dom.data=function(n,b,A){var R,D,B;if(n){if(n.hasOwnProperty("DOM")&&(n=n.DOM),L.util.assert(n instanceof HTMLElement,"dom.data","node needs to be instance of HTMLElement",{node:n}),void 0===b)return n.__dom_data||{};if(L.util.isPlainObject(b)){for(R in b)B=b[R],L.dom.data(n,R,B);return n}return void 0===A?null!=(D=n.__dom_data)?D[b]:void 0:(n.__dom_data||(n.__dom_data={}),n.__dom_data[b]=A,n)}},dom.removeData=function(n,b){if(n)return n.__dom_data&&(delete n.__dom_data[b],L.util.isEmptyObject(n.__dom_data)&&delete n.__dom_data),n},dom.findElement=function(n,b,A,L,R){var D;return null==L&&(L=!0),null==R&&(R=!1),0===(D=this.findElements(n,b,A,1,L,R)).length?null:D[0]},dom.findNextElement=function(n,b,A,L,R){var D,B;if(null==A&&(A=!1),null==L&&(L=!0),null==R&&(R=!0),D=this.findElement(n,b,A,L,R))return D;for(;;){if(!(n=n.parentNode))return null;if(B=L?n.nextElementSibling:n.previousElementSibling)break}return this.findNextElement(B,b,A,L,!1)},dom.findPreviousElement=function(n,b,A){return null==A&&(A=!1),this.findNextElement(n,b,A,!1)},dom.findNextVisibleElement=function(n,b,A){return null==A&&(A=!0),this.findNextElement(n,b,(function(n){return L.dom.isVisible(n)}),A)},dom.findPreviousVisibleElement=function(n,b){return this.findNextVisibleElement(n,b,!1)},dom.findNextSiblings=function(n,b,A){return null==A&&(A=!1),this.findElements(n,b,A,null,!0,!0)},dom.findPreviousSiblings=function(n,b,A){return null==A&&(A=!1),this.findElements(n,b,A,null,!1,!0)},dom.findElements=function(n,b,A,R,D,B,E){var X,$,V,K;return null==n&&(n=document.documentElement),null==b&&(b=null),null==A&&(A=!1),null==R&&(R=null),null==D&&(D=!0),null==B&&(B=!1),E?$=!0:(L.util.assert(n instanceof HTMLElement,"DOM.findElement","node needs to be instanceof HTMLElement.",{node:n,selector:b}),E=[],$=!B),X=!A||A(n),$&&X&&(null===b||L.dom.matches(n,b))&&(E.push(n),E.length===R)||(D?(V=n.firstElementChild,K=n.nextElementSibling):(V=n.lastElementChild,K=n.previousElementSibling),V&&!B&&X&&(this.findElements(V,b,A,R,D,B,E),E.length===R)||K&&(this.findElements(K,b,A,R,D,B,E),E.length)),E},dom.children=function(n,b){var A,L,R,D,B,E;for(L=[],D=R=0,B=(E=n.children).length;Rb.length||D++,B=b.length;return n}switch(typeof b){case"number":case"boolean":R=document.createTextNode(b+"");break;case"string":R=document.createTextNode(b);break;default:if(b.hasOwnProperty("DOM")){if(R=b.DOM,L.util.isNull(R))return}else R=b}return n.hasOwnProperty("DOM")&&n.DOM instanceof Node&&(n=n.DOM),A?(L.util.assert(R instanceof Node,"CUI.dom.append","Content needs to be instanceof Node, string, boolean, or number.",{node:R}),n.appendChild(R)):(L.util.assert(R instanceof Node,"CUI.dom.prepend","Content needs to be instanceof Node, string, boolean, or number.",{node:R}),n.insertBefore(R,n.firstChild)),n},dom.replace=function(n,b){return n.hasOwnProperty("DOM")&&(n=n.DOM),this.empty(n),this.append(n,b)},dom.prepend=function(n,b){return this.__append(n,b,!1)},dom.append=function(n,b){return this.__append(n,b)},dom.getAttribute=function(n,b){return n.hasOwnProperty("DOM")&&(n=n.DOM),n.getAttribute(b)},dom.remove=function(n){var b,A;return(b=(null!=n?n.DOM:void 0)||n)?(null!=(A=b.parentNode)&&A.removeChild(b),b):null},dom.empty=function(n){var b;if(!n)return null;if(n.hasOwnProperty("DOM")&&(n=n.DOM),!(n instanceof Node&&L.util.isFunction(n.removeChild)))return console.warn("CUI.dom.empty: node is not a DOM Node, ignoring.",n),null;for(;b=n.lastChild;)n.removeChild(b);return n},dom.hasClass=function(n,b){var A,L,R,D;if(!n||!b)return null;for(n.DOM&&(n=n.DOM),L=0,R=(D=b.trim().split(/\s+/)).length;L= 0",{element:n,offset:b}),(B=n.offsetParent)===document.documentElement?(D={top:0,left:0},A={top:document.body.scrollTop,left:document.body.scrollLeft}):((D={top:(R=L.dom.getDimensions(B)).top,left:R.left}).top+=R.borderTopWidth,D.left+=R.borderLeftWidth,A={top:R.scrollTop,left:R.scrollLeft}),L.dom.setStyle(n,{top:b.top-D.top+A.top,left:b.left-D.left+A.left})},dom.__failedDOMInserts=0,dom.waitForDOMRemove=function(n){var b,A,R,D;return D=L.Element.readOpts(n,"CUI.dom.waitForDOMRemove",{node:{mandatory:!0,check:function(n){return L.dom.isNode(n)}},ms:{default:200,check:function(n){return n>0}}}),R=L.dom.getNode(D.node),A=new L.Deferred,(b=function(){if(L.dom.isInDOM(R))return L.setTimeout({call:b,ms:D.ms,track:!1});A.resolve()})(),A.promise()},dom.waitForDOMInsert=function(n){var b,A,R,D,B,E,X,$;if(B=L.Element.readOpts(n,"CUI.dom.waitForDOMInsert",{node:{mandatory:!0,check:function(n){return L.dom.isNode(n)}}}),D=L.dom.getNode(B.node),L.dom.isInDOM(D))return L.resolvedPromise(!0);for(b=new L.Deferred,A=0,R=(X=["-webkit-","-moz-","-ms-","-o-",""]).length;A=0&&A<=n.children.length,"CUI.dom.insertAtPosition","Unable to insert node at position #"+A+".",{node:n,node_insert:b,pos:A}),A===n.children.length?n.appendChild(b):n.children[A]!==b?this.insertBefore(n.children[A],b):void 0},dom.insertBefore=function(n,b){var A;return(A=(null!=n?n.DOM:void 0)||n)?(b&&A.parentNode.insertBefore(b,A),A):null},dom.insertAfter=function(n,b){var A;return(A=(null!=n?n.DOM:void 0)||n)?(b&&A.parentNode.insertBefore(b,A.nextSibling),A):null},dom.is=function(n,b){return n?b instanceof HTMLElement?n===b:L.util.isFunction(b)?!!b(n):n instanceof HTMLElement?this.matches(n,b):null:null},dom.matches=function(n,b){return n?n[L.dom.matchFunc](b):null},dom.matchFunc=function(){var n,b,A,R,D;for(n=document.createElement("div"),b=0,R=(D=["matches","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector"]).length;b0;)this.insertAfter(A,b[b.length-1]);return A}return n.parentNode.replaceChild(b,n)},dom.getRect=function(n){return n.hasOwnProperty("DOM")&&(n=n.DOM),n.getBoundingClientRect()},dom.getComputedStyle=function(n){return n.hasOwnProperty("DOM")&&(n=n.DOM),window.getComputedStyle(n)},dom.setStyle=function(n,b,A){var R,D,B;for(R in null==A&&(A="px"),n.hasOwnProperty("DOM")&&(n=n.DOM),L.util.assert(n instanceof HTMLElement,"CUI.dom.setStyle","docElem needs to be instanceof HTMLElement.",{docElem:n}),b)if(void 0!==(B=b[R])){switch(B){case"":case null:D="";break;default:D=isNaN(Number(B))?B:0===B||"0"===B?0:B+A}R.startsWith("--")?n.style.setProperty(R,D):n.style[R]=D}return n},dom.getStyle=function(n){var b,A,R,D;for(A in n.hasOwnProperty("DOM")&&(n=n.DOM),D={},b=n.style)R=b[A],L.util.isNull(R)||(D[A]=R);return D},dom.setStyleOne=function(n,b,A){var L;return(L={})[b]=A,this.setStyle(n,L)},dom.setStylePx=function(n,b){return console.error("CUI.dom.setStylePx is deprectaed, use CUI.dom.setStyle."),this.setStyle(n,b)},dom.getRelativePosition=function(n){var b;return L.util.assert(n instanceof HTMLElement,"CUI.dom.getRelativePosition","docElem needs to be instanceof HTMLElement.",{docElem:n}),{top:(b=L.dom.getDimensions(n)).offsetTopScrolled,left:b.offsetLeftScrolled}},dom.getDimensions=function(n){var b,A,R,D,B,E,X,$,V,K,Q,tt,ot,nt,it,rt,st,pt,lt,ut,bt,Mt,zt,Ot,ft,mt,_t;if(L.util.isNull(n))return null;if(n===window||n===document)return{width:window.innerWidth,height:window.innerHeight};for(n.hasOwnProperty("DOM")&&(n=n.DOM),A={computedStyle:b=this.getComputedStyle(n),clientBoundingRect:lt=this.getRect(n)},D=0,K=(ut=["margin","padding","border"]).length;D0&&("function"==typeof b&&b(L,V),A.push(V));break;case 1:R.push(L)}this.findTextInNodes(R,b,A)}return A},dom.getCSSFloatValue=function(n){return-1===n.indexOf("px")?0:parseFloat(n.substr(0,n.length-2))},dom.isPositioned=function(n){var b;return L.util.assert(n instanceof HTMLElement,"CUI.dom.isPositioned","docElem needs to be instance of HTMLElement.",{docElem:n}),"relative"===(b=this.getComputedStyle(n).position)||"absolute"===b||"fixed"===b},dom.isVisible=function(n){var b;return!n.hidden&&("hidden"!==(b=this.getComputedStyle(n)).visibility&&"none"!==b.display)},dom.getBoxSizing=function(n){return this.getComputedStyle(n).boxSizing},dom.isBorderBox=function(n){return"border-box"===this.getBoxSizing(n)},dom.isContentBox=function(n){return"content-box"===this.getBoxSizing(n)},dom.hideElement=function(n){if(n)return n.hasOwnProperty("DOM")&&(n=n.DOM),"none"!==n.style.display&&(n.__saved_display=n.style.display),n.hidden=!0,n},dom.focus=function(n){if(n)return n.DOM&&(n=n.DOM),n.focus()},dom.blur=function(n){if(n)return n.DOM&&(n=n.DOM),n.blur()},dom.removeChildren=function(n,b){var A,R,D,B;for(L.util.assert(n instanceof HTMLElement,"CUI.dom.removeChildren","element needs to be instance of HTMLElement",{element:n}),R=0,D=(B=this.children(n,b)).length;R0&&(Q.scrollTop=Q.scrollTop+X,E()),(K=b.viewportTopMargin-A.viewportTopContent)<0&&(Q.scrollTop=Q.scrollTop+K,E())),"visible"!==A.computedStyle.overflowX&&((V=b.viewportRightMargin-A.viewportRightContent)>0&&(Q.scrollLeft=Q.scrollLeft+V,E()),($=b.viewportLeftMargin-A.viewportLeftContent)<0&&(Q.scrollLeft=Q.scrollLeft+$,E()));return n},dom.setClassOnMousemove=function(n){var b,A,R,D;return null==n&&(n={}),A=L.Element.readOpts(n,"CUI.dom.setClassOnMousemove",{delayRemove:{check:Function},class:{mandatory:!0,check:String},ms:{default:3e3,mandatory:!0,check:function(n){return n>0}},element:{mandatory:!0,check:function(n){return n instanceof HTMLElement}},instance:{}}),b=function(){return L.dom.addClass(A.element,A.class),D()},R=function(){if(!("function"==typeof A.delayRemove?A.delayRemove():void 0)&&!L.globalDrag)return L.dom.removeClass(A.element,A.class);D()},D=function(){return L.scheduleCallback({ms:A.ms,call:R})},L.Events.listen({node:A.element,type:["mousemove","wheel"],instance:A.instance,call:function(n){b()}}),L.Events.listen({node:A.element,type:"mouseleave",instance:A.instance,call:function(){return R()}})},dom.requestFullscreen=function(n){var b,A;return n.hasOwnProperty("DOM")&&(n=n.DOM),L.util.assert(n instanceof HTMLElement,"startFullscreen","element needs to be instance of HTMLElement",{element:n}),n.requestFullscreen?n.requestFullscreen():n.webkitRequestFullscreen?n.webkitRequestFullscreen():n.mozRequestFullScreen?n.mozRequestFullScreen():n.msRequestFullscreen&&n.msRequestFullscreen(),b=new L.Deferred,A=L.Events.listen({type:"fullscreenchange",node:window,call:function(n){L.dom.isFullscreen()?b.notify():(L.Events.ignore(A),b.resolve())}}),b.promise()},dom.getLayerSidebarWidth=function(){var n;return(n=L.dom.matchSelector(document.documentElement,".cui-layer-sidebar--active"))[0]?L.dom.getDimensions(n[0]).marginBoxWidth:0},dom.exitFullscreen=function(){var n;return L.dom.isFullscreen()?(n=new L.Deferred,document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen(),L.Events.listen({type:"fullscreenchange",node:window,only_once:!0,call:function(){n.resolve()}}),n.promise()):L.resolvedPromise()},dom.fullscreenElement=function(){return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||void 0},dom.fullscreenEnabled=function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled||!1},dom.isFullscreen=function(){return document.fullscreen||document.webkitIsFullScreen||document.mozFullScreen||!!document.msFullscreenElement||!1},dom.$element=function(n,b,A,R){return null==A&&(A={}),null==R&&(R=!1),L.util.isEmpty(b)||(A.class=b),R&&(L.util.isEmpty(b)?A.class="cui-"+n:A.class="cui-"+n+" "+b,n="div"),L.dom.element(n,A)},dom.div=function(n,b){return L.dom.$element("div",n,b)},dom.video=function(n,b){return L.dom.$element("video",n,b)},dom.audio=function(n,b){return L.dom.$element("audio",n,b)},dom.source=function(n,b){return L.dom.$element("source",n,b)},dom.span=function(n,b){return L.dom.$element("span",n,b)},dom.table=function(n,b){return L.dom.$element("table",n,b,!0)},dom.img=function(n,b){return L.dom.$element("img",n,b)},dom.tr=function(n,b){return L.dom.$element("tr",n,b,!0)},dom.th=function(n,b){return L.dom.$element("th",n,b,!0)},dom.td=function(n,b){return L.dom.$element("td",n,b,!0)},dom.i=function(n,b){return L.dom.$element("i",n,b)},dom.p=function(n,b){return L.dom.$element("p",n,b)},dom.pre=function(n,b){return L.dom.$element("pre",n,b)},dom.ul=function(n,b){return L.dom.$element("ul",n,b)},dom.a=function(n,b){return L.dom.$element("a",n,b)},dom.b=function(n,b){return L.dom.$element("b",n,b)},dom.li=function(n,b){return L.dom.$element("li",n,b)},dom.label=function(n,b){return L.dom.$element("label",n,b)},dom.h1=function(n,b){return L.dom.$element("h1",n,b)},dom.h2=function(n,b){return L.dom.$element("h2",n,b)},dom.h3=function(n,b){return L.dom.$element("h3",n,b)},dom.h4=function(n,b){return L.dom.$element("h4",n,b)},dom.h5=function(n,b){return L.dom.$element("h5",n,b)},dom.h6=function(n,b){return L.dom.$element("h6",n,b)},dom.text=function(n,b,A){var R;return(R=L.dom.span(b,A)).textContent=n,R},dom.textEmpty=function(n){var b;return(b=L.dom.span("italic")).textContent=n,b},dom.table_one_row=function(){return L.dom.append(L.dom.table(),L.dom.tr_one_row.apply(this,arguments))},dom.tr_one_row=function(){var n,b,A,R,D,B,E;for(E=L.dom.tr(),b=function(n){var b,A;A=L.dom.td(),L.dom.append(E,A),b=function(n){var R,D,B;if(L.util.isArray(n))for(D=0,B=n.length;D{var L,R,D,B,E=A(7288);R=A(8214),L=A(2400),D=A(3185),B=A(2689),E.util=function(){function util(){}return util.assert=function(n,b,A,L){var R,D,B,X,$;if(E.defaults.asserts&&!n){try{new Error("dummy").stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.\s*\(/gm,"{anonymous}()@").replace().split("\n")}catch(n){"Can't get callstack in this browser. Try using Stacktrace.js"}if(X=[],L){for(D in R=[b+":"],L)$=L[D],R.push(D+":"),X.push(D),R.push($);console.debug.apply(console,R)}switch(B=X.length?b+"("+X.join(",")+")":b,A&&(B+=": "+A),E.defaults.asserts_alert){case"debugger":break;case"js":alert(B);break;case"cui":E.problem({text:B})}if(!E.__in_error)throw E.__in_error=!0,E.setTimeout((function(){return E.__in_error=!1})),new Error(B);console.error("Another assert occurred, cannot throw Error to avoid loop: ",B)}},util.assertImplements=function(n,b){var A,L,R,D;if(E.defaults.asserts){for(D=[],A=0,L=b.length;A=0},util.isContent=function(n){return E.util.isElement(n)||n instanceof HTMLCollection||n instanceof NodeList||E.util.isArray(n)||E.util.isFunction(n)||E.util.isElement(null!=n?n.DOM:void 0)},util.isNumber=function(n){return E.util.isInteger(n)||E.util.isFloat(n)},util.isFloat=function(n){return n===+n&&n!==(0|n)},util.isInteger=function(n){return Number.isInteger(n)},util.isPromise=function(n){return n instanceof E.Promise||n instanceof E.Deferred},util.isDeferred=function(n){return n instanceof E.Deferred},util.escapeRegExp=function(n){return n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},util.getIntOrString=function(n){return E.util.getInt(n,!0)},util.getInt=function(n,b){var A;return null==b&&(b=!1),E.util.isNull(n)?null:(A=parseInt(n),isNaN(A)||(A+"").length!==(n+"").trim().length?b?n:null:A)},util.getFloat=function(n){var b;return E.util.isNull(n)?null:(b=parseFloat(n),isNaN(b)?null:b)},util.xor=function(n,b){return!!(n&&!b||!n&&b)},util.toHtml=function(n,b){return E.util.isNull(n)||!E.util.isString(n)?"":(n=n.replace(/&/g,"&").replace(/\'/g,"'").replace(//g,">").replace(/\"/g,"""),b?n.replace(/\s/g," "):n)},util.copyObject=function(n,b,A){var L,R,D,B,X,$,V,K,Q;if(null==b&&(b=!1),null==A&&(A=0),!(A>100)){if("string"==(K=typeof n)||"number"===K||"boolean"===K||"function"===K)return n;if(E.util.isNull(n))return n;if(n instanceof E.Element)return 0===A||b?n.copy():n;if(n instanceof HTMLElement)return n.cloneNode?n.cloneNode(!0):n;if(n instanceof E.Dummy)return n;if(E.util.isPlainObject(n)){for(D in $={},n)if(Q=n[D],b)try{$[D]=E.util.copyObject(Q,!0,A+1)}catch(b){throw L=b,console.error("Error during Object copy:",L.toString(),"Key:",D,"Object:",n),L}else $[D]=Q;return $}if(E.util.isArray(n)){if(!b)return n.slice(0);for(X=[],R=0,B=n.length;R":E.util.isNull(n)?"