CasaOS/web/js/11.js

245 lines
1 MiB
JavaScript
Raw Normal View History

(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[11],{"./node_modules/codemirror/addon/comment/comment.js":
/*!**********************************************************!*\
!*** ./node_modules/codemirror/addon/comment/comment.js ***!
\**********************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n var noOptions = {};\n var nonWS = /[^\\s\\u00a0]/;\n var Pos = CodeMirror.Pos, cmp = CodeMirror.cmpPos;\n\n function firstNonWS(str) {\n var found = str.search(nonWS);\n return found == -1 ? 0 : found;\n }\n\n CodeMirror.commands.toggleComment = function(cm) {\n cm.toggleComment();\n };\n\n CodeMirror.defineExtension("toggleComment", function(options) {\n if (!options) options = noOptions;\n var cm = this;\n var minLine = Infinity, ranges = this.listSelections(), mode = null;\n for (var i = ranges.length - 1; i >= 0; i--) {\n var from = ranges[i].from(), to = ranges[i].to();\n if (from.line >= minLine) continue;\n if (to.line >= minLine) to = Pos(minLine, 0);\n minLine = from.line;\n if (mode == null) {\n if (cm.uncomment(from, to, options)) mode = "un";\n else { cm.lineComment(from, to, options); mode = "line"; }\n } else if (mode == "un") {\n cm.uncomment(from, to, options);\n } else {\n cm.lineComment(from, to, options);\n }\n }\n });\n\n // Rough heuristic to try and detect lines that are part of multi-line string\n function probablyInsideString(cm, pos, line) {\n return /\\bstring\\b/.test(cm.getTokenTypeAt(Pos(pos.line, 0))) && !/^[\\\'\\"\\`]/.test(line)\n }\n\n function getMode(cm, pos) {\n var mode = cm.getMode()\n return mode.useInnerComments === false || !mode.innerMode ? mode : cm.getModeAt(pos)\n }\n\n CodeMirror.defineExtension("lineComment", function(from, to, options) {\n if (!options) options = noOptions;\n var self = this, mode = getMode(self, from);\n var firstLine = self.getLine(from.line);\n if (firstLine == null || probablyInsideString(self, from, firstLine)) return;\n\n var commentString = options.lineComment || mode.lineComment;\n if (!commentString) {\n if (options.blockCommentStart || mode.blockCommentStart) {\n options.fullLines = true;\n self.blockComment(from, to, options);\n }\n return;\n }\n\n var end = Math.min(to.ch != 0 || to.line == from.line ? to.line + 1 : to.line, self.lastLine() + 1);\n var pad = options.padding == null ? " " : options.padding;\n var blankLines = options.commentBlankLines || from.line == to.line;\n\n self.operation(function() {\n if (options.indent) {\n var baseString = null;\n for (var i = from.line; i < end; ++i) {\n var line = self.getLine(i);\n var whitespace = line.slice(0, firstNonWS(line));\n if (baseString == null || baseString.length > whitespace.length) {\n baseString = whitespace;\n }\n }\n for (var i = from.line; i < end; ++i) {\n var line = self.getLine(i), cut = baseString.length;\n if (!blankLines && !nonWS.test(line)) continue;\n if (line.slice(0, cut) != baseString) cut = firstNonWS(line);\n self.replaceRange(baseString + commentString + pad, Pos(i, 0), Pos(i, cut));\n }\n } else {\n for (var i = from.line; i < end; ++i) {\n if (blankLines || nonWS.test(self.getLine(i)))\n self.replaceRange(commentString + pad, Pos(i, 0));\n }\n }\n });\n });\n\n CodeMirror.defineExtension("blockComment", function(from, to, options) {\n if (!options) options = noOptions;\n var self = this, mode = getMode(self, from);\n var startString = options.blockCommentStart || mode.blockCommentStart;\n var endString = options.blockCommentEnd || mode.blockCommentEnd;\n if (!startString || !endString) {\n if ((options.lineComment || mode.lineComment) && options.fullLines != false)\n self.lineComme
/*!*********************************************************!*\
!*** ./node_modules/codemirror/addon/dialog/dialog.css ***!
\*********************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n \n\n//# sourceURL=webpack:///./node_modules/codemirror/addon/dialog/dialog.css?")},"./node_modules/codemirror/addon/dialog/dialog.js":
/*!********************************************************!*\
!*** ./node_modules/codemirror/addon/dialog/dialog.js ***!
\********************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Open simple dialogs on top of an editor. Relies on dialog.css.\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n function dialogDiv(cm, template, bottom) {\n var wrap = cm.getWrapperElement();\n var dialog;\n dialog = wrap.appendChild(document.createElement("div"));\n if (bottom)\n dialog.className = "CodeMirror-dialog CodeMirror-dialog-bottom";\n else\n dialog.className = "CodeMirror-dialog CodeMirror-dialog-top";\n\n if (typeof template == "string") {\n dialog.innerHTML = template;\n } else { // Assuming it\'s a detached DOM element.\n dialog.appendChild(template);\n }\n CodeMirror.addClass(wrap, \'dialog-opened\');\n return dialog;\n }\n\n function closeNotification(cm, newVal) {\n if (cm.state.currentNotificationClose)\n cm.state.currentNotificationClose();\n cm.state.currentNotificationClose = newVal;\n }\n\n CodeMirror.defineExtension("openDialog", function(template, callback, options) {\n if (!options) options = {};\n\n closeNotification(this, null);\n\n var dialog = dialogDiv(this, template, options.bottom);\n var closed = false, me = this;\n function close(newVal) {\n if (typeof newVal == \'string\') {\n inp.value = newVal;\n } else {\n if (closed) return;\n closed = true;\n CodeMirror.rmClass(dialog.parentNode, \'dialog-opened\');\n dialog.parentNode.removeChild(dialog);\n me.focus();\n\n if (options.onClose) options.onClose(dialog);\n }\n }\n\n var inp = dialog.getElementsByTagName("input")[0], button;\n if (inp) {\n inp.focus();\n\n if (options.value) {\n inp.value = options.value;\n if (options.selectValueOnOpen !== false) {\n inp.select();\n }\n }\n\n if (options.onInput)\n CodeMirror.on(inp, "input", function(e) { options.onInput(e, inp.value, close);});\n if (options.onKeyUp)\n CodeMirror.on(inp, "keyup", function(e) {options.onKeyUp(e, inp.value, close);});\n\n CodeMirror.on(inp, "keydown", function(e) {\n if (options && options.onKeyDown && options.onKeyDown(e, inp.value, close)) { return; }\n if (e.keyCode == 27 || (options.closeOnEnter !== false && e.keyCode == 13)) {\n inp.blur();\n CodeMirror.e_stop(e);\n close();\n }\n if (e.keyCode == 13) callback(inp.value, e);\n });\n\n if (options.closeOnBlur !== false) CodeMirror.on(dialog, "focusout", function (evt) {\n if (evt.relatedTarget !== null) close();\n });\n } else if (button = dialog.getElementsByTagName("button")[0]) {\n CodeMirror.on(button, "click", function() {\n close();\n me.focus();\n });\n\n if (options.closeOnBlur !== false) CodeMirror.on(button, "blur", close);\n\n button.focus();\n }\n return close;\n });\n\n CodeMirror.defineExtension("openConfirm", function(template, callbacks, options) {\n closeNotification(this, null);\n var dialog = dialogDiv(this, template, options && options.bottom);\n var buttons = dialog.getElementsByTagName("button");\n var closed = false, me = this, blurring = 1;\n function close() {\n if (closed) return;\n closed = true;\n CodeMirror.rmClass(dialog.parentNode, \'dialog-opened\');\n dialog.parentNode.removeChild(dialog);\n me.focus();\n }\n buttons[0].focus();\n for (var i = 0; i < buttons.length; ++i) {\n var b = buttons[i];\n (function(callback) {\n CodeMirror.on(b, "click", function(e) {\n CodeMirror.e_preventDefault(e);\n close();\n if (callback) callback(me);\n });\n })(callbacks[i]);\n CodeMirror.on(b,
/*!*************************************************************!*\
!*** ./node_modules/codemirror/addon/edit/matchbrackets.js ***!
\*************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n var ie_lt8 = /MSIE \\d/.test(navigator.userAgent) &&\n (document.documentMode == null || document.documentMode < 8);\n\n var Pos = CodeMirror.Pos;\n\n var matching = {"(": ")>", ")": "(<", "[": "]>", "]": "[<", "{": "}>", "}": "{<", "<": ">>", ">": "<<"};\n\n function bracketRegex(config) {\n return config && config.bracketRegex || /[(){}[\\]]/\n }\n\n function findMatchingBracket(cm, where, config) {\n var line = cm.getLineHandle(where.line), pos = where.ch - 1;\n var afterCursor = config && config.afterCursor\n if (afterCursor == null)\n afterCursor = /(^| )cm-fat-cursor($| )/.test(cm.getWrapperElement().className)\n var re = bracketRegex(config)\n\n // A cursor is defined as between two characters, but in in vim command mode\n // (i.e. not insert mode), the cursor is visually represented as a\n // highlighted box on top of the 2nd character. Otherwise, we allow matches\n // from before or after the cursor.\n var match = (!afterCursor && pos >= 0 && re.test(line.text.charAt(pos)) && matching[line.text.charAt(pos)]) ||\n re.test(line.text.charAt(pos + 1)) && matching[line.text.charAt(++pos)];\n if (!match) return null;\n var dir = match.charAt(1) == ">" ? 1 : -1;\n if (config && config.strict && (dir > 0) != (pos == where.ch)) return null;\n var style = cm.getTokenTypeAt(Pos(where.line, pos + 1));\n\n var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style, config);\n if (found == null) return null;\n return {from: Pos(where.line, pos), to: found && found.pos,\n match: found && found.ch == match.charAt(0), forward: dir > 0};\n }\n\n // bracketRegex is used to specify which type of bracket to scan\n // should be a regexp, e.g. /[[\\]]/\n //\n // Note: If "where" is on an open bracket, then this bracket is ignored.\n //\n // Returns false when no bracket was found, null when it reached\n // maxScanLines and gave up\n function scanForBracket(cm, where, dir, style, config) {\n var maxScanLen = (config && config.maxScanLineLength) || 10000;\n var maxScanLines = (config && config.maxScanLines) || 1000;\n\n var stack = [];\n var re = bracketRegex(config)\n var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1)\n : Math.max(cm.firstLine() - 1, where.line - maxScanLines);\n for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) {\n var line = cm.getLine(lineNo);\n if (!line) continue;\n var pos = dir > 0 ? 0 : line.length - 1, end = dir > 0 ? line.length : -1;\n if (line.length > maxScanLen) continue;\n if (lineNo == where.line) pos = where.ch - (dir < 0 ? 1 : 0);\n for (; pos != end; pos += dir) {\n var ch = line.charAt(pos);\n if (re.test(ch) && (style === undefined ||\n (cm.getTokenTypeAt(Pos(lineNo, pos + 1)) || "") == (style || ""))) {\n var match = matching[ch];\n if (match && (match.charAt(1) == ">") == (dir > 0)) stack.push(ch);\n else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch};\n else stack.pop();\n }\n }\n }\n return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null;\n }\n\n function matchBrackets(cm, autoclear, config) {\n // Disable brace matching in long lines, since it\'ll cause hugely slow updates\n var maxHighlightLen = cm.state.matchBrackets.maxHighlightLineLength || 1000,\n highlightNonMatching = config && config.highlightNonMatching;\n var marks = [], ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var match = r
/*!**********************************************************!*\
!*** ./node_modules/codemirror/addon/fold/brace-fold.js ***!
\**********************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nfunction bracketFolding(pairs) {\n return function(cm, start) {\n var line = start.line, lineText = cm.getLine(line);\n\n function findOpening(pair) {\n var tokenType;\n for (var at = start.ch, pass = 0;;) {\n var found = at <= 0 ? -1 : lineText.lastIndexOf(pair[0], at - 1);\n if (found == -1) {\n if (pass == 1) break;\n pass = 1;\n at = lineText.length;\n continue;\n }\n if (pass == 1 && found < start.ch) break;\n tokenType = cm.getTokenTypeAt(CodeMirror.Pos(line, found + 1));\n if (!/^(comment|string)/.test(tokenType)) return {ch: found + 1, tokenType: tokenType, pair: pair};\n at = found - 1;\n }\n }\n\n function findRange(found) {\n var count = 1, lastLine = cm.lastLine(), end, startCh = found.ch, endCh\n outer: for (var i = line; i <= lastLine; ++i) {\n var text = cm.getLine(i), pos = i == line ? startCh : 0;\n for (;;) {\n var nextOpen = text.indexOf(found.pair[0], pos), nextClose = text.indexOf(found.pair[1], pos);\n if (nextOpen < 0) nextOpen = text.length;\n if (nextClose < 0) nextClose = text.length;\n pos = Math.min(nextOpen, nextClose);\n if (pos == text.length) break;\n if (cm.getTokenTypeAt(CodeMirror.Pos(i, pos + 1)) == found.tokenType) {\n if (pos == nextOpen) ++count;\n else if (!--count) { end = i; endCh = pos; break outer; }\n }\n ++pos;\n }\n }\n\n if (end == null || line == end) return null\n return {from: CodeMirror.Pos(line, startCh),\n to: CodeMirror.Pos(end, endCh)};\n }\n\n var found = []\n for (var i = 0; i < pairs.length; i++) {\n var open = findOpening(pairs[i])\n if (open) found.push(open)\n }\n found.sort(function(a, b) { return a.ch - b.ch })\n for (var i = 0; i < found.length; i++) {\n var range = findRange(found[i])\n if (range) return range\n }\n return null\n }\n}\n\nCodeMirror.registerHelper("fold", "brace", bracketFolding([["{", "}"], ["[", "]"]]));\n\nCodeMirror.registerHelper("fold", "brace-paren", bracketFolding([["{", "}"], ["[", "]"], ["(", ")"]]));\n\nCodeMirror.registerHelper("fold", "import", function(cm, start) {\n function hasImport(line) {\n if (line < cm.firstLine() || line > cm.lastLine()) return null;\n var start = cm.getTokenAt(CodeMirror.Pos(line, 1));\n if (!/\\S/.test(start.string)) start = cm.getTokenAt(CodeMirror.Pos(line, start.end + 1));\n if (start.type != "keyword" || start.string != "import") return null;\n // Now find closing semicolon, return its position\n for (var i = line, e = Math.min(cm.lastLine(), line + 10); i <= e; ++i) {\n var text = cm.getLine(i), semi = text.indexOf(";");\n if (semi != -1) return {startCh: start.end, end: CodeMirror.Pos(i, semi)};\n }\n }\n\n var startLine = start.line, has = hasImport(startLine), prev;\n if (!has || hasImport(startLine - 1) || ((prev = hasImport(startLine - 2)) && prev.end.line == startLine - 1))\n return null;\n for (var end = has.end;;) {\n var next = hasImport(end.line + 1);\n if (next == null) break;\n end = next.end;\n }\n return {from: cm.clipPos(CodeMirror.Pos(startLine, has.startCh + 1)), to: end};\n});\n\nCodeMirror.registerHelper("fold", "include", function(cm, start) {\n function hasInclude(line) {\n if (line < cm.firstLine() || line > cm.lastLine()) return null;\n var start = cm.getTokenAt(CodeMirror.Pos(line, 1));\n if (!/\\S/.test(start.string)) start = cm.getTokenAt(CodeMirror.Pos(line, start.end + 1));\n if (start.type
/*!************************************************************!*\
!*** ./node_modules/codemirror/addon/fold/comment-fold.js ***!
\************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nCodeMirror.registerGlobalHelper("fold", "comment", function(mode) {\n return mode.blockCommentStart && mode.blockCommentEnd;\n}, function(cm, start) {\n var mode = cm.getModeAt(start), startToken = mode.blockCommentStart, endToken = mode.blockCommentEnd;\n if (!startToken || !endToken) return;\n var line = start.line, lineText = cm.getLine(line);\n\n var startCh;\n for (var at = start.ch, pass = 0;;) {\n var found = at <= 0 ? -1 : lineText.lastIndexOf(startToken, at - 1);\n if (found == -1) {\n if (pass == 1) return;\n pass = 1;\n at = lineText.length;\n continue;\n }\n if (pass == 1 && found < start.ch) return;\n if (/comment/.test(cm.getTokenTypeAt(CodeMirror.Pos(line, found + 1))) &&\n (found == 0 || lineText.slice(found - endToken.length, found) == endToken ||\n !/comment/.test(cm.getTokenTypeAt(CodeMirror.Pos(line, found))))) {\n startCh = found + startToken.length;\n break;\n }\n at = found - 1;\n }\n\n var depth = 1, lastLine = cm.lastLine(), end, endCh;\n outer: for (var i = line; i <= lastLine; ++i) {\n var text = cm.getLine(i), pos = i == line ? startCh : 0;\n for (;;) {\n var nextOpen = text.indexOf(startToken, pos), nextClose = text.indexOf(endToken, pos);\n if (nextOpen < 0) nextOpen = text.length;\n if (nextClose < 0) nextClose = text.length;\n pos = Math.min(nextOpen, nextClose);\n if (pos == text.length) break;\n if (pos == nextOpen) ++depth;\n else if (!--depth) { end = i; endCh = pos; break outer; }\n ++pos;\n }\n }\n if (end == null || line == end && endCh == startCh) return;\n return {from: CodeMirror.Pos(line, startCh),\n to: CodeMirror.Pos(end, endCh)};\n});\n\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/addon/fold/comment-fold.js?')},"./node_modules/codemirror/addon/fold/foldcode.js":
/*!********************************************************!*\
!*** ./node_modules/codemirror/addon/fold/foldcode.js ***!
\********************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n function doFold(cm, pos, options, force) {\n if (options && options.call) {\n var finder = options;\n options = null;\n } else {\n var finder = getOption(cm, options, "rangeFinder");\n }\n if (typeof pos == "number") pos = CodeMirror.Pos(pos, 0);\n var minSize = getOption(cm, options, "minFoldSize");\n\n function getRange(allowFolded) {\n var range = finder(cm, pos);\n if (!range || range.to.line - range.from.line < minSize) return null;\n if (force === "fold") return range;\n\n var marks = cm.findMarksAt(range.from);\n for (var i = 0; i < marks.length; ++i) {\n if (marks[i].__isFold) {\n if (!allowFolded) return null;\n range.cleared = true;\n marks[i].clear();\n }\n }\n return range;\n }\n\n var range = getRange(true);\n if (getOption(cm, options, "scanUp")) while (!range && pos.line > cm.firstLine()) {\n pos = CodeMirror.Pos(pos.line - 1, 0);\n range = getRange(false);\n }\n if (!range || range.cleared || force === "unfold") return;\n\n var myWidget = makeWidget(cm, options, range);\n CodeMirror.on(myWidget, "mousedown", function(e) {\n myRange.clear();\n CodeMirror.e_preventDefault(e);\n });\n var myRange = cm.markText(range.from, range.to, {\n replacedWith: myWidget,\n clearOnEnter: getOption(cm, options, "clearOnEnter"),\n __isFold: true\n });\n myRange.on("clear", function(from, to) {\n CodeMirror.signal(cm, "unfold", cm, from, to);\n });\n CodeMirror.signal(cm, "fold", cm, range.from, range.to);\n }\n\n function makeWidget(cm, options, range) {\n var widget = getOption(cm, options, "widget");\n\n if (typeof widget == "function") {\n widget = widget(range.from, range.to);\n }\n\n if (typeof widget == "string") {\n var text = document.createTextNode(widget);\n widget = document.createElement("span");\n widget.appendChild(text);\n widget.className = "CodeMirror-foldmarker";\n } else if (widget) {\n widget = widget.cloneNode(true)\n }\n return widget;\n }\n\n // Clumsy backwards-compatible interface\n CodeMirror.newFoldFunction = function(rangeFinder, widget) {\n return function(cm, pos) { doFold(cm, pos, {rangeFinder: rangeFinder, widget: widget}); };\n };\n\n // New-style interface\n CodeMirror.defineExtension("foldCode", function(pos, options, force) {\n doFold(this, pos, options, force);\n });\n\n CodeMirror.defineExtension("isFolded", function(pos) {\n var marks = this.findMarksAt(pos);\n for (var i = 0; i < marks.length; ++i)\n if (marks[i].__isFold) return true;\n });\n\n CodeMirror.commands.toggleFold = function(cm) {\n cm.foldCode(cm.getCursor());\n };\n CodeMirror.commands.fold = function(cm) {\n cm.foldCode(cm.getCursor(), null, "fold");\n };\n CodeMirror.commands.unfold = function(cm) {\n cm.foldCode(cm.getCursor(), { scanUp: false }, "unfold");\n };\n CodeMirror.commands.foldAll = function(cm) {\n cm.operation(function() {\n for (var i = cm.firstLine(), e = cm.lastLine(); i <= e; i++)\n cm.foldCode(CodeMirror.Pos(i, 0), { scanUp: false }, "fold");\n });\n };\n CodeMirror.commands.unfoldAll = function(cm) {\n cm.operation(function() {\n for (var i = cm.firstLine(), e = cm.lastLine(); i <= e; i++)\n cm.foldCode(CodeMirror.Pos(i, 0), { scanUp: false }, "unfold");\n });\n };\n\n CodeMirror.registerHelper("fold", "combine", function() {\n var funcs = Array.prototype.slice.call(arguments, 0);\n return function(cm, start) {\n for (var i = 0; i < funcs.length; ++i) {\n
/*!***********************************************************!*\
!*** ./node_modules/codemirror/addon/fold/foldgutter.css ***!
\***********************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n \n\n//# sourceURL=webpack:///./node_modules/codemirror/addon/fold/foldgutter.css?")},"./node_modules/codemirror/addon/fold/foldgutter.js":
/*!**********************************************************!*\
!*** ./node_modules/codemirror/addon/fold/foldgutter.js ***!
\**********************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"), __webpack_require__(/*! ./foldcode */ "./node_modules/codemirror/addon/fold/foldcode.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n CodeMirror.defineOption("foldGutter", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.clearGutter(cm.state.foldGutter.options.gutter);\n cm.state.foldGutter = null;\n cm.off("gutterClick", onGutterClick);\n cm.off("changes", onChange);\n cm.off("viewportChange", onViewportChange);\n cm.off("fold", onFold);\n cm.off("unfold", onFold);\n cm.off("swapDoc", onChange);\n }\n if (val) {\n cm.state.foldGutter = new State(parseOptions(val));\n updateInViewport(cm);\n cm.on("gutterClick", onGutterClick);\n cm.on("changes", onChange);\n cm.on("viewportChange", onViewportChange);\n cm.on("fold", onFold);\n cm.on("unfold", onFold);\n cm.on("swapDoc", onChange);\n }\n });\n\n var Pos = CodeMirror.Pos;\n\n function State(options) {\n this.options = options;\n this.from = this.to = 0;\n }\n\n function parseOptions(opts) {\n if (opts === true) opts = {};\n if (opts.gutter == null) opts.gutter = "CodeMirror-foldgutter";\n if (opts.indicatorOpen == null) opts.indicatorOpen = "CodeMirror-foldgutter-open";\n if (opts.indicatorFolded == null) opts.indicatorFolded = "CodeMirror-foldgutter-folded";\n return opts;\n }\n\n function isFolded(cm, line) {\n var marks = cm.findMarks(Pos(line, 0), Pos(line + 1, 0));\n for (var i = 0; i < marks.length; ++i) {\n if (marks[i].__isFold) {\n var fromPos = marks[i].find(-1);\n if (fromPos && fromPos.line === line)\n return marks[i];\n }\n }\n }\n\n function marker(spec) {\n if (typeof spec == "string") {\n var elt = document.createElement("div");\n elt.className = spec + " CodeMirror-guttermarker-subtle";\n return elt;\n } else {\n return spec.cloneNode(true);\n }\n }\n\n function updateFoldInfo(cm, from, to) {\n var opts = cm.state.foldGutter.options, cur = from - 1;\n var minSize = cm.foldOption(opts, "minFoldSize");\n var func = cm.foldOption(opts, "rangeFinder");\n // we can reuse the built-in indicator element if its className matches the new state\n var clsFolded = typeof opts.indicatorFolded == "string" && classTest(opts.indicatorFolded);\n var clsOpen = typeof opts.indicatorOpen == "string" && classTest(opts.indicatorOpen);\n cm.eachLine(from, to, function(line) {\n ++cur;\n var mark = null;\n var old = line.gutterMarkers;\n if (old) old = old[opts.gutter];\n if (isFolded(cm, cur)) {\n if (clsFolded && old && clsFolded.test(old.className)) return;\n mark = marker(opts.indicatorFolded);\n } else {\n var pos = Pos(cur, 0);\n var range = func && func(cm, pos);\n if (range && range.to.line - range.from.line >= minSize) {\n if (clsOpen && old && clsOpen.test(old.className)) return;\n mark = marker(opts.indicatorOpen);\n }\n }\n if (!mark && !old) return;\n cm.setGutterMarker(line, opts.gutter, mark);\n });\n }\n\n // copied from CodeMirror/src/util/dom.js\n function classTest(cls) { return new RegExp("(^|\\\\s)" + cls + "(?:$|\\\\s)\\\\s*") }\n\n function updateInViewport(cm) {\n var vp = cm.getViewport(), state = cm.state.foldGutter;\n if (!state) return;\n cm.operation(function() {\n updateFoldInfo(cm, vp.from, vp.to);\n });\n state.from = vp.from; state.to = vp.to;\n }\n\n function onGutterClick(cm, line, gutter) {\n var state = cm.state.foldGutter;\n if (!state) return;\n var opts = state.options;\n if (gutter !=
/*!***********************************************************!*\
!*** ./node_modules/codemirror/addon/fold/indent-fold.js ***!
\***********************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nfunction lineIndent(cm, lineNo) {\n var text = cm.getLine(lineNo)\n var spaceTo = text.search(/\\S/)\n if (spaceTo == -1 || /\\bcomment\\b/.test(cm.getTokenTypeAt(CodeMirror.Pos(lineNo, spaceTo + 1))))\n return -1\n return CodeMirror.countColumn(text, null, cm.getOption("tabSize"))\n}\n\nCodeMirror.registerHelper("fold", "indent", function(cm, start) {\n var myIndent = lineIndent(cm, start.line)\n if (myIndent < 0) return\n var lastLineInFold = null\n\n // Go through lines until we find a line that definitely doesn\'t belong in\n // the block we\'re folding, or to the end.\n for (var i = start.line + 1, end = cm.lastLine(); i <= end; ++i) {\n var indent = lineIndent(cm, i)\n if (indent == -1) {\n } else if (indent > myIndent) {\n // Lines with a greater indent are considered part of the block.\n lastLineInFold = i;\n } else {\n // If this line has non-space, non-comment content, and is\n // indented less or equal to the start line, it is the start of\n // another block.\n break;\n }\n }\n if (lastLineInFold) return {\n from: CodeMirror.Pos(start.line, cm.getLine(start.line).length),\n to: CodeMirror.Pos(lastLineInFold, cm.getLine(lastLineInFold).length)\n };\n});\n\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/addon/fold/indent-fold.js?')},"./node_modules/codemirror/addon/fold/markdown-fold.js":
/*!*************************************************************!*\
!*** ./node_modules/codemirror/addon/fold/markdown-fold.js ***!
\*************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nCodeMirror.registerHelper("fold", "markdown", function(cm, start) {\n var maxDepth = 100;\n\n function isHeader(lineNo) {\n var tokentype = cm.getTokenTypeAt(CodeMirror.Pos(lineNo, 0));\n return tokentype && /\\bheader\\b/.test(tokentype);\n }\n\n function headerLevel(lineNo, line, nextLine) {\n var match = line && line.match(/^#+/);\n if (match && isHeader(lineNo)) return match[0].length;\n match = nextLine && nextLine.match(/^[=\\-]+\\s*$/);\n if (match && isHeader(lineNo + 1)) return nextLine[0] == "=" ? 1 : 2;\n return maxDepth;\n }\n\n var firstLine = cm.getLine(start.line), nextLine = cm.getLine(start.line + 1);\n var level = headerLevel(start.line, firstLine, nextLine);\n if (level === maxDepth) return undefined;\n\n var lastLineNo = cm.lastLine();\n var end = start.line, nextNextLine = cm.getLine(end + 2);\n while (end < lastLineNo) {\n if (headerLevel(end + 1, nextLine, nextNextLine) <= level) break;\n ++end;\n nextLine = nextNextLine;\n nextNextLine = cm.getLine(end + 2);\n }\n\n return {\n from: CodeMirror.Pos(start.line, firstLine.length),\n to: CodeMirror.Pos(end, cm.getLine(end).length)\n };\n});\n\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/addon/fold/markdown-fold.js?')},"./node_modules/codemirror/addon/fold/xml-fold.js":
/*!********************************************************!*\
!*** ./node_modules/codemirror/addon/fold/xml-fold.js ***!
\********************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n var Pos = CodeMirror.Pos;\n function cmp(a, b) { return a.line - b.line || a.ch - b.ch; }\n\n var nameStartChar = "A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD";\n var nameChar = nameStartChar + "\\-\\:\\.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040";\n var xmlTagStart = new RegExp("<(/?)([" + nameStartChar + "][" + nameChar + "]*)", "g");\n\n function Iter(cm, line, ch, range) {\n this.line = line; this.ch = ch;\n this.cm = cm; this.text = cm.getLine(line);\n this.min = range ? Math.max(range.from, cm.firstLine()) : cm.firstLine();\n this.max = range ? Math.min(range.to - 1, cm.lastLine()) : cm.lastLine();\n }\n\n function tagAt(iter, ch) {\n var type = iter.cm.getTokenTypeAt(Pos(iter.line, ch));\n return type && /\\btag\\b/.test(type);\n }\n\n function nextLine(iter) {\n if (iter.line >= iter.max) return;\n iter.ch = 0;\n iter.text = iter.cm.getLine(++iter.line);\n return true;\n }\n function prevLine(iter) {\n if (iter.line <= iter.min) return;\n iter.text = iter.cm.getLine(--iter.line);\n iter.ch = iter.text.length;\n return true;\n }\n\n function toTagEnd(iter) {\n for (;;) {\n var gt = iter.text.indexOf(">", iter.ch);\n if (gt == -1) { if (nextLine(iter)) continue; else return; }\n if (!tagAt(iter, gt + 1)) { iter.ch = gt + 1; continue; }\n var lastSlash = iter.text.lastIndexOf("/", gt);\n var selfClose = lastSlash > -1 && !/\\S/.test(iter.text.slice(lastSlash + 1, gt));\n iter.ch = gt + 1;\n return selfClose ? "selfClose" : "regular";\n }\n }\n function toTagStart(iter) {\n for (;;) {\n var lt = iter.ch ? iter.text.lastIndexOf("<", iter.ch - 1) : -1;\n if (lt == -1) { if (prevLine(iter)) continue; else return; }\n if (!tagAt(iter, lt + 1)) { iter.ch = lt; continue; }\n xmlTagStart.lastIndex = lt;\n iter.ch = lt;\n var match = xmlTagStart.exec(iter.text);\n if (match && match.index == lt) return match;\n }\n }\n\n function toNextTag(iter) {\n for (;;) {\n xmlTagStart.lastIndex = iter.ch;\n var found = xmlTagStart.exec(iter.text);\n if (!found) { if (nextLine(iter)) continue; else return; }\n if (!tagAt(iter, found.index + 1)) { iter.ch = found.index + 1; continue; }\n iter.ch = found.index + found[0].length;\n return found;\n }\n }\n function toPrevTag(iter) {\n for (;;) {\n var gt = iter.ch ? iter.text.lastIndexOf(">", iter.ch - 1) : -1;\n if (gt == -1) { if (prevLine(iter)) continue; else return; }\n if (!tagAt(iter, gt + 1)) { iter.ch = gt; continue; }\n var lastSlash = iter.text.lastIndexOf("/", gt);\n var selfClose = lastSlash > -1 && !/\\S/.test(iter.text.slice(lastSlash + 1, gt));\n iter.ch = gt + 1;\n return selfClose ? "selfClose" : "regular";\n }\n }\n\n function findMatchingClose(iter, tag) {\n var stack = [];\n for (;;) {\n var next = toNextTag(iter), end, startLine = iter.line, startCh = iter.ch - (next ? next[0].length : 0);\n if (!next || !(end = toTagEnd(iter))) return;\n if (end == "selfClose") continue;\n if (next[1]) { // closing tag\n for (var i = stack.length - 1; i >= 0; --i) if (stack[i] == next[2]) {\n stack.length = i;\n break;\n }\n if (i < 0 && (!tag || tag == next[2])) return {\n tag: next[2],\n from: Pos(startLine, startCh),\n to: Pos(iter.line, iter.ch)\n };\n } else { // openi
/*!***************************************************************!*\
!*** ./node_modules/codemirror/addon/hint/javascript-hint.js ***!
\***************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n var Pos = CodeMirror.Pos;\n\n function forEach(arr, f) {\n for (var i = 0, e = arr.length; i < e; ++i) f(arr[i]);\n }\n\n function arrayContains(arr, item) {\n if (!Array.prototype.indexOf) {\n var i = arr.length;\n while (i--) {\n if (arr[i] === item) {\n return true;\n }\n }\n return false;\n }\n return arr.indexOf(item) != -1;\n }\n\n function scriptHint(editor, keywords, getToken, options) {\n // Find the token at the cursor\n var cur = editor.getCursor(), token = getToken(editor, cur);\n if (/\\b(?:string|comment)\\b/.test(token.type)) return;\n var innerMode = CodeMirror.innerMode(editor.getMode(), token.state);\n if (innerMode.mode.helperType === "json") return;\n token.state = innerMode.state;\n\n // If it\'s not a \'word-style\' token, ignore the token.\n if (!/^[\\w$_]*$/.test(token.string)) {\n token = {start: cur.ch, end: cur.ch, string: "", state: token.state,\n type: token.string == "." ? "property" : null};\n } else if (token.end > cur.ch) {\n token.end = cur.ch;\n token.string = token.string.slice(0, cur.ch - token.start);\n }\n\n var tprop = token;\n // If it is a property, find out what it is a property of.\n while (tprop.type == "property") {\n tprop = getToken(editor, Pos(cur.line, tprop.start));\n if (tprop.string != ".") return;\n tprop = getToken(editor, Pos(cur.line, tprop.start));\n if (!context) var context = [];\n context.push(tprop);\n }\n return {list: getCompletions(token, context, keywords, options),\n from: Pos(cur.line, token.start),\n to: Pos(cur.line, token.end)};\n }\n\n function javascriptHint(editor, options) {\n return scriptHint(editor, javascriptKeywords,\n function (e, cur) {return e.getTokenAt(cur);},\n options);\n };\n CodeMirror.registerHelper("hint", "javascript", javascriptHint);\n\n function getCoffeeScriptToken(editor, cur) {\n // This getToken, it is for coffeescript, imitates the behavior of\n // getTokenAt method in javascript.js, that is, returning "property"\n // type and treat "." as independent token.\n var token = editor.getTokenAt(cur);\n if (cur.ch == token.start + 1 && token.string.charAt(0) == \'.\') {\n token.end = token.start;\n token.string = \'.\';\n token.type = "property";\n }\n else if (/^\\.[\\w$_]*$/.test(token.string)) {\n token.type = "property";\n token.start++;\n token.string = token.string.replace(/\\./, \'\');\n }\n return token;\n }\n\n function coffeescriptHint(editor, options) {\n return scriptHint(editor, coffeescriptKeywords, getCoffeeScriptToken, options);\n }\n CodeMirror.registerHelper("hint", "coffeescript", coffeescriptHint);\n\n var stringProps = ("charAt charCodeAt indexOf lastIndexOf substring substr slice trim trimLeft trimRight " +\n "toUpperCase toLowerCase split concat match replace search").split(" ");\n var arrayProps = ("length concat join splice push pop shift unshift slice reverse sort indexOf " +\n "lastIndexOf every some filter forEach map reduce reduceRight ").split(" ");\n var funcProps = "prototype apply call bind".split(" ");\n var javascriptKeywords = ("break case catch class const continue debugger default delete do else export extends false finally for function " +\n "if in import instanceof new null return super switch this throw true try typeof var void while with yield").split(" ");\n var coffeescriptKeywords = ("and break catch class continue delete do else extends false fi
/*!**********************************************************!*\
!*** ./node_modules/codemirror/addon/hint/show-hint.css ***!
\**********************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n \n\n//# sourceURL=webpack:///./node_modules/codemirror/addon/hint/show-hint.css?")},"./node_modules/codemirror/addon/hint/show-hint.js":
/*!*********************************************************!*\
!*** ./node_modules/codemirror/addon/hint/show-hint.js ***!
\*********************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// declare global: DOMRect\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n var HINT_ELEMENT_CLASS = "CodeMirror-hint";\n var ACTIVE_HINT_ELEMENT_CLASS = "CodeMirror-hint-active";\n\n // This is the old interface, kept around for now to stay\n // backwards-compatible.\n CodeMirror.showHint = function(cm, getHints, options) {\n if (!getHints) return cm.showHint(options);\n if (options && options.async) getHints.async = true;\n var newOpts = {hint: getHints};\n if (options) for (var prop in options) newOpts[prop] = options[prop];\n return cm.showHint(newOpts);\n };\n\n CodeMirror.defineExtension("showHint", function(options) {\n options = parseOptions(this, this.getCursor("start"), options);\n var selections = this.listSelections()\n if (selections.length > 1) return;\n // By default, don\'t allow completion when something is selected.\n // A hint function can have a `supportsSelection` property to\n // indicate that it can handle selections.\n if (this.somethingSelected()) {\n if (!options.hint.supportsSelection) return;\n // Don\'t try with cross-line selections\n for (var i = 0; i < selections.length; i++)\n if (selections[i].head.line != selections[i].anchor.line) return;\n }\n\n if (this.state.completionActive) this.state.completionActive.close();\n var completion = this.state.completionActive = new Completion(this, options);\n if (!completion.options.hint) return;\n\n CodeMirror.signal(this, "startCompletion", this);\n completion.update(true);\n });\n\n CodeMirror.defineExtension("closeHint", function() {\n if (this.state.completionActive) this.state.completionActive.close()\n })\n\n function Completion(cm, options) {\n this.cm = cm;\n this.options = options;\n this.widget = null;\n this.debounce = 0;\n this.tick = 0;\n this.startPos = this.cm.getCursor("start");\n this.startLen = this.cm.getLine(this.startPos.line).length - this.cm.getSelection().length;\n\n if (this.options.updateOnCursorActivity) {\n var self = this;\n cm.on("cursorActivity", this.activityFunc = function() { self.cursorActivity(); });\n }\n }\n\n var requestAnimationFrame = window.requestAnimationFrame || function(fn) {\n return setTimeout(fn, 1000/60);\n };\n var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout;\n\n Completion.prototype = {\n close: function() {\n if (!this.active()) return;\n this.cm.state.completionActive = null;\n this.tick = null;\n if (this.options.updateOnCursorActivity) {\n this.cm.off("cursorActivity", this.activityFunc);\n }\n\n if (this.widget && this.data) CodeMirror.signal(this.data, "close");\n if (this.widget) this.widget.close();\n CodeMirror.signal(this.cm, "endCompletion", this.cm);\n },\n\n active: function() {\n return this.cm.state.completionActive == this;\n },\n\n pick: function(data, i) {\n var completion = data.list[i], self = this;\n this.cm.operation(function() {\n if (completion.hint)\n completion.hint(self.cm, data, completion);\n else\n self.cm.replaceRange(getText(completion), completion.from || data.from,\n completion.to || data.to, "complete");\n CodeMirror.signal(data, "pick", completion);\n self.cm.scrollIntoView();\n });\n if (this.options.closeOnPick) {\n this.close();\n }\n },\n\n cursorActivity: function() {\n if (this.debounce) {\n cancelAnimationFrame(this.debounce);\n this.debounce = 0;\n }\n\n var identStart = this.startPos;\n if(this.data) {\n i
/*!*********************************************************!*\
!*** ./node_modules/codemirror/addon/mode/multiplex.js ***!
\*********************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nCodeMirror.multiplexingMode = function(outer /*, others */) {\n // Others should be {open, close, mode [, delimStyle] [, innerStyle] [, parseDelimiters]} objects\n var others = Array.prototype.slice.call(arguments, 1);\n\n function indexOf(string, pattern, from, returnEnd) {\n if (typeof pattern == "string") {\n var found = string.indexOf(pattern, from);\n return returnEnd && found > -1 ? found + pattern.length : found;\n }\n var m = pattern.exec(from ? string.slice(from) : string);\n return m ? m.index + from + (returnEnd ? m[0].length : 0) : -1;\n }\n\n return {\n startState: function() {\n return {\n outer: CodeMirror.startState(outer),\n innerActive: null,\n inner: null,\n startingInner: false\n };\n },\n\n copyState: function(state) {\n return {\n outer: CodeMirror.copyState(outer, state.outer),\n innerActive: state.innerActive,\n inner: state.innerActive && CodeMirror.copyState(state.innerActive.mode, state.inner),\n startingInner: state.startingInner\n };\n },\n\n token: function(stream, state) {\n if (!state.innerActive) {\n var cutOff = Infinity, oldContent = stream.string;\n for (var i = 0; i < others.length; ++i) {\n var other = others[i];\n var found = indexOf(oldContent, other.open, stream.pos);\n if (found == stream.pos) {\n if (!other.parseDelimiters) stream.match(other.open);\n state.startingInner = !!other.parseDelimiters\n state.innerActive = other;\n\n // Get the outer indent, making sure to handle CodeMirror.Pass\n var outerIndent = 0;\n if (outer.indent) {\n var possibleOuterIndent = outer.indent(state.outer, "", "");\n if (possibleOuterIndent !== CodeMirror.Pass) outerIndent = possibleOuterIndent;\n }\n\n state.inner = CodeMirror.startState(other.mode, outerIndent);\n return other.delimStyle && (other.delimStyle + " " + other.delimStyle + "-open");\n } else if (found != -1 && found < cutOff) {\n cutOff = found;\n }\n }\n if (cutOff != Infinity) stream.string = oldContent.slice(0, cutOff);\n var outerToken = outer.token(stream, state.outer);\n if (cutOff != Infinity) stream.string = oldContent;\n return outerToken;\n } else {\n var curInner = state.innerActive, oldContent = stream.string;\n if (!curInner.close && stream.sol()) {\n state.innerActive = state.inner = null;\n return this.token(stream, state);\n }\n var found = curInner.close && !state.startingInner ?\n indexOf(oldContent, curInner.close, stream.pos, curInner.parseDelimiters) : -1;\n if (found == stream.pos && !curInner.parseDelimiters) {\n stream.match(curInner.close);\n state.innerActive = state.inner = null;\n return curInner.delimStyle && (curInner.delimStyle + " " + curInner.delimStyle + "-close");\n }\n if (found > -1) stream.string = oldContent.slice(0, found);\n var innerToken = curInner.mode.token(stream, state.inner);\n if (found > -1) stream.string = oldContent;\n else if (stream.pos > stream.start) state.startingInner = false\n\n if (found == stream.pos && curInner.parseDelimiters)\n state.innerActive = state.inner = null;\n\n if (curInner.innerStyle) {\n if (innerToken) innerToken = innerToken + " " + curInner.innerStyle;\n else innerToken = curInner.innerStyle;\n }\n\n return innerToken
/*!*******************************************************!*\
!*** ./node_modules/codemirror/addon/mode/overlay.js ***!
\*******************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Utility function that allows modes to be combined. The mode given\n// as the base argument takes care of most of the normal mode\n// functionality, but a second (typically simple) mode is used, which\n// can override the style of text. Both modes get to parse all of the\n// text, but when both assign a non-null style to a piece of code, the\n// overlay wins, unless the combine argument was true and not overridden,\n// or state.overlay.combineTokens was true, in which case the styles are\n// combined.\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nCodeMirror.overlayMode = function(base, overlay, combine) {\n return {\n startState: function() {\n return {\n base: CodeMirror.startState(base),\n overlay: CodeMirror.startState(overlay),\n basePos: 0, baseCur: null,\n overlayPos: 0, overlayCur: null,\n streamSeen: null\n };\n },\n copyState: function(state) {\n return {\n base: CodeMirror.copyState(base, state.base),\n overlay: CodeMirror.copyState(overlay, state.overlay),\n basePos: state.basePos, baseCur: null,\n overlayPos: state.overlayPos, overlayCur: null\n };\n },\n\n token: function(stream, state) {\n if (stream != state.streamSeen ||\n Math.min(state.basePos, state.overlayPos) < stream.start) {\n state.streamSeen = stream;\n state.basePos = state.overlayPos = stream.start;\n }\n\n if (stream.start == state.basePos) {\n state.baseCur = base.token(stream, state.base);\n state.basePos = stream.pos;\n }\n if (stream.start == state.overlayPos) {\n stream.pos = stream.start;\n state.overlayCur = overlay.token(stream, state.overlay);\n state.overlayPos = stream.pos;\n }\n stream.pos = Math.min(state.basePos, state.overlayPos);\n\n // state.overlay.combineTokens always takes precedence over combine,\n // unless set to null\n if (state.overlayCur == null) return state.baseCur;\n else if (state.baseCur != null &&\n state.overlay.combineTokens ||\n combine && state.overlay.combineTokens == null)\n return state.baseCur + " " + state.overlayCur;\n else return state.overlayCur;\n },\n\n indent: base.indent && function(state, textAfter, line) {\n return base.indent(state.base, textAfter, line);\n },\n electricChars: base.electricChars,\n\n innerMode: function(state) { return {state: state.base, mode: base}; },\n\n blankLine: function(state) {\n var baseToken, overlayToken;\n if (base.blankLine) baseToken = base.blankLine(state.base);\n if (overlay.blankLine) overlayToken = overlay.blankLine(state.overlay);\n\n return overlayToken == null ?\n baseToken :\n (combine && baseToken != null ? baseToken + " " + overlayToken : overlayToken);\n }\n };\n};\n\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/addon/mode/overlay.js?')},"./node_modules/codemirror/addon/mode/simple.js":
/*!******************************************************!*\
!*** ./node_modules/codemirror/addon/mode/simple.js ***!
\******************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n CodeMirror.defineSimpleMode = function(name, states) {\n CodeMirror.defineMode(name, function(config) {\n return CodeMirror.simpleMode(config, states);\n });\n };\n\n CodeMirror.simpleMode = function(config, states) {\n ensureState(states, "start");\n var states_ = {}, meta = states.meta || {}, hasIndentation = false;\n for (var state in states) if (state != meta && states.hasOwnProperty(state)) {\n var list = states_[state] = [], orig = states[state];\n for (var i = 0; i < orig.length; i++) {\n var data = orig[i];\n list.push(new Rule(data, states));\n if (data.indent || data.dedent) hasIndentation = true;\n }\n }\n var mode = {\n startState: function() {\n return {state: "start", pending: null,\n local: null, localState: null,\n indent: hasIndentation ? [] : null};\n },\n copyState: function(state) {\n var s = {state: state.state, pending: state.pending,\n local: state.local, localState: null,\n indent: state.indent && state.indent.slice(0)};\n if (state.localState)\n s.localState = CodeMirror.copyState(state.local.mode, state.localState);\n if (state.stack)\n s.stack = state.stack.slice(0);\n for (var pers = state.persistentStates; pers; pers = pers.next)\n s.persistentStates = {mode: pers.mode,\n spec: pers.spec,\n state: pers.state == state.localState ? s.localState : CodeMirror.copyState(pers.mode, pers.state),\n next: s.persistentStates};\n return s;\n },\n token: tokenFunction(states_, config),\n innerMode: function(state) { return state.local && {mode: state.local.mode, state: state.localState}; },\n indent: indentFunction(states_, meta)\n };\n if (meta) for (var prop in meta) if (meta.hasOwnProperty(prop))\n mode[prop] = meta[prop];\n return mode;\n };\n\n function ensureState(states, name) {\n if (!states.hasOwnProperty(name))\n throw new Error("Undefined state " + name + " in simple mode");\n }\n\n function toRegex(val, caret) {\n if (!val) return /(?:)/;\n var flags = "";\n if (val instanceof RegExp) {\n if (val.ignoreCase) flags = "i";\n if (val.unicode) flags += "u"\n val = val.source;\n } else {\n val = String(val);\n }\n return new RegExp((caret === false ? "" : "^") + "(?:" + val + ")", flags);\n }\n\n function asToken(val) {\n if (!val) return null;\n if (val.apply) return val\n if (typeof val == "string") return val.replace(/\\./g, " ");\n var result = [];\n for (var i = 0; i < val.length; i++)\n result.push(val[i] && val[i].replace(/\\./g, " "));\n return result;\n }\n\n function Rule(data, states) {\n if (data.next || data.push) ensureState(states, data.next || data.push);\n this.regex = toRegex(data.regex);\n this.token = asToken(data.token);\n this.data = data;\n }\n\n function tokenFunction(states, config) {\n return function(stream, state) {\n if (state.pending) {\n var pend = state.pending.shift();\n if (state.pending.length == 0) state.pending = null;\n stream.pos += pend.text.length;\n return pend.token;\n }\n\n if (state.local) {\n if (state.local.end && stream.match(state.local.end)) {\n var tok = state.local.endToken || null;\n state.local = state.localState = null;\n return tok;\n } else {\n var tok = state.local.mode.token(stream, state.localState), m;\n
/*!*******************************************************************!*\
!*** ./node_modules/codemirror/addon/scroll/annotatescrollbar.js ***!
\*******************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n CodeMirror.defineExtension("annotateScrollbar", function(options) {\n if (typeof options == "string") options = {className: options};\n return new Annotation(this, options);\n });\n\n CodeMirror.defineOption("scrollButtonHeight", 0);\n\n function Annotation(cm, options) {\n this.cm = cm;\n this.options = options;\n this.buttonHeight = options.scrollButtonHeight || cm.getOption("scrollButtonHeight");\n this.annotations = [];\n this.doRedraw = this.doUpdate = null;\n this.div = cm.getWrapperElement().appendChild(document.createElement("div"));\n this.div.style.cssText = "position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none";\n this.computeScale();\n\n function scheduleRedraw(delay) {\n clearTimeout(self.doRedraw);\n self.doRedraw = setTimeout(function() { self.redraw(); }, delay);\n }\n\n var self = this;\n cm.on("refresh", this.resizeHandler = function() {\n clearTimeout(self.doUpdate);\n self.doUpdate = setTimeout(function() {\n if (self.computeScale()) scheduleRedraw(20);\n }, 100);\n });\n cm.on("markerAdded", this.resizeHandler);\n cm.on("markerCleared", this.resizeHandler);\n if (options.listenForChanges !== false)\n cm.on("changes", this.changeHandler = function() {\n scheduleRedraw(250);\n });\n }\n\n Annotation.prototype.computeScale = function() {\n var cm = this.cm;\n var hScale = (cm.getWrapperElement().clientHeight - cm.display.barHeight - this.buttonHeight * 2) /\n cm.getScrollerElement().scrollHeight\n if (hScale != this.hScale) {\n this.hScale = hScale;\n return true;\n }\n };\n\n Annotation.prototype.update = function(annotations) {\n this.annotations = annotations;\n this.redraw();\n };\n\n Annotation.prototype.redraw = function(compute) {\n if (compute !== false) this.computeScale();\n var cm = this.cm, hScale = this.hScale;\n\n var frag = document.createDocumentFragment(), anns = this.annotations;\n\n var wrapping = cm.getOption("lineWrapping");\n var singleLineH = wrapping && cm.defaultTextHeight() * 1.5;\n var curLine = null, curLineObj = null;\n\n function getY(pos, top) {\n if (curLine != pos.line) {\n curLine = pos.line\n curLineObj = cm.getLineHandle(pos.line)\n var visual = cm.getLineHandleVisualStart(curLineObj)\n if (visual != curLineObj) {\n curLine = cm.getLineNumber(visual)\n curLineObj = visual\n }\n }\n if ((curLineObj.widgets && curLineObj.widgets.length) ||\n (wrapping && curLineObj.height > singleLineH))\n return cm.charCoords(pos, "local")[top ? "top" : "bottom"];\n var topY = cm.heightAtLine(curLineObj, "local");\n return topY + (top ? 0 : curLineObj.height);\n }\n\n var lastLine = cm.lastLine()\n if (cm.display.barWidth) for (var i = 0, nextTop; i < anns.length; i++) {\n var ann = anns[i];\n if (ann.to.line > lastLine) continue;\n var top = nextTop || getY(ann.from, true) * hScale;\n var bottom = getY(ann.to, false) * hScale;\n while (i < anns.length - 1) {\n if (anns[i + 1].to.line > lastLine) break;\n nextTop = getY(anns[i + 1].from, true) * hScale;\n if (nextTop > bottom + .9) break;\n ann = anns[++i];\n bottom = getY(ann.to, false) * hScale;\n }\n if (bottom == top) continue;\n var height = Math.max(bottom - top, 3);\n\n var elt = frag.appendChild(document.createElement("div"));\n elt.style.cssText = "position: absolute; right: 0px; width: " + Math.max(cm.display.barWidth - 1, 2) + "px; top: "\n
/*!*******************************************************************!*\
!*** ./node_modules/codemirror/addon/scroll/simplescrollbars.css ***!
\*******************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n \n\n//# sourceURL=webpack:///./node_modules/codemirror/addon/scroll/simplescrollbars.css?")},"./node_modules/codemirror/addon/scroll/simplescrollbars.js":
/*!******************************************************************!*\
!*** ./node_modules/codemirror/addon/scroll/simplescrollbars.js ***!
\******************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n function Bar(cls, orientation, scroll) {\n this.orientation = orientation;\n this.scroll = scroll;\n this.screen = this.total = this.size = 1;\n this.pos = 0;\n\n this.node = document.createElement("div");\n this.node.className = cls + "-" + orientation;\n this.inner = this.node.appendChild(document.createElement("div"));\n\n var self = this;\n CodeMirror.on(this.inner, "mousedown", function(e) {\n if (e.which != 1) return;\n CodeMirror.e_preventDefault(e);\n var axis = self.orientation == "horizontal" ? "pageX" : "pageY";\n var start = e[axis], startpos = self.pos;\n function done() {\n CodeMirror.off(document, "mousemove", move);\n CodeMirror.off(document, "mouseup", done);\n }\n function move(e) {\n if (e.which != 1) return done();\n self.moveTo(startpos + (e[axis] - start) * (self.total / self.size));\n }\n CodeMirror.on(document, "mousemove", move);\n CodeMirror.on(document, "mouseup", done);\n });\n\n CodeMirror.on(this.node, "click", function(e) {\n CodeMirror.e_preventDefault(e);\n var innerBox = self.inner.getBoundingClientRect(), where;\n if (self.orientation == "horizontal")\n where = e.clientX < innerBox.left ? -1 : e.clientX > innerBox.right ? 1 : 0;\n else\n where = e.clientY < innerBox.top ? -1 : e.clientY > innerBox.bottom ? 1 : 0;\n self.moveTo(self.pos + where * self.screen);\n });\n\n function onWheel(e) {\n var moved = CodeMirror.wheelEventPixels(e)[self.orientation == "horizontal" ? "x" : "y"];\n var oldPos = self.pos;\n self.moveTo(self.pos + moved);\n if (self.pos != oldPos) CodeMirror.e_preventDefault(e);\n }\n CodeMirror.on(this.node, "mousewheel", onWheel);\n CodeMirror.on(this.node, "DOMMouseScroll", onWheel);\n }\n\n Bar.prototype.setPos = function(pos, force) {\n if (pos < 0) pos = 0;\n if (pos > this.total - this.screen) pos = this.total - this.screen;\n if (!force && pos == this.pos) return false;\n this.pos = pos;\n this.inner.style[this.orientation == "horizontal" ? "left" : "top"] =\n (pos * (this.size / this.total)) + "px";\n return true\n };\n\n Bar.prototype.moveTo = function(pos) {\n if (this.setPos(pos)) this.scroll(pos, this.orientation);\n }\n\n var minButtonSize = 10;\n\n Bar.prototype.update = function(scrollSize, clientSize, barSize) {\n var sizeChanged = this.screen != clientSize || this.total != scrollSize || this.size != barSize\n if (sizeChanged) {\n this.screen = clientSize;\n this.total = scrollSize;\n this.size = barSize;\n }\n\n var buttonSize = this.screen * (this.size / this.total);\n if (buttonSize < minButtonSize) {\n this.size -= minButtonSize - buttonSize;\n buttonSize = minButtonSize;\n }\n this.inner.style[this.orientation == "horizontal" ? "width" : "height"] =\n buttonSize + "px";\n this.setPos(this.pos, sizeChanged);\n };\n\n function SimpleScrollbars(cls, place, scroll) {\n this.addClass = cls;\n this.horiz = new Bar(cls, "horizontal", scroll);\n place(this.horiz.node);\n this.vert = new Bar(cls, "vertical", scroll);\n place(this.vert.node);\n this.width = null;\n }\n\n SimpleScrollbars.prototype.update = function(measure) {\n if (this.width == null) {\n var style = window.getComputedStyle ? window.getComputedStyle(this.horiz.node) : this.horiz.node.currentStyle;\n if (style) this.width = parseInt(style.height);\n }\n var width = this.width || 0;\n\n var needsH = measure.scrollWidth > measure.clientWidth + 1;\n var needsV = measure
/*!*******************************************************************!*\
!*** ./node_modules/codemirror/addon/search/match-highlighter.js ***!
\*******************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Highlighting text that matches the selection\n//\n// Defines an option highlightSelectionMatches, which, when enabled,\n// will style strings that match the selection throughout the\n// document.\n//\n// The option can be set to true to simply enable it, or to a\n// {minChars, style, wordsOnly, showToken, delay} object to explicitly\n// configure it. minChars is the minimum amount of characters that should be\n// selected for the behavior to occur, and style is the token style to\n// apply to the matches. This will be prefixed by "cm-" to create an\n// actual CSS class name. If wordsOnly is enabled, the matches will be\n// highlighted only if the selected text is a word. showToken, when enabled,\n// will cause the current token to be highlighted when nothing is selected.\n// delay is used to specify how much time to wait, in milliseconds, before\n// highlighting the matches. If annotateScrollbar is enabled, the occurrences\n// will be highlighted on the scrollbar via the matchesonscrollbar addon.\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"), __webpack_require__(/*! ./matchesonscrollbar */ "./node_modules/codemirror/addon/search/matchesonscrollbar.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n var defaults = {\n style: "matchhighlight",\n minChars: 2,\n delay: 100,\n wordsOnly: false,\n annotateScrollbar: false,\n showToken: false,\n trim: true\n }\n\n function State(options) {\n this.options = {}\n for (var name in defaults)\n this.options[name] = (options && options.hasOwnProperty(name) ? options : defaults)[name]\n this.overlay = this.timeout = null;\n this.matchesonscroll = null;\n this.active = false;\n }\n\n CodeMirror.defineOption("highlightSelectionMatches", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n removeOverlay(cm);\n clearTimeout(cm.state.matchHighlighter.timeout);\n cm.state.matchHighlighter = null;\n cm.off("cursorActivity", cursorActivity);\n cm.off("focus", onFocus)\n }\n if (val) {\n var state = cm.state.matchHighlighter = new State(val);\n if (cm.hasFocus()) {\n state.active = true\n highlightMatches(cm)\n } else {\n cm.on("focus", onFocus)\n }\n cm.on("cursorActivity", cursorActivity);\n }\n });\n\n function cursorActivity(cm) {\n var state = cm.state.matchHighlighter;\n if (state.active || cm.hasFocus()) scheduleHighlight(cm, state)\n }\n\n function onFocus(cm) {\n var state = cm.state.matchHighlighter\n if (!state.active) {\n state.active = true\n scheduleHighlight(cm, state)\n }\n }\n\n function scheduleHighlight(cm, state) {\n clearTimeout(state.timeout);\n state.timeout = setTimeout(function() {highlightMatches(cm);}, state.options.delay);\n }\n\n function addOverlay(cm, query, hasBoundary, style) {\n var state = cm.state.matchHighlighter;\n cm.addOverlay(state.overlay = makeOverlay(query, hasBoundary, style));\n if (state.options.annotateScrollbar && cm.showMatchesOnScrollbar) {\n var searchFor = hasBoundary ? new RegExp((/\\w/.test(query.charAt(0)) ? "\\\\b" : "") +\n query.replace(/[\\\\\\[.+*?(){|^$]/g, "\\\\$&") +\n (/\\w/.test(query.charAt(query.length - 1)) ? "\\\\b" : "")) : query;\n state.matchesonscroll = cm.showMatchesOnScrollbar(searchFor, false,\n {className: "CodeMirror-selection-highlight-scrollbar"});\n }\n }\n\n function removeOverlay(cm) {\n var state = cm.state.matchHighlighter;\n if (state.overlay) {\n cm.removeOverlay(state.overlay);\n state.overlay = null;\n if (state.matchesonscroll) {\n state.matche
/*!********************************************************************!*\
!*** ./node_modules/codemirror/addon/search/matchesonscrollbar.js ***!
\********************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"), __webpack_require__(/*! ./searchcursor */ "./node_modules/codemirror/addon/search/searchcursor.js"), __webpack_require__(/*! ../scroll/annotatescrollbar */ "./node_modules/codemirror/addon/scroll/annotatescrollbar.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n CodeMirror.defineExtension("showMatchesOnScrollbar", function(query, caseFold, options) {\n if (typeof options == "string") options = {className: options};\n if (!options) options = {};\n return new SearchAnnotation(this, query, caseFold, options);\n });\n\n function SearchAnnotation(cm, query, caseFold, options) {\n this.cm = cm;\n this.options = options;\n var annotateOptions = {listenForChanges: false};\n for (var prop in options) annotateOptions[prop] = options[prop];\n if (!annotateOptions.className) annotateOptions.className = "CodeMirror-search-match";\n this.annotation = cm.annotateScrollbar(annotateOptions);\n this.query = query;\n this.caseFold = caseFold;\n this.gap = {from: cm.firstLine(), to: cm.lastLine() + 1};\n this.matches = [];\n this.update = null;\n\n this.findMatches();\n this.annotation.update(this.matches);\n\n var self = this;\n cm.on("change", this.changeHandler = function(_cm, change) { self.onChange(change); });\n }\n\n var MAX_MATCHES = 1000;\n\n SearchAnnotation.prototype.findMatches = function() {\n if (!this.gap) return;\n for (var i = 0; i < this.matches.length; i++) {\n var match = this.matches[i];\n if (match.from.line >= this.gap.to) break;\n if (match.to.line >= this.gap.from) this.matches.splice(i--, 1);\n }\n var cursor = this.cm.getSearchCursor(this.query, CodeMirror.Pos(this.gap.from, 0), {caseFold: this.caseFold, multiline: this.options.multiline});\n var maxMatches = this.options && this.options.maxMatches || MAX_MATCHES;\n while (cursor.findNext()) {\n var match = {from: cursor.from(), to: cursor.to()};\n if (match.from.line >= this.gap.to) break;\n this.matches.splice(i++, 0, match);\n if (this.matches.length > maxMatches) break;\n }\n this.gap = null;\n };\n\n function offsetLine(line, changeStart, sizeChange) {\n if (line <= changeStart) return line;\n return Math.max(changeStart, line + sizeChange);\n }\n\n SearchAnnotation.prototype.onChange = function(change) {\n var startLine = change.from.line;\n var endLine = CodeMirror.changeEnd(change).line;\n var sizeChange = endLine - change.to.line;\n if (this.gap) {\n this.gap.from = Math.min(offsetLine(this.gap.from, startLine, sizeChange), change.from.line);\n this.gap.to = Math.max(offsetLine(this.gap.to, startLine, sizeChange), change.from.line);\n } else {\n this.gap = {from: change.from.line, to: endLine + 1};\n }\n\n if (sizeChange) for (var i = 0; i < this.matches.length; i++) {\n var match = this.matches[i];\n var newFrom = offsetLine(match.from.line, startLine, sizeChange);\n if (newFrom != match.from.line) match.from = CodeMirror.Pos(newFrom, match.from.ch);\n var newTo = offsetLine(match.to.line, startLine, sizeChange);\n if (newTo != match.to.line) match.to = CodeMirror.Pos(newTo, match.to.ch);\n }\n clearTimeout(this.update);\n var self = this;\n this.update = setTimeout(function() { self.updateAfterChange(); }, 250);\n };\n\n SearchAnnotation.prototype.updateAfterChange = function() {\n this.findMatches();\n this.annotation.update(this.matches);\n };\n\n SearchAnnotation.prototype.clear = function() {\n this.cm.off("change", this.changeHandler);\n this.annotation.clear();\n };\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/addon/search/matchesonscrollbar.js?'
/*!********************************************************!*\
!*** ./node_modules/codemirror/addon/search/search.js ***!
\********************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Define search commands. Depends on dialog.js or another\n// implementation of the openDialog method.\n\n// Replace works a little oddly -- it will do the replace on the next\n// Ctrl-G (or whatever is bound to findNext) press. You prevent a\n// replace by making sure the match is no longer selected when hitting\n// Ctrl-G.\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"), __webpack_require__(/*! ./searchcursor */ "./node_modules/codemirror/addon/search/searchcursor.js"), __webpack_require__(/*! ../dialog/dialog */ "./node_modules/codemirror/addon/dialog/dialog.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n // default search panel location\n CodeMirror.defineOption("search", {bottom: false});\n\n function searchOverlay(query, caseInsensitive) {\n if (typeof query == "string")\n query = new RegExp(query.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, "\\\\$&"), caseInsensitive ? "gi" : "g");\n else if (!query.global)\n query = new RegExp(query.source, query.ignoreCase ? "gi" : "g");\n\n return {token: function(stream) {\n query.lastIndex = stream.pos;\n var match = query.exec(stream.string);\n if (match && match.index == stream.pos) {\n stream.pos += match[0].length || 1;\n return "searching";\n } else if (match) {\n stream.pos = match.index;\n } else {\n stream.skipToEnd();\n }\n }};\n }\n\n function SearchState() {\n this.posFrom = this.posTo = this.lastQuery = this.query = null;\n this.overlay = null;\n }\n\n function getSearchState(cm) {\n return cm.state.search || (cm.state.search = new SearchState());\n }\n\n function queryCaseInsensitive(query) {\n return typeof query == "string" && query == query.toLowerCase();\n }\n\n function getSearchCursor(cm, query, pos) {\n // Heuristic: if the query string is all lowercase, do a case insensitive search.\n return cm.getSearchCursor(query, pos, {caseFold: queryCaseInsensitive(query), multiline: true});\n }\n\n function persistentDialog(cm, text, deflt, onEnter, onKeyDown) {\n cm.openDialog(text, onEnter, {\n value: deflt,\n selectValueOnOpen: true,\n closeOnEnter: false,\n onClose: function() { clearSearch(cm); },\n onKeyDown: onKeyDown,\n bottom: cm.options.search.bottom\n });\n }\n\n function dialog(cm, text, shortText, deflt, f) {\n if (cm.openDialog) cm.openDialog(text, f, {value: deflt, selectValueOnOpen: true, bottom: cm.options.search.bottom});\n else f(prompt(shortText, deflt));\n }\n\n function confirmDialog(cm, text, shortText, fs) {\n if (cm.openConfirm) cm.openConfirm(text, fs);\n else if (confirm(shortText)) fs[0]();\n }\n\n function parseString(string) {\n return string.replace(/\\\\([nrt\\\\])/g, function(match, ch) {\n if (ch == "n") return "\\n"\n if (ch == "r") return "\\r"\n if (ch == "t") return "\\t"\n if (ch == "\\\\") return "\\\\"\n return match\n })\n }\n\n function parseQuery(query) {\n var isRE = query.match(/^\\/(.*)\\/([a-z]*)$/);\n if (isRE) {\n try { query = new RegExp(isRE[1], isRE[2].indexOf("i") == -1 ? "" : "i"); }\n catch(e) {} // Not a regular expression after all, do a string search\n } else {\n query = parseString(query)\n }\n if (typeof query == "string" ? query == "" : query.test(""))\n query = /x^/;\n return query;\n }\n\n function startSearch(cm, state, query) {\n state.queryText = query;\n state.query = parseQuery(query);\n cm.removeOverlay(state.overlay, queryCaseInsensitive(state.query));\n state.overlay = searchOverlay(state.query, queryCaseInsensitive(state.query));\n cm.addOverlay(state.overlay);\n if (cm.showMatchesOnScrollbar) {\n
/*!**************************************************************!*\
!*** ./node_modules/codemirror/addon/search/searchcursor.js ***!
\**************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"))\n else {}\n})(function(CodeMirror) {\n "use strict"\n var Pos = CodeMirror.Pos\n\n function regexpFlags(regexp) {\n var flags = regexp.flags\n return flags != null ? flags : (regexp.ignoreCase ? "i" : "")\n + (regexp.global ? "g" : "")\n + (regexp.multiline ? "m" : "")\n }\n\n function ensureFlags(regexp, flags) {\n var current = regexpFlags(regexp), target = current\n for (var i = 0; i < flags.length; i++) if (target.indexOf(flags.charAt(i)) == -1)\n target += flags.charAt(i)\n return current == target ? regexp : new RegExp(regexp.source, target)\n }\n\n function maybeMultiline(regexp) {\n return /\\\\s|\\\\n|\\n|\\\\W|\\\\D|\\[\\^/.test(regexp.source)\n }\n\n function searchRegexpForward(doc, regexp, start) {\n regexp = ensureFlags(regexp, "g")\n for (var line = start.line, ch = start.ch, last = doc.lastLine(); line <= last; line++, ch = 0) {\n regexp.lastIndex = ch\n var string = doc.getLine(line), match = regexp.exec(string)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpForwardMultiline(doc, regexp, start) {\n if (!maybeMultiline(regexp)) return searchRegexpForward(doc, regexp, start)\n\n regexp = ensureFlags(regexp, "gm")\n var string, chunk = 1\n for (var line = start.line, last = doc.lastLine(); line <= last;) {\n // This grows the search buffer in exponentially-sized chunks\n // between matches, so that nearby matches are fast and don\'t\n // require concatenating the whole document (in case we\'re\n // searching for something that has tons of matches), but at the\n // same time, the amount of retries is limited.\n for (var i = 0; i < chunk; i++) {\n if (line > last) break\n var curLine = doc.getLine(line++)\n string = string == null ? curLine : string + "\\n" + curLine\n }\n chunk = chunk * 2\n regexp.lastIndex = start.ch\n var match = regexp.exec(string)\n if (match) {\n var before = string.slice(0, match.index).split("\\n"), inside = match[0].split("\\n")\n var startLine = start.line + before.length - 1, startCh = before[before.length - 1].length\n return {from: Pos(startLine, startCh),\n to: Pos(startLine + inside.length - 1,\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n match: match}\n }\n }\n }\n\n function lastMatchIn(string, regexp, endMargin) {\n var match, from = 0\n while (from <= string.length) {\n regexp.lastIndex = from\n var newMatch = regexp.exec(string)\n if (!newMatch) break\n var end = newMatch.index + newMatch[0].length\n if (end > string.length - endMargin) break\n if (!match || end > match.index + match[0].length)\n match = newMatch\n from = newMatch.index + 1\n }\n return match\n }\n\n function searchRegexpBackward(doc, regexp, start) {\n regexp = ensureFlags(regexp, "g")\n for (var line = start.line, ch = start.ch, first = doc.firstLine(); line >= first; line--, ch = -1) {\n var string = doc.getLine(line)\n var match = lastMatchIn(string, regexp, ch < 0 ? 0 : string.length - ch)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpBackwardMultiline(doc, regexp, start) {\n if (!maybeMultiline(regexp)) return searchRegexpBackward(doc, regexp, start)\n regexp = ensureFlags(regexp, "gm")\n var string,
/*!****************************************************************!*\
!*** ./node_modules/codemirror/addon/selection/active-line.js ***!
\****************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n var WRAP_CLASS = "CodeMirror-activeline";\n var BACK_CLASS = "CodeMirror-activeline-background";\n var GUTT_CLASS = "CodeMirror-activeline-gutter";\n\n CodeMirror.defineOption("styleActiveLine", false, function(cm, val, old) {\n var prev = old == CodeMirror.Init ? false : old;\n if (val == prev) return\n if (prev) {\n cm.off("beforeSelectionChange", selectionChange);\n clearActiveLines(cm);\n delete cm.state.activeLines;\n }\n if (val) {\n cm.state.activeLines = [];\n updateActiveLines(cm, cm.listSelections());\n cm.on("beforeSelectionChange", selectionChange);\n }\n });\n\n function clearActiveLines(cm) {\n for (var i = 0; i < cm.state.activeLines.length; i++) {\n cm.removeLineClass(cm.state.activeLines[i], "wrap", WRAP_CLASS);\n cm.removeLineClass(cm.state.activeLines[i], "background", BACK_CLASS);\n cm.removeLineClass(cm.state.activeLines[i], "gutter", GUTT_CLASS);\n }\n }\n\n function sameArray(a, b) {\n if (a.length != b.length) return false;\n for (var i = 0; i < a.length; i++)\n if (a[i] != b[i]) return false;\n return true;\n }\n\n function updateActiveLines(cm, ranges) {\n var active = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n var option = cm.getOption("styleActiveLine");\n if (typeof option == "object" && option.nonEmpty ? range.anchor.line != range.head.line : !range.empty())\n continue\n var line = cm.getLineHandleVisualStart(range.head.line);\n if (active[active.length - 1] != line) active.push(line);\n }\n if (sameArray(cm.state.activeLines, active)) return;\n cm.operation(function() {\n clearActiveLines(cm);\n for (var i = 0; i < active.length; i++) {\n cm.addLineClass(active[i], "wrap", WRAP_CLASS);\n cm.addLineClass(active[i], "background", BACK_CLASS);\n cm.addLineClass(active[i], "gutter", GUTT_CLASS);\n }\n cm.state.activeLines = active;\n });\n }\n\n function selectionChange(cm, sel) {\n updateActiveLines(cm, sel.ranges);\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/addon/selection/active-line.js?')},"./node_modules/codemirror/addon/selection/mark-selection.js":
/*!*******************************************************************!*\
!*** ./node_modules/codemirror/addon/selection/mark-selection.js ***!
\*******************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Because sometimes you need to mark the selected *text*.\n//\n// Adds an option \'styleSelectedText\' which, when enabled, gives\n// selected text the CSS class given as option value, or\n// "CodeMirror-selectedtext" when the value is not a string.\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n CodeMirror.defineOption("styleSelectedText", false, function(cm, val, old) {\n var prev = old && old != CodeMirror.Init;\n if (val && !prev) {\n cm.state.markedSelection = [];\n cm.state.markedSelectionStyle = typeof val == "string" ? val : "CodeMirror-selectedtext";\n reset(cm);\n cm.on("cursorActivity", onCursorActivity);\n cm.on("change", onChange);\n } else if (!val && prev) {\n cm.off("cursorActivity", onCursorActivity);\n cm.off("change", onChange);\n clear(cm);\n cm.state.markedSelection = cm.state.markedSelectionStyle = null;\n }\n });\n\n function onCursorActivity(cm) {\n if (cm.state.markedSelection)\n cm.operation(function() { update(cm); });\n }\n\n function onChange(cm) {\n if (cm.state.markedSelection && cm.state.markedSelection.length)\n cm.operation(function() { clear(cm); });\n }\n\n var CHUNK_SIZE = 8;\n var Pos = CodeMirror.Pos;\n var cmp = CodeMirror.cmpPos;\n\n function coverRange(cm, from, to, addAt) {\n if (cmp(from, to) == 0) return;\n var array = cm.state.markedSelection;\n var cls = cm.state.markedSelectionStyle;\n for (var line = from.line;;) {\n var start = line == from.line ? from : Pos(line, 0);\n var endLine = line + CHUNK_SIZE, atEnd = endLine >= to.line;\n var end = atEnd ? to : Pos(endLine, 0);\n var mark = cm.markText(start, end, {className: cls});\n if (addAt == null) array.push(mark);\n else array.splice(addAt++, 0, mark);\n if (atEnd) break;\n line = endLine;\n }\n }\n\n function clear(cm) {\n var array = cm.state.markedSelection;\n for (var i = 0; i < array.length; ++i) array[i].clear();\n array.length = 0;\n }\n\n function reset(cm) {\n clear(cm);\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++)\n coverRange(cm, ranges[i].from(), ranges[i].to());\n }\n\n function update(cm) {\n if (!cm.somethingSelected()) return clear(cm);\n if (cm.listSelections().length > 1) return reset(cm);\n\n var from = cm.getCursor("start"), to = cm.getCursor("end");\n\n var array = cm.state.markedSelection;\n if (!array.length) return coverRange(cm, from, to);\n\n var coverStart = array[0].find(), coverEnd = array[array.length - 1].find();\n if (!coverStart || !coverEnd || to.line - from.line <= CHUNK_SIZE ||\n cmp(from, coverEnd.to) >= 0 || cmp(to, coverStart.from) <= 0)\n return reset(cm);\n\n while (cmp(from, coverStart.from) > 0) {\n array.shift().clear();\n coverStart = array[0].find();\n }\n if (cmp(from, coverStart.from) < 0) {\n if (coverStart.to.line - from.line < CHUNK_SIZE) {\n array.shift().clear();\n coverRange(cm, from, coverStart.to, 0);\n } else {\n coverRange(cm, from, coverStart.from, 0);\n }\n }\n\n while (cmp(to, coverEnd.to) < 0) {\n array.pop().clear();\n coverEnd = array[array.length - 1].find();\n }\n if (cmp(to, coverEnd.to) > 0) {\n if (to.line - coverEnd.from.line < CHUNK_SIZE) {\n array.pop().clear();\n coverRange(cm, coverEnd.from, to);\n } else {\n coverRange(cm, coverEnd.to, to);\n }\n }\n }\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/addon/selection/mark-selection.js?')},"./node_modules/codemirror/keymap/sublime.js":
/*!***************************************************!*\
!*** ./node_modules/codemirror/keymap/sublime.js ***!
\***************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// A rough approximation of Sublime Text\'s keybindings\n// Depends on addon/search/searchcursor.js and optionally addon/dialog/dialogs.js\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"), __webpack_require__(/*! ../addon/search/searchcursor */ "./node_modules/codemirror/addon/search/searchcursor.js"), __webpack_require__(/*! ../addon/edit/matchbrackets */ "./node_modules/codemirror/addon/edit/matchbrackets.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n var cmds = CodeMirror.commands;\n var Pos = CodeMirror.Pos;\n\n // This is not exactly Sublime\'s algorithm. I couldn\'t make heads or tails of that.\n function findPosSubword(doc, start, dir) {\n if (dir < 0 && start.ch == 0) return doc.clipPos(Pos(start.line - 1));\n var line = doc.getLine(start.line);\n if (dir > 0 && start.ch >= line.length) return doc.clipPos(Pos(start.line + 1, 0));\n var state = "start", type, startPos = start.ch;\n for (var pos = startPos, e = dir < 0 ? 0 : line.length, i = 0; pos != e; pos += dir, i++) {\n var next = line.charAt(dir < 0 ? pos - 1 : pos);\n var cat = next != "_" && CodeMirror.isWordChar(next) ? "w" : "o";\n if (cat == "w" && next.toUpperCase() == next) cat = "W";\n if (state == "start") {\n if (cat != "o") { state = "in"; type = cat; }\n else startPos = pos + dir\n } else if (state == "in") {\n if (type != cat) {\n if (type == "w" && cat == "W" && dir < 0) pos--;\n if (type == "W" && cat == "w" && dir > 0) { // From uppercase to lowercase\n if (pos == startPos + 1) { type = "w"; continue; }\n else pos--;\n }\n break;\n }\n }\n }\n return Pos(start.line, pos);\n }\n\n function moveSubword(cm, dir) {\n cm.extendSelectionsBy(function(range) {\n if (cm.display.shift || cm.doc.extend || range.empty())\n return findPosSubword(cm.doc, range.head, dir);\n else\n return dir < 0 ? range.from() : range.to();\n });\n }\n\n cmds.goSubwordLeft = function(cm) { moveSubword(cm, -1); };\n cmds.goSubwordRight = function(cm) { moveSubword(cm, 1); };\n\n cmds.scrollLineUp = function(cm) {\n var info = cm.getScrollInfo();\n if (!cm.somethingSelected()) {\n var visibleBottomLine = cm.lineAtHeight(info.top + info.clientHeight, "local");\n if (cm.getCursor().line >= visibleBottomLine)\n cm.execCommand("goLineUp");\n }\n cm.scrollTo(null, info.top - cm.defaultTextHeight());\n };\n cmds.scrollLineDown = function(cm) {\n var info = cm.getScrollInfo();\n if (!cm.somethingSelected()) {\n var visibleTopLine = cm.lineAtHeight(info.top, "local")+1;\n if (cm.getCursor().line <= visibleTopLine)\n cm.execCommand("goLineDown");\n }\n cm.scrollTo(null, info.top + cm.defaultTextHeight());\n };\n\n cmds.splitSelectionByLine = function(cm) {\n var ranges = cm.listSelections(), lineRanges = [];\n for (var i = 0; i < ranges.length; i++) {\n var from = ranges[i].from(), to = ranges[i].to();\n for (var line = from.line; line <= to.line; ++line)\n if (!(to.line > from.line && line == to.line && to.ch == 0))\n lineRanges.push({anchor: line == from.line ? from : Pos(line, 0),\n head: line == to.line ? to : Pos(line)});\n }\n cm.setSelections(lineRanges, 0);\n };\n\n cmds.singleSelectionTop = function(cm) {\n var range = cm.listSelections()[0];\n cm.setSelection(range.anchor, range.head, {scroll: false});\n };\n\n cmds.selectLine = function(cm) {\n var ranges = cm.listSelections(), extended = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n extended.push({anchor: Pos(range.from().line, 0),\n
/*!****************************************************!*\
!*** ./node_modules/codemirror/lib/codemirror.css ***!
\****************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n \n\n//# sourceURL=webpack:///./node_modules/codemirror/lib/codemirror.css?")},"./node_modules/codemirror/lib/codemirror.js":
/*!***************************************************!*\
!*** ./node_modules/codemirror/lib/codemirror.js ***!
\***************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// This is CodeMirror (https://codemirror.net), a code editor\n// implemented in JavaScript on top of the browser\'s DOM.\n//\n// You can find some technical background for some of the code below\n// at http://marijnhaverbeke.nl/blog/#cm-internals .\n\n(function (global, factory) {\n true ? module.exports = factory() :\n undefined;\n}(this, (function () { \'use strict\';\n\n // Kludges for bugs and behavior differences that can\'t be feature\n // detected are enabled based on userAgent etc sniffing.\n var userAgent = navigator.userAgent;\n var platform = navigator.platform;\n\n var gecko = /gecko\\/\\d/i.test(userAgent);\n var ie_upto10 = /MSIE \\d/.test(userAgent);\n var ie_11up = /Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(userAgent);\n var edge = /Edge\\/(\\d+)/.exec(userAgent);\n var ie = ie_upto10 || ie_11up || edge;\n var ie_version = ie && (ie_upto10 ? document.documentMode || 6 : +(edge || ie_11up)[1]);\n var webkit = !edge && /WebKit\\//.test(userAgent);\n var qtwebkit = webkit && /Qt\\/\\d+\\.\\d+/.test(userAgent);\n var chrome = !edge && /Chrome\\//.test(userAgent);\n var presto = /Opera\\//.test(userAgent);\n var safari = /Apple Computer/.test(navigator.vendor);\n var mac_geMountainLion = /Mac OS X 1\\d\\D([8-9]|\\d\\d)\\D/.test(userAgent);\n var phantom = /PhantomJS/.test(userAgent);\n\n var ios = safari && (/Mobile\\/\\w+/.test(userAgent) || navigator.maxTouchPoints > 2);\n var android = /Android/.test(userAgent);\n // This is woefully incomplete. Suggestions for alternative methods welcome.\n var mobile = ios || android || /webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent);\n var mac = ios || /Mac/.test(platform);\n var chromeOS = /\\bCrOS\\b/.test(userAgent);\n var windows = /win/i.test(platform);\n\n var presto_version = presto && userAgent.match(/Version\\/(\\d*\\.\\d*)/);\n if (presto_version) { presto_version = Number(presto_version[1]); }\n if (presto_version && presto_version >= 15) { presto = false; webkit = true; }\n // Some browsers use the wrong event properties to signal cmd/ctrl on OS X\n var flipCtrlCmd = mac && (qtwebkit || presto && (presto_version == null || presto_version < 12.11));\n var captureRightClick = gecko || (ie && ie_version >= 9);\n\n function classTest(cls) { return new RegExp("(^|\\\\s)" + cls + "(?:$|\\\\s)\\\\s*") }\n\n var rmClass = function(node, cls) {\n var current = node.className;\n var match = classTest(cls).exec(current);\n if (match) {\n var after = current.slice(match.index + match[0].length);\n node.className = current.slice(0, match.index) + (after ? match[1] + after : "");\n }\n };\n\n function removeChildren(e) {\n for (var count = e.childNodes.length; count > 0; --count)\n { e.removeChild(e.firstChild); }\n return e\n }\n\n function removeChildrenAndAdd(parent, e) {\n return removeChildren(parent).appendChild(e)\n }\n\n function elt(tag, content, className, style) {\n var e = document.createElement(tag);\n if (className) { e.className = className; }\n if (style) { e.style.cssText = style; }\n if (typeof content == "string") { e.appendChild(document.createTextNode(content)); }\n else if (content) { for (var i = 0; i < content.length; ++i) { e.appendChild(content[i]); } }\n return e\n }\n // wrapper for elt, which removes the elt from the accessibility tree\n function eltP(tag, content, className, style) {\n var e = elt(tag, content, className, style);\n e.setAttribute("role", "presentation");\n return e\n }\n\n var range;\n if (document.createRange) { range = function(node, start, end, endNode) {\n var r = document.createRange();\n r.setEnd(endNode || node, end);\n r.setStart(node, start);\n return r\n }; }\n else { range = function(node, start, end) {\n var r = document.body.createTextRange();\n try {
/*!*****************************************************!*\
!*** ./node_modules/codemirror/mode/clike/clike.js ***!
\*****************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nfunction Context(indented, column, type, info, align, prev) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.info = info;\n this.align = align;\n this.prev = prev;\n}\nfunction pushContext(state, col, type, info) {\n var indent = state.indented;\n if (state.context && state.context.type == "statement" && type != "statement")\n indent = state.context.indented;\n return state.context = new Context(indent, col, type, info, null, state.context);\n}\nfunction popContext(state) {\n var t = state.context.type;\n if (t == ")" || t == "]" || t == "}")\n state.indented = state.context.indented;\n return state.context = state.context.prev;\n}\n\nfunction typeBefore(stream, state, pos) {\n if (state.prevToken == "variable" || state.prevToken == "type") return true;\n if (/\\S(?:[^- ]>|[*\\]])\\s*$|\\*$/.test(stream.string.slice(0, pos))) return true;\n if (state.typeAtEndOfLine && stream.column() == stream.indentation()) return true;\n}\n\nfunction isTopScope(context) {\n for (;;) {\n if (!context || context.type == "top") return true;\n if (context.type == "}" && context.prev.info != "namespace") return false;\n context = context.prev;\n }\n}\n\nCodeMirror.defineMode("clike", function(config, parserConfig) {\n var indentUnit = config.indentUnit,\n statementIndentUnit = parserConfig.statementIndentUnit || indentUnit,\n dontAlignCalls = parserConfig.dontAlignCalls,\n keywords = parserConfig.keywords || {},\n types = parserConfig.types || {},\n builtin = parserConfig.builtin || {},\n blockKeywords = parserConfig.blockKeywords || {},\n defKeywords = parserConfig.defKeywords || {},\n atoms = parserConfig.atoms || {},\n hooks = parserConfig.hooks || {},\n multiLineStrings = parserConfig.multiLineStrings,\n indentStatements = parserConfig.indentStatements !== false,\n indentSwitch = parserConfig.indentSwitch !== false,\n namespaceSeparator = parserConfig.namespaceSeparator,\n isPunctuationChar = parserConfig.isPunctuationChar || /[\\[\\]{}\\(\\),;\\:\\.]/,\n numberStart = parserConfig.numberStart || /[\\d\\.]/,\n number = parserConfig.number || /^(?:0x[a-f\\d]+|0b[01]+|(?:\\d+\\.?\\d*|\\.\\d+)(?:e[-+]?\\d+)?)(u|ll?|l|f)?/i,\n isOperatorChar = parserConfig.isOperatorChar || /[+\\-*&%=<>!?|\\/]/,\n isIdentifierChar = parserConfig.isIdentifierChar || /[\\w\\$_\\xa1-\\uffff]/,\n // An optional function that takes a {string} token and returns true if it\n // should be treated as a builtin.\n isReservedIdentifier = parserConfig.isReservedIdentifier || false;\n\n var curPunc, isDefKeyword;\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (hooks[ch]) {\n var result = hooks[ch](stream, state);\n if (result !== false) return result;\n }\n if (ch == \'"\' || ch == "\'") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n }\n if (numberStart.test(ch)) {\n stream.backUp(1)\n if (stream.match(number)) return "number"\n stream.next()\n }\n if (isPunctuationChar.test(ch)) {\n curPunc = ch;\n return null;\n }\n if (ch == "/") {\n if (stream.eat("*")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n }\n if (stream.eat("/")) {\n stream.skipToEnd();\n return "comment";\n }\n }\n if (isOperatorChar.test(ch)) {\n while (!stream.match(/^\\/[\\/*]/, false) && stream.eat(isOperatorChar)) {}\n return "operator";\n }\n stream.eatWhile(isIdentifierChar);\n if (namespa
/*!*****************************************************!*\
!*** ./node_modules/codemirror/mode/cmake/cmake.js ***!
\*****************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true)\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"cmake\", function () {\n var variable_regex = /({)?[a-zA-Z0-9_]+(})?/;\n\n function tokenString(stream, state) {\n var current, prev, found_var = false;\n while (!stream.eol() && (current = stream.next()) != state.pending) {\n if (current === '$' && prev != '\\\\' && state.pending == '\"') {\n found_var = true;\n break;\n }\n prev = current;\n }\n if (found_var) {\n stream.backUp(1);\n }\n if (current == state.pending) {\n state.continueString = false;\n } else {\n state.continueString = true;\n }\n return \"string\";\n }\n\n function tokenize(stream, state) {\n var ch = stream.next();\n\n // Have we found a variable?\n if (ch === '$') {\n if (stream.match(variable_regex)) {\n return 'variable-2';\n }\n return 'variable';\n }\n // Should we still be looking for the end of a string?\n if (state.continueString) {\n // If so, go through the loop again\n stream.backUp(1);\n return tokenString(stream, state);\n }\n // Do we just have a function on our hands?\n // In 'cmake_minimum_required (VERSION 2.8.8)', 'cmake_minimum_required' is matched\n if (stream.match(/(\\s+)?\\w+\\(/) || stream.match(/(\\s+)?\\w+\\ \\(/)) {\n stream.backUp(1);\n return 'def';\n }\n if (ch == \"#\") {\n stream.skipToEnd();\n return \"comment\";\n }\n // Have we found a string?\n if (ch == \"'\" || ch == '\"') {\n // Store the type (single or double)\n state.pending = ch;\n // Perform the looping function to find the end\n return tokenString(stream, state);\n }\n if (ch == '(' || ch == ')') {\n return 'bracket';\n }\n if (ch.match(/[0-9]/)) {\n return 'number';\n }\n stream.eatWhile(/[\\w-]/);\n return null;\n }\n return {\n startState: function () {\n var state = {};\n state.inDefinition = false;\n state.inInclude = false;\n state.continueString = false;\n state.pending = false;\n return state;\n },\n token: function (stream, state) {\n if (stream.eatSpace()) return null;\n return tokenize(stream, state);\n }\n };\n});\n\nCodeMirror.defineMIME(\"text/x-cmake\", \"cmake\");\n\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/mode/cmake/cmake.js?")},"./node_modules/codemirror/mode/coffeescript/coffeescript.js":
/*!*******************************************************************!*\
!*** ./node_modules/codemirror/mode/coffeescript/coffeescript.js ***!
\*******************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n/**\n * Link to the project\'s GitHub page:\n * https://github.com/pickhardt/coffeescript-codemirror-mode\n */\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nCodeMirror.defineMode("coffeescript", function(conf, parserConf) {\n var ERRORCLASS = "error";\n\n function wordRegexp(words) {\n return new RegExp("^((" + words.join(")|(") + "))\\\\b");\n }\n\n var operators = /^(?:->|=>|\\+[+=]?|-[\\-=]?|\\*[\\*=]?|\\/[\\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\\|=?|\\^=?|\\~|!|\\?|(or|and|\\|\\||&&|\\?)=)/;\n var delimiters = /^(?:[()\\[\\]{},:`=;]|\\.\\.?\\.?)/;\n var identifiers = /^[_A-Za-z$][_A-Za-z$0-9]*/;\n var atProp = /^@[_A-Za-z$][_A-Za-z$0-9]*/;\n\n var wordOperators = wordRegexp(["and", "or", "not",\n "is", "isnt", "in",\n "instanceof", "typeof"]);\n var indentKeywords = ["for", "while", "loop", "if", "unless", "else",\n "switch", "try", "catch", "finally", "class"];\n var commonKeywords = ["break", "by", "continue", "debugger", "delete",\n "do", "in", "of", "new", "return", "then",\n "this", "@", "throw", "when", "until", "extends"];\n\n var keywords = wordRegexp(indentKeywords.concat(commonKeywords));\n\n indentKeywords = wordRegexp(indentKeywords);\n\n\n var stringPrefixes = /^(\'{3}|\\"{3}|[\'\\"])/;\n var regexPrefixes = /^(\\/{3}|\\/)/;\n var commonConstants = ["Infinity", "NaN", "undefined", "null", "true", "false", "on", "off", "yes", "no"];\n var constants = wordRegexp(commonConstants);\n\n // Tokenizers\n function tokenBase(stream, state) {\n // Handle scope changes\n if (stream.sol()) {\n if (state.scope.align === null) state.scope.align = false;\n var scopeOffset = state.scope.offset;\n if (stream.eatSpace()) {\n var lineOffset = stream.indentation();\n if (lineOffset > scopeOffset && state.scope.type == "coffee") {\n return "indent";\n } else if (lineOffset < scopeOffset) {\n return "dedent";\n }\n return null;\n } else {\n if (scopeOffset > 0) {\n dedent(stream, state);\n }\n }\n }\n if (stream.eatSpace()) {\n return null;\n }\n\n var ch = stream.peek();\n\n // Handle docco title comment (single line)\n if (stream.match("####")) {\n stream.skipToEnd();\n return "comment";\n }\n\n // Handle multi line comments\n if (stream.match("###")) {\n state.tokenize = longComment;\n return state.tokenize(stream, state);\n }\n\n // Single line comment\n if (ch === "#") {\n stream.skipToEnd();\n return "comment";\n }\n\n // Handle number literals\n if (stream.match(/^-?[0-9\\.]/, false)) {\n var floatLiteral = false;\n // Floats\n if (stream.match(/^-?\\d*\\.\\d+(e[\\+\\-]?\\d+)?/i)) {\n floatLiteral = true;\n }\n if (stream.match(/^-?\\d+\\.\\d*/)) {\n floatLiteral = true;\n }\n if (stream.match(/^-?\\.\\d+/)) {\n floatLiteral = true;\n }\n\n if (floatLiteral) {\n // prevent from getting extra . on 1..\n if (stream.peek() == "."){\n stream.backUp(1);\n }\n return "number";\n }\n // Integers\n var intLiteral = false;\n // Hex\n if (stream.match(/^-?0x[0-9a-f]+/i)) {\n intLiteral = true;\n }\n // Decimal\n if (stream.match(/^-?[1-9]\\d*(e[\\+\\-]?\\d+)?/)) {\n intLiteral = true;\n }\n // Zero by itself with no other piece of number.\n if (stream.match(/^-?0(?![\\dx])/i)) {\n intLiteral = true;\n }\n if (intLiteral) {\n return "numb
/*!*************************************************!*\
!*** ./node_modules/codemirror/mode/css/css.js ***!
\*************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nCodeMirror.defineMode("css", function(config, parserConfig) {\n var inline = parserConfig.inline\n if (!parserConfig.propertyKeywords) parserConfig = CodeMirror.resolveMode("text/css");\n\n var indentUnit = config.indentUnit,\n tokenHooks = parserConfig.tokenHooks,\n documentTypes = parserConfig.documentTypes || {},\n mediaTypes = parserConfig.mediaTypes || {},\n mediaFeatures = parserConfig.mediaFeatures || {},\n mediaValueKeywords = parserConfig.mediaValueKeywords || {},\n propertyKeywords = parserConfig.propertyKeywords || {},\n nonStandardPropertyKeywords = parserConfig.nonStandardPropertyKeywords || {},\n fontProperties = parserConfig.fontProperties || {},\n counterDescriptors = parserConfig.counterDescriptors || {},\n colorKeywords = parserConfig.colorKeywords || {},\n valueKeywords = parserConfig.valueKeywords || {},\n allowNested = parserConfig.allowNested,\n lineComment = parserConfig.lineComment,\n supportsAtComponent = parserConfig.supportsAtComponent === true,\n highlightNonStandardPropertyKeywords = config.highlightNonStandardPropertyKeywords !== false;\n\n var type, override;\n function ret(style, tp) { type = tp; return style; }\n\n // Tokenizers\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (tokenHooks[ch]) {\n var result = tokenHooks[ch](stream, state);\n if (result !== false) return result;\n }\n if (ch == "@") {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret("def", stream.current());\n } else if (ch == "=" || (ch == "~" || ch == "|") && stream.eat("=")) {\n return ret(null, "compare");\n } else if (ch == "\\"" || ch == "\'") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == "#") {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret("atom", "hash");\n } else if (ch == "!") {\n stream.match(/^\\s*\\w*/);\n return ret("keyword", "important");\n } else if (/\\d/.test(ch) || ch == "." && stream.eat(/\\d/)) {\n stream.eatWhile(/[\\w.%]/);\n return ret("number", "unit");\n } else if (ch === "-") {\n if (/[\\d.]/.test(stream.peek())) {\n stream.eatWhile(/[\\w.%]/);\n return ret("number", "unit");\n } else if (stream.match(/^-[\\w\\\\\\-]*/)) {\n stream.eatWhile(/[\\w\\\\\\-]/);\n if (stream.match(/^\\s*:/, false))\n return ret("variable-2", "variable-definition");\n return ret("variable-2", "variable");\n } else if (stream.match(/^\\w+-/)) {\n return ret("meta", "meta");\n }\n } else if (/[,+>*\\/]/.test(ch)) {\n return ret(null, "select-op");\n } else if (ch == "." && stream.match(/^-?[_a-z][_a-z0-9-]*/i)) {\n return ret("qualifier", "qualifier");\n } else if (/[:;{}\\[\\]\\(\\)]/.test(ch)) {\n return ret(null, ch);\n } else if (stream.match(/^[\\w-.]+(?=\\()/)) {\n if (/^(url(-prefix)?|domain|regexp)$/i.test(stream.current())) {\n state.tokenize = tokenParenthesized;\n }\n return ret("variable callee", "variable");\n } else if (/[\\w\\\\\\-]/.test(ch)) {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret("property", "word");\n } else {\n return ret(null, null);\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, ch;\n while ((ch = stream.next()) != null) {\n if (ch == quote && !escaped) {\n if (quote == ")") stream.backUp(1);\n break;\n }\n escaped = !escaped && ch == "\\\\";\n }\n if (ch == quote || !escaped
/*!***********************************************!*\
!*** ./node_modules/codemirror/mode/go/go.js ***!
\***********************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nCodeMirror.defineMode("go", function(config) {\n var indentUnit = config.indentUnit;\n\n var keywords = {\n "break":true, "case":true, "chan":true, "const":true, "continue":true,\n "default":true, "defer":true, "else":true, "fallthrough":true, "for":true,\n "func":true, "go":true, "goto":true, "if":true, "import":true,\n "interface":true, "map":true, "package":true, "range":true, "return":true,\n "select":true, "struct":true, "switch":true, "type":true, "var":true,\n "bool":true, "byte":true, "complex64":true, "complex128":true,\n "float32":true, "float64":true, "int8":true, "int16":true, "int32":true,\n "int64":true, "string":true, "uint8":true, "uint16":true, "uint32":true,\n "uint64":true, "int":true, "uint":true, "uintptr":true, "error": true,\n "rune":true\n };\n\n var atoms = {\n "true":true, "false":true, "iota":true, "nil":true, "append":true,\n "cap":true, "close":true, "complex":true, "copy":true, "delete":true, "imag":true,\n "len":true, "make":true, "new":true, "panic":true, "print":true,\n "println":true, "real":true, "recover":true\n };\n\n var isOperatorChar = /[+\\-*&^%:=<>!|\\/]/;\n\n var curPunc;\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (ch == \'"\' || ch == "\'" || ch == "`") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n }\n if (/[\\d\\.]/.test(ch)) {\n if (ch == ".") {\n stream.match(/^[0-9]+([eE][\\-+]?[0-9]+)?/);\n } else if (ch == "0") {\n stream.match(/^[xX][0-9a-fA-F]+/) || stream.match(/^0[0-7]+/);\n } else {\n stream.match(/^[0-9]*\\.?[0-9]*([eE][\\-+]?[0-9]+)?/);\n }\n return "number";\n }\n if (/[\\[\\]{}\\(\\),;\\:\\.]/.test(ch)) {\n curPunc = ch;\n return null;\n }\n if (ch == "/") {\n if (stream.eat("*")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n }\n if (stream.eat("/")) {\n stream.skipToEnd();\n return "comment";\n }\n }\n if (isOperatorChar.test(ch)) {\n stream.eatWhile(isOperatorChar);\n return "operator";\n }\n stream.eatWhile(/[\\w\\$_\\xa1-\\uffff]/);\n var cur = stream.current();\n if (keywords.propertyIsEnumerable(cur)) {\n if (cur == "case" || cur == "default") curPunc = "case";\n return "keyword";\n }\n if (atoms.propertyIsEnumerable(cur)) return "atom";\n return "variable";\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next, end = false;\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) {end = true; break;}\n escaped = !escaped && quote != "`" && next == "\\\\";\n }\n if (end || !(escaped || quote == "`"))\n state.tokenize = tokenBase;\n return "string";\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == "/" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == "*");\n }\n return "comment";\n }\n\n function Context(indented, column, type, align, prev) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.align = align;\n this.prev = prev;\n }\n function pushContext(state, col, type) {\n return state.context = new Context(state.indented, col, type, null, state.context);\n }\n function popContext(state) {\n if (!state.context.prev) return;\n var t = state.context.type;\n if (t == ")" || t == "]" || t == "}")\n state.i
/*!***************************************************************!*\
!*** ./node_modules/codemirror/mode/handlebars/handlebars.js ***!
\***************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"), __webpack_require__(/*! ../../addon/mode/simple */ "./node_modules/codemirror/addon/mode/simple.js"), __webpack_require__(/*! ../../addon/mode/multiplex */ "./node_modules/codemirror/addon/mode/multiplex.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n CodeMirror.defineSimpleMode("handlebars-tags", {\n start: [\n { regex: /\\{\\{\\{/, push: "handlebars_raw", token: "tag" },\n { regex: /\\{\\{!--/, push: "dash_comment", token: "comment" },\n { regex: /\\{\\{!/, push: "comment", token: "comment" },\n { regex: /\\{\\{/, push: "handlebars", token: "tag" }\n ],\n handlebars_raw: [\n { regex: /\\}\\}\\}/, pop: true, token: "tag" },\n ],\n handlebars: [\n { regex: /\\}\\}/, pop: true, token: "tag" },\n\n // Double and single quotes\n { regex: /"(?:[^\\\\"]|\\\\.)*"?/, token: "string" },\n { regex: /\'(?:[^\\\\\']|\\\\.)*\'?/, token: "string" },\n\n // Handlebars keywords\n { regex: />|[#\\/]([A-Za-z_]\\w*)/, token: "keyword" },\n { regex: /(?:else|this)\\b/, token: "keyword" },\n\n // Numeral\n { regex: /\\d+/i, token: "number" },\n\n // Atoms like = and .\n { regex: /=|~|@|true|false/, token: "atom" },\n\n // Paths\n { regex: /(?:\\.\\.\\/)*(?:[A-Za-z_][\\w\\.]*)+/, token: "variable-2" }\n ],\n dash_comment: [\n { regex: /--\\}\\}/, pop: true, token: "comment" },\n\n // Commented code\n { regex: /./, token: "comment"}\n ],\n comment: [\n { regex: /\\}\\}/, pop: true, token: "comment" },\n { regex: /./, token: "comment" }\n ],\n meta: {\n blockCommentStart: "{{--",\n blockCommentEnd: "--}}"\n }\n });\n\n CodeMirror.defineMode("handlebars", function(config, parserConfig) {\n var handlebars = CodeMirror.getMode(config, "handlebars-tags");\n if (!parserConfig || !parserConfig.base) return handlebars;\n return CodeMirror.multiplexingMode(\n CodeMirror.getMode(config, parserConfig.base),\n {open: "{{", close: /\\}\\}\\}?/, mode: handlebars, parseDelimiters: true}\n );\n });\n\n CodeMirror.defineMIME("text/x-handlebars-template", "handlebars");\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/mode/handlebars/handlebars.js?')},"./node_modules/codemirror/mode/htmlembedded/htmlembedded.js":
/*!*******************************************************************!*\
!*** ./node_modules/codemirror/mode/htmlembedded/htmlembedded.js ***!
\*******************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"), __webpack_require__(/*! ../htmlmixed/htmlmixed */ "./node_modules/codemirror/mode/htmlmixed/htmlmixed.js"),\n __webpack_require__(/*! ../../addon/mode/multiplex */ "./node_modules/codemirror/addon/mode/multiplex.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n CodeMirror.defineMode("htmlembedded", function(config, parserConfig) {\n var closeComment = parserConfig.closeComment || "--%>"\n return CodeMirror.multiplexingMode(CodeMirror.getMode(config, "htmlmixed"), {\n open: parserConfig.openComment || "<%--",\n close: closeComment,\n delimStyle: "comment",\n mode: {token: function(stream) {\n stream.skipTo(closeComment) || stream.skipToEnd()\n return "comment"\n }}\n }, {\n open: parserConfig.open || parserConfig.scriptStartRegex || "<%",\n close: parserConfig.close || parserConfig.scriptEndRegex || "%>",\n mode: CodeMirror.getMode(config, parserConfig.scriptingModeSpec)\n });\n }, "htmlmixed");\n\n CodeMirror.defineMIME("application/x-ejs", {name: "htmlembedded", scriptingModeSpec:"javascript"});\n CodeMirror.defineMIME("application/x-aspx", {name: "htmlembedded", scriptingModeSpec:"text/x-csharp"});\n CodeMirror.defineMIME("application/x-jsp", {name: "htmlembedded", scriptingModeSpec:"text/x-java"});\n CodeMirror.defineMIME("application/x-erb", {name: "htmlembedded", scriptingModeSpec:"ruby"});\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/mode/htmlembedded/htmlembedded.js?')},"./node_modules/codemirror/mode/htmlmixed/htmlmixed.js":
/*!*************************************************************!*\
!*** ./node_modules/codemirror/mode/htmlmixed/htmlmixed.js ***!
\*************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"), __webpack_require__(/*! ../xml/xml */ "./node_modules/codemirror/mode/xml/xml.js"), __webpack_require__(/*! ../javascript/javascript */ "./node_modules/codemirror/mode/javascript/javascript.js"), __webpack_require__(/*! ../css/css */ "./node_modules/codemirror/mode/css/css.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n var defaultTags = {\n script: [\n ["lang", /(javascript|babel)/i, "javascript"],\n ["type", /^(?:text|application)\\/(?:x-)?(?:java|ecma)script$|^module$|^$/i, "javascript"],\n ["type", /./, "text/plain"],\n [null, null, "javascript"]\n ],\n style: [\n ["lang", /^css$/i, "css"],\n ["type", /^(text\\/)?(x-)?(stylesheet|css)$/i, "css"],\n ["type", /./, "text/plain"],\n [null, null, "css"]\n ]\n };\n\n function maybeBackup(stream, pat, style) {\n var cur = stream.current(), close = cur.search(pat);\n if (close > -1) {\n stream.backUp(cur.length - close);\n } else if (cur.match(/<\\/?$/)) {\n stream.backUp(cur.length);\n if (!stream.match(pat, false)) stream.match(cur);\n }\n return style;\n }\n\n var attrRegexpCache = {};\n function getAttrRegexp(attr) {\n var regexp = attrRegexpCache[attr];\n if (regexp) return regexp;\n return attrRegexpCache[attr] = new RegExp("\\\\s+" + attr + "\\\\s*=\\\\s*(\'|\\")?([^\'\\"]+)(\'|\\")?\\\\s*");\n }\n\n function getAttrValue(text, attr) {\n var match = text.match(getAttrRegexp(attr))\n return match ? /^\\s*(.*?)\\s*$/.exec(match[2])[1] : ""\n }\n\n function getTagRegexp(tagName, anchored) {\n return new RegExp((anchored ? "^" : "") + "<\\/\\\\s*" + tagName + "\\\\s*>", "i");\n }\n\n function addTags(from, to) {\n for (var tag in from) {\n var dest = to[tag] || (to[tag] = []);\n var source = from[tag];\n for (var i = source.length - 1; i >= 0; i--)\n dest.unshift(source[i])\n }\n }\n\n function findMatchingMode(tagInfo, tagText) {\n for (var i = 0; i < tagInfo.length; i++) {\n var spec = tagInfo[i];\n if (!spec[0] || spec[1].test(getAttrValue(tagText, spec[0]))) return spec[2];\n }\n }\n\n CodeMirror.defineMode("htmlmixed", function (config, parserConfig) {\n var htmlMode = CodeMirror.getMode(config, {\n name: "xml",\n htmlMode: true,\n multilineTagIndentFactor: parserConfig.multilineTagIndentFactor,\n multilineTagIndentPastTag: parserConfig.multilineTagIndentPastTag,\n allowMissingTagName: parserConfig.allowMissingTagName,\n });\n\n var tags = {};\n var configTags = parserConfig && parserConfig.tags, configScript = parserConfig && parserConfig.scriptTypes;\n addTags(defaultTags, tags);\n if (configTags) addTags(configTags, tags);\n if (configScript) for (var i = configScript.length - 1; i >= 0; i--)\n tags.script.unshift(["type", configScript[i].matches, configScript[i].mode])\n\n function html(stream, state) {\n var style = htmlMode.token(stream, state.htmlState), tag = /\\btag\\b/.test(style), tagName\n if (tag && !/[<>\\s\\/]/.test(stream.current()) &&\n (tagName = state.htmlState.tagName && state.htmlState.tagName.toLowerCase()) &&\n tags.hasOwnProperty(tagName)) {\n state.inTag = tagName + " "\n } else if (state.inTag && tag && />$/.test(stream.current())) {\n var inTag = /^([\\S]+) (.*)/.exec(state.inTag)\n state.inTag = null\n var modeSpec = stream.current() == ">" && findMatchingMode(tags[inTag[1]], inTag[2])\n var mode = CodeMirror.getMode(config, modeSpec)\n var endTagA = getTagRegexp(inTag[1], true), endTag = getTagRegexp(inTag[1], false);\n state.token = function (stream, state) {\n if (
/*!***************************************************!*\
!*** ./node_modules/codemirror/mode/http/http.js ***!
\***************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nCodeMirror.defineMode("http", function() {\n function failFirstLine(stream, state) {\n stream.skipToEnd();\n state.cur = header;\n return "error";\n }\n\n function start(stream, state) {\n if (stream.match(/^HTTP\\/\\d\\.\\d/)) {\n state.cur = responseStatusCode;\n return "keyword";\n } else if (stream.match(/^[A-Z]+/) && /[ \\t]/.test(stream.peek())) {\n state.cur = requestPath;\n return "keyword";\n } else {\n return failFirstLine(stream, state);\n }\n }\n\n function responseStatusCode(stream, state) {\n var code = stream.match(/^\\d+/);\n if (!code) return failFirstLine(stream, state);\n\n state.cur = responseStatusText;\n var status = Number(code[0]);\n if (status >= 100 && status < 200) {\n return "positive informational";\n } else if (status >= 200 && status < 300) {\n return "positive success";\n } else if (status >= 300 && status < 400) {\n return "positive redirect";\n } else if (status >= 400 && status < 500) {\n return "negative client-error";\n } else if (status >= 500 && status < 600) {\n return "negative server-error";\n } else {\n return "error";\n }\n }\n\n function responseStatusText(stream, state) {\n stream.skipToEnd();\n state.cur = header;\n return null;\n }\n\n function requestPath(stream, state) {\n stream.eatWhile(/\\S/);\n state.cur = requestProtocol;\n return "string-2";\n }\n\n function requestProtocol(stream, state) {\n if (stream.match(/^HTTP\\/\\d\\.\\d$/)) {\n state.cur = header;\n return "keyword";\n } else {\n return failFirstLine(stream, state);\n }\n }\n\n function header(stream) {\n if (stream.sol() && !stream.eat(/[ \\t]/)) {\n if (stream.match(/^.*?:/)) {\n return "atom";\n } else {\n stream.skipToEnd();\n return "error";\n }\n } else {\n stream.skipToEnd();\n return "string";\n }\n }\n\n function body(stream) {\n stream.skipToEnd();\n return null;\n }\n\n return {\n token: function(stream, state) {\n var cur = state.cur;\n if (cur != header && cur != body && stream.eatSpace()) return null;\n return cur(stream, state);\n },\n\n blankLine: function(state) {\n state.cur = body;\n },\n\n startState: function() {\n return {cur: start};\n }\n };\n});\n\nCodeMirror.defineMIME("message/http", "http");\n\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/mode/http/http.js?')},"./node_modules/codemirror/mode/javascript/javascript.js":
/*!***************************************************************!*\
!*** ./node_modules/codemirror/mode/javascript/javascript.js ***!
\***************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nCodeMirror.defineMode("javascript", function(config, parserConfig) {\n var indentUnit = config.indentUnit;\n var statementIndent = parserConfig.statementIndent;\n var jsonldMode = parserConfig.jsonld;\n var jsonMode = parserConfig.json || jsonldMode;\n var trackScope = parserConfig.trackScope !== false\n var isTS = parserConfig.typescript;\n var wordRE = parserConfig.wordCharacters || /[\\w$\\xa1-\\uffff]/;\n\n // Tokenizer\n\n var keywords = function(){\n function kw(type) {return {type: type, style: "keyword"};}\n var A = kw("keyword a"), B = kw("keyword b"), C = kw("keyword c"), D = kw("keyword d");\n var operator = kw("operator"), atom = {type: "atom", style: "atom"};\n\n return {\n "if": kw("if"), "while": A, "with": A, "else": B, "do": B, "try": B, "finally": B,\n "return": D, "break": D, "continue": D, "new": kw("new"), "delete": C, "void": C, "throw": C,\n "debugger": kw("debugger"), "var": kw("var"), "const": kw("var"), "let": kw("var"),\n "function": kw("function"), "catch": kw("catch"),\n "for": kw("for"), "switch": kw("switch"), "case": kw("case"), "default": kw("default"),\n "in": operator, "typeof": operator, "instanceof": operator,\n "true": atom, "false": atom, "null": atom, "undefined": atom, "NaN": atom, "Infinity": atom,\n "this": kw("this"), "class": kw("class"), "super": kw("atom"),\n "yield": C, "export": kw("export"), "import": kw("import"), "extends": C,\n "await": C\n };\n }();\n\n var isOperatorChar = /[+\\-*&%=<>!?|~^@]/;\n var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;\n\n function readRegexp(stream) {\n var escaped = false, next, inSet = false;\n while ((next = stream.next()) != null) {\n if (!escaped) {\n if (next == "/" && !inSet) return;\n if (next == "[") inSet = true;\n else if (inSet && next == "]") inSet = false;\n }\n escaped = !escaped && next == "\\\\";\n }\n }\n\n // Used as scratch variables to communicate multiple values without\n // consing up tons of objects.\n var type, content;\n function ret(tp, style, cont) {\n type = tp; content = cont;\n return style;\n }\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (ch == \'"\' || ch == "\'") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == "." && stream.match(/^\\d[\\d_]*(?:[eE][+\\-]?[\\d_]+)?/)) {\n return ret("number", "number");\n } else if (ch == "." && stream.match("..")) {\n return ret("spread", "meta");\n } else if (/[\\[\\]{}\\(\\),;\\:\\.]/.test(ch)) {\n return ret(ch);\n } else if (ch == "=" && stream.eat(">")) {\n return ret("=>", "operator");\n } else if (ch == "0" && stream.match(/^(?:x[\\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) {\n return ret("number", "number");\n } else if (/\\d/.test(ch)) {\n stream.match(/^[\\d_]*(?:n|(?:\\.[\\d_]*)?(?:[eE][+\\-]?[\\d_]+)?)?/);\n return ret("number", "number");\n } else if (ch == "/") {\n if (stream.eat("*")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n } else if (stream.eat("/")) {\n stream.skipToEnd();\n return ret("comment", "comment");\n } else if (expressionAllowed(stream, state, 1)) {\n readRegexp(stream);\n stream.match(/^\\b(([gimyus])(?![gimyus]*\\2))+\\b/);\n return ret("regexp", "string-2");\n } else {\n stream.eat("=");\n return ret("operator", "operator", stream.current());\n }\n } else if (ch == "`") {\n st
/*!*************************************************!*\
!*** ./node_modules/codemirror/mode/lua/lua.js ***!
\*************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// LUA mode. Ported to CodeMirror 2 from Franciszek Wawrzak\'s\n// CodeMirror 1 mode.\n// highlights keywords, strings, comments (no leveling supported! ("[==[")), tokens, basic indenting\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nCodeMirror.defineMode("lua", function(config, parserConfig) {\n var indentUnit = config.indentUnit;\n\n function prefixRE(words) {\n return new RegExp("^(?:" + words.join("|") + ")", "i");\n }\n function wordRE(words) {\n return new RegExp("^(?:" + words.join("|") + ")$", "i");\n }\n var specials = wordRE(parserConfig.specials || []);\n\n // long list of standard functions from lua manual\n var builtins = wordRE([\n "_G","_VERSION","assert","collectgarbage","dofile","error","getfenv","getmetatable","ipairs","load",\n "loadfile","loadstring","module","next","pairs","pcall","print","rawequal","rawget","rawset","require",\n "select","setfenv","setmetatable","tonumber","tostring","type","unpack","xpcall",\n\n "coroutine.create","coroutine.resume","coroutine.running","coroutine.status","coroutine.wrap","coroutine.yield",\n\n "debug.debug","debug.getfenv","debug.gethook","debug.getinfo","debug.getlocal","debug.getmetatable",\n "debug.getregistry","debug.getupvalue","debug.setfenv","debug.sethook","debug.setlocal","debug.setmetatable",\n "debug.setupvalue","debug.traceback",\n\n "close","flush","lines","read","seek","setvbuf","write",\n\n "io.close","io.flush","io.input","io.lines","io.open","io.output","io.popen","io.read","io.stderr","io.stdin",\n "io.stdout","io.tmpfile","io.type","io.write",\n\n "math.abs","math.acos","math.asin","math.atan","math.atan2","math.ceil","math.cos","math.cosh","math.deg",\n "math.exp","math.floor","math.fmod","math.frexp","math.huge","math.ldexp","math.log","math.log10","math.max",\n "math.min","math.modf","math.pi","math.pow","math.rad","math.random","math.randomseed","math.sin","math.sinh",\n "math.sqrt","math.tan","math.tanh",\n\n "os.clock","os.date","os.difftime","os.execute","os.exit","os.getenv","os.remove","os.rename","os.setlocale",\n "os.time","os.tmpname",\n\n "package.cpath","package.loaded","package.loaders","package.loadlib","package.path","package.preload",\n "package.seeall",\n\n "string.byte","string.char","string.dump","string.find","string.format","string.gmatch","string.gsub",\n "string.len","string.lower","string.match","string.rep","string.reverse","string.sub","string.upper",\n\n "table.concat","table.insert","table.maxn","table.remove","table.sort"\n ]);\n var keywords = wordRE(["and","break","elseif","false","nil","not","or","return",\n "true","function", "end", "if", "then", "else", "do",\n "while", "repeat", "until", "for", "in", "local" ]);\n\n var indentTokens = wordRE(["function", "if","repeat","do", "\\\\(", "{"]);\n var dedentTokens = wordRE(["end", "until", "\\\\)", "}"]);\n var dedentPartial = prefixRE(["end", "until", "\\\\)", "}", "else", "elseif"]);\n\n function readBracket(stream) {\n var level = 0;\n while (stream.eat("=")) ++level;\n stream.eat("[");\n return level;\n }\n\n function normal(stream, state) {\n var ch = stream.next();\n if (ch == "-" && stream.eat("-")) {\n if (stream.eat("[") && stream.eat("["))\n return (state.cur = bracketed(readBracket(stream), "comment"))(stream, state);\n stream.skipToEnd();\n return "comment";\n }\n if (ch == "\\"" || ch == "\'")\n return (state.cur = string(ch))(stream, state);\n if (ch == "[" && /[\\[=]/.test(stream.peek()))\n return (state.cur = bracketed(readBracket(stream), "string"))(stream, state);\n if (/\\d/.test(ch)) {\n
/*!***********************************************************!*\
!*** ./node_modules/codemirror/mode/markdown/markdown.js ***!
\***********************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"), __webpack_require__(/*! ../xml/xml */ "./node_modules/codemirror/mode/xml/xml.js"), __webpack_require__(/*! ../meta */ "./node_modules/codemirror/mode/meta.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nCodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {\n\n var htmlMode = CodeMirror.getMode(cmCfg, "text/html");\n var htmlModeMissing = htmlMode.name == "null"\n\n function getMode(name) {\n if (CodeMirror.findModeByName) {\n var found = CodeMirror.findModeByName(name);\n if (found) name = found.mime || found.mimes[0];\n }\n var mode = CodeMirror.getMode(cmCfg, name);\n return mode.name == "null" ? null : mode;\n }\n\n // Should characters that affect highlighting be highlighted separate?\n // Does not include characters that will be output (such as `1.` and `-` for lists)\n if (modeCfg.highlightFormatting === undefined)\n modeCfg.highlightFormatting = false;\n\n // Maximum number of nested blockquotes. Set to 0 for infinite nesting.\n // Excess `>` will emit `error` token.\n if (modeCfg.maxBlockquoteDepth === undefined)\n modeCfg.maxBlockquoteDepth = 0;\n\n // Turn on task lists? ("- [ ] " and "- [x] ")\n if (modeCfg.taskLists === undefined) modeCfg.taskLists = false;\n\n // Turn on strikethrough syntax\n if (modeCfg.strikethrough === undefined)\n modeCfg.strikethrough = false;\n\n if (modeCfg.emoji === undefined)\n modeCfg.emoji = false;\n\n if (modeCfg.fencedCodeBlockHighlighting === undefined)\n modeCfg.fencedCodeBlockHighlighting = true;\n\n if (modeCfg.fencedCodeBlockDefaultMode === undefined)\n modeCfg.fencedCodeBlockDefaultMode = \'text/plain\';\n\n if (modeCfg.xml === undefined)\n modeCfg.xml = true;\n\n // Allow token types to be overridden by user-provided token types.\n if (modeCfg.tokenTypeOverrides === undefined)\n modeCfg.tokenTypeOverrides = {};\n\n var tokenTypes = {\n header: "header",\n code: "comment",\n quote: "quote",\n list1: "variable-2",\n list2: "variable-3",\n list3: "keyword",\n hr: "hr",\n image: "image",\n imageAltText: "image-alt-text",\n imageMarker: "image-marker",\n formatting: "formatting",\n linkInline: "link",\n linkEmail: "link",\n linkText: "link",\n linkHref: "string",\n em: "em",\n strong: "strong",\n strikethrough: "strikethrough",\n emoji: "builtin"\n };\n\n for (var tokenType in tokenTypes) {\n if (tokenTypes.hasOwnProperty(tokenType) && modeCfg.tokenTypeOverrides[tokenType]) {\n tokenTypes[tokenType] = modeCfg.tokenTypeOverrides[tokenType];\n }\n }\n\n var hrRE = /^([*\\-_])(?:\\s*\\1){2,}\\s*$/\n , listRE = /^(?:[*\\-+]|^[0-9]+([.)]))\\s+/\n , taskListRE = /^\\[(x| )\\](?=\\s)/i // Must follow listRE\n , atxHeaderRE = modeCfg.allowAtxHeaderWithoutSpace ? /^(#+)/ : /^(#+)(?: |$)/\n , setextHeaderRE = /^ {0,3}(?:\\={1,}|-{2,})\\s*$/\n , textRE = /^[^#!\\[\\]*_\\\\<>` "\'(~:]+/\n , fencedCodeRE = /^(~~~+|```+)[ \\t]*([\\w\\/+#-]*)[^\\n`]*$/\n , linkDefRE = /^\\s*\\[[^\\]]+?\\]:.*$/ // naive link-definition\n , punctuation = /[!"#$%&\'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0AF0\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-
/*!**********************************************!*\
!*** ./node_modules/codemirror/mode/meta.js ***!
\**********************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n CodeMirror.modeInfo = [\n {name: "APL", mime: "text/apl", mode: "apl", ext: ["dyalog", "apl"]},\n {name: "PGP", mimes: ["application/pgp", "application/pgp-encrypted", "application/pgp-keys", "application/pgp-signature"], mode: "asciiarmor", ext: ["asc", "pgp", "sig"]},\n {name: "ASN.1", mime: "text/x-ttcn-asn", mode: "asn.1", ext: ["asn", "asn1"]},\n {name: "Asterisk", mime: "text/x-asterisk", mode: "asterisk", file: /^extensions\\.conf$/i},\n {name: "Brainfuck", mime: "text/x-brainfuck", mode: "brainfuck", ext: ["b", "bf"]},\n {name: "C", mime: "text/x-csrc", mode: "clike", ext: ["c", "h", "ino"]},\n {name: "C++", mime: "text/x-c++src", mode: "clike", ext: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"], alias: ["cpp"]},\n {name: "Cobol", mime: "text/x-cobol", mode: "cobol", ext: ["cob", "cpy", "cbl"]},\n {name: "C#", mime: "text/x-csharp", mode: "clike", ext: ["cs"], alias: ["csharp", "cs"]},\n {name: "Clojure", mime: "text/x-clojure", mode: "clojure", ext: ["clj", "cljc", "cljx"]},\n {name: "ClojureScript", mime: "text/x-clojurescript", mode: "clojure", ext: ["cljs"]},\n {name: "Closure Stylesheets (GSS)", mime: "text/x-gss", mode: "css", ext: ["gss"]},\n {name: "CMake", mime: "text/x-cmake", mode: "cmake", ext: ["cmake", "cmake.in"], file: /^CMakeLists\\.txt$/},\n {name: "CoffeeScript", mimes: ["application/vnd.coffeescript", "text/coffeescript", "text/x-coffeescript"], mode: "coffeescript", ext: ["coffee"], alias: ["coffee", "coffee-script"]},\n {name: "Common Lisp", mime: "text/x-common-lisp", mode: "commonlisp", ext: ["cl", "lisp", "el"], alias: ["lisp"]},\n {name: "Cypher", mime: "application/x-cypher-query", mode: "cypher", ext: ["cyp", "cypher"]},\n {name: "Cython", mime: "text/x-cython", mode: "python", ext: ["pyx", "pxd", "pxi"]},\n {name: "Crystal", mime: "text/x-crystal", mode: "crystal", ext: ["cr"]},\n {name: "CSS", mime: "text/css", mode: "css", ext: ["css"]},\n {name: "CQL", mime: "text/x-cassandra", mode: "sql", ext: ["cql"]},\n {name: "D", mime: "text/x-d", mode: "d", ext: ["d"]},\n {name: "Dart", mimes: ["application/dart", "text/x-dart"], mode: "dart", ext: ["dart"]},\n {name: "diff", mime: "text/x-diff", mode: "diff", ext: ["diff", "patch"]},\n {name: "Django", mime: "text/x-django", mode: "django"},\n {name: "Dockerfile", mime: "text/x-dockerfile", mode: "dockerfile", file: /^Dockerfile$/},\n {name: "DTD", mime: "application/xml-dtd", mode: "dtd", ext: ["dtd"]},\n {name: "Dylan", mime: "text/x-dylan", mode: "dylan", ext: ["dylan", "dyl", "intr"]},\n {name: "EBNF", mime: "text/x-ebnf", mode: "ebnf"},\n {name: "ECL", mime: "text/x-ecl", mode: "ecl", ext: ["ecl"]},\n {name: "edn", mime: "application/edn", mode: "clojure", ext: ["edn"]},\n {name: "Eiffel", mime: "text/x-eiffel", mode: "eiffel", ext: ["e"]},\n {name: "Elm", mime: "text/x-elm", mode: "elm", ext: ["elm"]},\n {name: "Embedded JavaScript", mime: "application/x-ejs", mode: "htmlembedded", ext: ["ejs"]},\n {name: "Embedded Ruby", mime: "application/x-erb", mode: "htmlembedded", ext: ["erb"]},\n {name: "Erlang", mime: "text/x-erlang", mode: "erlang", ext: ["erl"]},\n {name: "Esper", mime: "text/x-esper", mode: "sql"},\n {name: "Factor", mime: "text/x-factor", mode: "factor", ext: ["factor"]},\n {name: "FCL", mime: "text/x-fcl", mode: "fcl"},\n {name: "Forth", mime: "text/x-forth", mode: "forth", ext: ["forth", "fth", "4th"]},\n {name: "Fortran", mime: "text/x-fortran", mode: "fortran", ext: ["f", "for", "f77", "f90", "f95"]},\n {name: "F#", mime: "text/x-fsharp", mode: "mllike", ext: ["fs"], alias: ["fs
/*!*************************************************!*\
!*** ./node_modules/codemirror/mode/php/php.js ***!
\*************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"), __webpack_require__(/*! ../htmlmixed/htmlmixed */ "./node_modules/codemirror/mode/htmlmixed/htmlmixed.js"), __webpack_require__(/*! ../clike/clike */ "./node_modules/codemirror/mode/clike/clike.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n function keywords(str) {\n var obj = {}, words = str.split(" ");\n for (var i = 0; i < words.length; ++i) obj[words[i]] = true;\n return obj;\n }\n\n // Helper for phpString\n function matchSequence(list, end, escapes) {\n if (list.length == 0) return phpString(end);\n return function (stream, state) {\n var patterns = list[0];\n for (var i = 0; i < patterns.length; i++) if (stream.match(patterns[i][0])) {\n state.tokenize = matchSequence(list.slice(1), end);\n return patterns[i][1];\n }\n state.tokenize = phpString(end, escapes);\n return "string";\n };\n }\n function phpString(closing, escapes) {\n return function(stream, state) { return phpString_(stream, state, closing, escapes); };\n }\n function phpString_(stream, state, closing, escapes) {\n // "Complex" syntax\n if (escapes !== false && stream.match("${", false) || stream.match("{$", false)) {\n state.tokenize = null;\n return "string";\n }\n\n // Simple syntax\n if (escapes !== false && stream.match(/^\\$[a-zA-Z_][a-zA-Z0-9_]*/)) {\n // After the variable name there may appear array or object operator.\n if (stream.match("[", false)) {\n // Match array operator\n state.tokenize = matchSequence([\n [["[", null]],\n [[/\\d[\\w\\.]*/, "number"],\n [/\\$[a-zA-Z_][a-zA-Z0-9_]*/, "variable-2"],\n [/[\\w\\$]+/, "variable"]],\n [["]", null]]\n ], closing, escapes);\n }\n if (stream.match(/^->\\w/, false)) {\n // Match object operator\n state.tokenize = matchSequence([\n [["->", null]],\n [[/[\\w]+/, "variable"]]\n ], closing, escapes);\n }\n return "variable-2";\n }\n\n var escaped = false;\n // Normal string\n while (!stream.eol() &&\n (escaped || escapes === false ||\n (!stream.match("{$", false) &&\n !stream.match(/^(\\$[a-zA-Z_][a-zA-Z0-9_]*|\\$\\{)/, false)))) {\n if (!escaped && stream.match(closing)) {\n state.tokenize = null;\n state.tokStack.pop(); state.tokStack.pop();\n break;\n }\n escaped = stream.next() == "\\\\" && !escaped;\n }\n return "string";\n }\n\n var phpKeywords = "abstract and array as break case catch class clone const continue declare default " +\n "do else elseif enddeclare endfor endforeach endif endswitch endwhile enum extends final " +\n "for foreach function global goto if implements interface instanceof namespace " +\n "new or private protected public static switch throw trait try use var while xor " +\n "die echo empty exit eval include include_once isset list require require_once return " +\n "print unset __halt_compiler self static parent yield insteadof finally readonly match";\n var phpAtoms = "true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__";\n var phpBuiltin = "func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_deco
/*!*************************************************!*\
!*** ./node_modules/codemirror/mode/pug/pug.js ***!
\*************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"), __webpack_require__(/*! ../javascript/javascript */ \"./node_modules/codemirror/mode/javascript/javascript.js\"), __webpack_require__(/*! ../css/css */ \"./node_modules/codemirror/mode/css/css.js\"), __webpack_require__(/*! ../htmlmixed/htmlmixed */ \"./node_modules/codemirror/mode/htmlmixed/htmlmixed.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"pug\", function (config) {\n // token types\n var KEYWORD = 'keyword';\n var DOCTYPE = 'meta';\n var ID = 'builtin';\n var CLASS = 'qualifier';\n\n var ATTRS_NEST = {\n '{': '}',\n '(': ')',\n '[': ']'\n };\n\n var jsMode = CodeMirror.getMode(config, 'javascript');\n\n function State() {\n this.javaScriptLine = false;\n this.javaScriptLineExcludesColon = false;\n\n this.javaScriptArguments = false;\n this.javaScriptArgumentsDepth = 0;\n\n this.isInterpolating = false;\n this.interpolationNesting = 0;\n\n this.jsState = CodeMirror.startState(jsMode);\n\n this.restOfLine = '';\n\n this.isIncludeFiltered = false;\n this.isEach = false;\n\n this.lastTag = '';\n this.scriptType = '';\n\n // Attributes Mode\n this.isAttrs = false;\n this.attrsNest = [];\n this.inAttributeName = true;\n this.attributeIsType = false;\n this.attrValue = '';\n\n // Indented Mode\n this.indentOf = Infinity;\n this.indentToken = '';\n\n this.innerMode = null;\n this.innerState = null;\n\n this.innerModeForLine = false;\n }\n /**\n * Safely copy a state\n *\n * @return {State}\n */\n State.prototype.copy = function () {\n var res = new State();\n res.javaScriptLine = this.javaScriptLine;\n res.javaScriptLineExcludesColon = this.javaScriptLineExcludesColon;\n res.javaScriptArguments = this.javaScriptArguments;\n res.javaScriptArgumentsDepth = this.javaScriptArgumentsDepth;\n res.isInterpolating = this.isInterpolating;\n res.interpolationNesting = this.interpolationNesting;\n\n res.jsState = CodeMirror.copyState(jsMode, this.jsState);\n\n res.innerMode = this.innerMode;\n if (this.innerMode && this.innerState) {\n res.innerState = CodeMirror.copyState(this.innerMode, this.innerState);\n }\n\n res.restOfLine = this.restOfLine;\n\n res.isIncludeFiltered = this.isIncludeFiltered;\n res.isEach = this.isEach;\n res.lastTag = this.lastTag;\n res.scriptType = this.scriptType;\n res.isAttrs = this.isAttrs;\n res.attrsNest = this.attrsNest.slice();\n res.inAttributeName = this.inAttributeName;\n res.attributeIsType = this.attributeIsType;\n res.attrValue = this.attrValue;\n res.indentOf = this.indentOf;\n res.indentToken = this.indentToken;\n\n res.innerModeForLine = this.innerModeForLine;\n\n return res;\n };\n\n function javaScript(stream, state) {\n if (stream.sol()) {\n // if javaScriptLine was set at end of line, ignore it\n state.javaScriptLine = false;\n state.javaScriptLineExcludesColon = false;\n }\n if (state.javaScriptLine) {\n if (state.javaScriptLineExcludesColon && stream.peek() === ':') {\n state.javaScriptLine = false;\n state.javaScriptLineExcludesColon = false;\n return;\n }\n var tok = jsMode.token(stream, state.jsState);\n if (stream.eol()) state.javaScriptLine = false;\n return tok || true;\n }\n }\n function javaScriptArguments(stream, state) {\n if (state.javaScriptArguments) {\n if (state.javaScriptArgumentsDepth === 0 && stream.peek() !== '(') {\n state.javaScriptArguments = false;\n return;\n }\n if (stream.peek() === '(') {\n state.javaScriptArgumentsDepth++;\n } else if (stream.peek() === ')') {\
/*!*******************************************************!*\
!*** ./node_modules/codemirror/mode/python/python.js ***!
\*******************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n function wordRegexp(words) {\n return new RegExp("^((" + words.join(")|(") + "))\\\\b");\n }\n\n var wordOperators = wordRegexp(["and", "or", "not", "is"]);\n var commonKeywords = ["as", "assert", "break", "class", "continue",\n "def", "del", "elif", "else", "except", "finally",\n "for", "from", "global", "if", "import",\n "lambda", "pass", "raise", "return",\n "try", "while", "with", "yield", "in"];\n var commonBuiltins = ["abs", "all", "any", "bin", "bool", "bytearray", "callable", "chr",\n "classmethod", "compile", "complex", "delattr", "dict", "dir", "divmod",\n "enumerate", "eval", "filter", "float", "format", "frozenset",\n "getattr", "globals", "hasattr", "hash", "help", "hex", "id",\n "input", "int", "isinstance", "issubclass", "iter", "len",\n "list", "locals", "map", "max", "memoryview", "min", "next",\n "object", "oct", "open", "ord", "pow", "property", "range",\n "repr", "reversed", "round", "set", "setattr", "slice",\n "sorted", "staticmethod", "str", "sum", "super", "tuple",\n "type", "vars", "zip", "__import__", "NotImplemented",\n "Ellipsis", "__debug__"];\n CodeMirror.registerHelper("hintWords", "python", commonKeywords.concat(commonBuiltins));\n\n function top(state) {\n return state.scopes[state.scopes.length - 1];\n }\n\n CodeMirror.defineMode("python", function(conf, parserConf) {\n var ERRORCLASS = "error";\n\n var delimiters = parserConf.delimiters || parserConf.singleDelimiters || /^[\\(\\)\\[\\]\\{\\}@,:`=;\\.\\\\]/;\n // (Backwards-compatibility with old, cumbersome config system)\n var operators = [parserConf.singleOperators, parserConf.doubleOperators, parserConf.doubleDelimiters, parserConf.tripleDelimiters,\n parserConf.operators || /^([-+*/%\\/&|^]=?|[<>=]+|\\/\\/=?|\\*\\*=?|!=|[~!@]|\\.\\.\\.)/]\n for (var i = 0; i < operators.length; i++) if (!operators[i]) operators.splice(i--, 1)\n\n var hangingIndent = parserConf.hangingIndent || conf.indentUnit;\n\n var myKeywords = commonKeywords, myBuiltins = commonBuiltins;\n if (parserConf.extra_keywords != undefined)\n myKeywords = myKeywords.concat(parserConf.extra_keywords);\n\n if (parserConf.extra_builtins != undefined)\n myBuiltins = myBuiltins.concat(parserConf.extra_builtins);\n\n var py3 = !(parserConf.version && Number(parserConf.version) < 3)\n if (py3) {\n // since http://legacy.python.org/dev/peps/pep-0465/ @ is also an operator\n var identifiers = parserConf.identifiers|| /^[_A-Za-z\\u00A1-\\uFFFF][_A-Za-z0-9\\u00A1-\\uFFFF]*/;\n myKeywords = myKeywords.concat(["nonlocal", "False", "True", "None", "async", "await"]);\n myBuiltins = myBuiltins.concat(["ascii", "bytes", "exec", "print"]);\n var stringPrefixes = new RegExp("^(([rbuf]|(br)|(rb)|(fr)|(rf))?(\'{3}|\\"{3}|[\'\\"]))", "i");\n } else {\n var identifiers = parserConf.identifiers|| /^[_A-Za-z][_A-Za-z0-9]*/;\n myKeywords = myKeywords.concat(["exec", "print"]);\n myBuiltins = myBuiltins.concat(["apply", "basestring", "buffer", "cmp", "coerce", "execfile",\n "file", "intern", "long", "raw_input", "reduce", "reload",\n "unichr", "unicode", "xrange", "False", "True", "None"]);\n var stringPrefixes = new RegExp("^(([rubf]|(ur)|(br))?(\'{3}|\\"{
/*!***************************************************!*\
!*** ./node_modules/codemirror/mode/ruby/ruby.js ***!
\***************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nfunction wordObj(words) {\n var o = {};\n for (var i = 0, e = words.length; i < e; ++i) o[words[i]] = true;\n return o;\n}\n\nvar keywordList = [\n "alias", "and", "BEGIN", "begin", "break", "case", "class", "def", "defined?", "do", "else",\n "elsif", "END", "end", "ensure", "false", "for", "if", "in", "module", "next", "not", "or",\n "redo", "rescue", "retry", "return", "self", "super", "then", "true", "undef", "unless",\n "until", "when", "while", "yield", "nil", "raise", "throw", "catch", "fail", "loop", "callcc",\n "caller", "lambda", "proc", "public", "protected", "private", "require", "load",\n "require_relative", "extend", "autoload", "__END__", "__FILE__", "__LINE__", "__dir__"\n], keywords = wordObj(keywordList);\n\nvar indentWords = wordObj(["def", "class", "case", "for", "while", "until", "module", "then",\n "catch", "loop", "proc", "begin"]);\nvar dedentWords = wordObj(["end", "until"]);\nvar opening = {"[": "]", "{": "}", "(": ")"};\nvar closing = {"]": "[", "}": "{", ")": "("};\n\nCodeMirror.defineMode("ruby", function(config) {\n var curPunc;\n\n function chain(newtok, stream, state) {\n state.tokenize.push(newtok);\n return newtok(stream, state);\n }\n\n function tokenBase(stream, state) {\n if (stream.sol() && stream.match("=begin") && stream.eol()) {\n state.tokenize.push(readBlockComment);\n return "comment";\n }\n if (stream.eatSpace()) return null;\n var ch = stream.next(), m;\n if (ch == "`" || ch == "\'" || ch == \'"\') {\n return chain(readQuoted(ch, "string", ch == \'"\' || ch == "`"), stream, state);\n } else if (ch == "/") {\n if (regexpAhead(stream))\n return chain(readQuoted(ch, "string-2", true), stream, state);\n else\n return "operator";\n } else if (ch == "%") {\n var style = "string", embed = true;\n if (stream.eat("s")) style = "atom";\n else if (stream.eat(/[WQ]/)) style = "string";\n else if (stream.eat(/[r]/)) style = "string-2";\n else if (stream.eat(/[wxq]/)) { style = "string"; embed = false; }\n var delim = stream.eat(/[^\\w\\s=]/);\n if (!delim) return "operator";\n if (opening.propertyIsEnumerable(delim)) delim = opening[delim];\n return chain(readQuoted(delim, style, embed, true), stream, state);\n } else if (ch == "#") {\n stream.skipToEnd();\n return "comment";\n } else if (ch == "<" && (m = stream.match(/^<([-~])[\\`\\"\\\']?([a-zA-Z_?]\\w*)[\\`\\"\\\']?(?:;|$)/))) {\n return chain(readHereDoc(m[2], m[1]), stream, state);\n } else if (ch == "0") {\n if (stream.eat("x")) stream.eatWhile(/[\\da-fA-F]/);\n else if (stream.eat("b")) stream.eatWhile(/[01]/);\n else stream.eatWhile(/[0-7]/);\n return "number";\n } else if (/\\d/.test(ch)) {\n stream.match(/^[\\d_]*(?:\\.[\\d_]+)?(?:[eE][+\\-]?[\\d_]+)?/);\n return "number";\n } else if (ch == "?") {\n while (stream.match(/^\\\\[CM]-/)) {}\n if (stream.eat("\\\\")) stream.eatWhile(/\\w/);\n else stream.next();\n return "string";\n } else if (ch == ":") {\n if (stream.eat("\'")) return chain(readQuoted("\'", "atom", false), stream, state);\n if (stream.eat(\'"\')) return chain(readQuoted(\'"\', "atom", true), stream, state);\n\n // :> :>> :< :<< are valid symbols\n if (stream.eat(/[\\<\\>]/)) {\n stream.eat(/[\\<\\>]/);\n return "atom";\n }\n\n // :+ :- :/ :* :| :& :! are valid symbols\n if (stream.eat(/[\\+\\-\\*\\/\\&\\|\\:\\!]/)) {\n return "atom";\n }\n\n // Symbols can\'t start by a digit\n if (stream.eat(/[a-zA-Z$@_\\
/*!***************************************************!*\
!*** ./node_modules/codemirror/mode/rust/rust.js ***!
\***************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"), __webpack_require__(/*! ../../addon/mode/simple */ "./node_modules/codemirror/addon/mode/simple.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nCodeMirror.defineSimpleMode("rust",{\n start: [\n // string and byte string\n {regex: /b?"/, token: "string", next: "string"},\n // raw string and raw byte string\n {regex: /b?r"/, token: "string", next: "string_raw"},\n {regex: /b?r#+"/, token: "string", next: "string_raw_hash"},\n // character\n {regex: /\'(?:[^\'\\\\]|\\\\(?:[nrt0\'"]|x[\\da-fA-F]{2}|u\\{[\\da-fA-F]{6}\\}))\'/, token: "string-2"},\n // byte\n {regex: /b\'(?:[^\']|\\\\(?:[\'\\\\nrt0]|x[\\da-fA-F]{2}))\'/, token: "string-2"},\n\n {regex: /(?:(?:[0-9][0-9_]*)(?:(?:[Ee][+-]?[0-9_]+)|\\.[0-9_]+(?:[Ee][+-]?[0-9_]+)?)(?:f32|f64)?)|(?:0(?:b[01_]+|(?:o[0-7_]+)|(?:x[0-9a-fA-F_]+))|(?:[0-9][0-9_]*))(?:u8|u16|u32|u64|i8|i16|i32|i64|isize|usize)?/,\n token: "number"},\n {regex: /(let(?:\\s+mut)?|fn|enum|mod|struct|type|union)(\\s+)([a-zA-Z_][a-zA-Z0-9_]*)/, token: ["keyword", null, "def"]},\n {regex: /(?:abstract|alignof|as|async|await|box|break|continue|const|crate|do|dyn|else|enum|extern|fn|for|final|if|impl|in|loop|macro|match|mod|move|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/, token: "keyword"},\n {regex: /\\b(?:Self|isize|usize|char|bool|u8|u16|u32|u64|f16|f32|f64|i8|i16|i32|i64|str|Option)\\b/, token: "atom"},\n {regex: /\\b(?:true|false|Some|None|Ok|Err)\\b/, token: "builtin"},\n {regex: /\\b(fn)(\\s+)([a-zA-Z_][a-zA-Z0-9_]*)/,\n token: ["keyword", null ,"def"]},\n {regex: /#!?\\[.*\\]/, token: "meta"},\n {regex: /\\/\\/.*/, token: "comment"},\n {regex: /\\/\\*/, token: "comment", next: "comment"},\n {regex: /[-+\\/*=<>!]+/, token: "operator"},\n {regex: /[a-zA-Z_]\\w*!/,token: "variable-3"},\n {regex: /[a-zA-Z_]\\w*/, token: "variable"},\n {regex: /[\\{\\[\\(]/, indent: true},\n {regex: /[\\}\\]\\)]/, dedent: true}\n ],\n string: [\n {regex: /"/, token: "string", next: "start"},\n {regex: /(?:[^\\\\"]|\\\\(?:.|$))*/, token: "string"}\n ],\n string_raw: [\n {regex: /"/, token: "string", next: "start"},\n {regex: /[^"]*/, token: "string"}\n ],\n string_raw_hash: [\n {regex: /"#+/, token: "string", next: "start"},\n {regex: /(?:[^"]|"(?!#))*/, token: "string"}\n ],\n comment: [\n {regex: /.*?\\*\\//, token: "comment", next: "start"},\n {regex: /.*/, token: "comment"}\n ],\n meta: {\n dontIndentStates: ["comment"],\n electricInput: /^\\s*\\}$/,\n blockCommentStart: "/*",\n blockCommentEnd: "*/",\n lineComment: "//",\n fold: "brace"\n }\n});\n\n\nCodeMirror.defineMIME("text/x-rustsrc", "rust");\nCodeMirror.defineMIME("text/rust", "rust");\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/mode/rust/rust.js?')},"./node_modules/codemirror/mode/sass/sass.js":
/*!***************************************************!*\
!*** ./node_modules/codemirror/mode/sass/sass.js ***!
\***************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"), __webpack_require__(/*! ../css/css */ "./node_modules/codemirror/mode/css/css.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nCodeMirror.defineMode("sass", function(config) {\n var cssMode = CodeMirror.mimeModes["text/css"];\n var propertyKeywords = cssMode.propertyKeywords || {},\n colorKeywords = cssMode.colorKeywords || {},\n valueKeywords = cssMode.valueKeywords || {},\n fontProperties = cssMode.fontProperties || {};\n\n function tokenRegexp(words) {\n return new RegExp("^" + words.join("|"));\n }\n\n var keywords = ["true", "false", "null", "auto"];\n var keywordsRegexp = new RegExp("^" + keywords.join("|"));\n\n var operators = ["\\\\(", "\\\\)", "=", ">", "<", "==", ">=", "<=", "\\\\+", "-",\n "\\\\!=", "/", "\\\\*", "%", "and", "or", "not", ";","\\\\{","\\\\}",":"];\n var opRegexp = tokenRegexp(operators);\n\n var pseudoElementsRegexp = /^::?[a-zA-Z_][\\w\\-]*/;\n\n var word;\n\n function isEndLine(stream) {\n return !stream.peek() || stream.match(/\\s+$/, false);\n }\n\n function urlTokens(stream, state) {\n var ch = stream.peek();\n\n if (ch === ")") {\n stream.next();\n state.tokenizer = tokenBase;\n return "operator";\n } else if (ch === "(") {\n stream.next();\n stream.eatSpace();\n\n return "operator";\n } else if (ch === "\'" || ch === \'"\') {\n state.tokenizer = buildStringTokenizer(stream.next());\n return "string";\n } else {\n state.tokenizer = buildStringTokenizer(")", false);\n return "string";\n }\n }\n function comment(indentation, multiLine) {\n return function(stream, state) {\n if (stream.sol() && stream.indentation() <= indentation) {\n state.tokenizer = tokenBase;\n return tokenBase(stream, state);\n }\n\n if (multiLine && stream.skipTo("*/")) {\n stream.next();\n stream.next();\n state.tokenizer = tokenBase;\n } else {\n stream.skipToEnd();\n }\n\n return "comment";\n };\n }\n\n function buildStringTokenizer(quote, greedy) {\n if (greedy == null) { greedy = true; }\n\n function stringTokenizer(stream, state) {\n var nextChar = stream.next();\n var peekChar = stream.peek();\n var previousChar = stream.string.charAt(stream.pos-2);\n\n var endingString = ((nextChar !== "\\\\" && peekChar === quote) || (nextChar === quote && previousChar !== "\\\\"));\n\n if (endingString) {\n if (nextChar !== quote && greedy) { stream.next(); }\n if (isEndLine(stream)) {\n state.cursorHalf = 0;\n }\n state.tokenizer = tokenBase;\n return "string";\n } else if (nextChar === "#" && peekChar === "{") {\n state.tokenizer = buildInterpolationTokenizer(stringTokenizer);\n stream.next();\n return "operator";\n } else {\n return "string";\n }\n }\n\n return stringTokenizer;\n }\n\n function buildInterpolationTokenizer(currentTokenizer) {\n return function(stream, state) {\n if (stream.peek() === "}") {\n stream.next();\n state.tokenizer = currentTokenizer;\n return "operator";\n } else {\n return tokenBase(stream, state);\n }\n };\n }\n\n function indent(state) {\n if (state.indentCount == 0) {\n state.indentCount++;\n var lastScopeOffset = state.scopes[0].offset;\n var currentOffset = lastScopeOffset + config.indentUnit;\n state.scopes.unshift({ offset:currentOffset });\n }\n }\n\n function dedent(state) {\n if (state.scopes.length == 1) return;\n\n state.scopes.shift();\n }\n\n function tokenBase(stream, state) {\n var ch = stream.peek();
/*!*****************************************************!*\
!*** ./node_modules/codemirror/mode/shell/shell.js ***!
\*****************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nCodeMirror.defineMode(\'shell\', function() {\n\n var words = {};\n function define(style, dict) {\n for(var i = 0; i < dict.length; i++) {\n words[dict[i]] = style;\n }\n };\n\n var commonAtoms = ["true", "false"];\n var commonKeywords = ["if", "then", "do", "else", "elif", "while", "until", "for", "in", "esac", "fi",\n "fin", "fil", "done", "exit", "set", "unset", "export", "function"];\n var commonCommands = ["ab", "awk", "bash", "beep", "cat", "cc", "cd", "chown", "chmod", "chroot", "clear",\n "cp", "curl", "cut", "diff", "echo", "find", "gawk", "gcc", "get", "git", "grep", "hg", "kill", "killall",\n "ln", "ls", "make", "mkdir", "openssl", "mv", "nc", "nl", "node", "npm", "ping", "ps", "restart", "rm",\n "rmdir", "sed", "service", "sh", "shopt", "shred", "source", "sort", "sleep", "ssh", "start", "stop",\n "su", "sudo", "svn", "tee", "telnet", "top", "touch", "vi", "vim", "wall", "wc", "wget", "who", "write",\n "yes", "zsh"];\n\n CodeMirror.registerHelper("hintWords", "shell", commonAtoms.concat(commonKeywords, commonCommands));\n\n define(\'atom\', commonAtoms);\n define(\'keyword\', commonKeywords);\n define(\'builtin\', commonCommands);\n\n function tokenBase(stream, state) {\n if (stream.eatSpace()) return null;\n\n var sol = stream.sol();\n var ch = stream.next();\n\n if (ch === \'\\\\\') {\n stream.next();\n return null;\n }\n if (ch === \'\\\'\' || ch === \'"\' || ch === \'`\') {\n state.tokens.unshift(tokenString(ch, ch === "`" ? "quote" : "string"));\n return tokenize(stream, state);\n }\n if (ch === \'#\') {\n if (sol && stream.eat(\'!\')) {\n stream.skipToEnd();\n return \'meta\'; // \'comment\'?\n }\n stream.skipToEnd();\n return \'comment\';\n }\n if (ch === \'$\') {\n state.tokens.unshift(tokenDollar);\n return tokenize(stream, state);\n }\n if (ch === \'+\' || ch === \'=\') {\n return \'operator\';\n }\n if (ch === \'-\') {\n stream.eat(\'-\');\n stream.eatWhile(/\\w/);\n return \'attribute\';\n }\n if (ch == "<") {\n if (stream.match("<<")) return "operator"\n var heredoc = stream.match(/^<-?\\s*[\'"]?([^\'"]*)[\'"]?/)\n if (heredoc) {\n state.tokens.unshift(tokenHeredoc(heredoc[1]))\n return \'string-2\'\n }\n }\n if (/\\d/.test(ch)) {\n stream.eatWhile(/\\d/);\n if(stream.eol() || !/\\w/.test(stream.peek())) {\n return \'number\';\n }\n }\n stream.eatWhile(/[\\w-]/);\n var cur = stream.current();\n if (stream.peek() === \'=\' && /\\w+/.test(cur)) return \'def\';\n return words.hasOwnProperty(cur) ? words[cur] : null;\n }\n\n function tokenString(quote, style) {\n var close = quote == "(" ? ")" : quote == "{" ? "}" : quote\n return function(stream, state) {\n var next, escaped = false;\n while ((next = stream.next()) != null) {\n if (next === close && !escaped) {\n state.tokens.shift();\n break;\n } else if (next === \'$\' && !escaped && quote !== "\'" && stream.peek() != close) {\n escaped = true;\n stream.backUp(1);\n state.tokens.unshift(tokenDollar);\n break;\n } else if (!escaped && quote !== close && next === quote) {\n state.tokens.unshift(tokenString(quote, style))\n return tokenize(stream, state)\n } else if (!escaped && /[\'"]/.test(next) && !/[\'"]/.test(quote)) {\n state.tokens.unshift(tokenStringStart(next, "string"));\n stream.backUp(1);\n break;\n }\n escaped = !escaped && ne
/*!*************************************************!*\
!*** ./node_modules/codemirror/mode/sql/sql.js ***!
\*************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nCodeMirror.defineMode("sql", function(config, parserConfig) {\n var client = parserConfig.client || {},\n atoms = parserConfig.atoms || {"false": true, "true": true, "null": true},\n builtin = parserConfig.builtin || set(defaultBuiltin),\n keywords = parserConfig.keywords || set(sqlKeywords),\n operatorChars = parserConfig.operatorChars || /^[*+\\-%<>!=&|~^\\/]/,\n support = parserConfig.support || {},\n hooks = parserConfig.hooks || {},\n dateSQL = parserConfig.dateSQL || {"date" : true, "time" : true, "timestamp" : true},\n backslashStringEscapes = parserConfig.backslashStringEscapes !== false,\n brackets = parserConfig.brackets || /^[\\{}\\(\\)\\[\\]]/,\n punctuation = parserConfig.punctuation || /^[;.,:]/\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n\n // call hooks from the mime type\n if (hooks[ch]) {\n var result = hooks[ch](stream, state);\n if (result !== false) return result;\n }\n\n if (support.hexNumber &&\n ((ch == "0" && stream.match(/^[xX][0-9a-fA-F]+/))\n || (ch == "x" || ch == "X") && stream.match(/^\'[0-9a-fA-F]+\'/))) {\n // hex\n // ref: http://dev.mysql.com/doc/refman/5.5/en/hexadecimal-literals.html\n return "number";\n } else if (support.binaryNumber &&\n (((ch == "b" || ch == "B") && stream.match(/^\'[01]+\'/))\n || (ch == "0" && stream.match(/^b[01]+/)))) {\n // bitstring\n // ref: http://dev.mysql.com/doc/refman/5.5/en/bit-field-literals.html\n return "number";\n } else if (ch.charCodeAt(0) > 47 && ch.charCodeAt(0) < 58) {\n // numbers\n // ref: http://dev.mysql.com/doc/refman/5.5/en/number-literals.html\n stream.match(/^[0-9]*(\\.[0-9]+)?([eE][-+]?[0-9]+)?/);\n support.decimallessFloat && stream.match(/^\\.(?!\\.)/);\n return "number";\n } else if (ch == "?" && (stream.eatSpace() || stream.eol() || stream.eat(";"))) {\n // placeholders\n return "variable-3";\n } else if (ch == "\'" || (ch == \'"\' && support.doubleQuote)) {\n // strings\n // ref: http://dev.mysql.com/doc/refman/5.5/en/string-literals.html\n state.tokenize = tokenLiteral(ch);\n return state.tokenize(stream, state);\n } else if ((((support.nCharCast && (ch == "n" || ch == "N"))\n || (support.charsetCast && ch == "_" && stream.match(/[a-z][a-z0-9]*/i)))\n && (stream.peek() == "\'" || stream.peek() == \'"\'))) {\n // charset casting: _utf8\'str\', N\'str\', n\'str\'\n // ref: http://dev.mysql.com/doc/refman/5.5/en/string-literals.html\n return "keyword";\n } else if (support.escapeConstant && (ch == "e" || ch == "E")\n && (stream.peek() == "\'" || (stream.peek() == \'"\' && support.doubleQuote))) {\n // escape constant: E\'str\', e\'str\'\n // ref: https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS-ESCAPE\n state.tokenize = function(stream, state) {\n return (state.tokenize = tokenLiteral(stream.next(), true))(stream, state);\n }\n return "keyword";\n } else if (support.commentSlashSlash && ch == "/" && stream.eat("/")) {\n // 1-line comment\n stream.skipToEnd();\n return "comment";\n } else if ((support.commentHash && ch == "#")\n || (ch == "-" && stream.eat("-") && (!support.commentSpaceRequired || stream.eat(" ")))) {\n // 1-line comments\n // ref: https://kb.askmonty.org/en/comment-syntax/\n stream.skipToEnd();\n return "comment";\n } else if (ch == "/" && stream.eat("*")) {\n // multi
/*!*******************************************************!*\
!*** ./node_modules/codemirror/mode/stylus/stylus.js ***!
\*******************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// Stylus mode created by Dmitry Kiselyov http://git.io/AaRB\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n "use strict";\n\n CodeMirror.defineMode("stylus", function(config) {\n var indentUnit = config.indentUnit,\n indentUnitString = \'\',\n tagKeywords = keySet(tagKeywords_),\n tagVariablesRegexp = /^(a|b|i|s|col|em)$/i,\n propertyKeywords = keySet(propertyKeywords_),\n nonStandardPropertyKeywords = keySet(nonStandardPropertyKeywords_),\n valueKeywords = keySet(valueKeywords_),\n colorKeywords = keySet(colorKeywords_),\n documentTypes = keySet(documentTypes_),\n documentTypesRegexp = wordRegexp(documentTypes_),\n mediaFeatures = keySet(mediaFeatures_),\n mediaTypes = keySet(mediaTypes_),\n fontProperties = keySet(fontProperties_),\n operatorsRegexp = /^\\s*([.]{2,3}|&&|\\|\\||\\*\\*|[?!=:]?=|[-+*\\/%<>]=?|\\?:|\\~)/,\n wordOperatorKeywordsRegexp = wordRegexp(wordOperatorKeywords_),\n blockKeywords = keySet(blockKeywords_),\n vendorPrefixesRegexp = new RegExp(/^\\-(moz|ms|o|webkit)-/i),\n commonAtoms = keySet(commonAtoms_),\n firstWordMatch = "",\n states = {},\n ch,\n style,\n type,\n override;\n\n while (indentUnitString.length < indentUnit) indentUnitString += \' \';\n\n /**\n * Tokenizers\n */\n function tokenBase(stream, state) {\n firstWordMatch = stream.string.match(/(^[\\w-]+\\s*=\\s*$)|(^\\s*[\\w-]+\\s*=\\s*[\\w-])|(^\\s*(\\.|#|@|\\$|\\&|\\[|\\d|\\+|::?|\\{|\\>|~|\\/)?\\s*[\\w-]*([a-z0-9-]|\\*|\\/\\*)(\\(|,)?)/);\n state.context.line.firstWord = firstWordMatch ? firstWordMatch[0].replace(/^\\s*/, "") : "";\n state.context.line.indent = stream.indentation();\n ch = stream.peek();\n\n // Line comment\n if (stream.match("//")) {\n stream.skipToEnd();\n return ["comment", "comment"];\n }\n // Block comment\n if (stream.match("/*")) {\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n }\n // String\n if (ch == "\\"" || ch == "\'") {\n stream.next();\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n }\n // Def\n if (ch == "@") {\n stream.next();\n stream.eatWhile(/[\\w\\\\-]/);\n return ["def", stream.current()];\n }\n // ID selector or Hex color\n if (ch == "#") {\n stream.next();\n // Hex color\n if (stream.match(/^[0-9a-f]{3}([0-9a-f]([0-9a-f]{2}){0,2})?\\b(?!-)/i)) {\n return ["atom", "atom"];\n }\n // ID selector\n if (stream.match(/^[a-z][\\w-]*/i)) {\n return ["builtin", "hash"];\n }\n }\n // Vendor prefixes\n if (stream.match(vendorPrefixesRegexp)) {\n return ["meta", "vendor-prefixes"];\n }\n // Numbers\n if (stream.match(/^-?[0-9]?\\.?[0-9]/)) {\n stream.eatWhile(/[a-z%]/i);\n return ["number", "unit"];\n }\n // !important|optional\n if (ch == "!") {\n stream.next();\n return [stream.match(/^(important|optional)/i) ? "keyword": "operator", "important"];\n }\n // Class\n if (ch == "." && stream.match(/^\\.[a-z][\\w-]*/i)) {\n return ["qualifier", "qualifier"];\n }\n // url url-prefix domain regexp\n if (stream.match(documentTypesRegexp)) {\n if (stream.peek() == "(") state.tokenize = tokenParenthesized;\n return ["property", "word"];\n }\n // Mixins / Functions\n if (stream.match(/^[a-z][\\w-]*\\(/i)) {\n stream.backUp(1);\n return ["keyword", "m
/*!*************************************************!*\
!*** ./node_modules/codemirror/mode/vue/vue.js ***!
\*************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function (mod) {\n "use strict";\n if (true) {// CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"),\n __webpack_require__(/*! ../../addon/mode/overlay */ "./node_modules/codemirror/addon/mode/overlay.js"),\n __webpack_require__(/*! ../xml/xml */ "./node_modules/codemirror/mode/xml/xml.js"),\n __webpack_require__(/*! ../javascript/javascript */ "./node_modules/codemirror/mode/javascript/javascript.js"),\n __webpack_require__(/*! ../coffeescript/coffeescript */ "./node_modules/codemirror/mode/coffeescript/coffeescript.js"),\n __webpack_require__(/*! ../css/css */ "./node_modules/codemirror/mode/css/css.js"),\n __webpack_require__(/*! ../sass/sass */ "./node_modules/codemirror/mode/sass/sass.js"),\n __webpack_require__(/*! ../stylus/stylus */ "./node_modules/codemirror/mode/stylus/stylus.js"),\n __webpack_require__(/*! ../pug/pug */ "./node_modules/codemirror/mode/pug/pug.js"),\n __webpack_require__(/*! ../handlebars/handlebars */ "./node_modules/codemirror/mode/handlebars/handlebars.js"));\n } else {}\n})(function (CodeMirror) {\n var tagLanguages = {\n script: [\n ["lang", /coffee(script)?/, "coffeescript"],\n ["type", /^(?:text|application)\\/(?:x-)?coffee(?:script)?$/, "coffeescript"],\n ["lang", /^babel$/, "javascript"],\n ["type", /^text\\/babel$/, "javascript"],\n ["type", /^text\\/ecmascript-\\d+$/, "javascript"]\n ],\n style: [\n ["lang", /^stylus$/i, "stylus"],\n ["lang", /^sass$/i, "sass"],\n ["lang", /^less$/i, "text/x-less"],\n ["lang", /^scss$/i, "text/x-scss"],\n ["type", /^(text\\/)?(x-)?styl(us)?$/i, "stylus"],\n ["type", /^text\\/sass/i, "sass"],\n ["type", /^(text\\/)?(x-)?scss$/i, "text/x-scss"],\n ["type", /^(text\\/)?(x-)?less$/i, "text/x-less"]\n ],\n template: [\n ["lang", /^vue-template$/i, "vue"],\n ["lang", /^pug$/i, "pug"],\n ["lang", /^handlebars$/i, "handlebars"],\n ["type", /^(text\\/)?(x-)?pug$/i, "pug"],\n ["type", /^text\\/x-handlebars-template$/i, "handlebars"],\n [null, null, "vue-template"]\n ]\n };\n\n CodeMirror.defineMode("vue-template", function (config, parserConfig) {\n var mustacheOverlay = {\n token: function (stream) {\n if (stream.match(/^\\{\\{.*?\\}\\}/)) return "meta mustache";\n while (stream.next() && !stream.match("{{", false)) {}\n return null;\n }\n };\n return CodeMirror.overlayMode(CodeMirror.getMode(config, parserConfig.backdrop || "text/html"), mustacheOverlay);\n });\n\n CodeMirror.defineMode("vue", function (config) {\n return CodeMirror.getMode(config, {name: "htmlmixed", tags: tagLanguages});\n }, "htmlmixed", "xml", "javascript", "coffeescript", "css", "sass", "stylus", "pug", "handlebars");\n\n CodeMirror.defineMIME("script/x-vue", "vue");\n CodeMirror.defineMIME("text/x-vue", "vue");\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/mode/vue/vue.js?')},"./node_modules/codemirror/mode/xml/xml.js":
/*!*************************************************!*\
!*** ./node_modules/codemirror/mode/xml/xml.js ***!
\*************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ "./node_modules/codemirror/lib/codemirror.js"));\n else {}\n})(function(CodeMirror) {\n"use strict";\n\nvar htmlConfig = {\n autoSelfClosers: {\'area\': true, \'base\': true, \'br\': true, \'col\': true, \'command\': true,\n \'embed\': true, \'frame\': true, \'hr\': true, \'img\': true, \'input\': true,\n \'keygen\': true, \'link\': true, \'meta\': true, \'param\': true, \'source\': true,\n \'track\': true, \'wbr\': true, \'menuitem\': true},\n implicitlyClosed: {\'dd\': true, \'li\': true, \'optgroup\': true, \'option\': true, \'p\': true,\n \'rp\': true, \'rt\': true, \'tbody\': true, \'td\': true, \'tfoot\': true,\n \'th\': true, \'tr\': true},\n contextGrabbers: {\n \'dd\': {\'dd\': true, \'dt\': true},\n \'dt\': {\'dd\': true, \'dt\': true},\n \'li\': {\'li\': true},\n \'option\': {\'option\': true, \'optgroup\': true},\n \'optgroup\': {\'optgroup\': true},\n \'p\': {\'address\': true, \'article\': true, \'aside\': true, \'blockquote\': true, \'dir\': true,\n \'div\': true, \'dl\': true, \'fieldset\': true, \'footer\': true, \'form\': true,\n \'h1\': true, \'h2\': true, \'h3\': true, \'h4\': true, \'h5\': true, \'h6\': true,\n \'header\': true, \'hgroup\': true, \'hr\': true, \'menu\': true, \'nav\': true, \'ol\': true,\n \'p\': true, \'pre\': true, \'section\': true, \'table\': true, \'ul\': true},\n \'rp\': {\'rp\': true, \'rt\': true},\n \'rt\': {\'rp\': true, \'rt\': true},\n \'tbody\': {\'tbody\': true, \'tfoot\': true},\n \'td\': {\'td\': true, \'th\': true},\n \'tfoot\': {\'tbody\': true},\n \'th\': {\'td\': true, \'th\': true},\n \'thead\': {\'tbody\': true, \'tfoot\': true},\n \'tr\': {\'tr\': true}\n },\n doNotIndent: {"pre": true},\n allowUnquoted: true,\n allowMissing: true,\n caseFold: true\n}\n\nvar xmlConfig = {\n autoSelfClosers: {},\n implicitlyClosed: {},\n contextGrabbers: {},\n doNotIndent: {},\n allowUnquoted: false,\n allowMissing: false,\n allowMissingTagName: false,\n caseFold: false\n}\n\nCodeMirror.defineMode("xml", function(editorConf, config_) {\n var indentUnit = editorConf.indentUnit\n var config = {}\n var defaults = config_.htmlMode ? htmlConfig : xmlConfig\n for (var prop in defaults) config[prop] = defaults[prop]\n for (var prop in config_) config[prop] = config_[prop]\n\n // Return variables for tokenizers\n var type, setStyle;\n\n function inText(stream, state) {\n function chain(parser) {\n state.tokenize = parser;\n return parser(stream, state);\n }\n\n var ch = stream.next();\n if (ch == "<") {\n if (stream.eat("!")) {\n if (stream.eat("[")) {\n if (stream.match("CDATA[")) return chain(inBlock("atom", "]]>"));\n else return null;\n } else if (stream.match("--")) {\n return chain(inBlock("comment", "--\x3e"));\n } else if (stream.match("DOCTYPE", true, true)) {\n stream.eatWhile(/[\\w\\._\\-]/);\n return chain(doctype(1));\n } else {\n return null;\n }\n } else if (stream.eat("?")) {\n stream.eatWhile(/[\\w\\._\\-]/);\n state.tokenize = inBlock("meta", "?>");\n return "meta";\n } else {\n type = stream.eat("/") ? "closeTag" : "openTag";\n state.tokenize = inTag;\n return "tag bracket";\n }\n } else if (ch == "&") {\n var ok;\n if (stream.eat("#")) {\n if (stream.eat("x")) {\n ok = stream.eatWhile(/[a-fA-F\\d]/) && stream.eat(";");\n } else {\n ok = stream.eatWhile(/[\\d]/) && stream.eat(";");\n }\n } else {\n ok = stream.eatWhile(/[\\w\\.\\-:]
/*!***************************************************!*\
!*** ./node_modules/codemirror/mode/yaml/yaml.js ***!
\***************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval("// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (true) // CommonJS\n mod(__webpack_require__(/*! ../../lib/codemirror */ \"./node_modules/codemirror/lib/codemirror.js\"));\n else {}\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"yaml\", function() {\n\n var cons = ['true', 'false', 'on', 'off', 'yes', 'no'];\n var keywordRegex = new RegExp(\"\\\\b((\"+cons.join(\")|(\")+\"))$\", 'i');\n\n return {\n token: function(stream, state) {\n var ch = stream.peek();\n var esc = state.escaped;\n state.escaped = false;\n /* comments */\n if (ch == \"#\" && (stream.pos == 0 || /\\s/.test(stream.string.charAt(stream.pos - 1)))) {\n stream.skipToEnd();\n return \"comment\";\n }\n\n if (stream.match(/^('([^']|\\\\.)*'?|\"([^\"]|\\\\.)*\"?)/))\n return \"string\";\n\n if (state.literal && stream.indentation() > state.keyCol) {\n stream.skipToEnd(); return \"string\";\n } else if (state.literal) { state.literal = false; }\n if (stream.sol()) {\n state.keyCol = 0;\n state.pair = false;\n state.pairStart = false;\n /* document start */\n if(stream.match('---')) { return \"def\"; }\n /* document end */\n if (stream.match('...')) { return \"def\"; }\n /* array list item */\n if (stream.match(/\\s*-\\s+/)) { return 'meta'; }\n }\n /* inline pairs/lists */\n if (stream.match(/^(\\{|\\}|\\[|\\])/)) {\n if (ch == '{')\n state.inlinePairs++;\n else if (ch == '}')\n state.inlinePairs--;\n else if (ch == '[')\n state.inlineList++;\n else\n state.inlineList--;\n return 'meta';\n }\n\n /* list separator */\n if (state.inlineList > 0 && !esc && ch == ',') {\n stream.next();\n return 'meta';\n }\n /* pairs separator */\n if (state.inlinePairs > 0 && !esc && ch == ',') {\n state.keyCol = 0;\n state.pair = false;\n state.pairStart = false;\n stream.next();\n return 'meta';\n }\n\n /* start of value of a pair */\n if (state.pairStart) {\n /* block literals */\n if (stream.match(/^\\s*(\\||\\>)\\s*/)) { state.literal = true; return 'meta'; };\n /* references */\n if (stream.match(/^\\s*(\\&|\\*)[a-z0-9\\._-]+\\b/i)) { return 'variable-2'; }\n /* numbers */\n if (state.inlinePairs == 0 && stream.match(/^\\s*-?[0-9\\.\\,]+\\s?$/)) { return 'number'; }\n if (state.inlinePairs > 0 && stream.match(/^\\s*-?[0-9\\.\\,]+\\s?(?=(,|}))/)) { return 'number'; }\n /* keywords */\n if (stream.match(keywordRegex)) { return 'keyword'; }\n }\n\n /* pairs (associative arrays) -> key */\n if (!state.pair && stream.match(/^\\s*(?:[,\\[\\]{}&*!|>'\"%@`][^\\s'\":]|[^,\\[\\]{}#&*!|>'\"%@`])[^#]*?(?=\\s*:($|\\s))/)) {\n state.pair = true;\n state.keyCol = stream.indentation();\n return \"atom\";\n }\n if (state.pair && stream.match(/^:\\s*/)) { state.pairStart = true; return 'meta'; }\n\n /* nothing found, continue */\n state.pairStart = false;\n state.escaped = (ch == '\\\\');\n stream.next();\n return null;\n },\n startState: function() {\n return {\n pair: false,\n pairStart: false,\n keyCol: 0,\n inlinePairs: 0,\n inlineList: 0,\n literal: false,\n escaped: false\n };\n },\n lineComment: \"#\",\n fold: \"indent\"\n };\n});\n\nCodeMirror.defineMIME(\"text/x-yaml\", \"yaml\");\nCodeMirror.defineMIME(\"text/yaml\", \"yaml\");\n\n});\n\n\n//# sourceURL=webpack:///./node_modules/codemirror/mode/yaml/yaml.js?")},"./node_modules/codemirror/theme/monokai.css":
/*!***************************************************!*\
!*** ./node_modules/codemirror/theme/monokai.css ***!
\***************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n if(false) { var cssReload; }\n \n\n//# sourceURL=webpack:///./node_modules/codemirror/theme/monokai.css?")},"./node_modules/mime/Mime.js":
/*!***********************************!*\
!*** ./node_modules/mime/Mime.js ***!
\***********************************/
/*! no static exports found */function(module,exports,__webpack_require__){"use strict";eval("\n\n/**\n * @param typeMap [Object] Map of MIME type -> Array[extensions]\n * @param ...\n */\nfunction Mime() {\n this._types = Object.create(null);\n this._extensions = Object.create(null);\n\n for (let i = 0; i < arguments.length; i++) {\n this.define(arguments[i]);\n }\n\n this.define = this.define.bind(this);\n this.getType = this.getType.bind(this);\n this.getExtension = this.getExtension.bind(this);\n}\n\n/**\n * Define mimetype -> extension mappings. Each key is a mime-type that maps\n * to an array of extensions associated with the type. The first extension is\n * used as the default extension for the type.\n *\n * e.g. mime.define({'audio/ogg', ['oga', 'ogg', 'spx']});\n *\n * If a type declares an extension that has already been defined, an error will\n * be thrown. To suppress this error and force the extension to be associated\n * with the new type, pass `force`=true. Alternatively, you may prefix the\n * extension with \"*\" to map the type to extension, without mapping the\n * extension to the type.\n *\n * e.g. mime.define({'audio/wav', ['wav']}, {'audio/x-wav', ['*wav']});\n *\n *\n * @param map (Object) type definitions\n * @param force (Boolean) if true, force overriding of existing definitions\n */\nMime.prototype.define = function(typeMap, force) {\n for (let type in typeMap) {\n let extensions = typeMap[type].map(function(t) {\n return t.toLowerCase();\n });\n type = type.toLowerCase();\n\n for (let i = 0; i < extensions.length; i++) {\n const ext = extensions[i];\n\n // '*' prefix = not the preferred type for this extension. So fixup the\n // extension, and skip it.\n if (ext[0] === '*') {\n continue;\n }\n\n if (!force && (ext in this._types)) {\n throw new Error(\n 'Attempt to change mapping for \"' + ext +\n '\" extension from \"' + this._types[ext] + '\" to \"' + type +\n '\". Pass `force=true` to allow this, otherwise remove \"' + ext +\n '\" from the list of extensions for \"' + type + '\".'\n );\n }\n\n this._types[ext] = type;\n }\n\n // Use first extension as default\n if (force || !this._extensions[type]) {\n const ext = extensions[0];\n this._extensions[type] = (ext[0] !== '*') ? ext : ext.substr(1);\n }\n }\n};\n\n/**\n * Lookup a mime type based on extension\n */\nMime.prototype.getType = function(path) {\n path = String(path);\n let last = path.replace(/^.*[/\\\\]/, '').toLowerCase();\n let ext = last.replace(/^.*\\./, '').toLowerCase();\n\n let hasPath = last.length < path.length;\n let hasDot = ext.length < last.length - 1;\n\n return (hasDot || !hasPath) && this._types[ext] || null;\n};\n\n/**\n * Return file extension associated with a mime type\n */\nMime.prototype.getExtension = function(type) {\n type = /^\\s*([^;\\s]*)/.test(type) && RegExp.$1;\n return type && this._extensions[type.toLowerCase()] || null;\n};\n\nmodule.exports = Mime;\n\n\n//# sourceURL=webpack:///./node_modules/mime/Mime.js?")},"./node_modules/mime/index.js":
/*!************************************!*\
!*** ./node_modules/mime/index.js ***!
\************************************/
/*! no static exports found */function(module,exports,__webpack_require__){"use strict";eval('\n\nlet Mime = __webpack_require__(/*! ./Mime */ "./node_modules/mime/Mime.js");\nmodule.exports = new Mime(__webpack_require__(/*! ./types/standard */ "./node_modules/mime/types/standard.js"), __webpack_require__(/*! ./types/other */ "./node_modules/mime/types/other.js"));\n\n\n//# sourceURL=webpack:///./node_modules/mime/index.js?')},"./node_modules/mime/types/other.js":
/*!******************************************!*\
!*** ./node_modules/mime/types/other.js ***!
\******************************************/
/*! no static exports found */function(module,exports){eval('module.exports = {"application/prs.cww":["cww"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans
/*!*********************************************!*\
!*** ./node_modules/mime/types/standard.js ***!
\*********************************************/
/*! no static exports found */function(module,exports){eval('module.exports = {"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["es","ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"applica
/*!************************************************************!*\
!*** ./node_modules/vue-codemirror/dist/vue-codemirror.js ***!
\************************************************************/
/*! no static exports found */function(module,exports,__webpack_require__){eval('!function(e,t){ true?module.exports=t(__webpack_require__(/*! codemirror */ "./node_modules/codemirror/lib/codemirror.js")):undefined}(this,function(e){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/",t(t.s=3)}([function(t,n){t.exports=e},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r),i=window.CodeMirror||o.default;"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(e,t){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var n=Object(e),r=1;r<arguments.length;r++){var o=arguments[r];if(null!=o)for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(n[i]=o[i])}return n},writable:!0,configurable:!0}),t.default={name:"codemirror",data:function(){return{content:"",codemirror:null,cminstance:null}},props:{code:String,value:String,marker:Function,unseenLines:Array,name:{type:String,default:"codemirror"},placeholder:{type:String,default:""},merge:{type:Boolean,default:!1},options:{type:Object,default:function(){return{}}},events:{type:Array,default:function(){return[]}},globalOptions:{type:Object,default:function(){return{}}},globalEvents:{type:Array,default:function(){return[]}}},watch:{options:{deep:!0,handler:function(e){for(var t in e)this.cminstance.setOption(t,e[t])}},merge:function(){this.$nextTick(this.switchMerge)},code:function(e){this.handerCodeChange(e)},value:function(e){this.handerCodeChange(e)}},methods:{initialize:function(){var e=this,t=Object.assign({},this.globalOptions,this.options);this.merge?(this.codemirror=i.MergeView(this.$refs.mergeview,t),this.cminstance=this.codemirror.edit):(this.codemirror=i.fromTextArea(this.$refs.textarea,t),this.cminstance=this.codemirror,this.cminstance.setValue(this.code||this.value||this.content)),this.cminstance.on("change",function(t){e.content=t.getValue(),e.$emit&&e.$emit("input",e.content)});var n={};["scroll","changes","beforeChange","cursorActivity","keyHandled","inputRead","electricInput","beforeSelectionChange","viewportChange","swapDoc","gutterClick","gutterContextMenu","focus","blur","refresh","optionChange","scrollCursorIntoView","update"].concat(this.events).concat(this.globalEvents).filter(function(e){return!n[e]&&(n[e]=!0)}).forEach(function(t){e.cminstance.on(t,function(){for(var n=arguments.length,r=Array(n),o=0;o<n;o++)r[o]=arguments[o];e.$emit.apply(e,[t].concat(r));var i=t.replace(/([A-Z])/g,"-$1").toLowerCase();i!==t&&e.$emit.apply(e,[i].concat(r))})});this.$emit("ready",this.codemirror),this.unseenLineMarkers(),this.refresh()},refresh:function(){var e=this;this.$nextTick(function(){e.cminstance.refresh()})},destroy:function(){var e=this.cminstance.doc.cm.getWrapperElement();e&&e.remove&&e.remove()},handerCodeChange:function(e){if(e!==this.cminstance.getValue()){var t=this.cminstance.getScrollInfo();this.cminstance.setValue(e),this.content=e,this.cminstance.scrollTo(t.left,t.top)}this.unseenLineMarkers()},unseenLineMarkers:function(){var e=this;void 0!==this.unseenLines&&void 0!==this.marker&&this.unseenLines.forEach(function(t){var n=e.cminstance.lineInfo(t);e.cminstance.setGutterMarker(t,"breakpoints",n.gutterMarkers?null:e.marker())})},switchMerge:function(){var e=this.cminstance.doc.history,t=this.cminstance.doc.cleanGeneration;this.options.value=this.cminstance.getValue(),this.destroy(),this.initialize(),this.cminstance.doc.history=e,this.cminstance.doc.cleanGeneration=t}},mounted:function(){this.initialize()},beforeDestroy:function(){this.destroy()}}},function(e,t,n){"use s