From f06a165a283fbe3525f7a927eaebfa2c57290a4c Mon Sep 17 00:00:00 2001 From: AdamUhh Date: Mon, 20 May 2024 22:57:45 +0400 Subject: [PATCH] v0.3.12 --- .erb/dll/renderer.dev.dll.js | 29277 --------------------------------- .erb/dll/renderer.json | 1 - publish.sh | 5 +- release/app/package.json | 2 +- 4 files changed, 4 insertions(+), 29281 deletions(-) delete mode 100644 .erb/dll/renderer.dev.dll.js delete mode 100644 .erb/dll/renderer.json diff --git a/.erb/dll/renderer.dev.dll.js b/.erb/dll/renderer.dev.dll.js deleted file mode 100644 index e09fb4b..0000000 --- a/.erb/dll/renderer.dev.dll.js +++ /dev/null @@ -1,29277 +0,0 @@ -/* - * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -var renderer; -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ "./node_modules/@babel/code-frame/node_modules/ansi-styles/index.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@babel/code-frame/node_modules/ansi-styles/index.js ***! - \**************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("/* module decorator */ module = __webpack_require__.nmd(module);\n\nconst colorConvert = __webpack_require__(/*! color-convert */ \"./node_modules/@babel/code-frame/node_modules/color-convert/index.js\");\n\nconst wrapAnsi16 = (fn, offset) => function () {\n\tconst code = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${code + offset}m`;\n};\n\nconst wrapAnsi256 = (fn, offset) => function () {\n\tconst code = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${38 + offset};5;${code}m`;\n};\n\nconst wrapAnsi16m = (fn, offset) => function () {\n\tconst rgb = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;\n};\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\tconst styles = {\n\t\tmodifier: {\n\t\t\treset: [0, 0],\n\t\t\t// 21 isn't widely supported and 22 does the same thing\n\t\t\tbold: [1, 22],\n\t\t\tdim: [2, 22],\n\t\t\titalic: [3, 23],\n\t\t\tunderline: [4, 24],\n\t\t\tinverse: [7, 27],\n\t\t\thidden: [8, 28],\n\t\t\tstrikethrough: [9, 29]\n\t\t},\n\t\tcolor: {\n\t\t\tblack: [30, 39],\n\t\t\tred: [31, 39],\n\t\t\tgreen: [32, 39],\n\t\t\tyellow: [33, 39],\n\t\t\tblue: [34, 39],\n\t\t\tmagenta: [35, 39],\n\t\t\tcyan: [36, 39],\n\t\t\twhite: [37, 39],\n\t\t\tgray: [90, 39],\n\n\t\t\t// Bright color\n\t\t\tredBright: [91, 39],\n\t\t\tgreenBright: [92, 39],\n\t\t\tyellowBright: [93, 39],\n\t\t\tblueBright: [94, 39],\n\t\t\tmagentaBright: [95, 39],\n\t\t\tcyanBright: [96, 39],\n\t\t\twhiteBright: [97, 39]\n\t\t},\n\t\tbgColor: {\n\t\t\tbgBlack: [40, 49],\n\t\t\tbgRed: [41, 49],\n\t\t\tbgGreen: [42, 49],\n\t\t\tbgYellow: [43, 49],\n\t\t\tbgBlue: [44, 49],\n\t\t\tbgMagenta: [45, 49],\n\t\t\tbgCyan: [46, 49],\n\t\t\tbgWhite: [47, 49],\n\n\t\t\t// Bright color\n\t\t\tbgBlackBright: [100, 49],\n\t\t\tbgRedBright: [101, 49],\n\t\t\tbgGreenBright: [102, 49],\n\t\t\tbgYellowBright: [103, 49],\n\t\t\tbgBlueBright: [104, 49],\n\t\t\tbgMagentaBright: [105, 49],\n\t\t\tbgCyanBright: [106, 49],\n\t\t\tbgWhiteBright: [107, 49]\n\t\t}\n\t};\n\n\t// Fix humans\n\tstyles.color.grey = styles.color.gray;\n\n\tfor (const groupName of Object.keys(styles)) {\n\t\tconst group = styles[groupName];\n\n\t\tfor (const styleName of Object.keys(group)) {\n\t\t\tconst style = group[styleName];\n\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false\n\t\t});\n\n\t\tObject.defineProperty(styles, 'codes', {\n\t\t\tvalue: codes,\n\t\t\tenumerable: false\n\t\t});\n\t}\n\n\tconst ansi2ansi = n => n;\n\tconst rgb2rgb = (r, g, b) => [r, g, b];\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = {\n\t\tansi: wrapAnsi16(ansi2ansi, 0)\n\t};\n\tstyles.color.ansi256 = {\n\t\tansi256: wrapAnsi256(ansi2ansi, 0)\n\t};\n\tstyles.color.ansi16m = {\n\t\trgb: wrapAnsi16m(rgb2rgb, 0)\n\t};\n\n\tstyles.bgColor.ansi = {\n\t\tansi: wrapAnsi16(ansi2ansi, 10)\n\t};\n\tstyles.bgColor.ansi256 = {\n\t\tansi256: wrapAnsi256(ansi2ansi, 10)\n\t};\n\tstyles.bgColor.ansi16m = {\n\t\trgb: wrapAnsi16m(rgb2rgb, 10)\n\t};\n\n\tfor (let key of Object.keys(colorConvert)) {\n\t\tif (typeof colorConvert[key] !== 'object') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst suite = colorConvert[key];\n\n\t\tif (key === 'ansi16') {\n\t\t\tkey = 'ansi';\n\t\t}\n\n\t\tif ('ansi16' in suite) {\n\t\t\tstyles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0);\n\t\t\tstyles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10);\n\t\t}\n\n\t\tif ('ansi256' in suite) {\n\t\t\tstyles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0);\n\t\t\tstyles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10);\n\t\t}\n\n\t\tif ('rgb' in suite) {\n\t\t\tstyles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0);\n\t\t\tstyles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10);\n\t\t}\n\t}\n\n\treturn styles;\n}\n\n// Make the export immutable\nObject.defineProperty(module, 'exports', {\n\tenumerable: true,\n\tget: assembleStyles\n});\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/code-frame/node_modules/ansi-styles/index.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/code-frame/node_modules/chalk/index.js": -/*!********************************************************************!*\ - !*** ./node_modules/@babel/code-frame/node_modules/chalk/index.js ***! - \********************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nconst escapeStringRegexp = __webpack_require__(/*! escape-string-regexp */ \"./node_modules/@babel/code-frame/node_modules/escape-string-regexp/index.js\");\nconst ansiStyles = __webpack_require__(/*! ansi-styles */ \"./node_modules/@babel/code-frame/node_modules/ansi-styles/index.js\");\nconst stdoutColor = (__webpack_require__(/*! supports-color */ \"./node_modules/@babel/code-frame/node_modules/supports-color/browser.js\").stdout);\n\nconst template = __webpack_require__(/*! ./templates.js */ \"./node_modules/@babel/code-frame/node_modules/chalk/templates.js\");\n\nconst isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm');\n\n// `supportsColor.level` → `ansiStyles.color[name]` mapping\nconst levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m'];\n\n// `color-convert` models to exclude from the Chalk API due to conflicts and such\nconst skipModels = new Set(['gray']);\n\nconst styles = Object.create(null);\n\nfunction applyOptions(obj, options) {\n\toptions = options || {};\n\n\t// Detect level if not set manually\n\tconst scLevel = stdoutColor ? stdoutColor.level : 0;\n\tobj.level = options.level === undefined ? scLevel : options.level;\n\tobj.enabled = 'enabled' in options ? options.enabled : obj.level > 0;\n}\n\nfunction Chalk(options) {\n\t// We check for this.template here since calling `chalk.constructor()`\n\t// by itself will have a `this` of a previously constructed chalk object\n\tif (!this || !(this instanceof Chalk) || this.template) {\n\t\tconst chalk = {};\n\t\tapplyOptions(chalk, options);\n\n\t\tchalk.template = function () {\n\t\t\tconst args = [].slice.call(arguments);\n\t\t\treturn chalkTag.apply(null, [chalk.template].concat(args));\n\t\t};\n\n\t\tObject.setPrototypeOf(chalk, Chalk.prototype);\n\t\tObject.setPrototypeOf(chalk.template, chalk);\n\n\t\tchalk.template.constructor = Chalk;\n\n\t\treturn chalk.template;\n\t}\n\n\tapplyOptions(this, options);\n}\n\n// Use bright blue on Windows as the normal blue color is illegible\nif (isSimpleWindowsTerm) {\n\tansiStyles.blue.open = '\\u001B[94m';\n}\n\nfor (const key of Object.keys(ansiStyles)) {\n\tansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');\n\n\tstyles[key] = {\n\t\tget() {\n\t\t\tconst codes = ansiStyles[key];\n\t\t\treturn build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key);\n\t\t}\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\treturn build.call(this, this._styles || [], true, 'visible');\n\t}\n};\n\nansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g');\nfor (const model of Object.keys(ansiStyles.color.ansi)) {\n\tif (skipModels.has(model)) {\n\t\tcontinue;\n\t}\n\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst level = this.level;\n\t\t\treturn function () {\n\t\t\t\tconst open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments);\n\t\t\t\tconst codes = {\n\t\t\t\t\topen,\n\t\t\t\t\tclose: ansiStyles.color.close,\n\t\t\t\t\tcloseRe: ansiStyles.color.closeRe\n\t\t\t\t};\n\t\t\t\treturn build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);\n\t\t\t};\n\t\t}\n\t};\n}\n\nansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g');\nfor (const model of Object.keys(ansiStyles.bgColor.ansi)) {\n\tif (skipModels.has(model)) {\n\t\tcontinue;\n\t}\n\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst level = this.level;\n\t\t\treturn function () {\n\t\t\t\tconst open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments);\n\t\t\t\tconst codes = {\n\t\t\t\t\topen,\n\t\t\t\t\tclose: ansiStyles.bgColor.close,\n\t\t\t\t\tcloseRe: ansiStyles.bgColor.closeRe\n\t\t\t\t};\n\t\t\t\treturn build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);\n\t\t\t};\n\t\t}\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, styles);\n\nfunction build(_styles, _empty, key) {\n\tconst builder = function () {\n\t\treturn applyStyle.apply(builder, arguments);\n\t};\n\n\tbuilder._styles = _styles;\n\tbuilder._empty = _empty;\n\n\tconst self = this;\n\n\tObject.defineProperty(builder, 'level', {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn self.level;\n\t\t},\n\t\tset(level) {\n\t\t\tself.level = level;\n\t\t}\n\t});\n\n\tObject.defineProperty(builder, 'enabled', {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn self.enabled;\n\t\t},\n\t\tset(enabled) {\n\t\t\tself.enabled = enabled;\n\t\t}\n\t});\n\n\t// See below for fix regarding invisible grey/dim combination on Windows\n\tbuilder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey';\n\n\t// `__proto__` is used because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tbuilder.__proto__ = proto; // eslint-disable-line no-proto\n\n\treturn builder;\n}\n\nfunction applyStyle() {\n\t// Support varags, but simply cast to string in case there's only one arg\n\tconst args = arguments;\n\tconst argsLen = args.length;\n\tlet str = String(arguments[0]);\n\n\tif (argsLen === 0) {\n\t\treturn '';\n\t}\n\n\tif (argsLen > 1) {\n\t\t// Don't slice `arguments`, it prevents V8 optimizations\n\t\tfor (let a = 1; a < argsLen; a++) {\n\t\t\tstr += ' ' + args[a];\n\t\t}\n\t}\n\n\tif (!this.enabled || this.level <= 0 || !str) {\n\t\treturn this._empty ? '' : str;\n\t}\n\n\t// Turns out that on Windows dimmed gray text becomes invisible in cmd.exe,\n\t// see https://github.com/chalk/chalk/issues/58\n\t// If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop.\n\tconst originalDim = ansiStyles.dim.open;\n\tif (isSimpleWindowsTerm && this.hasGrey) {\n\t\tansiStyles.dim.open = '';\n\t}\n\n\tfor (const code of this._styles.slice().reverse()) {\n\t\t// Replace any instances already present with a re-opening code\n\t\t// otherwise only the part of the string until said closing code\n\t\t// will be colored, and the rest will simply be 'plain'.\n\t\tstr = code.open + str.replace(code.closeRe, code.open) + code.close;\n\n\t\t// Close the styling before a linebreak and reopen\n\t\t// after next line to fix a bleed issue on macOS\n\t\t// https://github.com/chalk/chalk/pull/92\n\t\tstr = str.replace(/\\r?\\n/g, `${code.close}$&${code.open}`);\n\t}\n\n\t// Reset the original `dim` if we changed it to work around the Windows dimmed gray issue\n\tansiStyles.dim.open = originalDim;\n\n\treturn str;\n}\n\nfunction chalkTag(chalk, strings) {\n\tif (!Array.isArray(strings)) {\n\t\t// If chalk() was called by itself or with a string,\n\t\t// return the string itself as a string.\n\t\treturn [].slice.call(arguments, 1).join(' ');\n\t}\n\n\tconst args = [].slice.call(arguments, 2);\n\tconst parts = [strings.raw[0]];\n\n\tfor (let i = 1; i < strings.length; i++) {\n\t\tparts.push(String(args[i - 1]).replace(/[{}\\\\]/g, '\\\\$&'));\n\t\tparts.push(String(strings.raw[i]));\n\t}\n\n\treturn template(chalk, parts.join(''));\n}\n\nObject.defineProperties(Chalk.prototype, styles);\n\nmodule.exports = Chalk(); // eslint-disable-line new-cap\nmodule.exports.supportsColor = stdoutColor;\nmodule.exports[\"default\"] = module.exports; // For TypeScript\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/code-frame/node_modules/chalk/index.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/code-frame/node_modules/chalk/templates.js": -/*!************************************************************************!*\ - !*** ./node_modules/@babel/code-frame/node_modules/chalk/templates.js ***! - \************************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\nconst TEMPLATE_REGEX = /(?:\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi;\nconst STYLE_REGEX = /(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g;\nconst STRING_REGEX = /^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/;\nconst ESCAPE_REGEX = /\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.)|([^\\\\])/gi;\n\nconst ESCAPES = new Map([\n\t['n', '\\n'],\n\t['r', '\\r'],\n\t['t', '\\t'],\n\t['b', '\\b'],\n\t['f', '\\f'],\n\t['v', '\\v'],\n\t['0', '\\0'],\n\t['\\\\', '\\\\'],\n\t['e', '\\u001B'],\n\t['a', '\\u0007']\n]);\n\nfunction unescape(c) {\n\tif ((c[0] === 'u' && c.length === 5) || (c[0] === 'x' && c.length === 3)) {\n\t\treturn String.fromCharCode(parseInt(c.slice(1), 16));\n\t}\n\n\treturn ESCAPES.get(c) || c;\n}\n\nfunction parseArguments(name, args) {\n\tconst results = [];\n\tconst chunks = args.trim().split(/\\s*,\\s*/g);\n\tlet matches;\n\n\tfor (const chunk of chunks) {\n\t\tif (!isNaN(chunk)) {\n\t\t\tresults.push(Number(chunk));\n\t\t} else if ((matches = chunk.match(STRING_REGEX))) {\n\t\t\tresults.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr));\n\t\t} else {\n\t\t\tthrow new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction parseStyle(style) {\n\tSTYLE_REGEX.lastIndex = 0;\n\n\tconst results = [];\n\tlet matches;\n\n\twhile ((matches = STYLE_REGEX.exec(style)) !== null) {\n\t\tconst name = matches[1];\n\n\t\tif (matches[2]) {\n\t\t\tconst args = parseArguments(name, matches[2]);\n\t\t\tresults.push([name].concat(args));\n\t\t} else {\n\t\t\tresults.push([name]);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction buildStyle(chalk, styles) {\n\tconst enabled = {};\n\n\tfor (const layer of styles) {\n\t\tfor (const style of layer.styles) {\n\t\t\tenabled[style[0]] = layer.inverse ? null : style.slice(1);\n\t\t}\n\t}\n\n\tlet current = chalk;\n\tfor (const styleName of Object.keys(enabled)) {\n\t\tif (Array.isArray(enabled[styleName])) {\n\t\t\tif (!(styleName in current)) {\n\t\t\t\tthrow new Error(`Unknown Chalk style: ${styleName}`);\n\t\t\t}\n\n\t\t\tif (enabled[styleName].length > 0) {\n\t\t\t\tcurrent = current[styleName].apply(current, enabled[styleName]);\n\t\t\t} else {\n\t\t\t\tcurrent = current[styleName];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn current;\n}\n\nmodule.exports = (chalk, tmp) => {\n\tconst styles = [];\n\tconst chunks = [];\n\tlet chunk = [];\n\n\t// eslint-disable-next-line max-params\n\ttmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => {\n\t\tif (escapeChar) {\n\t\t\tchunk.push(unescape(escapeChar));\n\t\t} else if (style) {\n\t\t\tconst str = chunk.join('');\n\t\t\tchunk = [];\n\t\t\tchunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str));\n\t\t\tstyles.push({inverse, styles: parseStyle(style)});\n\t\t} else if (close) {\n\t\t\tif (styles.length === 0) {\n\t\t\t\tthrow new Error('Found extraneous } in Chalk template literal');\n\t\t\t}\n\n\t\t\tchunks.push(buildStyle(chalk, styles)(chunk.join('')));\n\t\t\tchunk = [];\n\t\t\tstyles.pop();\n\t\t} else {\n\t\t\tchunk.push(chr);\n\t\t}\n\t});\n\n\tchunks.push(chunk.join(''));\n\n\tif (styles.length > 0) {\n\t\tconst errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\\`}\\`)`;\n\t\tthrow new Error(errMsg);\n\t}\n\n\treturn chunks.join('');\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/code-frame/node_modules/chalk/templates.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/code-frame/node_modules/color-convert/conversions.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/@babel/code-frame/node_modules/color-convert/conversions.js ***! - \**********************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("/* MIT license */\nvar cssKeywords = __webpack_require__(/*! color-name */ \"./node_modules/@babel/code-frame/node_modules/color-name/index.js\");\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in cssKeywords) {\n\tif (cssKeywords.hasOwnProperty(key)) {\n\t\treverseKeywords[cssKeywords[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in cssKeywords) {\n\t\tif (cssKeywords.hasOwnProperty(keyword)) {\n\t\t\tvar value = cssKeywords[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/code-frame/node_modules/color-convert/conversions.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/code-frame/node_modules/color-convert/index.js": -/*!****************************************************************************!*\ - !*** ./node_modules/@babel/code-frame/node_modules/color-convert/index.js ***! - \****************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("var conversions = __webpack_require__(/*! ./conversions */ \"./node_modules/@babel/code-frame/node_modules/color-convert/conversions.js\");\nvar route = __webpack_require__(/*! ./route */ \"./node_modules/@babel/code-frame/node_modules/color-convert/route.js\");\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/code-frame/node_modules/color-convert/index.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/code-frame/node_modules/color-convert/route.js": -/*!****************************************************************************!*\ - !*** ./node_modules/@babel/code-frame/node_modules/color-convert/route.js ***! - \****************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("var conversions = __webpack_require__(/*! ./conversions */ \"./node_modules/@babel/code-frame/node_modules/color-convert/conversions.js\");\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/code-frame/node_modules/color-convert/route.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/code-frame/node_modules/color-name/index.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@babel/code-frame/node_modules/color-name/index.js ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/code-frame/node_modules/color-name/index.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/code-frame/node_modules/escape-string-regexp/index.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/@babel/code-frame/node_modules/escape-string-regexp/index.js ***! - \***********************************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(matchOperatorsRe, '\\\\$&');\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/code-frame/node_modules/escape-string-regexp/index.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/code-frame/node_modules/supports-color/browser.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@babel/code-frame/node_modules/supports-color/browser.js ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\nmodule.exports = {\n\tstdout: false,\n\tstderr: false\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/code-frame/node_modules/supports-color/browser.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/highlight/node_modules/ansi-styles/index.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@babel/highlight/node_modules/ansi-styles/index.js ***! - \*************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("/* module decorator */ module = __webpack_require__.nmd(module);\n\nconst colorConvert = __webpack_require__(/*! color-convert */ \"./node_modules/@babel/highlight/node_modules/color-convert/index.js\");\n\nconst wrapAnsi16 = (fn, offset) => function () {\n\tconst code = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${code + offset}m`;\n};\n\nconst wrapAnsi256 = (fn, offset) => function () {\n\tconst code = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${38 + offset};5;${code}m`;\n};\n\nconst wrapAnsi16m = (fn, offset) => function () {\n\tconst rgb = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;\n};\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\tconst styles = {\n\t\tmodifier: {\n\t\t\treset: [0, 0],\n\t\t\t// 21 isn't widely supported and 22 does the same thing\n\t\t\tbold: [1, 22],\n\t\t\tdim: [2, 22],\n\t\t\titalic: [3, 23],\n\t\t\tunderline: [4, 24],\n\t\t\tinverse: [7, 27],\n\t\t\thidden: [8, 28],\n\t\t\tstrikethrough: [9, 29]\n\t\t},\n\t\tcolor: {\n\t\t\tblack: [30, 39],\n\t\t\tred: [31, 39],\n\t\t\tgreen: [32, 39],\n\t\t\tyellow: [33, 39],\n\t\t\tblue: [34, 39],\n\t\t\tmagenta: [35, 39],\n\t\t\tcyan: [36, 39],\n\t\t\twhite: [37, 39],\n\t\t\tgray: [90, 39],\n\n\t\t\t// Bright color\n\t\t\tredBright: [91, 39],\n\t\t\tgreenBright: [92, 39],\n\t\t\tyellowBright: [93, 39],\n\t\t\tblueBright: [94, 39],\n\t\t\tmagentaBright: [95, 39],\n\t\t\tcyanBright: [96, 39],\n\t\t\twhiteBright: [97, 39]\n\t\t},\n\t\tbgColor: {\n\t\t\tbgBlack: [40, 49],\n\t\t\tbgRed: [41, 49],\n\t\t\tbgGreen: [42, 49],\n\t\t\tbgYellow: [43, 49],\n\t\t\tbgBlue: [44, 49],\n\t\t\tbgMagenta: [45, 49],\n\t\t\tbgCyan: [46, 49],\n\t\t\tbgWhite: [47, 49],\n\n\t\t\t// Bright color\n\t\t\tbgBlackBright: [100, 49],\n\t\t\tbgRedBright: [101, 49],\n\t\t\tbgGreenBright: [102, 49],\n\t\t\tbgYellowBright: [103, 49],\n\t\t\tbgBlueBright: [104, 49],\n\t\t\tbgMagentaBright: [105, 49],\n\t\t\tbgCyanBright: [106, 49],\n\t\t\tbgWhiteBright: [107, 49]\n\t\t}\n\t};\n\n\t// Fix humans\n\tstyles.color.grey = styles.color.gray;\n\n\tfor (const groupName of Object.keys(styles)) {\n\t\tconst group = styles[groupName];\n\n\t\tfor (const styleName of Object.keys(group)) {\n\t\t\tconst style = group[styleName];\n\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false\n\t\t});\n\n\t\tObject.defineProperty(styles, 'codes', {\n\t\t\tvalue: codes,\n\t\t\tenumerable: false\n\t\t});\n\t}\n\n\tconst ansi2ansi = n => n;\n\tconst rgb2rgb = (r, g, b) => [r, g, b];\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = {\n\t\tansi: wrapAnsi16(ansi2ansi, 0)\n\t};\n\tstyles.color.ansi256 = {\n\t\tansi256: wrapAnsi256(ansi2ansi, 0)\n\t};\n\tstyles.color.ansi16m = {\n\t\trgb: wrapAnsi16m(rgb2rgb, 0)\n\t};\n\n\tstyles.bgColor.ansi = {\n\t\tansi: wrapAnsi16(ansi2ansi, 10)\n\t};\n\tstyles.bgColor.ansi256 = {\n\t\tansi256: wrapAnsi256(ansi2ansi, 10)\n\t};\n\tstyles.bgColor.ansi16m = {\n\t\trgb: wrapAnsi16m(rgb2rgb, 10)\n\t};\n\n\tfor (let key of Object.keys(colorConvert)) {\n\t\tif (typeof colorConvert[key] !== 'object') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst suite = colorConvert[key];\n\n\t\tif (key === 'ansi16') {\n\t\t\tkey = 'ansi';\n\t\t}\n\n\t\tif ('ansi16' in suite) {\n\t\t\tstyles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0);\n\t\t\tstyles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10);\n\t\t}\n\n\t\tif ('ansi256' in suite) {\n\t\t\tstyles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0);\n\t\t\tstyles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10);\n\t\t}\n\n\t\tif ('rgb' in suite) {\n\t\t\tstyles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0);\n\t\t\tstyles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10);\n\t\t}\n\t}\n\n\treturn styles;\n}\n\n// Make the export immutable\nObject.defineProperty(module, 'exports', {\n\tenumerable: true,\n\tget: assembleStyles\n});\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/highlight/node_modules/ansi-styles/index.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/highlight/node_modules/chalk/index.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/highlight/node_modules/chalk/index.js ***! - \*******************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nconst escapeStringRegexp = __webpack_require__(/*! escape-string-regexp */ \"./node_modules/@babel/highlight/node_modules/escape-string-regexp/index.js\");\nconst ansiStyles = __webpack_require__(/*! ansi-styles */ \"./node_modules/@babel/highlight/node_modules/ansi-styles/index.js\");\nconst stdoutColor = (__webpack_require__(/*! supports-color */ \"./node_modules/@babel/highlight/node_modules/supports-color/browser.js\").stdout);\n\nconst template = __webpack_require__(/*! ./templates.js */ \"./node_modules/@babel/highlight/node_modules/chalk/templates.js\");\n\nconst isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm');\n\n// `supportsColor.level` → `ansiStyles.color[name]` mapping\nconst levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m'];\n\n// `color-convert` models to exclude from the Chalk API due to conflicts and such\nconst skipModels = new Set(['gray']);\n\nconst styles = Object.create(null);\n\nfunction applyOptions(obj, options) {\n\toptions = options || {};\n\n\t// Detect level if not set manually\n\tconst scLevel = stdoutColor ? stdoutColor.level : 0;\n\tobj.level = options.level === undefined ? scLevel : options.level;\n\tobj.enabled = 'enabled' in options ? options.enabled : obj.level > 0;\n}\n\nfunction Chalk(options) {\n\t// We check for this.template here since calling `chalk.constructor()`\n\t// by itself will have a `this` of a previously constructed chalk object\n\tif (!this || !(this instanceof Chalk) || this.template) {\n\t\tconst chalk = {};\n\t\tapplyOptions(chalk, options);\n\n\t\tchalk.template = function () {\n\t\t\tconst args = [].slice.call(arguments);\n\t\t\treturn chalkTag.apply(null, [chalk.template].concat(args));\n\t\t};\n\n\t\tObject.setPrototypeOf(chalk, Chalk.prototype);\n\t\tObject.setPrototypeOf(chalk.template, chalk);\n\n\t\tchalk.template.constructor = Chalk;\n\n\t\treturn chalk.template;\n\t}\n\n\tapplyOptions(this, options);\n}\n\n// Use bright blue on Windows as the normal blue color is illegible\nif (isSimpleWindowsTerm) {\n\tansiStyles.blue.open = '\\u001B[94m';\n}\n\nfor (const key of Object.keys(ansiStyles)) {\n\tansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');\n\n\tstyles[key] = {\n\t\tget() {\n\t\t\tconst codes = ansiStyles[key];\n\t\t\treturn build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key);\n\t\t}\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\treturn build.call(this, this._styles || [], true, 'visible');\n\t}\n};\n\nansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g');\nfor (const model of Object.keys(ansiStyles.color.ansi)) {\n\tif (skipModels.has(model)) {\n\t\tcontinue;\n\t}\n\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst level = this.level;\n\t\t\treturn function () {\n\t\t\t\tconst open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments);\n\t\t\t\tconst codes = {\n\t\t\t\t\topen,\n\t\t\t\t\tclose: ansiStyles.color.close,\n\t\t\t\t\tcloseRe: ansiStyles.color.closeRe\n\t\t\t\t};\n\t\t\t\treturn build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);\n\t\t\t};\n\t\t}\n\t};\n}\n\nansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g');\nfor (const model of Object.keys(ansiStyles.bgColor.ansi)) {\n\tif (skipModels.has(model)) {\n\t\tcontinue;\n\t}\n\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst level = this.level;\n\t\t\treturn function () {\n\t\t\t\tconst open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments);\n\t\t\t\tconst codes = {\n\t\t\t\t\topen,\n\t\t\t\t\tclose: ansiStyles.bgColor.close,\n\t\t\t\t\tcloseRe: ansiStyles.bgColor.closeRe\n\t\t\t\t};\n\t\t\t\treturn build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);\n\t\t\t};\n\t\t}\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, styles);\n\nfunction build(_styles, _empty, key) {\n\tconst builder = function () {\n\t\treturn applyStyle.apply(builder, arguments);\n\t};\n\n\tbuilder._styles = _styles;\n\tbuilder._empty = _empty;\n\n\tconst self = this;\n\n\tObject.defineProperty(builder, 'level', {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn self.level;\n\t\t},\n\t\tset(level) {\n\t\t\tself.level = level;\n\t\t}\n\t});\n\n\tObject.defineProperty(builder, 'enabled', {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn self.enabled;\n\t\t},\n\t\tset(enabled) {\n\t\t\tself.enabled = enabled;\n\t\t}\n\t});\n\n\t// See below for fix regarding invisible grey/dim combination on Windows\n\tbuilder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey';\n\n\t// `__proto__` is used because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tbuilder.__proto__ = proto; // eslint-disable-line no-proto\n\n\treturn builder;\n}\n\nfunction applyStyle() {\n\t// Support varags, but simply cast to string in case there's only one arg\n\tconst args = arguments;\n\tconst argsLen = args.length;\n\tlet str = String(arguments[0]);\n\n\tif (argsLen === 0) {\n\t\treturn '';\n\t}\n\n\tif (argsLen > 1) {\n\t\t// Don't slice `arguments`, it prevents V8 optimizations\n\t\tfor (let a = 1; a < argsLen; a++) {\n\t\t\tstr += ' ' + args[a];\n\t\t}\n\t}\n\n\tif (!this.enabled || this.level <= 0 || !str) {\n\t\treturn this._empty ? '' : str;\n\t}\n\n\t// Turns out that on Windows dimmed gray text becomes invisible in cmd.exe,\n\t// see https://github.com/chalk/chalk/issues/58\n\t// If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop.\n\tconst originalDim = ansiStyles.dim.open;\n\tif (isSimpleWindowsTerm && this.hasGrey) {\n\t\tansiStyles.dim.open = '';\n\t}\n\n\tfor (const code of this._styles.slice().reverse()) {\n\t\t// Replace any instances already present with a re-opening code\n\t\t// otherwise only the part of the string until said closing code\n\t\t// will be colored, and the rest will simply be 'plain'.\n\t\tstr = code.open + str.replace(code.closeRe, code.open) + code.close;\n\n\t\t// Close the styling before a linebreak and reopen\n\t\t// after next line to fix a bleed issue on macOS\n\t\t// https://github.com/chalk/chalk/pull/92\n\t\tstr = str.replace(/\\r?\\n/g, `${code.close}$&${code.open}`);\n\t}\n\n\t// Reset the original `dim` if we changed it to work around the Windows dimmed gray issue\n\tansiStyles.dim.open = originalDim;\n\n\treturn str;\n}\n\nfunction chalkTag(chalk, strings) {\n\tif (!Array.isArray(strings)) {\n\t\t// If chalk() was called by itself or with a string,\n\t\t// return the string itself as a string.\n\t\treturn [].slice.call(arguments, 1).join(' ');\n\t}\n\n\tconst args = [].slice.call(arguments, 2);\n\tconst parts = [strings.raw[0]];\n\n\tfor (let i = 1; i < strings.length; i++) {\n\t\tparts.push(String(args[i - 1]).replace(/[{}\\\\]/g, '\\\\$&'));\n\t\tparts.push(String(strings.raw[i]));\n\t}\n\n\treturn template(chalk, parts.join(''));\n}\n\nObject.defineProperties(Chalk.prototype, styles);\n\nmodule.exports = Chalk(); // eslint-disable-line new-cap\nmodule.exports.supportsColor = stdoutColor;\nmodule.exports[\"default\"] = module.exports; // For TypeScript\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/highlight/node_modules/chalk/index.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/highlight/node_modules/chalk/templates.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@babel/highlight/node_modules/chalk/templates.js ***! - \***********************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\nconst TEMPLATE_REGEX = /(?:\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi;\nconst STYLE_REGEX = /(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g;\nconst STRING_REGEX = /^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/;\nconst ESCAPE_REGEX = /\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.)|([^\\\\])/gi;\n\nconst ESCAPES = new Map([\n\t['n', '\\n'],\n\t['r', '\\r'],\n\t['t', '\\t'],\n\t['b', '\\b'],\n\t['f', '\\f'],\n\t['v', '\\v'],\n\t['0', '\\0'],\n\t['\\\\', '\\\\'],\n\t['e', '\\u001B'],\n\t['a', '\\u0007']\n]);\n\nfunction unescape(c) {\n\tif ((c[0] === 'u' && c.length === 5) || (c[0] === 'x' && c.length === 3)) {\n\t\treturn String.fromCharCode(parseInt(c.slice(1), 16));\n\t}\n\n\treturn ESCAPES.get(c) || c;\n}\n\nfunction parseArguments(name, args) {\n\tconst results = [];\n\tconst chunks = args.trim().split(/\\s*,\\s*/g);\n\tlet matches;\n\n\tfor (const chunk of chunks) {\n\t\tif (!isNaN(chunk)) {\n\t\t\tresults.push(Number(chunk));\n\t\t} else if ((matches = chunk.match(STRING_REGEX))) {\n\t\t\tresults.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr));\n\t\t} else {\n\t\t\tthrow new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction parseStyle(style) {\n\tSTYLE_REGEX.lastIndex = 0;\n\n\tconst results = [];\n\tlet matches;\n\n\twhile ((matches = STYLE_REGEX.exec(style)) !== null) {\n\t\tconst name = matches[1];\n\n\t\tif (matches[2]) {\n\t\t\tconst args = parseArguments(name, matches[2]);\n\t\t\tresults.push([name].concat(args));\n\t\t} else {\n\t\t\tresults.push([name]);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction buildStyle(chalk, styles) {\n\tconst enabled = {};\n\n\tfor (const layer of styles) {\n\t\tfor (const style of layer.styles) {\n\t\t\tenabled[style[0]] = layer.inverse ? null : style.slice(1);\n\t\t}\n\t}\n\n\tlet current = chalk;\n\tfor (const styleName of Object.keys(enabled)) {\n\t\tif (Array.isArray(enabled[styleName])) {\n\t\t\tif (!(styleName in current)) {\n\t\t\t\tthrow new Error(`Unknown Chalk style: ${styleName}`);\n\t\t\t}\n\n\t\t\tif (enabled[styleName].length > 0) {\n\t\t\t\tcurrent = current[styleName].apply(current, enabled[styleName]);\n\t\t\t} else {\n\t\t\t\tcurrent = current[styleName];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn current;\n}\n\nmodule.exports = (chalk, tmp) => {\n\tconst styles = [];\n\tconst chunks = [];\n\tlet chunk = [];\n\n\t// eslint-disable-next-line max-params\n\ttmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => {\n\t\tif (escapeChar) {\n\t\t\tchunk.push(unescape(escapeChar));\n\t\t} else if (style) {\n\t\t\tconst str = chunk.join('');\n\t\t\tchunk = [];\n\t\t\tchunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str));\n\t\t\tstyles.push({inverse, styles: parseStyle(style)});\n\t\t} else if (close) {\n\t\t\tif (styles.length === 0) {\n\t\t\t\tthrow new Error('Found extraneous } in Chalk template literal');\n\t\t\t}\n\n\t\t\tchunks.push(buildStyle(chalk, styles)(chunk.join('')));\n\t\t\tchunk = [];\n\t\t\tstyles.pop();\n\t\t} else {\n\t\t\tchunk.push(chr);\n\t\t}\n\t});\n\n\tchunks.push(chunk.join(''));\n\n\tif (styles.length > 0) {\n\t\tconst errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\\`}\\`)`;\n\t\tthrow new Error(errMsg);\n\t}\n\n\treturn chunks.join('');\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/highlight/node_modules/chalk/templates.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/highlight/node_modules/color-convert/conversions.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/@babel/highlight/node_modules/color-convert/conversions.js ***! - \*********************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("/* MIT license */\nvar cssKeywords = __webpack_require__(/*! color-name */ \"./node_modules/@babel/highlight/node_modules/color-name/index.js\");\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in cssKeywords) {\n\tif (cssKeywords.hasOwnProperty(key)) {\n\t\treverseKeywords[cssKeywords[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in cssKeywords) {\n\t\tif (cssKeywords.hasOwnProperty(keyword)) {\n\t\t\tvar value = cssKeywords[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/highlight/node_modules/color-convert/conversions.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/highlight/node_modules/color-convert/index.js": -/*!***************************************************************************!*\ - !*** ./node_modules/@babel/highlight/node_modules/color-convert/index.js ***! - \***************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("var conversions = __webpack_require__(/*! ./conversions */ \"./node_modules/@babel/highlight/node_modules/color-convert/conversions.js\");\nvar route = __webpack_require__(/*! ./route */ \"./node_modules/@babel/highlight/node_modules/color-convert/route.js\");\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/highlight/node_modules/color-convert/index.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/highlight/node_modules/color-convert/route.js": -/*!***************************************************************************!*\ - !*** ./node_modules/@babel/highlight/node_modules/color-convert/route.js ***! - \***************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("var conversions = __webpack_require__(/*! ./conversions */ \"./node_modules/@babel/highlight/node_modules/color-convert/conversions.js\");\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/highlight/node_modules/color-convert/route.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/highlight/node_modules/color-name/index.js": -/*!************************************************************************!*\ - !*** ./node_modules/@babel/highlight/node_modules/color-name/index.js ***! - \************************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/highlight/node_modules/color-name/index.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/highlight/node_modules/escape-string-regexp/index.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/@babel/highlight/node_modules/escape-string-regexp/index.js ***! - \**********************************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(matchOperatorsRe, '\\\\$&');\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/highlight/node_modules/escape-string-regexp/index.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/highlight/node_modules/supports-color/browser.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@babel/highlight/node_modules/supports-color/browser.js ***! - \******************************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\nmodule.exports = {\n\tstdout: false,\n\tstderr: false\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/@babel/highlight/node_modules/supports-color/browser.js?"); - -/***/ }), - -/***/ "./node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EnhancerArray: () => (/* binding */ EnhancerArray),\n/* harmony export */ MiddlewareArray: () => (/* binding */ MiddlewareArray),\n/* harmony export */ SHOULD_AUTOBATCH: () => (/* binding */ SHOULD_AUTOBATCH),\n/* harmony export */ TaskAbortError: () => (/* binding */ TaskAbortError),\n/* harmony export */ __DO_NOT_USE__ActionTypes: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.__DO_NOT_USE__ActionTypes),\n/* harmony export */ addListener: () => (/* binding */ addListener),\n/* harmony export */ applyMiddleware: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.applyMiddleware),\n/* harmony export */ autoBatchEnhancer: () => (/* binding */ autoBatchEnhancer),\n/* harmony export */ bindActionCreators: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.bindActionCreators),\n/* harmony export */ clearAllListeners: () => (/* binding */ clearAllListeners),\n/* harmony export */ combineReducers: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.combineReducers),\n/* harmony export */ compose: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.compose),\n/* harmony export */ configureStore: () => (/* binding */ configureStore),\n/* harmony export */ createAction: () => (/* binding */ createAction),\n/* harmony export */ createActionCreatorInvariantMiddleware: () => (/* binding */ createActionCreatorInvariantMiddleware),\n/* harmony export */ createAsyncThunk: () => (/* binding */ createAsyncThunk),\n/* harmony export */ createDraftSafeSelector: () => (/* binding */ createDraftSafeSelector),\n/* harmony export */ createEntityAdapter: () => (/* binding */ createEntityAdapter),\n/* harmony export */ createImmutableStateInvariantMiddleware: () => (/* binding */ createImmutableStateInvariantMiddleware),\n/* harmony export */ createListenerMiddleware: () => (/* binding */ createListenerMiddleware),\n/* harmony export */ createNextState: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n/* harmony export */ createReducer: () => (/* binding */ createReducer),\n/* harmony export */ createSelector: () => (/* reexport safe */ reselect__WEBPACK_IMPORTED_MODULE_1__.createSelector),\n/* harmony export */ createSerializableStateInvariantMiddleware: () => (/* binding */ createSerializableStateInvariantMiddleware),\n/* harmony export */ createSlice: () => (/* binding */ createSlice),\n/* harmony export */ createStore: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.createStore),\n/* harmony export */ current: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_2__.current),\n/* harmony export */ findNonSerializableValue: () => (/* binding */ findNonSerializableValue),\n/* harmony export */ freeze: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_2__.freeze),\n/* harmony export */ getDefaultMiddleware: () => (/* binding */ getDefaultMiddleware),\n/* harmony export */ getType: () => (/* binding */ getType),\n/* harmony export */ isAction: () => (/* binding */ isAction),\n/* harmony export */ isActionCreator: () => (/* binding */ isActionCreator),\n/* harmony export */ isAllOf: () => (/* binding */ isAllOf),\n/* harmony export */ isAnyOf: () => (/* binding */ isAnyOf),\n/* harmony export */ isAsyncThunkAction: () => (/* binding */ isAsyncThunkAction),\n/* harmony export */ isDraft: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_2__.isDraft),\n/* harmony export */ isFluxStandardAction: () => (/* binding */ isFSA),\n/* harmony export */ isFulfilled: () => (/* binding */ isFulfilled),\n/* harmony export */ isImmutableDefault: () => (/* binding */ isImmutableDefault),\n/* harmony export */ isPending: () => (/* binding */ isPending),\n/* harmony export */ isPlain: () => (/* binding */ isPlain),\n/* harmony export */ isPlainObject: () => (/* binding */ isPlainObject),\n/* harmony export */ isRejected: () => (/* binding */ isRejected),\n/* harmony export */ isRejectedWithValue: () => (/* binding */ isRejectedWithValue),\n/* harmony export */ legacy_createStore: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.legacy_createStore),\n/* harmony export */ miniSerializeError: () => (/* binding */ miniSerializeError),\n/* harmony export */ nanoid: () => (/* binding */ nanoid),\n/* harmony export */ original: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_2__.original),\n/* harmony export */ prepareAutoBatched: () => (/* binding */ prepareAutoBatched),\n/* harmony export */ removeListener: () => (/* binding */ removeListener),\n/* harmony export */ unwrapResult: () => (/* binding */ unwrapResult)\n/* harmony export */ });\n/* harmony import */ var immer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! immer */ \"./node_modules/immer/dist/immer.esm.mjs\");\n/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! redux */ \"./node_modules/redux/es/redux.js\");\n/* harmony import */ var reselect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! reselect */ \"./node_modules/reselect/es/index.js\");\n/* harmony import */ var redux_thunk__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! redux-thunk */ \"./node_modules/redux-thunk/es/index.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __generator = (undefined && undefined.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n};\r\nvar __defProp = Object.defineProperty;\r\nvar __defProps = Object.defineProperties;\r\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\r\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\r\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\r\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\r\nvar __defNormalProp = function (obj, key, value) { return key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value }) : obj[key] = value; };\r\nvar __spreadValues = function (a, b) {\r\n for (var prop in b || (b = {}))\r\n if (__hasOwnProp.call(b, prop))\r\n __defNormalProp(a, prop, b[prop]);\r\n if (__getOwnPropSymbols)\r\n for (var _i = 0, _c = __getOwnPropSymbols(b); _i < _c.length; _i++) {\r\n var prop = _c[_i];\r\n if (__propIsEnum.call(b, prop))\r\n __defNormalProp(a, prop, b[prop]);\r\n }\r\n return a;\r\n};\r\nvar __spreadProps = function (a, b) { return __defProps(a, __getOwnPropDescs(b)); };\r\nvar __async = function (__this, __arguments, generator) {\r\n return new Promise(function (resolve, reject) {\r\n var fulfilled = function (value) {\r\n try {\r\n step(generator.next(value));\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n };\r\n var rejected = function (value) {\r\n try {\r\n step(generator.throw(value));\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n };\r\n var step = function (x) { return x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); };\r\n step((generator = generator.apply(__this, __arguments)).next());\r\n });\r\n};\r\n// src/index.ts\r\n\r\n\r\n\r\n\r\n// src/createDraftSafeSelector.ts\r\n\r\n\r\nvar createDraftSafeSelector = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var selector = reselect__WEBPACK_IMPORTED_MODULE_1__.createSelector.apply(void 0, args);\r\n var wrappedSelector = function (value) {\r\n var rest = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n rest[_i - 1] = arguments[_i];\r\n }\r\n return selector.apply(void 0, __spreadArray([(0,immer__WEBPACK_IMPORTED_MODULE_2__.isDraft)(value) ? (0,immer__WEBPACK_IMPORTED_MODULE_2__.current)(value) : value], rest));\r\n };\r\n return wrappedSelector;\r\n};\r\n// src/configureStore.ts\r\n\r\n// src/devtoolsExtension.ts\r\n\r\nvar composeWithDevTools = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function () {\r\n if (arguments.length === 0)\r\n return void 0;\r\n if (typeof arguments[0] === \"object\")\r\n return redux__WEBPACK_IMPORTED_MODULE_0__.compose;\r\n return redux__WEBPACK_IMPORTED_MODULE_0__.compose.apply(null, arguments);\r\n};\r\nvar devToolsEnhancer = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function () {\r\n return function (noop2) {\r\n return noop2;\r\n };\r\n};\r\n// src/isPlainObject.ts\r\nfunction isPlainObject(value) {\r\n if (typeof value !== \"object\" || value === null)\r\n return false;\r\n var proto = Object.getPrototypeOf(value);\r\n if (proto === null)\r\n return true;\r\n var baseProto = proto;\r\n while (Object.getPrototypeOf(baseProto) !== null) {\r\n baseProto = Object.getPrototypeOf(baseProto);\r\n }\r\n return proto === baseProto;\r\n}\r\n// src/getDefaultMiddleware.ts\r\n\r\n// src/tsHelpers.ts\r\nvar hasMatchFunction = function (v) {\r\n return v && typeof v.match === \"function\";\r\n};\r\n// src/createAction.ts\r\nfunction createAction(type, prepareAction) {\r\n function actionCreator() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n if (prepareAction) {\r\n var prepared = prepareAction.apply(void 0, args);\r\n if (!prepared) {\r\n throw new Error(\"prepareAction did not return an object\");\r\n }\r\n return __spreadValues(__spreadValues({\r\n type: type,\r\n payload: prepared.payload\r\n }, \"meta\" in prepared && { meta: prepared.meta }), \"error\" in prepared && { error: prepared.error });\r\n }\r\n return { type: type, payload: args[0] };\r\n }\r\n actionCreator.toString = function () { return \"\" + type; };\r\n actionCreator.type = type;\r\n actionCreator.match = function (action) { return action.type === type; };\r\n return actionCreator;\r\n}\r\nfunction isAction(action) {\r\n return isPlainObject(action) && \"type\" in action;\r\n}\r\nfunction isActionCreator(action) {\r\n return typeof action === \"function\" && \"type\" in action && hasMatchFunction(action);\r\n}\r\nfunction isFSA(action) {\r\n return isAction(action) && typeof action.type === \"string\" && Object.keys(action).every(isValidKey);\r\n}\r\nfunction isValidKey(key) {\r\n return [\"type\", \"payload\", \"error\", \"meta\"].indexOf(key) > -1;\r\n}\r\nfunction getType(actionCreator) {\r\n return \"\" + actionCreator;\r\n}\r\n// src/actionCreatorInvariantMiddleware.ts\r\nfunction getMessage(type) {\r\n var splitType = type ? (\"\" + type).split(\"/\") : [];\r\n var actionName = splitType[splitType.length - 1] || \"actionCreator\";\r\n return \"Detected an action creator with type \\\"\" + (type || \"unknown\") + \"\\\" being dispatched. \\nMake sure you're calling the action creator before dispatching, i.e. `dispatch(\" + actionName + \"())` instead of `dispatch(\" + actionName + \")`. This is necessary even if the action has no payload.\";\r\n}\r\nfunction createActionCreatorInvariantMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n if (false) {}\r\n var _c = options.isActionCreator, isActionCreator2 = _c === void 0 ? isActionCreator : _c;\r\n return function () { return function (next) { return function (action) {\r\n if (isActionCreator2(action)) {\r\n console.warn(getMessage(action.type));\r\n }\r\n return next(action);\r\n }; }; };\r\n}\r\n// src/utils.ts\r\n\r\nfunction getTimeMeasureUtils(maxDelay, fnName) {\r\n var elapsed = 0;\r\n return {\r\n measureTime: function (fn) {\r\n var started = Date.now();\r\n try {\r\n return fn();\r\n }\r\n finally {\r\n var finished = Date.now();\r\n elapsed += finished - started;\r\n }\r\n },\r\n warnIfExceeded: function () {\r\n if (elapsed > maxDelay) {\r\n console.warn(fnName + \" took \" + elapsed + \"ms, which is more than the warning threshold of \" + maxDelay + \"ms. \\nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\\nIt is disabled in production builds, so you don't need to worry about that.\");\r\n }\r\n }\r\n };\r\n}\r\nvar MiddlewareArray = /** @class */ (function (_super) {\r\n __extends(MiddlewareArray, _super);\r\n function MiddlewareArray() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var _this = _super.apply(this, args) || this;\r\n Object.setPrototypeOf(_this, MiddlewareArray.prototype);\r\n return _this;\r\n }\r\n Object.defineProperty(MiddlewareArray, Symbol.species, {\r\n get: function () {\r\n return MiddlewareArray;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MiddlewareArray.prototype.concat = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n return _super.prototype.concat.apply(this, arr);\r\n };\r\n MiddlewareArray.prototype.prepend = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr[0].concat(this))))();\r\n }\r\n return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr.concat(this))))();\r\n };\r\n return MiddlewareArray;\r\n}(Array));\r\nvar EnhancerArray = /** @class */ (function (_super) {\r\n __extends(EnhancerArray, _super);\r\n function EnhancerArray() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var _this = _super.apply(this, args) || this;\r\n Object.setPrototypeOf(_this, EnhancerArray.prototype);\r\n return _this;\r\n }\r\n Object.defineProperty(EnhancerArray, Symbol.species, {\r\n get: function () {\r\n return EnhancerArray;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n EnhancerArray.prototype.concat = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n return _super.prototype.concat.apply(this, arr);\r\n };\r\n EnhancerArray.prototype.prepend = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr[0].concat(this))))();\r\n }\r\n return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr.concat(this))))();\r\n };\r\n return EnhancerArray;\r\n}(Array));\r\nfunction freezeDraftable(val) {\r\n return (0,immer__WEBPACK_IMPORTED_MODULE_2__.isDraftable)(val) ? (0,immer__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(val, function () {\r\n }) : val;\r\n}\r\n// src/immutableStateInvariantMiddleware.ts\r\nvar isProduction = \"development\" === \"production\";\r\nvar prefix = \"Invariant failed\";\r\nfunction invariant(condition, message) {\r\n if (condition) {\r\n return;\r\n }\r\n if (isProduction) {\r\n throw new Error(prefix);\r\n }\r\n throw new Error(prefix + \": \" + (message || \"\"));\r\n}\r\nfunction stringify(obj, serializer, indent, decycler) {\r\n return JSON.stringify(obj, getSerialize(serializer, decycler), indent);\r\n}\r\nfunction getSerialize(serializer, decycler) {\r\n var stack = [], keys = [];\r\n if (!decycler)\r\n decycler = function (_, value) {\r\n if (stack[0] === value)\r\n return \"[Circular ~]\";\r\n return \"[Circular ~.\" + keys.slice(0, stack.indexOf(value)).join(\".\") + \"]\";\r\n };\r\n return function (key, value) {\r\n if (stack.length > 0) {\r\n var thisPos = stack.indexOf(this);\r\n ~thisPos ? stack.splice(thisPos + 1) : stack.push(this);\r\n ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key);\r\n if (~stack.indexOf(value))\r\n value = decycler.call(this, key, value);\r\n }\r\n else\r\n stack.push(value);\r\n return serializer == null ? value : serializer.call(this, key, value);\r\n };\r\n}\r\nfunction isImmutableDefault(value) {\r\n return typeof value !== \"object\" || value == null || Object.isFrozen(value);\r\n}\r\nfunction trackForMutations(isImmutable, ignorePaths, obj) {\r\n var trackedProperties = trackProperties(isImmutable, ignorePaths, obj);\r\n return {\r\n detectMutations: function () {\r\n return detectMutations(isImmutable, ignorePaths, trackedProperties, obj);\r\n }\r\n };\r\n}\r\nfunction trackProperties(isImmutable, ignorePaths, obj, path, checkedObjects) {\r\n if (ignorePaths === void 0) { ignorePaths = []; }\r\n if (path === void 0) { path = \"\"; }\r\n if (checkedObjects === void 0) { checkedObjects = new Set(); }\r\n var tracked = { value: obj };\r\n if (!isImmutable(obj) && !checkedObjects.has(obj)) {\r\n checkedObjects.add(obj);\r\n tracked.children = {};\r\n for (var key in obj) {\r\n var childPath = path ? path + \".\" + key : key;\r\n if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) {\r\n continue;\r\n }\r\n tracked.children[key] = trackProperties(isImmutable, ignorePaths, obj[key], childPath);\r\n }\r\n }\r\n return tracked;\r\n}\r\nfunction detectMutations(isImmutable, ignoredPaths, trackedProperty, obj, sameParentRef, path) {\r\n if (ignoredPaths === void 0) { ignoredPaths = []; }\r\n if (sameParentRef === void 0) { sameParentRef = false; }\r\n if (path === void 0) { path = \"\"; }\r\n var prevObj = trackedProperty ? trackedProperty.value : void 0;\r\n var sameRef = prevObj === obj;\r\n if (sameParentRef && !sameRef && !Number.isNaN(obj)) {\r\n return { wasMutated: true, path: path };\r\n }\r\n if (isImmutable(prevObj) || isImmutable(obj)) {\r\n return { wasMutated: false };\r\n }\r\n var keysToDetect = {};\r\n for (var key in trackedProperty.children) {\r\n keysToDetect[key] = true;\r\n }\r\n for (var key in obj) {\r\n keysToDetect[key] = true;\r\n }\r\n var hasIgnoredPaths = ignoredPaths.length > 0;\r\n var _loop_1 = function (key) {\r\n var nestedPath = path ? path + \".\" + key : key;\r\n if (hasIgnoredPaths) {\r\n var hasMatches = ignoredPaths.some(function (ignored) {\r\n if (ignored instanceof RegExp) {\r\n return ignored.test(nestedPath);\r\n }\r\n return nestedPath === ignored;\r\n });\r\n if (hasMatches) {\r\n return \"continue\";\r\n }\r\n }\r\n var result = detectMutations(isImmutable, ignoredPaths, trackedProperty.children[key], obj[key], sameRef, nestedPath);\r\n if (result.wasMutated) {\r\n return { value: result };\r\n }\r\n };\r\n for (var key in keysToDetect) {\r\n var state_1 = _loop_1(key);\r\n if (typeof state_1 === \"object\")\r\n return state_1.value;\r\n }\r\n return { wasMutated: false };\r\n}\r\nfunction createImmutableStateInvariantMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n if (false) {}\r\n var _c = options.isImmutable, isImmutable = _c === void 0 ? isImmutableDefault : _c, ignoredPaths = options.ignoredPaths, _d = options.warnAfter, warnAfter = _d === void 0 ? 32 : _d, ignore = options.ignore;\r\n ignoredPaths = ignoredPaths || ignore;\r\n var track = trackForMutations.bind(null, isImmutable, ignoredPaths);\r\n return function (_c) {\r\n var getState = _c.getState;\r\n var state = getState();\r\n var tracker = track(state);\r\n var result;\r\n return function (next) { return function (action) {\r\n var measureUtils = getTimeMeasureUtils(warnAfter, \"ImmutableStateInvariantMiddleware\");\r\n measureUtils.measureTime(function () {\r\n state = getState();\r\n result = tracker.detectMutations();\r\n tracker = track(state);\r\n invariant(!result.wasMutated, \"A state mutation was detected between dispatches, in the path '\" + (result.path || \"\") + \"'. This may cause incorrect behavior. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)\");\r\n });\r\n var dispatchedAction = next(action);\r\n measureUtils.measureTime(function () {\r\n state = getState();\r\n result = tracker.detectMutations();\r\n tracker = track(state);\r\n result.wasMutated && invariant(!result.wasMutated, \"A state mutation was detected inside a dispatch, in the path: \" + (result.path || \"\") + \". Take a look at the reducer(s) handling the action \" + stringify(action) + \". (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)\");\r\n });\r\n measureUtils.warnIfExceeded();\r\n return dispatchedAction;\r\n }; };\r\n };\r\n}\r\n// src/serializableStateInvariantMiddleware.ts\r\nfunction isPlain(val) {\r\n var type = typeof val;\r\n return val == null || type === \"string\" || type === \"boolean\" || type === \"number\" || Array.isArray(val) || isPlainObject(val);\r\n}\r\nfunction findNonSerializableValue(value, path, isSerializable, getEntries, ignoredPaths, cache) {\r\n if (path === void 0) { path = \"\"; }\r\n if (isSerializable === void 0) { isSerializable = isPlain; }\r\n if (ignoredPaths === void 0) { ignoredPaths = []; }\r\n var foundNestedSerializable;\r\n if (!isSerializable(value)) {\r\n return {\r\n keyPath: path || \"\",\r\n value: value\r\n };\r\n }\r\n if (typeof value !== \"object\" || value === null) {\r\n return false;\r\n }\r\n if (cache == null ? void 0 : cache.has(value))\r\n return false;\r\n var entries = getEntries != null ? getEntries(value) : Object.entries(value);\r\n var hasIgnoredPaths = ignoredPaths.length > 0;\r\n var _loop_2 = function (key, nestedValue) {\r\n var nestedPath = path ? path + \".\" + key : key;\r\n if (hasIgnoredPaths) {\r\n var hasMatches = ignoredPaths.some(function (ignored) {\r\n if (ignored instanceof RegExp) {\r\n return ignored.test(nestedPath);\r\n }\r\n return nestedPath === ignored;\r\n });\r\n if (hasMatches) {\r\n return \"continue\";\r\n }\r\n }\r\n if (!isSerializable(nestedValue)) {\r\n return { value: {\r\n keyPath: nestedPath,\r\n value: nestedValue\r\n } };\r\n }\r\n if (typeof nestedValue === \"object\") {\r\n foundNestedSerializable = findNonSerializableValue(nestedValue, nestedPath, isSerializable, getEntries, ignoredPaths, cache);\r\n if (foundNestedSerializable) {\r\n return { value: foundNestedSerializable };\r\n }\r\n }\r\n };\r\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\r\n var _c = entries_1[_i], key = _c[0], nestedValue = _c[1];\r\n var state_2 = _loop_2(key, nestedValue);\r\n if (typeof state_2 === \"object\")\r\n return state_2.value;\r\n }\r\n if (cache && isNestedFrozen(value))\r\n cache.add(value);\r\n return false;\r\n}\r\nfunction isNestedFrozen(value) {\r\n if (!Object.isFrozen(value))\r\n return false;\r\n for (var _i = 0, _c = Object.values(value); _i < _c.length; _i++) {\r\n var nestedValue = _c[_i];\r\n if (typeof nestedValue !== \"object\" || nestedValue === null)\r\n continue;\r\n if (!isNestedFrozen(nestedValue))\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction createSerializableStateInvariantMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n if (false) {}\r\n var _c = options.isSerializable, isSerializable = _c === void 0 ? isPlain : _c, getEntries = options.getEntries, _d = options.ignoredActions, ignoredActions = _d === void 0 ? [] : _d, _e = options.ignoredActionPaths, ignoredActionPaths = _e === void 0 ? [\"meta.arg\", \"meta.baseQueryMeta\"] : _e, _f = options.ignoredPaths, ignoredPaths = _f === void 0 ? [] : _f, _g = options.warnAfter, warnAfter = _g === void 0 ? 32 : _g, _h = options.ignoreState, ignoreState = _h === void 0 ? false : _h, _j = options.ignoreActions, ignoreActions = _j === void 0 ? false : _j, _k = options.disableCache, disableCache = _k === void 0 ? false : _k;\r\n var cache = !disableCache && WeakSet ? new WeakSet() : void 0;\r\n return function (storeAPI) { return function (next) { return function (action) {\r\n var result = next(action);\r\n var measureUtils = getTimeMeasureUtils(warnAfter, \"SerializableStateInvariantMiddleware\");\r\n if (!ignoreActions && !(ignoredActions.length && ignoredActions.indexOf(action.type) !== -1)) {\r\n measureUtils.measureTime(function () {\r\n var foundActionNonSerializableValue = findNonSerializableValue(action, \"\", isSerializable, getEntries, ignoredActionPaths, cache);\r\n if (foundActionNonSerializableValue) {\r\n var keyPath = foundActionNonSerializableValue.keyPath, value = foundActionNonSerializableValue.value;\r\n console.error(\"A non-serializable value was detected in an action, in the path: `\" + keyPath + \"`. Value:\", value, \"\\nTake a look at the logic that dispatched this action: \", action, \"\\n(See https://redux.js.org/faq/actions#why-should-type-be-a-string-or-at-least-serializable-why-should-my-action-types-be-constants)\", \"\\n(To allow non-serializable values see: https://redux-toolkit.js.org/usage/usage-guide#working-with-non-serializable-data)\");\r\n }\r\n });\r\n }\r\n if (!ignoreState) {\r\n measureUtils.measureTime(function () {\r\n var state = storeAPI.getState();\r\n var foundStateNonSerializableValue = findNonSerializableValue(state, \"\", isSerializable, getEntries, ignoredPaths, cache);\r\n if (foundStateNonSerializableValue) {\r\n var keyPath = foundStateNonSerializableValue.keyPath, value = foundStateNonSerializableValue.value;\r\n console.error(\"A non-serializable value was detected in the state, in the path: `\" + keyPath + \"`. Value:\", value, \"\\nTake a look at the reducer(s) handling this action type: \" + action.type + \".\\n(See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)\");\r\n }\r\n });\r\n measureUtils.warnIfExceeded();\r\n }\r\n return result;\r\n }; }; };\r\n}\r\n// src/getDefaultMiddleware.ts\r\nfunction isBoolean(x) {\r\n return typeof x === \"boolean\";\r\n}\r\nfunction curryGetDefaultMiddleware() {\r\n return function curriedGetDefaultMiddleware(options) {\r\n return getDefaultMiddleware(options);\r\n };\r\n}\r\nfunction getDefaultMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n var _c = options.thunk, thunk = _c === void 0 ? true : _c, _d = options.immutableCheck, immutableCheck = _d === void 0 ? true : _d, _e = options.serializableCheck, serializableCheck = _e === void 0 ? true : _e, _f = options.actionCreatorCheck, actionCreatorCheck = _f === void 0 ? true : _f;\r\n var middlewareArray = new MiddlewareArray();\r\n if (thunk) {\r\n if (isBoolean(thunk)) {\r\n middlewareArray.push(redux_thunk__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\r\n }\r\n else {\r\n middlewareArray.push(redux_thunk__WEBPACK_IMPORTED_MODULE_3__[\"default\"].withExtraArgument(thunk.extraArgument));\r\n }\r\n }\r\n if (true) {\r\n if (immutableCheck) {\r\n var immutableOptions = {};\r\n if (!isBoolean(immutableCheck)) {\r\n immutableOptions = immutableCheck;\r\n }\r\n middlewareArray.unshift(createImmutableStateInvariantMiddleware(immutableOptions));\r\n }\r\n if (serializableCheck) {\r\n var serializableOptions = {};\r\n if (!isBoolean(serializableCheck)) {\r\n serializableOptions = serializableCheck;\r\n }\r\n middlewareArray.push(createSerializableStateInvariantMiddleware(serializableOptions));\r\n }\r\n if (actionCreatorCheck) {\r\n var actionCreatorOptions = {};\r\n if (!isBoolean(actionCreatorCheck)) {\r\n actionCreatorOptions = actionCreatorCheck;\r\n }\r\n middlewareArray.unshift(createActionCreatorInvariantMiddleware(actionCreatorOptions));\r\n }\r\n }\r\n return middlewareArray;\r\n}\r\n// src/configureStore.ts\r\nvar IS_PRODUCTION = \"development\" === \"production\";\r\nfunction configureStore(options) {\r\n var curriedGetDefaultMiddleware = curryGetDefaultMiddleware();\r\n var _c = options || {}, _d = _c.reducer, reducer = _d === void 0 ? void 0 : _d, _e = _c.middleware, middleware = _e === void 0 ? curriedGetDefaultMiddleware() : _e, _f = _c.devTools, devTools = _f === void 0 ? true : _f, _g = _c.preloadedState, preloadedState = _g === void 0 ? void 0 : _g, _h = _c.enhancers, enhancers = _h === void 0 ? void 0 : _h;\r\n var rootReducer;\r\n if (typeof reducer === \"function\") {\r\n rootReducer = reducer;\r\n }\r\n else if (isPlainObject(reducer)) {\r\n rootReducer = (0,redux__WEBPACK_IMPORTED_MODULE_0__.combineReducers)(reducer);\r\n }\r\n else {\r\n throw new Error('\"reducer\" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');\r\n }\r\n var finalMiddleware = middleware;\r\n if (typeof finalMiddleware === \"function\") {\r\n finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware);\r\n if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) {\r\n throw new Error(\"when using a middleware builder function, an array of middleware must be returned\");\r\n }\r\n }\r\n if (!IS_PRODUCTION && finalMiddleware.some(function (item) { return typeof item !== \"function\"; })) {\r\n throw new Error(\"each middleware provided to configureStore must be a function\");\r\n }\r\n var middlewareEnhancer = redux__WEBPACK_IMPORTED_MODULE_0__.applyMiddleware.apply(void 0, finalMiddleware);\r\n var finalCompose = redux__WEBPACK_IMPORTED_MODULE_0__.compose;\r\n if (devTools) {\r\n finalCompose = composeWithDevTools(__spreadValues({\r\n trace: !IS_PRODUCTION\r\n }, typeof devTools === \"object\" && devTools));\r\n }\r\n var defaultEnhancers = new EnhancerArray(middlewareEnhancer);\r\n var storeEnhancers = defaultEnhancers;\r\n if (Array.isArray(enhancers)) {\r\n storeEnhancers = __spreadArray([middlewareEnhancer], enhancers);\r\n }\r\n else if (typeof enhancers === \"function\") {\r\n storeEnhancers = enhancers(defaultEnhancers);\r\n }\r\n var composedEnhancer = finalCompose.apply(void 0, storeEnhancers);\r\n return (0,redux__WEBPACK_IMPORTED_MODULE_0__.createStore)(rootReducer, preloadedState, composedEnhancer);\r\n}\r\n// src/createReducer.ts\r\n\r\n// src/mapBuilders.ts\r\nfunction executeReducerBuilderCallback(builderCallback) {\r\n var actionsMap = {};\r\n var actionMatchers = [];\r\n var defaultCaseReducer;\r\n var builder = {\r\n addCase: function (typeOrActionCreator, reducer) {\r\n if (true) {\r\n if (actionMatchers.length > 0) {\r\n throw new Error(\"`builder.addCase` should only be called before calling `builder.addMatcher`\");\r\n }\r\n if (defaultCaseReducer) {\r\n throw new Error(\"`builder.addCase` should only be called before calling `builder.addDefaultCase`\");\r\n }\r\n }\r\n var type = typeof typeOrActionCreator === \"string\" ? typeOrActionCreator : typeOrActionCreator.type;\r\n if (!type) {\r\n throw new Error(\"`builder.addCase` cannot be called with an empty action type\");\r\n }\r\n if (type in actionsMap) {\r\n throw new Error(\"`builder.addCase` cannot be called with two reducers for the same action type\");\r\n }\r\n actionsMap[type] = reducer;\r\n return builder;\r\n },\r\n addMatcher: function (matcher, reducer) {\r\n if (true) {\r\n if (defaultCaseReducer) {\r\n throw new Error(\"`builder.addMatcher` should only be called before calling `builder.addDefaultCase`\");\r\n }\r\n }\r\n actionMatchers.push({ matcher: matcher, reducer: reducer });\r\n return builder;\r\n },\r\n addDefaultCase: function (reducer) {\r\n if (true) {\r\n if (defaultCaseReducer) {\r\n throw new Error(\"`builder.addDefaultCase` can only be called once\");\r\n }\r\n }\r\n defaultCaseReducer = reducer;\r\n return builder;\r\n }\r\n };\r\n builderCallback(builder);\r\n return [actionsMap, actionMatchers, defaultCaseReducer];\r\n}\r\n// src/createReducer.ts\r\nfunction isStateFunction(x) {\r\n return typeof x === \"function\";\r\n}\r\nvar hasWarnedAboutObjectNotation = false;\r\nfunction createReducer(initialState, mapOrBuilderCallback, actionMatchers, defaultCaseReducer) {\r\n if (actionMatchers === void 0) { actionMatchers = []; }\r\n if (true) {\r\n if (typeof mapOrBuilderCallback === \"object\") {\r\n if (!hasWarnedAboutObjectNotation) {\r\n hasWarnedAboutObjectNotation = true;\r\n console.warn(\"The object notation for `createReducer` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer\");\r\n }\r\n }\r\n }\r\n var _c = typeof mapOrBuilderCallback === \"function\" ? executeReducerBuilderCallback(mapOrBuilderCallback) : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer], actionsMap = _c[0], finalActionMatchers = _c[1], finalDefaultCaseReducer = _c[2];\r\n var getInitialState;\r\n if (isStateFunction(initialState)) {\r\n getInitialState = function () { return freezeDraftable(initialState()); };\r\n }\r\n else {\r\n var frozenInitialState_1 = freezeDraftable(initialState);\r\n getInitialState = function () { return frozenInitialState_1; };\r\n }\r\n function reducer(state, action) {\r\n if (state === void 0) { state = getInitialState(); }\r\n var caseReducers = __spreadArray([\r\n actionsMap[action.type]\r\n ], finalActionMatchers.filter(function (_c) {\r\n var matcher = _c.matcher;\r\n return matcher(action);\r\n }).map(function (_c) {\r\n var reducer2 = _c.reducer;\r\n return reducer2;\r\n }));\r\n if (caseReducers.filter(function (cr) { return !!cr; }).length === 0) {\r\n caseReducers = [finalDefaultCaseReducer];\r\n }\r\n return caseReducers.reduce(function (previousState, caseReducer) {\r\n if (caseReducer) {\r\n if ((0,immer__WEBPACK_IMPORTED_MODULE_2__.isDraft)(previousState)) {\r\n var draft = previousState;\r\n var result = caseReducer(draft, action);\r\n if (result === void 0) {\r\n return previousState;\r\n }\r\n return result;\r\n }\r\n else if (!(0,immer__WEBPACK_IMPORTED_MODULE_2__.isDraftable)(previousState)) {\r\n var result = caseReducer(previousState, action);\r\n if (result === void 0) {\r\n if (previousState === null) {\r\n return previousState;\r\n }\r\n throw Error(\"A case reducer on a non-draftable value must not return undefined\");\r\n }\r\n return result;\r\n }\r\n else {\r\n return (0,immer__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(previousState, function (draft) {\r\n return caseReducer(draft, action);\r\n });\r\n }\r\n }\r\n return previousState;\r\n }, state);\r\n }\r\n reducer.getInitialState = getInitialState;\r\n return reducer;\r\n}\r\n// src/createSlice.ts\r\nvar hasWarnedAboutObjectNotation2 = false;\r\nfunction getType2(slice, actionKey) {\r\n return slice + \"/\" + actionKey;\r\n}\r\nfunction createSlice(options) {\r\n var name = options.name;\r\n if (!name) {\r\n throw new Error(\"`name` is a required option for createSlice\");\r\n }\r\n if (typeof process !== \"undefined\" && \"development\" === \"development\") {\r\n if (options.initialState === void 0) {\r\n console.error(\"You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`\");\r\n }\r\n }\r\n var initialState = typeof options.initialState == \"function\" ? options.initialState : freezeDraftable(options.initialState);\r\n var reducers = options.reducers || {};\r\n var reducerNames = Object.keys(reducers);\r\n var sliceCaseReducersByName = {};\r\n var sliceCaseReducersByType = {};\r\n var actionCreators = {};\r\n reducerNames.forEach(function (reducerName) {\r\n var maybeReducerWithPrepare = reducers[reducerName];\r\n var type = getType2(name, reducerName);\r\n var caseReducer;\r\n var prepareCallback;\r\n if (\"reducer\" in maybeReducerWithPrepare) {\r\n caseReducer = maybeReducerWithPrepare.reducer;\r\n prepareCallback = maybeReducerWithPrepare.prepare;\r\n }\r\n else {\r\n caseReducer = maybeReducerWithPrepare;\r\n }\r\n sliceCaseReducersByName[reducerName] = caseReducer;\r\n sliceCaseReducersByType[type] = caseReducer;\r\n actionCreators[reducerName] = prepareCallback ? createAction(type, prepareCallback) : createAction(type);\r\n });\r\n function buildReducer() {\r\n if (true) {\r\n if (typeof options.extraReducers === \"object\") {\r\n if (!hasWarnedAboutObjectNotation2) {\r\n hasWarnedAboutObjectNotation2 = true;\r\n console.warn(\"The object notation for `createSlice.extraReducers` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice\");\r\n }\r\n }\r\n }\r\n var _c = typeof options.extraReducers === \"function\" ? executeReducerBuilderCallback(options.extraReducers) : [options.extraReducers], _d = _c[0], extraReducers = _d === void 0 ? {} : _d, _e = _c[1], actionMatchers = _e === void 0 ? [] : _e, _f = _c[2], defaultCaseReducer = _f === void 0 ? void 0 : _f;\r\n var finalCaseReducers = __spreadValues(__spreadValues({}, extraReducers), sliceCaseReducersByType);\r\n return createReducer(initialState, function (builder) {\r\n for (var key in finalCaseReducers) {\r\n builder.addCase(key, finalCaseReducers[key]);\r\n }\r\n for (var _i = 0, actionMatchers_1 = actionMatchers; _i < actionMatchers_1.length; _i++) {\r\n var m = actionMatchers_1[_i];\r\n builder.addMatcher(m.matcher, m.reducer);\r\n }\r\n if (defaultCaseReducer) {\r\n builder.addDefaultCase(defaultCaseReducer);\r\n }\r\n });\r\n }\r\n var _reducer;\r\n return {\r\n name: name,\r\n reducer: function (state, action) {\r\n if (!_reducer)\r\n _reducer = buildReducer();\r\n return _reducer(state, action);\r\n },\r\n actions: actionCreators,\r\n caseReducers: sliceCaseReducersByName,\r\n getInitialState: function () {\r\n if (!_reducer)\r\n _reducer = buildReducer();\r\n return _reducer.getInitialState();\r\n }\r\n };\r\n}\r\n// src/entities/entity_state.ts\r\nfunction getInitialEntityState() {\r\n return {\r\n ids: [],\r\n entities: {}\r\n };\r\n}\r\nfunction createInitialStateFactory() {\r\n function getInitialState(additionalState) {\r\n if (additionalState === void 0) { additionalState = {}; }\r\n return Object.assign(getInitialEntityState(), additionalState);\r\n }\r\n return { getInitialState: getInitialState };\r\n}\r\n// src/entities/state_selectors.ts\r\nfunction createSelectorsFactory() {\r\n function getSelectors(selectState) {\r\n var selectIds = function (state) { return state.ids; };\r\n var selectEntities = function (state) { return state.entities; };\r\n var selectAll = createDraftSafeSelector(selectIds, selectEntities, function (ids, entities) { return ids.map(function (id) { return entities[id]; }); });\r\n var selectId = function (_, id) { return id; };\r\n var selectById = function (entities, id) { return entities[id]; };\r\n var selectTotal = createDraftSafeSelector(selectIds, function (ids) { return ids.length; });\r\n if (!selectState) {\r\n return {\r\n selectIds: selectIds,\r\n selectEntities: selectEntities,\r\n selectAll: selectAll,\r\n selectTotal: selectTotal,\r\n selectById: createDraftSafeSelector(selectEntities, selectId, selectById)\r\n };\r\n }\r\n var selectGlobalizedEntities = createDraftSafeSelector(selectState, selectEntities);\r\n return {\r\n selectIds: createDraftSafeSelector(selectState, selectIds),\r\n selectEntities: selectGlobalizedEntities,\r\n selectAll: createDraftSafeSelector(selectState, selectAll),\r\n selectTotal: createDraftSafeSelector(selectState, selectTotal),\r\n selectById: createDraftSafeSelector(selectGlobalizedEntities, selectId, selectById)\r\n };\r\n }\r\n return { getSelectors: getSelectors };\r\n}\r\n// src/entities/state_adapter.ts\r\n\r\nfunction createSingleArgumentStateOperator(mutator) {\r\n var operator = createStateOperator(function (_, state) { return mutator(state); });\r\n return function operation(state) {\r\n return operator(state, void 0);\r\n };\r\n}\r\nfunction createStateOperator(mutator) {\r\n return function operation(state, arg) {\r\n function isPayloadActionArgument(arg2) {\r\n return isFSA(arg2);\r\n }\r\n var runMutator = function (draft) {\r\n if (isPayloadActionArgument(arg)) {\r\n mutator(arg.payload, draft);\r\n }\r\n else {\r\n mutator(arg, draft);\r\n }\r\n };\r\n if ((0,immer__WEBPACK_IMPORTED_MODULE_2__.isDraft)(state)) {\r\n runMutator(state);\r\n return state;\r\n }\r\n else {\r\n return (0,immer__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(state, runMutator);\r\n }\r\n };\r\n}\r\n// src/entities/utils.ts\r\nfunction selectIdValue(entity, selectId) {\r\n var key = selectId(entity);\r\n if ( true && key === void 0) {\r\n console.warn(\"The entity passed to the `selectId` implementation returned undefined.\", \"You should probably provide your own `selectId` implementation.\", \"The entity that was passed:\", entity, \"The `selectId` implementation:\", selectId.toString());\r\n }\r\n return key;\r\n}\r\nfunction ensureEntitiesArray(entities) {\r\n if (!Array.isArray(entities)) {\r\n entities = Object.values(entities);\r\n }\r\n return entities;\r\n}\r\nfunction splitAddedUpdatedEntities(newEntities, selectId, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n var added = [];\r\n var updated = [];\r\n for (var _i = 0, newEntities_1 = newEntities; _i < newEntities_1.length; _i++) {\r\n var entity = newEntities_1[_i];\r\n var id = selectIdValue(entity, selectId);\r\n if (id in state.entities) {\r\n updated.push({ id: id, changes: entity });\r\n }\r\n else {\r\n added.push(entity);\r\n }\r\n }\r\n return [added, updated];\r\n}\r\n// src/entities/unsorted_state_adapter.ts\r\nfunction createUnsortedStateAdapter(selectId) {\r\n function addOneMutably(entity, state) {\r\n var key = selectIdValue(entity, selectId);\r\n if (key in state.entities) {\r\n return;\r\n }\r\n state.ids.push(key);\r\n state.entities[key] = entity;\r\n }\r\n function addManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n for (var _i = 0, newEntities_2 = newEntities; _i < newEntities_2.length; _i++) {\r\n var entity = newEntities_2[_i];\r\n addOneMutably(entity, state);\r\n }\r\n }\r\n function setOneMutably(entity, state) {\r\n var key = selectIdValue(entity, selectId);\r\n if (!(key in state.entities)) {\r\n state.ids.push(key);\r\n }\r\n state.entities[key] = entity;\r\n }\r\n function setManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n for (var _i = 0, newEntities_3 = newEntities; _i < newEntities_3.length; _i++) {\r\n var entity = newEntities_3[_i];\r\n setOneMutably(entity, state);\r\n }\r\n }\r\n function setAllMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n state.ids = [];\r\n state.entities = {};\r\n addManyMutably(newEntities, state);\r\n }\r\n function removeOneMutably(key, state) {\r\n return removeManyMutably([key], state);\r\n }\r\n function removeManyMutably(keys, state) {\r\n var didMutate = false;\r\n keys.forEach(function (key) {\r\n if (key in state.entities) {\r\n delete state.entities[key];\r\n didMutate = true;\r\n }\r\n });\r\n if (didMutate) {\r\n state.ids = state.ids.filter(function (id) { return id in state.entities; });\r\n }\r\n }\r\n function removeAllMutably(state) {\r\n Object.assign(state, {\r\n ids: [],\r\n entities: {}\r\n });\r\n }\r\n function takeNewKey(keys, update, state) {\r\n var original2 = state.entities[update.id];\r\n var updated = Object.assign({}, original2, update.changes);\r\n var newKey = selectIdValue(updated, selectId);\r\n var hasNewKey = newKey !== update.id;\r\n if (hasNewKey) {\r\n keys[update.id] = newKey;\r\n delete state.entities[update.id];\r\n }\r\n state.entities[newKey] = updated;\r\n return hasNewKey;\r\n }\r\n function updateOneMutably(update, state) {\r\n return updateManyMutably([update], state);\r\n }\r\n function updateManyMutably(updates, state) {\r\n var newKeys = {};\r\n var updatesPerEntity = {};\r\n updates.forEach(function (update) {\r\n if (update.id in state.entities) {\r\n updatesPerEntity[update.id] = {\r\n id: update.id,\r\n changes: __spreadValues(__spreadValues({}, updatesPerEntity[update.id] ? updatesPerEntity[update.id].changes : null), update.changes)\r\n };\r\n }\r\n });\r\n updates = Object.values(updatesPerEntity);\r\n var didMutateEntities = updates.length > 0;\r\n if (didMutateEntities) {\r\n var didMutateIds = updates.filter(function (update) { return takeNewKey(newKeys, update, state); }).length > 0;\r\n if (didMutateIds) {\r\n state.ids = Object.keys(state.entities);\r\n }\r\n }\r\n }\r\n function upsertOneMutably(entity, state) {\r\n return upsertManyMutably([entity], state);\r\n }\r\n function upsertManyMutably(newEntities, state) {\r\n var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];\r\n updateManyMutably(updated, state);\r\n addManyMutably(added, state);\r\n }\r\n return {\r\n removeAll: createSingleArgumentStateOperator(removeAllMutably),\r\n addOne: createStateOperator(addOneMutably),\r\n addMany: createStateOperator(addManyMutably),\r\n setOne: createStateOperator(setOneMutably),\r\n setMany: createStateOperator(setManyMutably),\r\n setAll: createStateOperator(setAllMutably),\r\n updateOne: createStateOperator(updateOneMutably),\r\n updateMany: createStateOperator(updateManyMutably),\r\n upsertOne: createStateOperator(upsertOneMutably),\r\n upsertMany: createStateOperator(upsertManyMutably),\r\n removeOne: createStateOperator(removeOneMutably),\r\n removeMany: createStateOperator(removeManyMutably)\r\n };\r\n}\r\n// src/entities/sorted_state_adapter.ts\r\nfunction createSortedStateAdapter(selectId, sort) {\r\n var _c = createUnsortedStateAdapter(selectId), removeOne = _c.removeOne, removeMany = _c.removeMany, removeAll = _c.removeAll;\r\n function addOneMutably(entity, state) {\r\n return addManyMutably([entity], state);\r\n }\r\n function addManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n var models = newEntities.filter(function (model) { return !(selectIdValue(model, selectId) in state.entities); });\r\n if (models.length !== 0) {\r\n merge(models, state);\r\n }\r\n }\r\n function setOneMutably(entity, state) {\r\n return setManyMutably([entity], state);\r\n }\r\n function setManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n if (newEntities.length !== 0) {\r\n merge(newEntities, state);\r\n }\r\n }\r\n function setAllMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n state.entities = {};\r\n state.ids = [];\r\n addManyMutably(newEntities, state);\r\n }\r\n function updateOneMutably(update, state) {\r\n return updateManyMutably([update], state);\r\n }\r\n function updateManyMutably(updates, state) {\r\n var appliedUpdates = false;\r\n for (var _i = 0, updates_1 = updates; _i < updates_1.length; _i++) {\r\n var update = updates_1[_i];\r\n var entity = state.entities[update.id];\r\n if (!entity) {\r\n continue;\r\n }\r\n appliedUpdates = true;\r\n Object.assign(entity, update.changes);\r\n var newId = selectId(entity);\r\n if (update.id !== newId) {\r\n delete state.entities[update.id];\r\n state.entities[newId] = entity;\r\n }\r\n }\r\n if (appliedUpdates) {\r\n resortEntities(state);\r\n }\r\n }\r\n function upsertOneMutably(entity, state) {\r\n return upsertManyMutably([entity], state);\r\n }\r\n function upsertManyMutably(newEntities, state) {\r\n var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];\r\n updateManyMutably(updated, state);\r\n addManyMutably(added, state);\r\n }\r\n function areArraysEqual(a, b) {\r\n if (a.length !== b.length) {\r\n return false;\r\n }\r\n for (var i = 0; i < a.length && i < b.length; i++) {\r\n if (a[i] === b[i]) {\r\n continue;\r\n }\r\n return false;\r\n }\r\n return true;\r\n }\r\n function merge(models, state) {\r\n models.forEach(function (model) {\r\n state.entities[selectId(model)] = model;\r\n });\r\n resortEntities(state);\r\n }\r\n function resortEntities(state) {\r\n var allEntities = Object.values(state.entities);\r\n allEntities.sort(sort);\r\n var newSortedIds = allEntities.map(selectId);\r\n var ids = state.ids;\r\n if (!areArraysEqual(ids, newSortedIds)) {\r\n state.ids = newSortedIds;\r\n }\r\n }\r\n return {\r\n removeOne: removeOne,\r\n removeMany: removeMany,\r\n removeAll: removeAll,\r\n addOne: createStateOperator(addOneMutably),\r\n updateOne: createStateOperator(updateOneMutably),\r\n upsertOne: createStateOperator(upsertOneMutably),\r\n setOne: createStateOperator(setOneMutably),\r\n setMany: createStateOperator(setManyMutably),\r\n setAll: createStateOperator(setAllMutably),\r\n addMany: createStateOperator(addManyMutably),\r\n updateMany: createStateOperator(updateManyMutably),\r\n upsertMany: createStateOperator(upsertManyMutably)\r\n };\r\n}\r\n// src/entities/create_adapter.ts\r\nfunction createEntityAdapter(options) {\r\n if (options === void 0) { options = {}; }\r\n var _c = __spreadValues({\r\n sortComparer: false,\r\n selectId: function (instance) { return instance.id; }\r\n }, options), selectId = _c.selectId, sortComparer = _c.sortComparer;\r\n var stateFactory = createInitialStateFactory();\r\n var selectorsFactory = createSelectorsFactory();\r\n var stateAdapter = sortComparer ? createSortedStateAdapter(selectId, sortComparer) : createUnsortedStateAdapter(selectId);\r\n return __spreadValues(__spreadValues(__spreadValues({\r\n selectId: selectId,\r\n sortComparer: sortComparer\r\n }, stateFactory), selectorsFactory), stateAdapter);\r\n}\r\n// src/nanoid.ts\r\nvar urlAlphabet = \"ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW\";\r\nvar nanoid = function (size) {\r\n if (size === void 0) { size = 21; }\r\n var id = \"\";\r\n var i = size;\r\n while (i--) {\r\n id += urlAlphabet[Math.random() * 64 | 0];\r\n }\r\n return id;\r\n};\r\n// src/createAsyncThunk.ts\r\nvar commonProperties = [\r\n \"name\",\r\n \"message\",\r\n \"stack\",\r\n \"code\"\r\n];\r\nvar RejectWithValue = /** @class */ (function () {\r\n function RejectWithValue(payload, meta) {\r\n this.payload = payload;\r\n this.meta = meta;\r\n }\r\n return RejectWithValue;\r\n}());\r\nvar FulfillWithMeta = /** @class */ (function () {\r\n function FulfillWithMeta(payload, meta) {\r\n this.payload = payload;\r\n this.meta = meta;\r\n }\r\n return FulfillWithMeta;\r\n}());\r\nvar miniSerializeError = function (value) {\r\n if (typeof value === \"object\" && value !== null) {\r\n var simpleError = {};\r\n for (var _i = 0, commonProperties_1 = commonProperties; _i < commonProperties_1.length; _i++) {\r\n var property = commonProperties_1[_i];\r\n if (typeof value[property] === \"string\") {\r\n simpleError[property] = value[property];\r\n }\r\n }\r\n return simpleError;\r\n }\r\n return { message: String(value) };\r\n};\r\nvar createAsyncThunk = (function () {\r\n function createAsyncThunk2(typePrefix, payloadCreator, options) {\r\n var fulfilled = createAction(typePrefix + \"/fulfilled\", function (payload, requestId, arg, meta) { return ({\r\n payload: payload,\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n requestStatus: \"fulfilled\"\r\n })\r\n }); });\r\n var pending = createAction(typePrefix + \"/pending\", function (requestId, arg, meta) { return ({\r\n payload: void 0,\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n requestStatus: \"pending\"\r\n })\r\n }); });\r\n var rejected = createAction(typePrefix + \"/rejected\", function (error, requestId, arg, payload, meta) { return ({\r\n payload: payload,\r\n error: (options && options.serializeError || miniSerializeError)(error || \"Rejected\"),\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n rejectedWithValue: !!payload,\r\n requestStatus: \"rejected\",\r\n aborted: (error == null ? void 0 : error.name) === \"AbortError\",\r\n condition: (error == null ? void 0 : error.name) === \"ConditionError\"\r\n })\r\n }); });\r\n var displayedWarning = false;\r\n var AC = typeof AbortController !== \"undefined\" ? AbortController : /** @class */ (function () {\r\n function class_1() {\r\n this.signal = {\r\n aborted: false,\r\n addEventListener: function () {\r\n },\r\n dispatchEvent: function () {\r\n return false;\r\n },\r\n onabort: function () {\r\n },\r\n removeEventListener: function () {\r\n },\r\n reason: void 0,\r\n throwIfAborted: function () {\r\n }\r\n };\r\n }\r\n class_1.prototype.abort = function () {\r\n if (true) {\r\n if (!displayedWarning) {\r\n displayedWarning = true;\r\n console.info(\"This platform does not implement AbortController. \\nIf you want to use the AbortController to react to `abort` events, please consider importing a polyfill like 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'.\");\r\n }\r\n }\r\n };\r\n return class_1;\r\n }());\r\n function actionCreator(arg) {\r\n return function (dispatch, getState, extra) {\r\n var requestId = (options == null ? void 0 : options.idGenerator) ? options.idGenerator(arg) : nanoid();\r\n var abortController = new AC();\r\n var abortReason;\r\n var started = false;\r\n function abort(reason) {\r\n abortReason = reason;\r\n abortController.abort();\r\n }\r\n var promise2 = function () {\r\n return __async(this, null, function () {\r\n var _a, _b, finalAction, conditionResult, abortedPromise, err_1, skipDispatch;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n _c.trys.push([0, 4, , 5]);\r\n conditionResult = (_a = options == null ? void 0 : options.condition) == null ? void 0 : _a.call(options, arg, { getState: getState, extra: extra });\r\n if (!isThenable(conditionResult)) return [3 /*break*/, 2];\r\n return [4 /*yield*/, conditionResult];\r\n case 1:\r\n conditionResult = _c.sent();\r\n _c.label = 2;\r\n case 2:\r\n if (conditionResult === false || abortController.signal.aborted) {\r\n throw {\r\n name: \"ConditionError\",\r\n message: \"Aborted due to condition callback returning false.\"\r\n };\r\n }\r\n started = true;\r\n abortedPromise = new Promise(function (_, reject) { return abortController.signal.addEventListener(\"abort\", function () { return reject({\r\n name: \"AbortError\",\r\n message: abortReason || \"Aborted\"\r\n }); }); });\r\n dispatch(pending(requestId, arg, (_b = options == null ? void 0 : options.getPendingMeta) == null ? void 0 : _b.call(options, { requestId: requestId, arg: arg }, { getState: getState, extra: extra })));\r\n return [4 /*yield*/, Promise.race([\r\n abortedPromise,\r\n Promise.resolve(payloadCreator(arg, {\r\n dispatch: dispatch,\r\n getState: getState,\r\n extra: extra,\r\n requestId: requestId,\r\n signal: abortController.signal,\r\n abort: abort,\r\n rejectWithValue: function (value, meta) {\r\n return new RejectWithValue(value, meta);\r\n },\r\n fulfillWithValue: function (value, meta) {\r\n return new FulfillWithMeta(value, meta);\r\n }\r\n })).then(function (result) {\r\n if (result instanceof RejectWithValue) {\r\n throw result;\r\n }\r\n if (result instanceof FulfillWithMeta) {\r\n return fulfilled(result.payload, requestId, arg, result.meta);\r\n }\r\n return fulfilled(result, requestId, arg);\r\n })\r\n ])];\r\n case 3:\r\n finalAction = _c.sent();\r\n return [3 /*break*/, 5];\r\n case 4:\r\n err_1 = _c.sent();\r\n finalAction = err_1 instanceof RejectWithValue ? rejected(null, requestId, arg, err_1.payload, err_1.meta) : rejected(err_1, requestId, arg);\r\n return [3 /*break*/, 5];\r\n case 5:\r\n skipDispatch = options && !options.dispatchConditionRejection && rejected.match(finalAction) && finalAction.meta.condition;\r\n if (!skipDispatch) {\r\n dispatch(finalAction);\r\n }\r\n return [2 /*return*/, finalAction];\r\n }\r\n });\r\n });\r\n }();\r\n return Object.assign(promise2, {\r\n abort: abort,\r\n requestId: requestId,\r\n arg: arg,\r\n unwrap: function () {\r\n return promise2.then(unwrapResult);\r\n }\r\n });\r\n };\r\n }\r\n return Object.assign(actionCreator, {\r\n pending: pending,\r\n rejected: rejected,\r\n fulfilled: fulfilled,\r\n typePrefix: typePrefix\r\n });\r\n }\r\n createAsyncThunk2.withTypes = function () { return createAsyncThunk2; };\r\n return createAsyncThunk2;\r\n})();\r\nfunction unwrapResult(action) {\r\n if (action.meta && action.meta.rejectedWithValue) {\r\n throw action.payload;\r\n }\r\n if (action.error) {\r\n throw action.error;\r\n }\r\n return action.payload;\r\n}\r\nfunction isThenable(value) {\r\n return value !== null && typeof value === \"object\" && typeof value.then === \"function\";\r\n}\r\n// src/matchers.ts\r\nvar matches = function (matcher, action) {\r\n if (hasMatchFunction(matcher)) {\r\n return matcher.match(action);\r\n }\r\n else {\r\n return matcher(action);\r\n }\r\n};\r\nfunction isAnyOf() {\r\n var matchers = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n matchers[_i] = arguments[_i];\r\n }\r\n return function (action) {\r\n return matchers.some(function (matcher) { return matches(matcher, action); });\r\n };\r\n}\r\nfunction isAllOf() {\r\n var matchers = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n matchers[_i] = arguments[_i];\r\n }\r\n return function (action) {\r\n return matchers.every(function (matcher) { return matches(matcher, action); });\r\n };\r\n}\r\nfunction hasExpectedRequestMetadata(action, validStatus) {\r\n if (!action || !action.meta)\r\n return false;\r\n var hasValidRequestId = typeof action.meta.requestId === \"string\";\r\n var hasValidRequestStatus = validStatus.indexOf(action.meta.requestStatus) > -1;\r\n return hasValidRequestId && hasValidRequestStatus;\r\n}\r\nfunction isAsyncThunkArray(a) {\r\n return typeof a[0] === \"function\" && \"pending\" in a[0] && \"fulfilled\" in a[0] && \"rejected\" in a[0];\r\n}\r\nfunction isPending() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"pending\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isPending()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.pending; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isRejected() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"rejected\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isRejected()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.rejected; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isRejectedWithValue() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n var hasFlag = function (action) {\r\n return action && action.meta && action.meta.rejectedWithValue;\r\n };\r\n if (asyncThunks.length === 0) {\r\n return function (action) {\r\n var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);\r\n return combinedMatcher(action);\r\n };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isRejectedWithValue()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isFulfilled() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"fulfilled\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isFulfilled()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.fulfilled; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isAsyncThunkAction() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"pending\", \"fulfilled\", \"rejected\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isAsyncThunkAction()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = [];\r\n for (var _i = 0, asyncThunks_1 = asyncThunks; _i < asyncThunks_1.length; _i++) {\r\n var asyncThunk = asyncThunks_1[_i];\r\n matchers.push(asyncThunk.pending, asyncThunk.rejected, asyncThunk.fulfilled);\r\n }\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\n// src/listenerMiddleware/utils.ts\r\nvar assertFunction = function (func, expected) {\r\n if (typeof func !== \"function\") {\r\n throw new TypeError(expected + \" is not a function\");\r\n }\r\n};\r\nvar noop = function () {\r\n};\r\nvar catchRejection = function (promise2, onError) {\r\n if (onError === void 0) { onError = noop; }\r\n promise2.catch(onError);\r\n return promise2;\r\n};\r\nvar addAbortSignalListener = function (abortSignal, callback) {\r\n abortSignal.addEventListener(\"abort\", callback, { once: true });\r\n return function () { return abortSignal.removeEventListener(\"abort\", callback); };\r\n};\r\nvar abortControllerWithReason = function (abortController, reason) {\r\n var signal = abortController.signal;\r\n if (signal.aborted) {\r\n return;\r\n }\r\n if (!(\"reason\" in signal)) {\r\n Object.defineProperty(signal, \"reason\", {\r\n enumerable: true,\r\n value: reason,\r\n configurable: true,\r\n writable: true\r\n });\r\n }\r\n ;\r\n abortController.abort(reason);\r\n};\r\n// src/listenerMiddleware/exceptions.ts\r\nvar task = \"task\";\r\nvar listener = \"listener\";\r\nvar completed = \"completed\";\r\nvar cancelled = \"cancelled\";\r\nvar taskCancelled = \"task-\" + cancelled;\r\nvar taskCompleted = \"task-\" + completed;\r\nvar listenerCancelled = listener + \"-\" + cancelled;\r\nvar listenerCompleted = listener + \"-\" + completed;\r\nvar TaskAbortError = /** @class */ (function () {\r\n function TaskAbortError(code) {\r\n this.code = code;\r\n this.name = \"TaskAbortError\";\r\n this.message = task + \" \" + cancelled + \" (reason: \" + code + \")\";\r\n }\r\n return TaskAbortError;\r\n}());\r\n// src/listenerMiddleware/task.ts\r\nvar validateActive = function (signal) {\r\n if (signal.aborted) {\r\n throw new TaskAbortError(signal.reason);\r\n }\r\n};\r\nfunction raceWithSignal(signal, promise2) {\r\n var cleanup = noop;\r\n return new Promise(function (resolve, reject) {\r\n var notifyRejection = function () { return reject(new TaskAbortError(signal.reason)); };\r\n if (signal.aborted) {\r\n notifyRejection();\r\n return;\r\n }\r\n cleanup = addAbortSignalListener(signal, notifyRejection);\r\n promise2.finally(function () { return cleanup(); }).then(resolve, reject);\r\n }).finally(function () {\r\n cleanup = noop;\r\n });\r\n}\r\nvar runTask = function (task2, cleanUp) { return __async(void 0, null, function () {\r\n var value, error_1;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n _c.trys.push([0, 3, 4, 5]);\r\n return [4 /*yield*/, Promise.resolve()];\r\n case 1:\r\n _c.sent();\r\n return [4 /*yield*/, task2()];\r\n case 2:\r\n value = _c.sent();\r\n return [2 /*return*/, {\r\n status: \"ok\",\r\n value: value\r\n }];\r\n case 3:\r\n error_1 = _c.sent();\r\n return [2 /*return*/, {\r\n status: error_1 instanceof TaskAbortError ? \"cancelled\" : \"rejected\",\r\n error: error_1\r\n }];\r\n case 4:\r\n cleanUp == null ? void 0 : cleanUp();\r\n return [7 /*endfinally*/];\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n}); };\r\nvar createPause = function (signal) {\r\n return function (promise2) {\r\n return catchRejection(raceWithSignal(signal, promise2).then(function (output) {\r\n validateActive(signal);\r\n return output;\r\n }));\r\n };\r\n};\r\nvar createDelay = function (signal) {\r\n var pause = createPause(signal);\r\n return function (timeoutMs) {\r\n return pause(new Promise(function (resolve) { return setTimeout(resolve, timeoutMs); }));\r\n };\r\n};\r\n// src/listenerMiddleware/index.ts\r\nvar assign = Object.assign;\r\nvar INTERNAL_NIL_TOKEN = {};\r\nvar alm = \"listenerMiddleware\";\r\nvar createFork = function (parentAbortSignal, parentBlockingPromises) {\r\n var linkControllers = function (controller) { return addAbortSignalListener(parentAbortSignal, function () { return abortControllerWithReason(controller, parentAbortSignal.reason); }); };\r\n return function (taskExecutor, opts) {\r\n assertFunction(taskExecutor, \"taskExecutor\");\r\n var childAbortController = new AbortController();\r\n linkControllers(childAbortController);\r\n var result = runTask(function () { return __async(void 0, null, function () {\r\n var result2;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n validateActive(parentAbortSignal);\r\n validateActive(childAbortController.signal);\r\n return [4 /*yield*/, taskExecutor({\r\n pause: createPause(childAbortController.signal),\r\n delay: createDelay(childAbortController.signal),\r\n signal: childAbortController.signal\r\n })];\r\n case 1:\r\n result2 = _c.sent();\r\n validateActive(childAbortController.signal);\r\n return [2 /*return*/, result2];\r\n }\r\n });\r\n }); }, function () { return abortControllerWithReason(childAbortController, taskCompleted); });\r\n if (opts == null ? void 0 : opts.autoJoin) {\r\n parentBlockingPromises.push(result);\r\n }\r\n return {\r\n result: createPause(parentAbortSignal)(result),\r\n cancel: function () {\r\n abortControllerWithReason(childAbortController, taskCancelled);\r\n }\r\n };\r\n };\r\n};\r\nvar createTakePattern = function (startListening, signal) {\r\n var take = function (predicate, timeout) { return __async(void 0, null, function () {\r\n var unsubscribe, tuplePromise, promises, output;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n validateActive(signal);\r\n unsubscribe = function () {\r\n };\r\n tuplePromise = new Promise(function (resolve, reject) {\r\n var stopListening = startListening({\r\n predicate: predicate,\r\n effect: function (action, listenerApi) {\r\n listenerApi.unsubscribe();\r\n resolve([\r\n action,\r\n listenerApi.getState(),\r\n listenerApi.getOriginalState()\r\n ]);\r\n }\r\n });\r\n unsubscribe = function () {\r\n stopListening();\r\n reject();\r\n };\r\n });\r\n promises = [\r\n tuplePromise\r\n ];\r\n if (timeout != null) {\r\n promises.push(new Promise(function (resolve) { return setTimeout(resolve, timeout, null); }));\r\n }\r\n _c.label = 1;\r\n case 1:\r\n _c.trys.push([1, , 3, 4]);\r\n return [4 /*yield*/, raceWithSignal(signal, Promise.race(promises))];\r\n case 2:\r\n output = _c.sent();\r\n validateActive(signal);\r\n return [2 /*return*/, output];\r\n case 3:\r\n unsubscribe();\r\n return [7 /*endfinally*/];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n }); };\r\n return function (predicate, timeout) { return catchRejection(take(predicate, timeout)); };\r\n};\r\nvar getListenerEntryPropsFrom = function (options) {\r\n var type = options.type, actionCreator = options.actionCreator, matcher = options.matcher, predicate = options.predicate, effect = options.effect;\r\n if (type) {\r\n predicate = createAction(type).match;\r\n }\r\n else if (actionCreator) {\r\n type = actionCreator.type;\r\n predicate = actionCreator.match;\r\n }\r\n else if (matcher) {\r\n predicate = matcher;\r\n }\r\n else if (predicate) {\r\n }\r\n else {\r\n throw new Error(\"Creating or removing a listener requires one of the known fields for matching an action\");\r\n }\r\n assertFunction(effect, \"options.listener\");\r\n return { predicate: predicate, type: type, effect: effect };\r\n};\r\nvar createListenerEntry = function (options) {\r\n var _c = getListenerEntryPropsFrom(options), type = _c.type, predicate = _c.predicate, effect = _c.effect;\r\n var id = nanoid();\r\n var entry = {\r\n id: id,\r\n effect: effect,\r\n type: type,\r\n predicate: predicate,\r\n pending: new Set(),\r\n unsubscribe: function () {\r\n throw new Error(\"Unsubscribe not initialized\");\r\n }\r\n };\r\n return entry;\r\n};\r\nvar cancelActiveListeners = function (entry) {\r\n entry.pending.forEach(function (controller) {\r\n abortControllerWithReason(controller, listenerCancelled);\r\n });\r\n};\r\nvar createClearListenerMiddleware = function (listenerMap) {\r\n return function () {\r\n listenerMap.forEach(cancelActiveListeners);\r\n listenerMap.clear();\r\n };\r\n};\r\nvar safelyNotifyError = function (errorHandler, errorToNotify, errorInfo) {\r\n try {\r\n errorHandler(errorToNotify, errorInfo);\r\n }\r\n catch (errorHandlerError) {\r\n setTimeout(function () {\r\n throw errorHandlerError;\r\n }, 0);\r\n }\r\n};\r\nvar addListener = createAction(alm + \"/add\");\r\nvar clearAllListeners = createAction(alm + \"/removeAll\");\r\nvar removeListener = createAction(alm + \"/remove\");\r\nvar defaultErrorHandler = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n console.error.apply(console, __spreadArray([alm + \"/error\"], args));\r\n};\r\nfunction createListenerMiddleware(middlewareOptions) {\r\n var _this = this;\r\n if (middlewareOptions === void 0) { middlewareOptions = {}; }\r\n var listenerMap = new Map();\r\n var extra = middlewareOptions.extra, _c = middlewareOptions.onError, onError = _c === void 0 ? defaultErrorHandler : _c;\r\n assertFunction(onError, \"onError\");\r\n var insertEntry = function (entry) {\r\n entry.unsubscribe = function () { return listenerMap.delete(entry.id); };\r\n listenerMap.set(entry.id, entry);\r\n return function (cancelOptions) {\r\n entry.unsubscribe();\r\n if (cancelOptions == null ? void 0 : cancelOptions.cancelActive) {\r\n cancelActiveListeners(entry);\r\n }\r\n };\r\n };\r\n var findListenerEntry = function (comparator) {\r\n for (var _i = 0, _c = Array.from(listenerMap.values()); _i < _c.length; _i++) {\r\n var entry = _c[_i];\r\n if (comparator(entry)) {\r\n return entry;\r\n }\r\n }\r\n return void 0;\r\n };\r\n var startListening = function (options) {\r\n var entry = findListenerEntry(function (existingEntry) { return existingEntry.effect === options.effect; });\r\n if (!entry) {\r\n entry = createListenerEntry(options);\r\n }\r\n return insertEntry(entry);\r\n };\r\n var stopListening = function (options) {\r\n var _c = getListenerEntryPropsFrom(options), type = _c.type, effect = _c.effect, predicate = _c.predicate;\r\n var entry = findListenerEntry(function (entry2) {\r\n var matchPredicateOrType = typeof type === \"string\" ? entry2.type === type : entry2.predicate === predicate;\r\n return matchPredicateOrType && entry2.effect === effect;\r\n });\r\n if (entry) {\r\n entry.unsubscribe();\r\n if (options.cancelActive) {\r\n cancelActiveListeners(entry);\r\n }\r\n }\r\n return !!entry;\r\n };\r\n var notifyListener = function (entry, action, api, getOriginalState) { return __async(_this, null, function () {\r\n var internalTaskController, take, autoJoinPromises, listenerError_1;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n internalTaskController = new AbortController();\r\n take = createTakePattern(startListening, internalTaskController.signal);\r\n autoJoinPromises = [];\r\n _c.label = 1;\r\n case 1:\r\n _c.trys.push([1, 3, 4, 6]);\r\n entry.pending.add(internalTaskController);\r\n return [4 /*yield*/, Promise.resolve(entry.effect(action, assign({}, api, {\r\n getOriginalState: getOriginalState,\r\n condition: function (predicate, timeout) { return take(predicate, timeout).then(Boolean); },\r\n take: take,\r\n delay: createDelay(internalTaskController.signal),\r\n pause: createPause(internalTaskController.signal),\r\n extra: extra,\r\n signal: internalTaskController.signal,\r\n fork: createFork(internalTaskController.signal, autoJoinPromises),\r\n unsubscribe: entry.unsubscribe,\r\n subscribe: function () {\r\n listenerMap.set(entry.id, entry);\r\n },\r\n cancelActiveListeners: function () {\r\n entry.pending.forEach(function (controller, _, set) {\r\n if (controller !== internalTaskController) {\r\n abortControllerWithReason(controller, listenerCancelled);\r\n set.delete(controller);\r\n }\r\n });\r\n }\r\n })))];\r\n case 2:\r\n _c.sent();\r\n return [3 /*break*/, 6];\r\n case 3:\r\n listenerError_1 = _c.sent();\r\n if (!(listenerError_1 instanceof TaskAbortError)) {\r\n safelyNotifyError(onError, listenerError_1, {\r\n raisedBy: \"effect\"\r\n });\r\n }\r\n return [3 /*break*/, 6];\r\n case 4: return [4 /*yield*/, Promise.allSettled(autoJoinPromises)];\r\n case 5:\r\n _c.sent();\r\n abortControllerWithReason(internalTaskController, listenerCompleted);\r\n entry.pending.delete(internalTaskController);\r\n return [7 /*endfinally*/];\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n }); };\r\n var clearListenerMiddleware = createClearListenerMiddleware(listenerMap);\r\n var middleware = function (api) { return function (next) { return function (action) {\r\n if (!isAction(action)) {\r\n return next(action);\r\n }\r\n if (addListener.match(action)) {\r\n return startListening(action.payload);\r\n }\r\n if (clearAllListeners.match(action)) {\r\n clearListenerMiddleware();\r\n return;\r\n }\r\n if (removeListener.match(action)) {\r\n return stopListening(action.payload);\r\n }\r\n var originalState = api.getState();\r\n var getOriginalState = function () {\r\n if (originalState === INTERNAL_NIL_TOKEN) {\r\n throw new Error(alm + \": getOriginalState can only be called synchronously\");\r\n }\r\n return originalState;\r\n };\r\n var result;\r\n try {\r\n result = next(action);\r\n if (listenerMap.size > 0) {\r\n var currentState = api.getState();\r\n var listenerEntries = Array.from(listenerMap.values());\r\n for (var _i = 0, listenerEntries_1 = listenerEntries; _i < listenerEntries_1.length; _i++) {\r\n var entry = listenerEntries_1[_i];\r\n var runListener = false;\r\n try {\r\n runListener = entry.predicate(action, currentState, originalState);\r\n }\r\n catch (predicateError) {\r\n runListener = false;\r\n safelyNotifyError(onError, predicateError, {\r\n raisedBy: \"predicate\"\r\n });\r\n }\r\n if (!runListener) {\r\n continue;\r\n }\r\n notifyListener(entry, action, api, getOriginalState);\r\n }\r\n }\r\n }\r\n finally {\r\n originalState = INTERNAL_NIL_TOKEN;\r\n }\r\n return result;\r\n }; }; };\r\n return {\r\n middleware: middleware,\r\n startListening: startListening,\r\n stopListening: stopListening,\r\n clearListeners: clearListenerMiddleware\r\n };\r\n}\r\n// src/autoBatchEnhancer.ts\r\nvar SHOULD_AUTOBATCH = \"RTK_autoBatch\";\r\nvar prepareAutoBatched = function () { return function (payload) {\r\n var _c;\r\n return ({\r\n payload: payload,\r\n meta: (_c = {}, _c[SHOULD_AUTOBATCH] = true, _c)\r\n });\r\n}; };\r\nvar promise;\r\nvar queueMicrotaskShim = typeof queueMicrotask === \"function\" ? queueMicrotask.bind(typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : globalThis) : function (cb) { return (promise || (promise = Promise.resolve())).then(cb).catch(function (err) { return setTimeout(function () {\r\n throw err;\r\n}, 0); }); };\r\nvar createQueueWithTimer = function (timeout) {\r\n return function (notify) {\r\n setTimeout(notify, timeout);\r\n };\r\n};\r\nvar rAF = typeof window !== \"undefined\" && window.requestAnimationFrame ? window.requestAnimationFrame : createQueueWithTimer(10);\r\nvar autoBatchEnhancer = function (options) {\r\n if (options === void 0) { options = { type: \"raf\" }; }\r\n return function (next) { return function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var store = next.apply(void 0, args);\r\n var notifying = true;\r\n var shouldNotifyAtEndOfTick = false;\r\n var notificationQueued = false;\r\n var listeners = new Set();\r\n var queueCallback = options.type === \"tick\" ? queueMicrotaskShim : options.type === \"raf\" ? rAF : options.type === \"callback\" ? options.queueNotification : createQueueWithTimer(options.timeout);\r\n var notifyListeners = function () {\r\n notificationQueued = false;\r\n if (shouldNotifyAtEndOfTick) {\r\n shouldNotifyAtEndOfTick = false;\r\n listeners.forEach(function (l) { return l(); });\r\n }\r\n };\r\n return Object.assign({}, store, {\r\n subscribe: function (listener2) {\r\n var wrappedListener = function () { return notifying && listener2(); };\r\n var unsubscribe = store.subscribe(wrappedListener);\r\n listeners.add(listener2);\r\n return function () {\r\n unsubscribe();\r\n listeners.delete(listener2);\r\n };\r\n },\r\n dispatch: function (action) {\r\n var _a;\r\n try {\r\n notifying = !((_a = action == null ? void 0 : action.meta) == null ? void 0 : _a[SHOULD_AUTOBATCH]);\r\n shouldNotifyAtEndOfTick = !notifying;\r\n if (shouldNotifyAtEndOfTick) {\r\n if (!notificationQueued) {\r\n notificationQueued = true;\r\n queueCallback(notifyListeners);\r\n }\r\n }\r\n return store.dispatch(action);\r\n }\r\n finally {\r\n notifying = true;\r\n }\r\n }\r\n });\r\n }; };\r\n};\r\n// src/index.ts\r\n(0,immer__WEBPACK_IMPORTED_MODULE_2__.enableES5)();\r\n\r\n//# sourceMappingURL=redux-toolkit.esm.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js?"); - -/***/ }), - -/***/ "./node_modules/@remix-run/router/dist/router.js": -/*!*******************************************************!*\ - !*** ./node_modules/@remix-run/router/dist/router.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbortedDeferredError: () => (/* binding */ AbortedDeferredError),\n/* harmony export */ Action: () => (/* binding */ Action),\n/* harmony export */ IDLE_BLOCKER: () => (/* binding */ IDLE_BLOCKER),\n/* harmony export */ IDLE_FETCHER: () => (/* binding */ IDLE_FETCHER),\n/* harmony export */ IDLE_NAVIGATION: () => (/* binding */ IDLE_NAVIGATION),\n/* harmony export */ UNSAFE_DEFERRED_SYMBOL: () => (/* binding */ UNSAFE_DEFERRED_SYMBOL),\n/* harmony export */ UNSAFE_DeferredData: () => (/* binding */ DeferredData),\n/* harmony export */ UNSAFE_ErrorResponseImpl: () => (/* binding */ ErrorResponseImpl),\n/* harmony export */ UNSAFE_convertRouteMatchToUiMatch: () => (/* binding */ convertRouteMatchToUiMatch),\n/* harmony export */ UNSAFE_convertRoutesToDataRoutes: () => (/* binding */ convertRoutesToDataRoutes),\n/* harmony export */ UNSAFE_getPathContributingMatches: () => (/* binding */ getPathContributingMatches),\n/* harmony export */ UNSAFE_invariant: () => (/* binding */ invariant),\n/* harmony export */ UNSAFE_warning: () => (/* binding */ warning),\n/* harmony export */ createBrowserHistory: () => (/* binding */ createBrowserHistory),\n/* harmony export */ createHashHistory: () => (/* binding */ createHashHistory),\n/* harmony export */ createMemoryHistory: () => (/* binding */ createMemoryHistory),\n/* harmony export */ createPath: () => (/* binding */ createPath),\n/* harmony export */ createRouter: () => (/* binding */ createRouter),\n/* harmony export */ createStaticHandler: () => (/* binding */ createStaticHandler),\n/* harmony export */ defer: () => (/* binding */ defer),\n/* harmony export */ generatePath: () => (/* binding */ generatePath),\n/* harmony export */ getStaticContextFromError: () => (/* binding */ getStaticContextFromError),\n/* harmony export */ getToPathname: () => (/* binding */ getToPathname),\n/* harmony export */ isDeferredData: () => (/* binding */ isDeferredData),\n/* harmony export */ isRouteErrorResponse: () => (/* binding */ isRouteErrorResponse),\n/* harmony export */ joinPaths: () => (/* binding */ joinPaths),\n/* harmony export */ json: () => (/* binding */ json),\n/* harmony export */ matchPath: () => (/* binding */ matchPath),\n/* harmony export */ matchRoutes: () => (/* binding */ matchRoutes),\n/* harmony export */ normalizePathname: () => (/* binding */ normalizePathname),\n/* harmony export */ parsePath: () => (/* binding */ parsePath),\n/* harmony export */ redirect: () => (/* binding */ redirect),\n/* harmony export */ redirectDocument: () => (/* binding */ redirectDocument),\n/* harmony export */ resolvePath: () => (/* binding */ resolvePath),\n/* harmony export */ resolveTo: () => (/* binding */ resolveTo),\n/* harmony export */ stripBasename: () => (/* binding */ stripBasename)\n/* harmony export */ });\n/**\n * @remix-run/router v1.11.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Actions represent the type of change to a location value.\n */\nvar Action;\n(function (Action) {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Action[\"Pop\"] = \"POP\";\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Action[\"Push\"] = \"PUSH\";\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\nconst PopStateEventType = \"popstate\";\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nfunction createMemoryHistory(options) {\n if (options === void 0) {\n options = {};\n }\n let {\n initialEntries = [\"/\"],\n initialIndex,\n v5Compat = false\n } = options;\n let entries; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) => createMemoryLocation(entry, typeof entry === \"string\" ? null : entry.state, index === 0 ? \"default\" : undefined));\n let index = clampIndex(initialIndex == null ? entries.length - 1 : initialIndex);\n let action = Action.Pop;\n let listener = null;\n function clampIndex(n) {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation() {\n return entries[index];\n }\n function createMemoryLocation(to, state, key) {\n if (state === void 0) {\n state = null;\n }\n let location = createLocation(entries ? getCurrentLocation().pathname : \"/\", to, state, key);\n warning(location.pathname.charAt(0) === \"/\", \"relative pathnames are not supported in memory history: \" + JSON.stringify(to));\n return location;\n }\n function createHref(to) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n let history = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\"\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({\n action,\n location: nextLocation,\n delta: 1\n });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({\n action,\n location: nextLocation,\n delta: 0\n });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({\n action,\n location: nextLocation,\n delta\n });\n }\n },\n listen(fn) {\n listener = fn;\n return () => {\n listener = null;\n };\n }\n };\n return history;\n}\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nfunction createBrowserHistory(options) {\n if (options === void 0) {\n options = {};\n }\n function createBrowserLocation(window, globalHistory) {\n let {\n pathname,\n search,\n hash\n } = window.location;\n return createLocation(\"\", {\n pathname,\n search,\n hash\n },\n // state defaults to `null` because `window.history.state` does\n globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\");\n }\n function createBrowserHref(window, to) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n return getUrlBasedHistory(createBrowserLocation, createBrowserHref, null, options);\n}\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nfunction createHashHistory(options) {\n if (options === void 0) {\n options = {};\n }\n function createHashLocation(window, globalHistory) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\"\n } = parsePath(window.location.hash.substr(1));\n // Hash URL should always have a leading / just like window.location.pathname\n // does, so if an app ends up at a route like /#something then we add a\n // leading slash so all of our path-matching behaves the same as if it would\n // in a browser router. This is particularly important when there exists a\n // root splat route () since that matches internally against\n // \"/*\" and we'd expect /#something to 404 in a hash router app.\n if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n pathname = \"/\" + pathname;\n }\n return createLocation(\"\", {\n pathname,\n search,\n hash\n },\n // state defaults to `null` because `window.history.state` does\n globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\");\n }\n function createHashHref(window, to) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n function validateHashLocation(location, to) {\n warning(location.pathname.charAt(0) === \"/\", \"relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\");\n }\n return getUrlBasedHistory(createHashLocation, createHashHref, validateHashLocation, options);\n}\nfunction invariant(value, message) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience, so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location, index) {\n return {\n usr: location.state,\n key: location.key,\n idx: index\n };\n}\n/**\n * Creates a Location object with a unique key from the given Path\n */\nfunction createLocation(current, to, state, key) {\n if (state === void 0) {\n state = null;\n }\n let location = _extends({\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\"\n }, typeof to === \"string\" ? parsePath(to) : to, {\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: to && to.key || key || createKey()\n });\n return location;\n}\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nfunction createPath(_ref) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\"\n } = _ref;\n if (search && search !== \"?\") pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\") pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nfunction parsePath(path) {\n let parsedPath = {};\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n if (path) {\n parsedPath.pathname = path;\n }\n }\n return parsedPath;\n}\nfunction getUrlBasedHistory(getLocation, createHref, validateLocation, options) {\n if (options === void 0) {\n options = {};\n }\n let {\n window = document.defaultView,\n v5Compat = false\n } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener = null;\n let index = getIndex();\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), \"\");\n }\n function getIndex() {\n let state = globalHistory.state || {\n idx: null\n };\n return state.idx;\n }\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({\n action,\n location: history.location,\n delta\n });\n }\n }\n function push(to, state) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // If the exception is because `state` can't be serialized, let that throw\n // outwards just like a replace call would so the dev knows the cause\n // https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps\n // https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal\n if (error instanceof DOMException && error.name === \"DataCloneError\") {\n throw error;\n }\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n if (v5Compat && listener) {\n listener({\n action,\n location: history.location,\n delta: 1\n });\n }\n }\n function replace(to, state) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n if (v5Compat && listener) {\n listener({\n action,\n location: history.location,\n delta: 0\n });\n }\n }\n function createURL(to) {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base = window.location.origin !== \"null\" ? window.location.origin : window.location.href;\n let href = typeof to === \"string\" ? to : createPath(to);\n invariant(base, \"No window.location.(origin|href) available to create URL for href: \" + href);\n return new URL(href, base);\n }\n let history = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n }\n };\n return history;\n}\n//#endregion\n\nvar ResultType;\n(function (ResultType) {\n ResultType[\"data\"] = \"data\";\n ResultType[\"deferred\"] = \"deferred\";\n ResultType[\"redirect\"] = \"redirect\";\n ResultType[\"error\"] = \"error\";\n})(ResultType || (ResultType = {}));\nconst immutableRouteKeys = new Set([\"lazy\", \"caseSensitive\", \"path\", \"id\", \"index\", \"children\"]);\nfunction isIndexRoute(route) {\n return route.index === true;\n}\n// Walk the route tree generating unique IDs where necessary, so we are working\n// solely with AgnosticDataRouteObject's within the Router\nfunction convertRoutesToDataRoutes(routes, mapRouteProperties, parentPath, manifest) {\n if (parentPath === void 0) {\n parentPath = [];\n }\n if (manifest === void 0) {\n manifest = {};\n }\n return routes.map((route, index) => {\n let treePath = [...parentPath, index];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(route.index !== true || !route.children, \"Cannot specify children on an index route\");\n invariant(!manifest[id], \"Found a route id collision on id \\\"\" + id + \"\\\". Route \" + \"id's must be globally unique within Data Router usages\");\n if (isIndexRoute(route)) {\n let indexRoute = _extends({}, route, mapRouteProperties(route), {\n id\n });\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute = _extends({}, route, mapRouteProperties(route), {\n id,\n children: undefined\n });\n manifest[id] = pathOrLayoutRoute;\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(route.children, mapRouteProperties, treePath, manifest);\n }\n return pathOrLayoutRoute;\n }\n });\n}\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/utils/match-routes\n */\nfunction matchRoutes(routes, locationArg, basename) {\n if (basename === void 0) {\n basename = \"/\";\n }\n let location = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n let pathname = stripBasename(location.pathname || \"/\", basename);\n if (pathname == null) {\n return null;\n }\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i],\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n safelyDecodeURI(pathname));\n }\n return matches;\n}\nfunction convertRouteMatchToUiMatch(match, loaderData) {\n let {\n route,\n pathname,\n params\n } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id],\n handle: route.handle\n };\n}\nfunction flattenRoutes(routes, branches, parentsMeta, parentPath) {\n if (branches === void 0) {\n branches = [];\n }\n if (parentsMeta === void 0) {\n parentsMeta = [];\n }\n if (parentPath === void 0) {\n parentPath = \"\";\n }\n let flattenRoute = (route, index, relativePath) => {\n let meta = {\n relativePath: relativePath === undefined ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route\n };\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(meta.relativePath.startsWith(parentPath), \"Absolute route path \\\"\" + meta.relativePath + \"\\\" nested under path \" + (\"\\\"\" + parentPath + \"\\\" is not valid. An absolute child route path \") + \"must start with the combined path of all its parent routes.\");\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n // Add the children before adding this route to the array, so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true, \"Index routes must not have child routes. Please remove \" + (\"all child routes from route path \\\"\" + path + \"\\\".\"));\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta\n });\n };\n routes.forEach((route, index) => {\n var _route$path;\n // coarse-grain check for optional params\n if (route.path === \"\" || !((_route$path = route.path) != null && _route$path.includes(\"?\"))) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n return branches;\n}\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path) {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n let [first, ...rest] = segments;\n // Optional path segments are denoted by a trailing `?`\n let isOptional = first.endsWith(\"?\");\n // Compute the corresponding required segment: `foo?` -> `foo`\n let required = first.replace(/\\?$/, \"\");\n if (rest.length === 0) {\n // Intepret empty string as omitting an optional segment\n // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n return isOptional ? [required, \"\"] : [required];\n }\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n let result = [];\n // All child paths with the prefix. Do this for all children before the\n // optional version for all children, so we get consistent ordering where the\n // parent optional aspect is preferred as required. Otherwise, we can get\n // child sections interspersed where deeper optional segments are higher than\n // parent optional segments, where for example, /:two would explode _earlier_\n // then /:one. By always including the parent as required _for all children_\n // first, we avoid this issue\n result.push(...restExploded.map(subpath => subpath === \"\" ? required : [required, subpath].join(\"/\")));\n // Then, if this is an optional value, add all child versions without\n if (isOptional) {\n result.push(...restExploded);\n }\n // for absolute paths, ensure `/` instead of empty segment\n return result.map(exploded => path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded);\n}\nfunction rankRouteBranches(branches) {\n branches.sort((a, b) => a.score !== b.score ? b.score - a.score // Higher score first\n : compareIndexes(a.routesMeta.map(meta => meta.childrenIndex), b.routesMeta.map(meta => meta.childrenIndex)));\n}\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = s => s === \"*\";\nfunction computeScore(path, index) {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n if (index) {\n initialScore += indexRouteValue;\n }\n return segments.filter(s => !isSplat(s)).reduce((score, segment) => score + (paramRe.test(segment) ? dynamicSegmentValue : segment === \"\" ? emptySegmentValue : staticSegmentValue), initialScore);\n}\nfunction compareIndexes(a, b) {\n let siblings = a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n return siblings ?\n // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1] :\n // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\nfunction matchRouteBranch(branch, pathname) {\n let {\n routesMeta\n } = branch;\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname = matchedPathname === \"/\" ? pathname : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath({\n path: meta.relativePath,\n caseSensitive: meta.caseSensitive,\n end\n }, remainingPathname);\n if (!match) return null;\n Object.assign(matchedParams, match.params);\n let route = meta.route;\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(joinPaths([matchedPathname, match.pathnameBase])),\n route\n });\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n return matches;\n}\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/utils/generate-path\n */\nfunction generatePath(originalPath, params) {\n if (params === void 0) {\n params = {};\n }\n let path = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(false, \"Route path \\\"\" + path + \"\\\" will be treated as if it were \" + (\"\\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\" because the `*` character must \") + \"always follow a `/` in the pattern. To get rid of this warning, \" + (\"please change the route path to \\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\".\"));\n path = path.replace(/\\*$/, \"/*\");\n }\n // ensure `/` is added at the beginning if the path is absolute\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n const stringify = p => p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n const segments = path.split(/\\/+/).map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n // only apply the splat if it's the last segment\n if (isLastSegment && segment === \"*\") {\n const star = \"*\";\n // Apply the splat\n return stringify(params[star]);\n }\n const keyMatch = segment.match(/^:(\\w+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key];\n invariant(optional === \"?\" || param != null, \"Missing \\\":\" + key + \"\\\" param\");\n return stringify(param);\n }\n // Remove any optional markers from optional static segments\n return segment.replace(/\\?$/g, \"\");\n })\n // Remove empty segments\n .filter(segment => !!segment);\n return prefix + segments.join(\"/\");\n}\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/utils/match-path\n */\nfunction matchPath(pattern, pathname) {\n if (typeof pattern === \"string\") {\n pattern = {\n path: pattern,\n caseSensitive: false,\n end: true\n };\n }\n let [matcher, compiledParams] = compilePath(pattern.path, pattern.caseSensitive, pattern.end);\n let match = pathname.match(matcher);\n if (!match) return null;\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params = compiledParams.reduce((memo, _ref, index) => {\n let {\n paramName,\n isOptional\n } = _ref;\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\\/+$/, \"$1\");\n }\n const value = captureGroups[index];\n if (isOptional && !value) {\n memo[paramName] = undefined;\n } else {\n memo[paramName] = safelyDecodeURIComponent(value || \"\", paramName);\n }\n return memo;\n }, {});\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern\n };\n}\nfunction compilePath(path, caseSensitive, end) {\n if (caseSensitive === void 0) {\n caseSensitive = false;\n }\n if (end === void 0) {\n end = true;\n }\n warning(path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"), \"Route path \\\"\" + path + \"\\\" will be treated as if it were \" + (\"\\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\" because the `*` character must \") + \"always follow a `/` in the pattern. To get rid of this warning, \" + (\"please change the route path to \\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\".\"));\n let params = [];\n let regexpSource = \"^\" + path.replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^${}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/\\/:(\\w+)(\\?)?/g, (_, paramName, isOptional) => {\n params.push({\n paramName,\n isOptional: isOptional != null\n });\n return isOptional ? \"/?([^\\\\/]+)?\" : \"/([^\\\\/]+)\";\n });\n if (path.endsWith(\"*\")) {\n params.push({\n paramName: \"*\"\n });\n regexpSource += path === \"*\" || path === \"/*\" ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex, so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else ;\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n return [matcher, params];\n}\nfunction safelyDecodeURI(value) {\n try {\n return decodeURI(value);\n } catch (error) {\n warning(false, \"The URL path \\\"\" + value + \"\\\" could not be decoded because it is is a \" + \"malformed URL segment. This is probably due to a bad percent \" + (\"encoding (\" + error + \").\"));\n return value;\n }\n}\nfunction safelyDecodeURIComponent(value, paramName) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(false, \"The value for the URL param \\\"\" + paramName + \"\\\" will not be decoded because\" + (\" the string \\\"\" + value + \"\\\" is a malformed URL segment. This is probably\") + (\" due to a bad percent encoding (\" + error + \").\"));\n return value;\n }\n}\n/**\n * @private\n */\nfunction stripBasename(pathname, basename) {\n if (basename === \"/\") return pathname;\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\") ? basename.length - 1 : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n return pathname.slice(startIndex) || \"/\";\n}\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/utils/resolve-path\n */\nfunction resolvePath(to, fromPathname) {\n if (fromPathname === void 0) {\n fromPathname = \"/\";\n }\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\"\n } = typeof to === \"string\" ? parsePath(to) : to;\n let pathname = toPathname ? toPathname.startsWith(\"/\") ? toPathname : resolvePathname(toPathname, fromPathname) : fromPathname;\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash)\n };\n}\nfunction resolvePathname(relativePath, fromPathname) {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n relativeSegments.forEach(segment => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\nfunction getInvalidPathError(char, field, dest, path) {\n return \"Cannot include a '\" + char + \"' character in a manually specified \" + (\"`to.\" + field + \"` field [\" + JSON.stringify(path) + \"]. Please separate it out to the \") + (\"`to.\" + dest + \"` field. Alternatively you may provide the full path as \") + \"a string in and the router will parse it for you.\";\n}\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * \n * \n * \n *\n * \n * \n * }> // <-- Does not contribute\n * // <-- Does not contribute\n * \n * \n */\nfunction getPathContributingMatches(matches) {\n return matches.filter((match, index) => index === 0 || match.route.path && match.route.path.length > 0);\n}\n/**\n * @private\n */\nfunction resolveTo(toArg, routePathnames, locationPathname, isPathRelative) {\n if (isPathRelative === void 0) {\n isPathRelative = false;\n }\n let to;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = _extends({}, toArg);\n invariant(!to.pathname || !to.pathname.includes(\"?\"), getInvalidPathError(\"?\", \"pathname\", \"search\", to));\n invariant(!to.pathname || !to.pathname.includes(\"#\"), getInvalidPathError(\"#\", \"pathname\", \"hash\", to));\n invariant(!to.search || !to.search.includes(\"#\"), getInvalidPathError(\"#\", \"search\", \"hash\", to));\n }\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n let from;\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (isPathRelative || toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n to.pathname = toSegments.join(\"/\");\n }\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n let path = resolvePath(to, from);\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash = toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash = (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (!path.pathname.endsWith(\"/\") && (hasExplicitTrailingSlash || hasCurrentTrailingSlash)) {\n path.pathname += \"/\";\n }\n return path;\n}\n/**\n * @private\n */\nfunction getToPathname(to) {\n // Empty strings should be treated the same as / paths\n return to === \"\" || to.pathname === \"\" ? \"/\" : typeof to === \"string\" ? parsePath(to).pathname : to.pathname;\n}\n/**\n * @private\n */\nconst joinPaths = paths => paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n/**\n * @private\n */\nconst normalizePathname = pathname => pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n/**\n * @private\n */\nconst normalizeSearch = search => !search || search === \"?\" ? \"\" : search.startsWith(\"?\") ? search : \"?\" + search;\n/**\n * @private\n */\nconst normalizeHash = hash => !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n */\nconst json = function json(data, init) {\n if (init === void 0) {\n init = {};\n }\n let responseInit = typeof init === \"number\" ? {\n status: init\n } : init;\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n return new Response(JSON.stringify(data), _extends({}, responseInit, {\n headers\n }));\n};\nclass AbortedDeferredError extends Error {}\nclass DeferredData {\n constructor(data, responseInit) {\n this.pendingKeysSet = new Set();\n this.subscribers = new Set();\n this.deferredKeys = [];\n invariant(data && typeof data === \"object\" && !Array.isArray(data), \"defer() only accepts plain objects\");\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject;\n this.abortPromise = new Promise((_, r) => reject = r);\n this.controller = new AbortController();\n let onAbort = () => reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () => this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n this.data = Object.entries(data).reduce((acc, _ref2) => {\n let [key, value] = _ref2;\n return Object.assign(acc, {\n [key]: this.trackPromise(key, value)\n });\n }, {});\n if (this.done) {\n // All incoming values were resolved\n this.unlistenAbortSignal();\n }\n this.init = responseInit;\n }\n trackPromise(key, value) {\n if (!(value instanceof Promise)) {\n return value;\n }\n this.deferredKeys.push(key);\n this.pendingKeysSet.add(key);\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise = Promise.race([value, this.abortPromise]).then(data => this.onSettle(promise, key, undefined, data), error => this.onSettle(promise, key, error));\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n Object.defineProperty(promise, \"_tracked\", {\n get: () => true\n });\n return promise;\n }\n onSettle(promise, key, error, data) {\n if (this.controller.signal.aborted && error instanceof AbortedDeferredError) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", {\n get: () => error\n });\n return Promise.reject(error);\n }\n this.pendingKeysSet.delete(key);\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n // If the promise was resolved/rejected with undefined, we'll throw an error as you\n // should always resolve with a value or null\n if (error === undefined && data === undefined) {\n let undefinedError = new Error(\"Deferred data for key \\\"\" + key + \"\\\" resolved/rejected with `undefined`, \" + \"you must resolve/reject with a value or `null`.\");\n Object.defineProperty(promise, \"_error\", {\n get: () => undefinedError\n });\n this.emit(false, key);\n return Promise.reject(undefinedError);\n }\n if (data === undefined) {\n Object.defineProperty(promise, \"_error\", {\n get: () => error\n });\n this.emit(false, key);\n return Promise.reject(error);\n }\n Object.defineProperty(promise, \"_data\", {\n get: () => data\n });\n this.emit(false, key);\n return data;\n }\n emit(aborted, settledKey) {\n this.subscribers.forEach(subscriber => subscriber(aborted, settledKey));\n }\n subscribe(fn) {\n this.subscribers.add(fn);\n return () => this.subscribers.delete(fn);\n }\n cancel() {\n this.controller.abort();\n this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n this.emit(true);\n }\n async resolveData(signal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise(resolve => {\n this.subscribe(aborted => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n get done() {\n return this.pendingKeysSet.size === 0;\n }\n get unwrappedData() {\n invariant(this.data !== null && this.done, \"Can only unwrap data on initialized and settled deferreds\");\n return Object.entries(this.data).reduce((acc, _ref3) => {\n let [key, value] = _ref3;\n return Object.assign(acc, {\n [key]: unwrapTrackedPromise(value)\n });\n }, {});\n }\n get pendingKeys() {\n return Array.from(this.pendingKeysSet);\n }\n}\nfunction isTrackedPromise(value) {\n return value instanceof Promise && value._tracked === true;\n}\nfunction unwrapTrackedPromise(value) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\nconst defer = function defer(data, init) {\n if (init === void 0) {\n init = {};\n }\n let responseInit = typeof init === \"number\" ? {\n status: init\n } : init;\n return new DeferredData(data, responseInit);\n};\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nconst redirect = function redirect(url, init) {\n if (init === void 0) {\n init = 302;\n }\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = {\n status: responseInit\n };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n return new Response(null, _extends({}, responseInit, {\n headers\n }));\n};\n/**\n * A redirect response that will force a document reload to the new location.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nconst redirectDocument = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Reload-Document\", \"true\");\n return response;\n};\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n *\n * We don't export the class for public use since it's an implementation\n * detail, but we export the interface above so folks can build their own\n * abstractions around instances via isRouteErrorResponse()\n */\nclass ErrorResponseImpl {\n constructor(status, statusText, data, internal) {\n if (internal === void 0) {\n internal = false;\n }\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data instanceof Error) {\n this.data = data.toString();\n this.error = data;\n } else {\n this.data = data;\n }\n }\n}\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nfunction isRouteErrorResponse(error) {\n return error != null && typeof error.status === \"number\" && typeof error.statusText === \"string\" && typeof error.internal === \"boolean\" && \"data\" in error;\n}\n\nconst validMutationMethodsArr = [\"post\", \"put\", \"patch\", \"delete\"];\nconst validMutationMethods = new Set(validMutationMethodsArr);\nconst validRequestMethodsArr = [\"get\", ...validMutationMethodsArr];\nconst validRequestMethods = new Set(validRequestMethodsArr);\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\nconst IDLE_NAVIGATION = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined\n};\nconst IDLE_FETCHER = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined\n};\nconst IDLE_BLOCKER = {\n state: \"unblocked\",\n proceed: undefined,\n reset: undefined,\n location: undefined\n};\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\nconst defaultMapRouteProperties = route => ({\n hasErrorBoundary: Boolean(route.hasErrorBoundary)\n});\nconst TRANSITIONS_STORAGE_KEY = \"remix-router-transitions\";\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Create a router and listen to history POP navigations\n */\nfunction createRouter(init) {\n const routerWindow = init.window ? init.window : typeof window !== \"undefined\" ? window : undefined;\n const isBrowser = typeof routerWindow !== \"undefined\" && typeof routerWindow.document !== \"undefined\" && typeof routerWindow.document.createElement !== \"undefined\";\n const isServer = !isBrowser;\n invariant(init.routes.length > 0, \"You must provide a non-empty routes array to createRouter\");\n let mapRouteProperties;\n if (init.mapRouteProperties) {\n mapRouteProperties = init.mapRouteProperties;\n } else if (init.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = init.detectErrorBoundary;\n mapRouteProperties = route => ({\n hasErrorBoundary: detectErrorBoundary(route)\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n // Routes keyed by ID\n let manifest = {};\n // Routes in tree format for matching\n let dataRoutes = convertRoutesToDataRoutes(init.routes, mapRouteProperties, undefined, manifest);\n let inFlightDataRoutes;\n let basename = init.basename || \"/\";\n // Config driven behavior flags\n let future = _extends({\n v7_fetcherPersist: false,\n v7_normalizeFormMethod: false,\n v7_prependBasename: false\n }, init.future);\n // Cleanup function for history\n let unlistenHistory = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n // SSR did the initial scroll restoration.\n let initialScrollRestored = init.hydrationData != null;\n let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n let initialErrors = null;\n if (initialMatches == null) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname\n });\n let {\n matches,\n route\n } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = {\n [route.id]: error\n };\n }\n let initialized =\n // All initialMatches need to be loaded before we're ready. If we have lazy\n // functions around still then we'll need to run them in initialize()\n !initialMatches.some(m => m.route.lazy) && (\n // And we have to either have no loaders or have been provided hydrationData\n !initialMatches.some(m => m.route.loader) || init.hydrationData != null);\n let router;\n let state = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: init.hydrationData && init.hydrationData.loaderData || {},\n actionData: init.hydrationData && init.hydrationData.actionData || null,\n errors: init.hydrationData && init.hydrationData.errors || initialErrors,\n fetchers: new Map(),\n blockers: new Map()\n };\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction = Action.Pop;\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n // AbortController for the active navigation\n let pendingNavigationController;\n // Should the current navigation enable document.startViewTransition?\n let pendingViewTransitionEnabled = false;\n // Store applied view transitions so we can apply them on POP\n let appliedViewTransitions = new Map();\n // Cleanup function for persisting applied transitions to sessionStorage\n let removePageHideEventListener = null;\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidator()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes = [];\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads = [];\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map();\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map();\n // Fetchers that triggered redirect navigations\n let fetchRedirectIds = new Set();\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map();\n // Ref-count mounted fetchers so we know when it's ok to clean them up\n let activeFetchers = new Map();\n // Fetchers that have requested a delete when using v7_fetcherPersist,\n // they'll be officially removed after they return to idle\n let deletedFetchers = new Set();\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map();\n // Store blocker functions in a separate Map outside of router state since\n // we don't need to update UI state if they change\n let blockerFunctions = new Map();\n // Flag to ignore the next history update, so we can revert the URL change on\n // a POP navigation that was blocked by the user without touching router state\n let ignoreNextHistoryUpdate = false;\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(_ref => {\n let {\n action: historyAction,\n location,\n delta\n } = _ref;\n // Ignore this event if it was just us resetting the URL from a\n // blocked POP navigation\n if (ignoreNextHistoryUpdate) {\n ignoreNextHistoryUpdate = false;\n return;\n }\n warning(blockerFunctions.size === 0 || delta != null, \"You are trying to use a blocker on a POP navigation to a location \" + \"that was not created by @remix-run/router. This will fail silently in \" + \"production. This can happen if you are navigating outside the router \" + \"via `window.history.pushState`/`window.location.hash` instead of using \" + \"router navigation APIs. This can also happen if you are using \" + \"createHashRouter and the user manually changes the URL.\");\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction\n });\n if (blockerKey && delta != null) {\n // Restore the URL to match the current UI, but don't update router state\n ignoreNextHistoryUpdate = true;\n init.history.go(delta * -1);\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location\n });\n // Re-do the same POP navigation we just blocked\n init.history.go(delta);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey, IDLE_BLOCKER);\n updateState({\n blockers\n });\n }\n });\n return;\n }\n return startNavigation(historyAction, location);\n });\n if (isBrowser) {\n // FIXME: This feels gross. How can we cleanup the lines between\n // scrollRestoration/appliedTransitions persistance?\n restoreAppliedTransitions(routerWindow, appliedViewTransitions);\n let _saveAppliedTransitions = () => persistAppliedTransitions(routerWindow, appliedViewTransitions);\n routerWindow.addEventListener(\"pagehide\", _saveAppliedTransitions);\n removePageHideEventListener = () => routerWindow.removeEventListener(\"pagehide\", _saveAppliedTransitions);\n }\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n // Note we don't do any handling of lazy here. For SPA's it'll get handled\n // in the normal navigation flow. For SSR it's expected that lazy modules are\n // resolved prior to router creation since we can't go into a fallbackElement\n // UI for SSR'd apps\n if (!state.initialized) {\n startNavigation(Action.Pop, state.location);\n }\n return router;\n }\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n if (removePageHideEventListener) {\n removePageHideEventListener();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n // Subscribe to state updates for the router\n function subscribe(fn) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n // Update our state and notify the calling context of the change\n function updateState(newState, viewTransitionOpts) {\n state = _extends({}, state, newState);\n // Prep fetcher cleanup so we can tell the UI which fetcher data entries\n // can be removed\n let completedFetchers = [];\n let deletedFetchersKeys = [];\n if (future.v7_fetcherPersist) {\n state.fetchers.forEach((fetcher, key) => {\n if (fetcher.state === \"idle\") {\n if (deletedFetchers.has(key)) {\n // Unmounted from the UI and can be totally removed\n deletedFetchersKeys.push(key);\n } else {\n // Returned to idle but still mounted in the UI, so semi-remains for\n // revalidations and such\n completedFetchers.push(key);\n }\n }\n });\n }\n subscribers.forEach(subscriber => subscriber(state, {\n deletedFetchers: deletedFetchersKeys,\n unstable_viewTransitionOpts: viewTransitionOpts\n }));\n // Remove idle fetchers from state since we only care about in-flight fetchers.\n if (future.v7_fetcherPersist) {\n completedFetchers.forEach(key => state.fetchers.delete(key));\n deletedFetchersKeys.forEach(key => deleteFetcher(key));\n }\n }\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(location, newState) {\n var _location$state, _location$state2;\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a mutation submission\n // - We're past the submitting state and into the loading state\n // - The location being loaded is not the result of a redirect\n let isActionReload = state.actionData != null && state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && state.navigation.state === \"loading\" && ((_location$state = location.state) == null ? void 0 : _location$state._isRedirect) !== true;\n let actionData;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n // Empty actionData -> clear prior actionData due to an action error\n actionData = null;\n }\n } else if (isActionReload) {\n // Keep the current data if we're wrapping up the action reload\n actionData = state.actionData;\n } else {\n // Clear actionData on any other completed navigations\n actionData = null;\n }\n // Always preserve any existing loaderData from re-used routes\n let loaderData = newState.loaderData ? mergeLoaderData(state.loaderData, newState.loaderData, newState.matches || [], newState.errors) : state.loaderData;\n // On a successful navigation we can assume we got through all blockers\n // so we can start fresh\n let blockers = state.blockers;\n if (blockers.size > 0) {\n blockers = new Map(blockers);\n blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n }\n // Always respect the user flag. Otherwise don't reset on mutation\n // submission navigations unless they redirect\n let preventScrollReset = pendingPreventScrollReset === true || state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && ((_location$state2 = location.state) == null ? void 0 : _location$state2._isRedirect) !== true;\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = undefined;\n }\n if (isUninterruptedRevalidation) ; else if (pendingAction === Action.Pop) ; else if (pendingAction === Action.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === Action.Replace) {\n init.history.replace(location, location.state);\n }\n let viewTransitionOpts;\n // On POP, enable transitions if they were enabled on the original navigation\n if (pendingAction === Action.Pop) {\n // Forward takes precedence so they behave like the original navigation\n let priorPaths = appliedViewTransitions.get(state.location.pathname);\n if (priorPaths && priorPaths.has(location.pathname)) {\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location\n };\n } else if (appliedViewTransitions.has(location.pathname)) {\n // If we don't have a previous forward nav, assume we're popping back to\n // the new location and enable if that location previously enabled\n viewTransitionOpts = {\n currentLocation: location,\n nextLocation: state.location\n };\n }\n } else if (pendingViewTransitionEnabled) {\n // Store the applied transition on PUSH/REPLACE\n let toPaths = appliedViewTransitions.get(state.location.pathname);\n if (toPaths) {\n toPaths.add(location.pathname);\n } else {\n toPaths = new Set([location.pathname]);\n appliedViewTransitions.set(state.location.pathname, toPaths);\n }\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location\n };\n }\n updateState(_extends({}, newState, {\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(location, newState.matches || state.matches),\n preventScrollReset,\n blockers\n }), viewTransitionOpts);\n // Reset stateful navigation vars\n pendingAction = Action.Pop;\n pendingPreventScrollReset = false;\n pendingViewTransitionEnabled = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n cancelledFetcherLoads = [];\n }\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(to, opts) {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n let normalizedPath = normalizeTo(state.location, state.matches, basename, future.v7_prependBasename, to, opts == null ? void 0 : opts.fromRouteId, opts == null ? void 0 : opts.relative);\n let {\n path,\n submission,\n error\n } = normalizeNavigateOptions(future.v7_normalizeFormMethod, false, normalizedPath, opts);\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n nextLocation = _extends({}, nextLocation, init.history.encodeLocation(nextLocation));\n let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n let historyAction = Action.Push;\n if (userReplace === true) {\n historyAction = Action.Replace;\n } else if (userReplace === false) ; else if (submission != null && isMutationMethod(submission.formMethod) && submission.formAction === state.location.pathname + state.location.search) {\n // By default on submissions to the current location we REPLACE so that\n // users don't have to double-click the back button to get to the prior\n // location. If the user redirects to a different location from the\n // action/loader this will be ignored and the redirect will be a PUSH\n historyAction = Action.Replace;\n }\n let preventScrollReset = opts && \"preventScrollReset\" in opts ? opts.preventScrollReset === true : undefined;\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction\n });\n if (blockerKey) {\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location: nextLocation\n });\n // Send the same navigation through\n navigate(to, opts);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey, IDLE_BLOCKER);\n updateState({\n blockers\n });\n }\n });\n return;\n }\n return await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n enableViewTransition: opts && opts.unstable_viewTransition\n });\n }\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({\n revalidation: \"loading\"\n });\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true\n });\n return;\n }\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(pendingAction || state.historyAction, state.navigation.location, {\n overrideNavigation: state.navigation\n });\n }\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(historyAction, location, opts) {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation = (opts && opts.startUninterruptedRevalidation) === true;\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n pendingViewTransitionEnabled = (opts && opts.enableViewTransition) === true;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, basename);\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let error = getInternalRouterError(404, {\n pathname: location.pathname\n });\n let {\n matches: notFoundMatches,\n route\n } = getShortCircuitMatches(routesToUse);\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n completeNavigation(location, {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error\n }\n });\n return;\n }\n // Short circuit if it's only a hash change and not a revalidation or\n // mutation submission.\n //\n // Ignore on initial page loads because since the initial load will always\n // be \"same hash\". For example, on /page#hash and submit a
\n // which will default to a navigation to /page\n if (state.initialized && !isRevalidationRequired && isHashChangeOnly(state.location, location) && !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))) {\n completeNavigation(location, {\n matches\n });\n return;\n }\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(init.history, location, pendingNavigationController.signal, opts && opts.submission);\n let pendingActionData;\n let pendingError;\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingError = {\n [findNearestBoundary(matches).route.id]: opts.pendingError\n };\n } else if (opts && opts.submission && isMutationMethod(opts.submission.formMethod)) {\n // Call action if we received an action submission\n let actionOutput = await handleAction(request, location, opts.submission, matches, {\n replace: opts.replace\n });\n if (actionOutput.shortCircuited) {\n return;\n }\n pendingActionData = actionOutput.pendingActionData;\n pendingError = actionOutput.pendingActionError;\n loadingNavigation = getLoadingNavigation(location, opts.submission);\n // Create a GET request for the loaders\n request = new Request(request.url, {\n signal: request.signal\n });\n }\n // Call loaders\n let {\n shortCircuited,\n loaderData,\n errors\n } = await handleLoaders(request, location, matches, loadingNavigation, opts && opts.submission, opts && opts.fetcherSubmission, opts && opts.replace, pendingActionData, pendingError);\n if (shortCircuited) {\n return;\n }\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n completeNavigation(location, _extends({\n matches\n }, pendingActionData ? {\n actionData: pendingActionData\n } : {}, {\n loaderData,\n errors\n }));\n }\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(request, location, submission, matches, opts) {\n if (opts === void 0) {\n opts = {};\n }\n interruptActiveLoads();\n // Put us in a submitting state\n let navigation = getSubmittingNavigation(location, submission);\n updateState({\n navigation\n });\n // Call our action and get the result\n let result;\n let actionMatch = getTargetMatch(matches, location);\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: ResultType.error,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id\n })\n };\n } else {\n result = await callLoaderOrAction(\"action\", request, actionMatch, matches, manifest, mapRouteProperties, basename);\n if (request.signal.aborted) {\n return {\n shortCircuited: true\n };\n }\n }\n if (isRedirectResult(result)) {\n let replace;\n if (opts && opts.replace != null) {\n replace = opts.replace;\n } else {\n // If the user didn't explicity indicate replace behavior, replace if\n // we redirected to the exact same location we're currently at to avoid\n // double back-buttons\n replace = result.location === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(state, result, {\n submission,\n replace\n });\n return {\n shortCircuited: true\n };\n }\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n // By default, all submissions are REPLACE navigations, but if the\n // action threw an error that'll be rendered in an errorElement, we fall\n // back to PUSH so that the user can use the back button to get back to\n // the pre-submission form location to try again\n if ((opts && opts.replace) !== true) {\n pendingAction = Action.Push;\n }\n return {\n // Send back an empty object we can use to clear out any prior actionData\n pendingActionData: {},\n pendingActionError: {\n [boundaryMatch.route.id]: result.error\n }\n };\n }\n if (isDeferredResult(result)) {\n throw getInternalRouterError(400, {\n type: \"defer-action\"\n });\n }\n return {\n pendingActionData: {\n [actionMatch.route.id]: result.data\n }\n };\n }\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(request, location, matches, overrideNavigation, submission, fetcherSubmission, replace, pendingActionData, pendingError) {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation = overrideNavigation || getLoadingNavigation(location, submission);\n // If this was a redirect from an action we don't have a \"submission\" but\n // we have it on the loading navigation so use that if available\n let activeSubmission = submission || fetcherSubmission || getSubmissionFromNavigation(loadingNavigation);\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(init.history, state, matches, activeSubmission, location, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionData, pendingError);\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(routeId => !(matches && matches.some(m => m.route.id === routeId)) || matchesToLoad && matchesToLoad.some(m => m.route.id === routeId));\n pendingNavigationLoadId = ++incrementingLoadId;\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n let updatedFetchers = markFetchRedirectsDone();\n completeNavigation(location, _extends({\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors: pendingError || null\n }, pendingActionData ? {\n actionData: pendingActionData\n } : {}, updatedFetchers ? {\n fetchers: new Map(state.fetchers)\n } : {}));\n return {\n shortCircuited: true\n };\n }\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n if (!isUninterruptedRevalidation) {\n revalidatingFetchers.forEach(rf => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher = getLoadingFetcher(undefined, fetcher ? fetcher.data : undefined);\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n let actionData = pendingActionData || state.actionData;\n updateState(_extends({\n navigation: loadingNavigation\n }, actionData ? Object.keys(actionData).length === 0 ? {\n actionData: null\n } : {\n actionData\n } : {}, revalidatingFetchers.length > 0 ? {\n fetchers: new Map(state.fetchers)\n } : {}));\n }\n revalidatingFetchers.forEach(rf => {\n if (fetchControllers.has(rf.key)) {\n abortFetcher(rf.key);\n }\n if (rf.controller) {\n // Fetchers use an independent AbortController so that aborting a fetcher\n // (via deleteFetcher) does not abort the triggering navigation that\n // triggered the revalidation\n fetchControllers.set(rf.key, rf.controller);\n }\n });\n // Proxy navigation abort through to revalidation fetchers\n let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach(f => abortFetcher(f.key));\n if (pendingNavigationController) {\n pendingNavigationController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n }\n let {\n results,\n loaderResults,\n fetcherResults\n } = await callLoadersAndMaybeResolveData(state.matches, matches, matchesToLoad, revalidatingFetchers, request);\n if (request.signal.aborted) {\n return {\n shortCircuited: true\n };\n }\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n if (pendingNavigationController) {\n pendingNavigationController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n }\n revalidatingFetchers.forEach(rf => fetchControllers.delete(rf.key));\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(results);\n if (redirect) {\n if (redirect.idx >= matchesToLoad.length) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n let fetcherKey = revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n fetchRedirectIds.add(fetcherKey);\n }\n await startRedirectNavigation(state, redirect.result, {\n replace\n });\n return {\n shortCircuited: true\n };\n }\n // Process and commit output from loaders\n let {\n loaderData,\n errors\n } = processLoaderData(state, matches, matchesToLoad, loaderResults, pendingError, revalidatingFetchers, fetcherResults, activeDeferreds);\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe(aborted => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n let updatedFetchers = markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n let shouldUpdateFetchers = updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n return _extends({\n loaderData,\n errors\n }, shouldUpdateFetchers ? {\n fetchers: new Map(state.fetchers)\n } : {});\n }\n function getFetcher(key) {\n if (future.v7_fetcherPersist) {\n activeFetchers.set(key, (activeFetchers.get(key) || 0) + 1);\n // If this fetcher was previously marked for deletion, unmark it since we\n // have a new instance\n if (deletedFetchers.has(key)) {\n deletedFetchers.delete(key);\n }\n }\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(key, routeId, href, opts) {\n if (isServer) {\n throw new Error(\"router.fetch() was called during the server render, but it shouldn't be. \" + \"You are likely calling a useFetcher() method in the body of your component. \" + \"Try moving it to a useEffect or a callback.\");\n }\n if (fetchControllers.has(key)) abortFetcher(key);\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let normalizedPath = normalizeTo(state.location, state.matches, basename, future.v7_prependBasename, href, routeId, opts == null ? void 0 : opts.relative);\n let matches = matchRoutes(routesToUse, normalizedPath, basename);\n if (!matches) {\n setFetcherError(key, routeId, getInternalRouterError(404, {\n pathname: normalizedPath\n }));\n return;\n }\n let {\n path,\n submission,\n error\n } = normalizeNavigateOptions(future.v7_normalizeFormMethod, true, normalizedPath, opts);\n if (error) {\n setFetcherError(key, routeId, error);\n return;\n }\n let match = getTargetMatch(matches, path);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n if (submission && isMutationMethod(submission.formMethod)) {\n handleFetcherAction(key, routeId, path, match, matches, submission);\n return;\n }\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, {\n routeId,\n path\n });\n handleFetcherLoader(key, routeId, path, match, matches, submission);\n }\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(key, routeId, path, match, requestMatches, submission) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n if (!match.route.action && !match.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId: routeId\n });\n setFetcherError(key, routeId, error);\n return;\n }\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n let fetcher = getSubmittingFetcher(submission, existingFetcher);\n state.fetchers.set(key, fetcher);\n updateState({\n fetchers: new Map(state.fetchers)\n });\n // Call the action for the fetcher\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(init.history, path, abortController.signal, submission);\n fetchControllers.set(key, abortController);\n let originatingLoadId = incrementingLoadId;\n let actionResult = await callLoaderOrAction(\"action\", fetchRequest, match, requestMatches, manifest, mapRouteProperties, basename);\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n if (deletedFetchers.has(key)) {\n state.fetchers.set(key, getDoneFetcher(undefined));\n updateState({\n fetchers: new Map(state.fetchers)\n });\n return;\n }\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our action started, so that\n // should take precedence over this redirect navigation. We already\n // set isRevalidationRequired so all loaders for the new route should\n // fire unless opted out via shouldRevalidate\n let doneFetcher = getDoneFetcher(undefined);\n state.fetchers.set(key, doneFetcher);\n updateState({\n fetchers: new Map(state.fetchers)\n });\n return;\n } else {\n fetchRedirectIds.add(key);\n let loadingFetcher = getLoadingFetcher(submission);\n state.fetchers.set(key, loadingFetcher);\n updateState({\n fetchers: new Map(state.fetchers)\n });\n return startRedirectNavigation(state, actionResult, {\n fetcherSubmission: submission\n });\n }\n }\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n if (isDeferredResult(actionResult)) {\n throw getInternalRouterError(400, {\n type: \"defer-action\"\n });\n }\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(init.history, nextLocation, abortController.signal);\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches = state.navigation.state !== \"idle\" ? matchRoutes(routesToUse, state.navigation.location, basename) : state.matches;\n invariant(matches, \"Didn't find any matches after fetcher action\");\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n state.fetchers.set(key, loadFetcher);\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(init.history, state, matches, submission, nextLocation, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, {\n [match.route.id]: actionResult.data\n }, undefined // No need to send through errors since we short circuit above\n );\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers.filter(rf => rf.key !== key).forEach(rf => {\n let staleKey = rf.key;\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher = getLoadingFetcher(undefined, existingFetcher ? existingFetcher.data : undefined);\n state.fetchers.set(staleKey, revalidatingFetcher);\n if (fetchControllers.has(staleKey)) {\n abortFetcher(staleKey);\n }\n if (rf.controller) {\n fetchControllers.set(staleKey, rf.controller);\n }\n });\n updateState({\n fetchers: new Map(state.fetchers)\n });\n let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach(rf => abortFetcher(rf.key));\n abortController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n let {\n results,\n loaderResults,\n fetcherResults\n } = await callLoadersAndMaybeResolveData(state.matches, matches, matchesToLoad, revalidatingFetchers, revalidationRequest);\n if (abortController.signal.aborted) {\n return;\n }\n abortController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach(r => fetchControllers.delete(r.key));\n let redirect = findRedirect(results);\n if (redirect) {\n if (redirect.idx >= matchesToLoad.length) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n let fetcherKey = revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n fetchRedirectIds.add(fetcherKey);\n }\n return startRedirectNavigation(state, redirect.result);\n }\n // Process and commit output from loaders\n let {\n loaderData,\n errors\n } = processLoaderData(state, state.matches, matchesToLoad, loaderResults, undefined, revalidatingFetchers, fetcherResults, activeDeferreds);\n // Since we let revalidations complete even if the submitting fetcher was\n // deleted, only put it back to idle if it hasn't been deleted\n if (state.fetchers.has(key)) {\n let doneFetcher = getDoneFetcher(actionResult.data);\n state.fetchers.set(key, doneFetcher);\n }\n abortStaleFetchLoads(loadId);\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (state.navigation.state === \"loading\" && loadId > pendingNavigationLoadId) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers)\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState({\n errors,\n loaderData: mergeLoaderData(state.loaderData, loaderData, matches, errors),\n fetchers: new Map(state.fetchers)\n });\n isRevalidationRequired = false;\n }\n }\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(key, routeId, path, match, matches, submission) {\n let existingFetcher = state.fetchers.get(key);\n // Put this fetcher into it's loading state\n let loadingFetcher = getLoadingFetcher(submission, existingFetcher ? existingFetcher.data : undefined);\n state.fetchers.set(key, loadingFetcher);\n updateState({\n fetchers: new Map(state.fetchers)\n });\n // Call the loader for this fetcher route match\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(init.history, path, abortController.signal);\n fetchControllers.set(key, abortController);\n let originatingLoadId = incrementingLoadId;\n let result = await callLoaderOrAction(\"loader\", fetchRequest, match, matches, manifest, mapRouteProperties, basename);\n // Deferred isn't supported for fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result = (await resolveDeferredData(result, fetchRequest.signal, true)) || result;\n }\n // We can delete this so long as we weren't aborted by our our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n if (fetchRequest.signal.aborted) {\n return;\n }\n if (deletedFetchers.has(key)) {\n state.fetchers.set(key, getDoneFetcher(undefined));\n updateState({\n fetchers: new Map(state.fetchers)\n });\n return;\n }\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our loader started, so that\n // should take precedence over this redirect navigation\n let doneFetcher = getDoneFetcher(undefined);\n state.fetchers.set(key, doneFetcher);\n updateState({\n fetchers: new Map(state.fetchers)\n });\n return;\n } else {\n fetchRedirectIds.add(key);\n await startRedirectNavigation(state, result);\n return;\n }\n }\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n setFetcherError(key, routeId, result.error);\n return;\n }\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n // Put the fetcher back into an idle state\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n updateState({\n fetchers: new Map(state.fetchers)\n });\n }\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(state, redirect, _temp) {\n let {\n submission,\n fetcherSubmission,\n replace\n } = _temp === void 0 ? {} : _temp;\n if (redirect.revalidate) {\n isRevalidationRequired = true;\n }\n let redirectLocation = createLocation(state.location, redirect.location, {\n _isRedirect: true\n });\n invariant(redirectLocation, \"Expected a location on the redirect navigation\");\n if (isBrowser) {\n let isDocumentReload = false;\n if (redirect.reloadDocument) {\n // Hard reload if the response contained X-Remix-Reload-Document\n isDocumentReload = true;\n } else if (ABSOLUTE_URL_REGEX.test(redirect.location)) {\n const url = init.history.createURL(redirect.location);\n isDocumentReload =\n // Hard reload if it's an absolute URL to a new origin\n url.origin !== routerWindow.location.origin ||\n // Hard reload if it's an absolute URL that does not match our basename\n stripBasename(url.pathname, basename) == null;\n }\n if (isDocumentReload) {\n if (replace) {\n routerWindow.location.replace(redirect.location);\n } else {\n routerWindow.location.assign(redirect.location);\n }\n return;\n }\n }\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n let redirectHistoryAction = replace === true ? Action.Replace : Action.Push;\n // Use the incoming submission if provided, fallback on the active one in\n // state.navigation\n let {\n formMethod,\n formAction,\n formEncType\n } = state.navigation;\n if (!submission && !fetcherSubmission && formMethod && formAction && formEncType) {\n submission = getSubmissionFromNavigation(state.navigation);\n }\n // If this was a 307/308 submission we want to preserve the HTTP method and\n // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n // redirected location\n let activeSubmission = submission || fetcherSubmission;\n if (redirectPreserveMethodStatusCodes.has(redirect.status) && activeSubmission && isMutationMethod(activeSubmission.formMethod)) {\n await startNavigation(redirectHistoryAction, redirectLocation, {\n submission: _extends({}, activeSubmission, {\n formAction: redirect.location\n }),\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset\n });\n } else {\n // If we have a navigation submission, we will preserve it through the\n // redirect navigation\n let overrideNavigation = getLoadingNavigation(redirectLocation, submission);\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation,\n // Send fetcher submissions through for shouldRevalidate\n fetcherSubmission,\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset\n });\n }\n }\n async function callLoadersAndMaybeResolveData(currentMatches, matches, matchesToLoad, fetchersToLoad, request) {\n // Call all navigation loaders and revalidating fetcher loaders in parallel,\n // then slice off the results into separate arrays so we can handle them\n // accordingly\n let results = await Promise.all([...matchesToLoad.map(match => callLoaderOrAction(\"loader\", request, match, matches, manifest, mapRouteProperties, basename)), ...fetchersToLoad.map(f => {\n if (f.matches && f.match && f.controller) {\n return callLoaderOrAction(\"loader\", createClientSideRequest(init.history, f.path, f.controller.signal), f.match, f.matches, manifest, mapRouteProperties, basename);\n } else {\n let error = {\n type: ResultType.error,\n error: getInternalRouterError(404, {\n pathname: f.path\n })\n };\n return error;\n }\n })]);\n let loaderResults = results.slice(0, matchesToLoad.length);\n let fetcherResults = results.slice(matchesToLoad.length);\n await Promise.all([resolveDeferredResults(currentMatches, matchesToLoad, loaderResults, loaderResults.map(() => request.signal), false, state.loaderData), resolveDeferredResults(currentMatches, fetchersToLoad.map(f => f.match), fetcherResults, fetchersToLoad.map(f => f.controller ? f.controller.signal : null), true)]);\n return {\n results,\n loaderResults,\n fetcherResults\n };\n }\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.push(key);\n abortFetcher(key);\n }\n });\n }\n function setFetcherError(key, routeId, error) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState({\n errors: {\n [boundaryMatch.route.id]: error\n },\n fetchers: new Map(state.fetchers)\n });\n }\n function deleteFetcher(key) {\n let fetcher = state.fetchers.get(key);\n // Don't abort the controller if this is a deletion of a fetcher.submit()\n // in it's loading phase since - we don't want to abort the corresponding\n // revalidation and want them to complete and land\n if (fetchControllers.has(key) && !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))) {\n abortFetcher(key);\n }\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n deletedFetchers.delete(key);\n state.fetchers.delete(key);\n }\n function deleteFetcherAndUpdateState(key) {\n if (future.v7_fetcherPersist) {\n let count = (activeFetchers.get(key) || 0) - 1;\n if (count <= 0) {\n activeFetchers.delete(key);\n deletedFetchers.add(key);\n } else {\n activeFetchers.set(key, count);\n }\n } else {\n deleteFetcher(key);\n }\n updateState({\n fetchers: new Map(state.fetchers)\n });\n }\n function abortFetcher(key) {\n let controller = fetchControllers.get(key);\n invariant(controller, \"Expected fetch controller: \" + key);\n controller.abort();\n fetchControllers.delete(key);\n }\n function markFetchersDone(keys) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher = getDoneFetcher(fetcher.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n function markFetchRedirectsDone() {\n let doneKeys = [];\n let updatedFetchers = false;\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, \"Expected fetcher: \" + key);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n updatedFetchers = true;\n }\n }\n markFetchersDone(doneKeys);\n return updatedFetchers;\n }\n function abortStaleFetchLoads(landedId) {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, \"Expected fetcher: \" + key);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n function getBlocker(key, fn) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n return blocker;\n }\n function deleteBlocker(key) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n // Utility function to update blockers, ensuring valid state transitions\n function updateBlocker(key, newBlocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n // Poor mans state machine :)\n // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n invariant(blocker.state === \"unblocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"proceeding\" || blocker.state === \"blocked\" && newBlocker.state === \"unblocked\" || blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\", \"Invalid blocker state transition: \" + blocker.state + \" -> \" + newBlocker.state);\n let blockers = new Map(state.blockers);\n blockers.set(key, newBlocker);\n updateState({\n blockers\n });\n }\n function shouldBlockNavigation(_ref2) {\n let {\n currentLocation,\n nextLocation,\n historyAction\n } = _ref2;\n if (blockerFunctions.size === 0) {\n return;\n }\n // We ony support a single active blocker at the moment since we don't have\n // any compelling use cases for multi-blocker yet\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n if (blocker && blocker.state === \"proceeding\") {\n // If the blocker is currently proceeding, we don't need to re-check\n // it and can let this navigation continue\n return;\n }\n // At this point, we know we're unblocked/blocked so we need to check the\n // user-provided blocker function\n if (blockerFunction({\n currentLocation,\n nextLocation,\n historyAction\n })) {\n return blockerKey;\n }\n }\n function cancelActiveDeferreds(predicate) {\n let cancelledRouteIds = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the component\n function enableScrollRestoration(positions, getPosition, getKey) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || null;\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered \n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({\n restoreScrollPosition: y\n });\n }\n }\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n function getScrollKey(location, matches) {\n if (getScrollRestorationKey) {\n let key = getScrollRestorationKey(location, matches.map(m => convertRouteMatchToUiMatch(m, state.loaderData)));\n return key || location.key;\n }\n return location.key;\n }\n function saveScrollPosition(location, matches) {\n if (savedScrollPositions && getScrollPosition) {\n let key = getScrollKey(location, matches);\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n function getSavedScrollPosition(location, matches) {\n if (savedScrollPositions) {\n let key = getScrollKey(location, matches);\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n function _internalSetRoutes(newRoutes) {\n manifest = {};\n inFlightDataRoutes = convertRoutesToDataRoutes(newRoutes, mapRouteProperties, undefined, manifest);\n }\n router = {\n get basename() {\n return basename;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n get window() {\n return routerWindow;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: to => init.history.createHref(to),\n encodeLocation: to => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher: deleteFetcherAndUpdateState,\n dispose,\n getBlocker,\n deleteBlocker,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes\n };\n return router;\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\nconst UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\nfunction createStaticHandler(routes, opts) {\n invariant(routes.length > 0, \"You must provide a non-empty routes array to createStaticHandler\");\n let manifest = {};\n let basename = (opts ? opts.basename : null) || \"/\";\n let mapRouteProperties;\n if (opts != null && opts.mapRouteProperties) {\n mapRouteProperties = opts.mapRouteProperties;\n } else if (opts != null && opts.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = opts.detectErrorBoundary;\n mapRouteProperties = route => ({\n hasErrorBoundary: detectErrorBoundary(route)\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n let dataRoutes = convertRoutesToDataRoutes(routes, mapRouteProperties, undefined, manifest);\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n */\n async function query(request, _temp2) {\n let {\n requestContext\n } = _temp2 === void 0 ? {} : _temp2;\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, {\n method\n });\n let {\n matches: methodNotAllowedMatches,\n route\n } = getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, {\n pathname: location.pathname\n });\n let {\n matches: notFoundMatches,\n route\n } = getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null\n };\n }\n let result = await queryImpl(request, location, matches, requestContext);\n if (isResponse(result)) {\n return result;\n }\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return _extends({\n location,\n basename\n }, result);\n }\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated Errors that make sense\n * to associate with a status code will be thrown as an ErrorResponse\n * instance which include the raw Error, such that the calling context can\n * serialize the error as they see fit while including the proper response\n * code. Examples here are 404 and 405 errors that occur prior to reaching\n * any user-defined loaders.\n */\n async function queryRoute(request, _temp3) {\n let {\n routeId,\n requestContext\n } = _temp3 === void 0 ? {} : _temp3;\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, {\n method\n });\n } else if (!matches) {\n throw getInternalRouterError(404, {\n pathname: location.pathname\n });\n }\n let match = routeId ? matches.find(m => m.route.id === routeId) : getTargetMatch(matches, location);\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId\n });\n } else if (!match) {\n // This should never hit I don't think?\n throw getInternalRouterError(404, {\n pathname: location.pathname\n });\n }\n let result = await queryImpl(request, location, matches, requestContext, match);\n if (isResponse(result)) {\n return result;\n }\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n // Pick off the right state value to return\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n if (result.loaderData) {\n var _result$activeDeferre;\n let data = Object.values(result.loaderData)[0];\n if ((_result$activeDeferre = result.activeDeferreds) != null && _result$activeDeferre[match.route.id]) {\n data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n }\n return data;\n }\n return undefined;\n }\n async function queryImpl(request, location, matches, requestContext, routeMatch) {\n invariant(request.signal, \"query()/queryRoute() requests must contain an AbortController signal\");\n try {\n if (isMutationMethod(request.method.toLowerCase())) {\n let result = await submit(request, matches, routeMatch || getTargetMatch(matches, location), requestContext, routeMatch != null);\n return result;\n }\n let result = await loadRouteData(request, matches, requestContext, routeMatch);\n return isResponse(result) ? result : _extends({}, result, {\n actionData: null,\n actionHeaders: {}\n });\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction, we throw\n // it to bail out and then return or throw here based on whether the user\n // returned or threw\n if (isQueryRouteResponse(e)) {\n if (e.type === ResultType.error) {\n throw e.response;\n }\n return e.response;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n async function submit(request, matches, actionMatch, requestContext, isRouteRequest) {\n let result;\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error\n };\n } else {\n result = await callLoaderOrAction(\"action\", request, actionMatch, matches, manifest, mapRouteProperties, basename, {\n isStaticRequest: true,\n isRouteRequest,\n requestContext\n });\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(method + \"() call aborted: \" + request.method + \" \" + request.url);\n }\n }\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.status,\n headers: {\n Location: result.location\n }\n });\n }\n if (isDeferredResult(result)) {\n let error = getInternalRouterError(400, {\n type: \"defer-action\"\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error\n };\n }\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n throw result.error;\n }\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: {\n [actionMatch.route.id]: result.data\n },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null\n };\n }\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n let context = await loadRouteData(request, matches, requestContext, undefined, {\n [boundaryMatch.route.id]: result.error\n });\n // action status codes take precedence over loader status codes\n return _extends({}, context, {\n statusCode: isRouteErrorResponse(result.error) ? result.error.status : 500,\n actionData: null,\n actionHeaders: _extends({}, result.headers ? {\n [actionMatch.route.id]: result.headers\n } : {})\n });\n }\n // Create a GET request for the loaders\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal\n });\n let context = await loadRouteData(loaderRequest, matches, requestContext);\n return _extends({}, context, result.statusCode ? {\n statusCode: result.statusCode\n } : {}, {\n actionData: {\n [actionMatch.route.id]: result.data\n },\n actionHeaders: _extends({}, result.headers ? {\n [actionMatch.route.id]: result.headers\n } : {})\n });\n }\n async function loadRouteData(request, matches, requestContext, routeMatch, pendingActionError) {\n let isRouteRequest = routeMatch != null;\n // Short circuit if we have no loaders to run (queryRoute())\n if (isRouteRequest && !(routeMatch != null && routeMatch.route.loader) && !(routeMatch != null && routeMatch.route.lazy)) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch == null ? void 0 : routeMatch.route.id\n });\n }\n let requestMatches = routeMatch ? [routeMatch] : getLoaderMatchesUntilBoundary(matches, Object.keys(pendingActionError || {})[0]);\n let matchesToLoad = requestMatches.filter(m => m.route.loader || m.route.lazy);\n // Short circuit if we have no loaders to run (query())\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce((acc, m) => Object.assign(acc, {\n [m.route.id]: null\n }), {}),\n errors: pendingActionError || null,\n statusCode: 200,\n loaderHeaders: {},\n activeDeferreds: null\n };\n }\n let results = await Promise.all([...matchesToLoad.map(match => callLoaderOrAction(\"loader\", request, match, matches, manifest, mapRouteProperties, basename, {\n isStaticRequest: true,\n isRouteRequest,\n requestContext\n }))]);\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(method + \"() call aborted: \" + request.method + \" \" + request.url);\n }\n // Process and commit output from loaders\n let activeDeferreds = new Map();\n let context = processRouteLoaderData(matches, matchesToLoad, results, pendingActionError, activeDeferreds);\n // Add a null for any non-loader matches for proper revalidation on the client\n let executedLoaders = new Set(matchesToLoad.map(match => match.route.id));\n matches.forEach(match => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n return _extends({}, context, {\n matches,\n activeDeferreds: activeDeferreds.size > 0 ? Object.fromEntries(activeDeferreds.entries()) : null\n });\n }\n return {\n dataRoutes,\n query,\n queryRoute\n };\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nfunction getStaticContextFromError(routes, context, error) {\n let newContext = _extends({}, context, {\n statusCode: 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error\n }\n });\n return newContext;\n}\nfunction isSubmissionNavigation(opts) {\n return opts != null && (\"formData\" in opts && opts.formData != null || \"body\" in opts && opts.body !== undefined);\n}\nfunction normalizeTo(location, matches, basename, prependBasename, to, fromRouteId, relative) {\n let contextualMatches;\n let activeRouteMatch;\n if (fromRouteId != null && relative !== \"path\") {\n // Grab matches up to the calling route so our route-relative logic is\n // relative to the correct source route. When using relative:path,\n // fromRouteId is ignored since that is always relative to the current\n // location path\n contextualMatches = [];\n for (let match of matches) {\n contextualMatches.push(match);\n if (match.route.id === fromRouteId) {\n activeRouteMatch = match;\n break;\n }\n }\n } else {\n contextualMatches = matches;\n activeRouteMatch = matches[matches.length - 1];\n }\n // Resolve the relative path\n let path = resolveTo(to ? to : \".\", getPathContributingMatches(contextualMatches).map(m => m.pathnameBase), stripBasename(location.pathname, basename) || location.pathname, relative === \"path\");\n // When `to` is not specified we inherit search/hash from the current\n // location, unlike when to=\".\" and we just inherit the path.\n // See https://github.com/remix-run/remix/issues/927\n if (to == null) {\n path.search = location.search;\n path.hash = location.hash;\n }\n // Add an ?index param for matched index routes if we don't already have one\n if ((to == null || to === \"\" || to === \".\") && activeRouteMatch && activeRouteMatch.route.index && !hasNakedIndexQuery(path.search)) {\n path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n }\n // If we're operating within a basename, prepend it to the pathname. If\n // this is a root navigation, then just use the raw basename which allows\n // the basename to have full control over the presence of a trailing slash\n // on root actions\n if (prependBasename && basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n return createPath(path);\n}\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(normalizeFormMethod, isFetcher, path, opts) {\n // Return location verbatim on non-submission navigations\n if (!opts || !isSubmissionNavigation(opts)) {\n return {\n path\n };\n }\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, {\n method: opts.formMethod\n })\n };\n }\n let getInvalidBodyError = () => ({\n path,\n error: getInternalRouterError(400, {\n type: \"invalid-body\"\n })\n });\n // Create a Submission on non-GET navigations\n let rawFormMethod = opts.formMethod || \"get\";\n let formMethod = normalizeFormMethod ? rawFormMethod.toUpperCase() : rawFormMethod.toLowerCase();\n let formAction = stripHashFromPath(path);\n if (opts.body !== undefined) {\n if (opts.formEncType === \"text/plain\") {\n // text only support POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n let text = typeof opts.body === \"string\" ? opts.body : opts.body instanceof FormData || opts.body instanceof URLSearchParams ?\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n Array.from(opts.body.entries()).reduce((acc, _ref3) => {\n let [name, value] = _ref3;\n return \"\" + acc + name + \"=\" + value + \"\\n\";\n }, \"\") : String(opts.body);\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json: undefined,\n text\n }\n };\n } else if (opts.formEncType === \"application/json\") {\n // json only supports POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n try {\n let json = typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json,\n text: undefined\n }\n };\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n }\n invariant(typeof FormData === \"function\", \"FormData is not available in this environment\");\n let searchParams;\n let formData;\n if (opts.formData) {\n searchParams = convertFormDataToSearchParams(opts.formData);\n formData = opts.formData;\n } else if (opts.body instanceof FormData) {\n searchParams = convertFormDataToSearchParams(opts.body);\n formData = opts.body;\n } else if (opts.body instanceof URLSearchParams) {\n searchParams = opts.body;\n formData = convertSearchParamsToFormData(searchParams);\n } else if (opts.body == null) {\n searchParams = new URLSearchParams();\n formData = new FormData();\n } else {\n try {\n searchParams = new URLSearchParams(opts.body);\n formData = convertSearchParamsToFormData(searchParams);\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n let submission = {\n formMethod,\n formAction,\n formEncType: opts && opts.formEncType || \"application/x-www-form-urlencoded\",\n formData,\n json: undefined,\n text: undefined\n };\n if (isMutationMethod(submission.formMethod)) {\n return {\n path,\n submission\n };\n }\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n // On GET navigation submissions we can drop the ?index param from the\n // resulting location since all loaders will run. But fetcher GET submissions\n // only run a single loader so we need to preserve any incoming ?index params\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = \"?\" + searchParams;\n return {\n path: createPath(parsedPath),\n submission\n };\n}\n// Filter out all routes below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(matches, boundaryId) {\n let boundaryMatches = matches;\n if (boundaryId) {\n let index = matches.findIndex(m => m.route.id === boundaryId);\n if (index >= 0) {\n boundaryMatches = matches.slice(0, index);\n }\n }\n return boundaryMatches;\n}\nfunction getMatchesToLoad(history, state, matches, submission, location, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionData, pendingError) {\n let actionResult = pendingError ? Object.values(pendingError)[0] : pendingActionData ? Object.values(pendingActionData)[0] : undefined;\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryId = pendingError ? Object.keys(pendingError)[0] : undefined;\n let boundaryMatches = getLoaderMatchesUntilBoundary(matches, boundaryId);\n let navigationMatches = boundaryMatches.filter((match, index) => {\n if (match.route.lazy) {\n // We haven't loaded this route yet so we don't know if it's got a loader!\n return true;\n }\n if (match.route.loader == null) {\n return false;\n }\n // Always call the loader on new route instances and pending defer cancellations\n if (isNewLoader(state.loaderData, state.matches[index], match) || cancelledDeferredRoutes.some(id => id === match.route.id)) {\n return true;\n }\n // This is the default implementation for when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n return shouldRevalidateLoader(match, _extends({\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params\n }, submission, {\n actionResult,\n defaultShouldRevalidate:\n // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n isRevalidationRequired ||\n // Clicked the same link, resubmitted a GET form\n currentUrl.pathname + currentUrl.search === nextUrl.pathname + nextUrl.search ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search || isNewRouteInstance(currentRouteMatch, nextRouteMatch)\n }));\n });\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers = [];\n fetchLoadMatches.forEach((f, key) => {\n // Don't revalidate if fetcher won't be present in the subsequent render\n if (!matches.some(m => m.route.id === f.routeId)) {\n return;\n }\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n // If the fetcher path no longer matches, push it in with null matches so\n // we can trigger a 404 in callLoadersAndMaybeResolveData. Note this is\n // currently only a use-case for Remix HMR where the route tree can change\n // at runtime and remove a route previously loaded via a fetcher\n if (!fetcherMatches) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: null,\n match: null,\n controller: null\n });\n return;\n }\n // Revalidating fetchers are decoupled from the route matches since they\n // load from a static href. They revalidate based on explicit revalidation\n // (submission, useRevalidator, or X-Remix-Revalidate)\n let fetcher = state.fetchers.get(key);\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n let shouldRevalidate = false;\n if (fetchRedirectIds.has(key)) {\n // Never trigger a revalidation of an actively redirecting fetcher\n shouldRevalidate = false;\n } else if (cancelledFetcherLoads.includes(key)) {\n // Always revalidate if the fetcher was cancelled\n shouldRevalidate = true;\n } else if (fetcher && fetcher.state !== \"idle\" && fetcher.data === undefined) {\n // If the fetcher hasn't ever completed loading yet, then this isn't a\n // revalidation, it would just be a brand new load if an explicit\n // revalidation is required\n shouldRevalidate = isRevalidationRequired;\n } else {\n // Otherwise fall back on any user-defined shouldRevalidate, defaulting\n // to explicit revalidations only\n shouldRevalidate = shouldRevalidateLoader(fetcherMatch, _extends({\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params\n }, submission, {\n actionResult,\n defaultShouldRevalidate: isRevalidationRequired\n }));\n }\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController()\n });\n }\n });\n return [navigationMatches, revalidatingFetchers];\n}\nfunction isNewLoader(currentLoaderData, currentMatch, match) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\nfunction isNewRouteInstance(currentMatch, match) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n currentPath != null && currentPath.endsWith(\"*\") && currentMatch.params[\"*\"] !== match.params[\"*\"]\n );\n}\nfunction shouldRevalidateLoader(loaderMatch, arg) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n return arg.defaultShouldRevalidate;\n}\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(route, mapRouteProperties, manifest) {\n if (!route.lazy) {\n return;\n }\n let lazyRoute = await route.lazy();\n // If the lazy route function was executed and removed by another parallel\n // call then we can return - first lazy() to finish wins because the return\n // value of lazy is expected to be static\n if (!route.lazy) {\n return;\n }\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n // Update the route in place. This should be safe because there's no way\n // we could yet be sitting on this route as we can't get there without\n // resolving lazy() first.\n //\n // This is different than the HMR \"update\" use-case where we may actively be\n // on the route being updated. The main concern boils down to \"does this\n // mutation affect any ongoing navigations or any current state.matches\n // values?\". If not, it should be safe to update in place.\n let routeUpdates = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue = routeToUpdate[lazyRouteProperty];\n let isPropertyStaticallyDefined = staticRouteValue !== undefined &&\n // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n warning(!isPropertyStaticallyDefined, \"Route \\\"\" + routeToUpdate.id + \"\\\" has a static property \\\"\" + lazyRouteProperty + \"\\\" \" + \"defined but its lazy function is also returning a value for this property. \" + (\"The lazy route property \\\"\" + lazyRouteProperty + \"\\\" will be ignored.\"));\n if (!isPropertyStaticallyDefined && !immutableRouteKeys.has(lazyRouteProperty)) {\n routeUpdates[lazyRouteProperty] = lazyRoute[lazyRouteProperty];\n }\n }\n // Mutate the route with the provided updates. Do this first so we pass\n // the updated version to mapRouteProperties\n Object.assign(routeToUpdate, routeUpdates);\n // Mutate the `hasErrorBoundary` property on the route based on the route\n // updates and remove the `lazy` function so we don't resolve the lazy\n // route again.\n Object.assign(routeToUpdate, _extends({}, mapRouteProperties(routeToUpdate), {\n lazy: undefined\n }));\n}\nasync function callLoaderOrAction(type, request, match, matches, manifest, mapRouteProperties, basename, opts) {\n if (opts === void 0) {\n opts = {};\n }\n let resultType;\n let result;\n let onReject;\n let runHandler = handler => {\n // Setup a promise we can race against so that abort signals short circuit\n let reject;\n let abortPromise = new Promise((_, r) => reject = r);\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n return Promise.race([handler({\n request,\n params: match.params,\n context: opts.requestContext\n }), abortPromise]);\n };\n try {\n let handler = match.route[type];\n if (match.route.lazy) {\n if (handler) {\n // Run statically defined handler in parallel with lazy()\n let handlerError;\n let values = await Promise.all([\n // If the handler throws, don't let it immediately bubble out,\n // since we need to let the lazy() execution finish so we know if this\n // route has a boundary that can handle the error\n runHandler(handler).catch(e => {\n handlerError = e;\n }), loadLazyRouteModule(match.route, mapRouteProperties, manifest)]);\n if (handlerError) {\n throw handlerError;\n }\n result = values[0];\n } else {\n // Load lazy route module, then run any returned handler\n await loadLazyRouteModule(match.route, mapRouteProperties, manifest);\n handler = match.route[type];\n if (handler) {\n // Handler still run even if we got interrupted to maintain consistency\n // with un-abortable behavior of handler execution on non-lazy or\n // previously-lazy-loaded routes\n result = await runHandler(handler);\n } else if (type === \"action\") {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(405, {\n method: request.method,\n pathname,\n routeId: match.route.id\n });\n } else {\n // lazy() route has no loader to run. Short circuit here so we don't\n // hit the invariant below that errors on returning undefined.\n return {\n type: ResultType.data,\n data: undefined\n };\n }\n }\n } else if (!handler) {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(404, {\n pathname\n });\n } else {\n result = await runHandler(handler);\n }\n invariant(result !== undefined, \"You defined \" + (type === \"action\" ? \"an action\" : \"a loader\") + \" for route \" + (\"\\\"\" + match.route.id + \"\\\" but didn't return anything from your `\" + type + \"` \") + \"function. Please return a value or `null`.\");\n } catch (e) {\n resultType = ResultType.error;\n result = e;\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n if (isResponse(result)) {\n let status = result.status;\n // Process redirects\n if (redirectStatusCodes.has(status)) {\n let location = result.headers.get(\"Location\");\n invariant(location, \"Redirects returned/thrown from loaders/actions must have a Location header\");\n // Support relative routing in internal redirects\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n location = normalizeTo(new URL(request.url), matches.slice(0, matches.indexOf(match) + 1), basename, true, location);\n } else if (!opts.isStaticRequest) {\n // Strip off the protocol+origin for same-origin + same-basename absolute\n // redirects. If this is a static request, we can let it go back to the\n // browser as-is\n let currentUrl = new URL(request.url);\n let url = location.startsWith(\"//\") ? new URL(currentUrl.protocol + location) : new URL(location);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n location = url.pathname + url.search + url.hash;\n }\n }\n // Don't process redirects in the router during static requests requests.\n // Instead, throw the Response and let the server handle it with an HTTP\n // redirect. We also update the Location header in place in this flow so\n // basename and relative routing is taken into account\n if (opts.isStaticRequest) {\n result.headers.set(\"Location\", location);\n throw result;\n }\n return {\n type: ResultType.redirect,\n status,\n location,\n revalidate: result.headers.get(\"X-Remix-Revalidate\") !== null,\n reloadDocument: result.headers.get(\"X-Remix-Reload-Document\") !== null\n };\n }\n // For SSR single-route requests, we want to hand Responses back directly\n // without unwrapping. We do this with the QueryRouteResponse wrapper\n // interface so we can know whether it was returned or thrown\n if (opts.isRouteRequest) {\n let queryRouteResponse = {\n type: resultType === ResultType.error ? ResultType.error : ResultType.data,\n response: result\n };\n throw queryRouteResponse;\n }\n let data;\n let contentType = result.headers.get(\"Content-Type\");\n // Check between word boundaries instead of startsWith() due to the last\n // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n data = await result.json();\n } else {\n data = await result.text();\n }\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: new ErrorResponseImpl(status, result.statusText, data),\n headers: result.headers\n };\n }\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers\n };\n }\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: result\n };\n }\n if (isDeferredData(result)) {\n var _result$init, _result$init2;\n return {\n type: ResultType.deferred,\n deferredData: result,\n statusCode: (_result$init = result.init) == null ? void 0 : _result$init.status,\n headers: ((_result$init2 = result.init) == null ? void 0 : _result$init2.headers) && new Headers(result.init.headers)\n };\n }\n return {\n type: ResultType.data,\n data: result\n };\n}\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches. During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(history, location, signal, submission) {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init = {\n signal\n };\n if (submission && isMutationMethod(submission.formMethod)) {\n let {\n formMethod,\n formEncType\n } = submission;\n // Didn't think we needed this but it turns out unlike other methods, patch\n // won't be properly normalized to uppercase and results in a 405 error.\n // See: https://fetch.spec.whatwg.org/#concept-method\n init.method = formMethod.toUpperCase();\n if (formEncType === \"application/json\") {\n init.headers = new Headers({\n \"Content-Type\": formEncType\n });\n init.body = JSON.stringify(submission.json);\n } else if (formEncType === \"text/plain\") {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.text;\n } else if (formEncType === \"application/x-www-form-urlencoded\" && submission.formData) {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = convertFormDataToSearchParams(submission.formData);\n } else {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.formData;\n }\n }\n return new Request(url, init);\n}\nfunction convertFormDataToSearchParams(formData) {\n let searchParams = new URLSearchParams();\n for (let [key, value] of formData.entries()) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n searchParams.append(key, typeof value === \"string\" ? value : value.name);\n }\n return searchParams;\n}\nfunction convertSearchParamsToFormData(searchParams) {\n let formData = new FormData();\n for (let [key, value] of searchParams.entries()) {\n formData.append(key, value);\n }\n return formData;\n}\nfunction processRouteLoaderData(matches, matchesToLoad, results, pendingError, activeDeferreds) {\n // Fill in loaderData/errors from our loaders\n let loaderData = {};\n let errors = null;\n let statusCode;\n let foundError = false;\n let loaderHeaders = {};\n // Process loader results into state.loaderData/state.errors\n results.forEach((result, index) => {\n let id = matchesToLoad[index].route.id;\n invariant(!isRedirectResult(result), \"Cannot handle redirect results in processLoaderData\");\n if (isErrorResult(result)) {\n // Look upwards from the matched route for the closest ancestor\n // error boundary, defaulting to the root match\n let boundaryMatch = findNearestBoundary(matches, id);\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError) {\n error = Object.values(pendingError)[0];\n pendingError = undefined;\n }\n errors = errors || {};\n // Prefer higher error values if lower errors bubble to the same boundary\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n // Clear our any prior loaderData for the throwing route\n loaderData[id] = undefined;\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error) ? result.error.status : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n if (isDeferredResult(result)) {\n activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n } else {\n loaderData[id] = result.data;\n }\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (result.statusCode != null && result.statusCode !== 200 && !foundError) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n });\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here. Also clear out any loaderData for the\n // throwing route\n if (pendingError) {\n errors = pendingError;\n loaderData[Object.keys(pendingError)[0]] = undefined;\n }\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders\n };\n}\nfunction processLoaderData(state, matches, matchesToLoad, results, pendingError, revalidatingFetchers, fetcherResults, activeDeferreds) {\n let {\n loaderData,\n errors\n } = processRouteLoaderData(matches, matchesToLoad, results, pendingError, activeDeferreds);\n // Process results from our revalidating fetchers\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let {\n key,\n match,\n controller\n } = revalidatingFetchers[index];\n invariant(fetcherResults !== undefined && fetcherResults[index] !== undefined, \"Did not find corresponding fetcher result\");\n let result = fetcherResults[index];\n // Process fetcher non-redirect errors\n if (controller && controller.signal.aborted) {\n // Nothing to do for aborted fetchers\n continue;\n } else if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match == null ? void 0 : match.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = _extends({}, errors, {\n [boundaryMatch.route.id]: result.error\n });\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n invariant(false, \"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n return {\n loaderData,\n errors\n };\n}\nfunction mergeLoaderData(loaderData, newLoaderData, matches, errors) {\n let mergedLoaderData = _extends({}, newLoaderData);\n for (let match of matches) {\n let id = match.route.id;\n if (newLoaderData.hasOwnProperty(id)) {\n if (newLoaderData[id] !== undefined) {\n mergedLoaderData[id] = newLoaderData[id];\n }\n } else if (loaderData[id] !== undefined && match.route.loader) {\n // Preserve existing keys not included in newLoaderData and where a loader\n // wasn't removed by HMR\n mergedLoaderData[id] = loaderData[id];\n }\n if (errors && errors.hasOwnProperty(id)) {\n // Don't keep any loader data below the boundary\n break;\n }\n }\n return mergedLoaderData;\n}\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(matches, routeId) {\n let eligibleMatches = routeId ? matches.slice(0, matches.findIndex(m => m.route.id === routeId) + 1) : [...matches];\n return eligibleMatches.reverse().find(m => m.route.hasErrorBoundary === true) || matches[0];\n}\nfunction getShortCircuitMatches(routes) {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route = routes.length === 1 ? routes[0] : routes.find(r => r.index || !r.path || r.path === \"/\") || {\n id: \"__shim-error-route__\"\n };\n return {\n matches: [{\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route\n }],\n route\n };\n}\nfunction getInternalRouterError(status, _temp4) {\n let {\n pathname,\n routeId,\n method,\n type\n } = _temp4 === void 0 ? {} : _temp4;\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage = \"You made a \" + method + \" request to \\\"\" + pathname + \"\\\" but \" + (\"did not provide a `loader` for route \\\"\" + routeId + \"\\\", \") + \"so there is no way to handle the request.\";\n } else if (type === \"defer-action\") {\n errorMessage = \"defer() is not supported in actions\";\n } else if (type === \"invalid-body\") {\n errorMessage = \"Unable to encode submission body\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = \"Route \\\"\" + routeId + \"\\\" does not match URL \\\"\" + pathname + \"\\\"\";\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = \"No route matches URL \\\"\" + pathname + \"\\\"\";\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage = \"You made a \" + method.toUpperCase() + \" request to \\\"\" + pathname + \"\\\" but \" + (\"did not provide an `action` for route \\\"\" + routeId + \"\\\", \") + \"so there is no way to handle the request.\";\n } else if (method) {\n errorMessage = \"Invalid request method \\\"\" + method.toUpperCase() + \"\\\"\";\n }\n }\n return new ErrorResponseImpl(status || 500, statusText, new Error(errorMessage), true);\n}\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(results) {\n for (let i = results.length - 1; i >= 0; i--) {\n let result = results[i];\n if (isRedirectResult(result)) {\n return {\n result,\n idx: i\n };\n }\n }\n}\nfunction stripHashFromPath(path) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath(_extends({}, parsedPath, {\n hash: \"\"\n }));\n}\nfunction isHashChangeOnly(a, b) {\n if (a.pathname !== b.pathname || a.search !== b.search) {\n return false;\n }\n if (a.hash === \"\") {\n // /page -> /page#hash\n return b.hash !== \"\";\n } else if (a.hash === b.hash) {\n // /page#hash -> /page#hash\n return true;\n } else if (b.hash !== \"\") {\n // /page#hash -> /page#other\n return true;\n }\n // If the hash is removed the browser will re-perform a request to the server\n // /page#hash -> /page\n return false;\n}\nfunction isDeferredResult(result) {\n return result.type === ResultType.deferred;\n}\nfunction isErrorResult(result) {\n return result.type === ResultType.error;\n}\nfunction isRedirectResult(result) {\n return (result && result.type) === ResultType.redirect;\n}\nfunction isDeferredData(value) {\n let deferred = value;\n return deferred && typeof deferred === \"object\" && typeof deferred.data === \"object\" && typeof deferred.subscribe === \"function\" && typeof deferred.cancel === \"function\" && typeof deferred.resolveData === \"function\";\n}\nfunction isResponse(value) {\n return value != null && typeof value.status === \"number\" && typeof value.statusText === \"string\" && typeof value.headers === \"object\" && typeof value.body !== \"undefined\";\n}\nfunction isRedirectResponse(result) {\n if (!isResponse(result)) {\n return false;\n }\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\nfunction isQueryRouteResponse(obj) {\n return obj && isResponse(obj.response) && (obj.type === ResultType.data || obj.type === ResultType.error);\n}\nfunction isValidMethod(method) {\n return validRequestMethods.has(method.toLowerCase());\n}\nfunction isMutationMethod(method) {\n return validMutationMethods.has(method.toLowerCase());\n}\nasync function resolveDeferredResults(currentMatches, matchesToLoad, results, signals, isFetcher, currentLoaderData) {\n for (let index = 0; index < results.length; index++) {\n let result = results[index];\n let match = matchesToLoad[index];\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n let currentMatch = currentMatches.find(m => m.route.id === match.route.id);\n let isRevalidatingLoader = currentMatch != null && !isNewRouteInstance(currentMatch, match) && (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n if (isDeferredResult(result) && (isFetcher || isRevalidatingLoader)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n let signal = signals[index];\n invariant(signal, \"Expected an AbortSignal for revalidating fetcher deferred result\");\n await resolveDeferredData(result, signal, isFetcher).then(result => {\n if (result) {\n results[index] = result || results[index];\n }\n });\n }\n }\n}\nasync function resolveDeferredData(result, signal, unwrap) {\n if (unwrap === void 0) {\n unwrap = false;\n }\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e\n };\n }\n }\n return {\n type: ResultType.data,\n data: result.deferredData.data\n };\n}\nfunction hasNakedIndexQuery(search) {\n return new URLSearchParams(search).getAll(\"index\").some(v => v === \"\");\n}\nfunction getTargetMatch(matches, location) {\n let search = typeof location === \"string\" ? parsePath(location).search : location.search;\n if (matches[matches.length - 1].route.index && hasNakedIndexQuery(search || \"\")) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\nfunction getSubmissionFromNavigation(navigation) {\n let {\n formMethod,\n formAction,\n formEncType,\n text,\n formData,\n json\n } = navigation;\n if (!formMethod || !formAction || !formEncType) {\n return;\n }\n if (text != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json: undefined,\n text\n };\n } else if (formData != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData,\n json: undefined,\n text: undefined\n };\n } else if (json !== undefined) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json,\n text: undefined\n };\n }\n}\nfunction getLoadingNavigation(location, submission) {\n if (submission) {\n let navigation = {\n state: \"loading\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text\n };\n return navigation;\n } else {\n let navigation = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined\n };\n return navigation;\n }\n}\nfunction getSubmittingNavigation(location, submission) {\n let navigation = {\n state: \"submitting\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text\n };\n return navigation;\n}\nfunction getLoadingFetcher(submission, data) {\n if (submission) {\n let fetcher = {\n state: \"loading\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data\n };\n return fetcher;\n } else {\n let fetcher = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data\n };\n return fetcher;\n }\n}\nfunction getSubmittingFetcher(submission, existingFetcher) {\n let fetcher = {\n state: \"submitting\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: existingFetcher ? existingFetcher.data : undefined\n };\n return fetcher;\n}\nfunction getDoneFetcher(data) {\n let fetcher = {\n state: \"idle\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data\n };\n return fetcher;\n}\nfunction restoreAppliedTransitions(_window, transitions) {\n try {\n let sessionPositions = _window.sessionStorage.getItem(TRANSITIONS_STORAGE_KEY);\n if (sessionPositions) {\n let json = JSON.parse(sessionPositions);\n for (let [k, v] of Object.entries(json || {})) {\n if (v && Array.isArray(v)) {\n transitions.set(k, new Set(v || []));\n }\n }\n }\n } catch (e) {\n // no-op, use default empty object\n }\n}\nfunction persistAppliedTransitions(_window, transitions) {\n if (transitions.size > 0) {\n let json = {};\n for (let [k, v] of transitions) {\n json[k] = [...v];\n }\n try {\n _window.sessionStorage.setItem(TRANSITIONS_STORAGE_KEY, JSON.stringify(json));\n } catch (error) {\n warning(false, \"Failed to save applied view transitions in sessionStorage (\" + error + \").\");\n }\n }\n}\n//#endregion\n\n\n//# sourceMappingURL=router.js.map\n\n\n//# sourceURL=webpack://renderer/./node_modules/@remix-run/router/dist/router.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/dist/formats.js": -/*!**************************************************!*\ - !*** ./node_modules/ajv-formats/dist/formats.js ***! - \**************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.formatNames = exports.fastFormats = exports.fullFormats = void 0;\nfunction fmtDef(validate, compare) {\n return { validate, compare };\n}\nexports.fullFormats = {\n // date: http://tools.ietf.org/html/rfc3339#section-5.6\n date: fmtDef(date, compareDate),\n // date-time: http://tools.ietf.org/html/rfc3339#section-5.6\n time: fmtDef(time, compareTime),\n \"date-time\": fmtDef(date_time, compareDateTime),\n // duration: https://tools.ietf.org/html/rfc3339#appendix-A\n duration: /^P(?!$)((\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+S)?)?|(\\d+W)?)$/,\n uri,\n \"uri-reference\": /^(?:[a-z][a-z0-9+\\-.]*:)?(?:\\/?\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\\.[a-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)|(?:[a-z0-9\\-._~!$&'\"()*+,;=]|%[0-9a-f]{2})*)(?::\\d*)?(?:\\/(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})*)*|\\/(?:(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\\?(?:[a-z0-9\\-._~!$&'\"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\\-._~!$&'\"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,\n // uri-template: https://tools.ietf.org/html/rfc6570\n \"uri-template\": /^(?:(?:[^\\x00-\\x20\"'<>%\\\\^`{|}]|%[0-9a-f]{2})|\\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\\*)?)*\\})*$/i,\n // For the source: https://gist.github.com/dperini/729294\n // For test cases: https://mathiasbynens.be/demo/url-regex\n url: /^(?:https?|ftp):\\/\\/(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u{00a1}-\\u{ffff}]+-)*[a-z0-9\\u{00a1}-\\u{ffff}]+)(?:\\.(?:[a-z0-9\\u{00a1}-\\u{ffff}]+-)*[a-z0-9\\u{00a1}-\\u{ffff}]+)*(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}]{2,})))(?::\\d{2,5})?(?:\\/[^\\s]*)?$/iu,\n email: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,\n hostname: /^(?=.{1,253}\\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\\.?$/i,\n // optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html\n ipv4: /^(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$/,\n ipv6: /^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))$/i,\n regex,\n // uuid: http://tools.ietf.org/html/rfc4122\n uuid: /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,\n // JSON-pointer: https://tools.ietf.org/html/rfc6901\n // uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A\n \"json-pointer\": /^(?:\\/(?:[^~/]|~0|~1)*)*$/,\n \"json-pointer-uri-fragment\": /^#(?:\\/(?:[a-z0-9_\\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,\n // relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00\n \"relative-json-pointer\": /^(?:0|[1-9][0-9]*)(?:#|(?:\\/(?:[^~/]|~0|~1)*)*)$/,\n // the following formats are used by the openapi specification: https://spec.openapis.org/oas/v3.0.0#data-types\n // byte: https://github.com/miguelmota/is-base64\n byte,\n // signed 32 bit integer\n int32: { type: \"number\", validate: validateInt32 },\n // signed 64 bit integer\n int64: { type: \"number\", validate: validateInt64 },\n // C-type float\n float: { type: \"number\", validate: validateNumber },\n // C-type double\n double: { type: \"number\", validate: validateNumber },\n // hint to the UI to hide input strings\n password: true,\n // unchecked string payload\n binary: true,\n};\nexports.fastFormats = {\n ...exports.fullFormats,\n date: fmtDef(/^\\d\\d\\d\\d-[0-1]\\d-[0-3]\\d$/, compareDate),\n time: fmtDef(/^(?:[0-2]\\d:[0-5]\\d:[0-5]\\d|23:59:60)(?:\\.\\d+)?(?:z|[+-]\\d\\d(?::?\\d\\d)?)?$/i, compareTime),\n \"date-time\": fmtDef(/^\\d\\d\\d\\d-[0-1]\\d-[0-3]\\d[t\\s](?:[0-2]\\d:[0-5]\\d:[0-5]\\d|23:59:60)(?:\\.\\d+)?(?:z|[+-]\\d\\d(?::?\\d\\d)?)$/i, compareDateTime),\n // uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js\n uri: /^(?:[a-z][a-z0-9+\\-.]*:)(?:\\/?\\/)?[^\\s]*$/i,\n \"uri-reference\": /^(?:(?:[a-z][a-z0-9+\\-.]*:)?\\/?\\/)?(?:[^\\\\\\s#][^\\s#]*)?(?:#[^\\\\\\s]*)?$/i,\n // email (sources from jsen validator):\n // http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363\n // http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'wilful violation')\n email: /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,\n};\nexports.formatNames = Object.keys(exports.fullFormats);\nfunction isLeapYear(year) {\n // https://tools.ietf.org/html/rfc3339#appendix-C\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\nconst DATE = /^(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)$/;\nconst DAYS = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction date(str) {\n // full-date from http://tools.ietf.org/html/rfc3339#section-5.6\n const matches = DATE.exec(str);\n if (!matches)\n return false;\n const year = +matches[1];\n const month = +matches[2];\n const day = +matches[3];\n return (month >= 1 &&\n month <= 12 &&\n day >= 1 &&\n day <= (month === 2 && isLeapYear(year) ? 29 : DAYS[month]));\n}\nfunction compareDate(d1, d2) {\n if (!(d1 && d2))\n return undefined;\n if (d1 > d2)\n return 1;\n if (d1 < d2)\n return -1;\n return 0;\n}\nconst TIME = /^(\\d\\d):(\\d\\d):(\\d\\d)(\\.\\d+)?(z|[+-]\\d\\d(?::?\\d\\d)?)?$/i;\nfunction time(str, withTimeZone) {\n const matches = TIME.exec(str);\n if (!matches)\n return false;\n const hour = +matches[1];\n const minute = +matches[2];\n const second = +matches[3];\n const timeZone = matches[5];\n return (((hour <= 23 && minute <= 59 && second <= 59) ||\n (hour === 23 && minute === 59 && second === 60)) &&\n (!withTimeZone || timeZone !== \"\"));\n}\nfunction compareTime(t1, t2) {\n if (!(t1 && t2))\n return undefined;\n const a1 = TIME.exec(t1);\n const a2 = TIME.exec(t2);\n if (!(a1 && a2))\n return undefined;\n t1 = a1[1] + a1[2] + a1[3] + (a1[4] || \"\");\n t2 = a2[1] + a2[2] + a2[3] + (a2[4] || \"\");\n if (t1 > t2)\n return 1;\n if (t1 < t2)\n return -1;\n return 0;\n}\nconst DATE_TIME_SEPARATOR = /t|\\s/i;\nfunction date_time(str) {\n // http://tools.ietf.org/html/rfc3339#section-5.6\n const dateTime = str.split(DATE_TIME_SEPARATOR);\n return dateTime.length === 2 && date(dateTime[0]) && time(dateTime[1], true);\n}\nfunction compareDateTime(dt1, dt2) {\n if (!(dt1 && dt2))\n return undefined;\n const [d1, t1] = dt1.split(DATE_TIME_SEPARATOR);\n const [d2, t2] = dt2.split(DATE_TIME_SEPARATOR);\n const res = compareDate(d1, d2);\n if (res === undefined)\n return undefined;\n return res || compareTime(t1, t2);\n}\nconst NOT_URI_FRAGMENT = /\\/|:/;\nconst URI = /^(?:[a-z][a-z0-9+\\-.]*:)(?:\\/?\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\\.[a-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)|(?:[a-z0-9\\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\\d*)?(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\\?(?:[a-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;\nfunction uri(str) {\n // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required \".\"\n return NOT_URI_FRAGMENT.test(str) && URI.test(str);\n}\nconst BYTE = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;\nfunction byte(str) {\n BYTE.lastIndex = 0;\n return BYTE.test(str);\n}\nconst MIN_INT32 = -(2 ** 31);\nconst MAX_INT32 = 2 ** 31 - 1;\nfunction validateInt32(value) {\n return Number.isInteger(value) && value <= MAX_INT32 && value >= MIN_INT32;\n}\nfunction validateInt64(value) {\n // JSON and javascript max Int is 2**53, so any int that passes isInteger is valid for Int64\n return Number.isInteger(value);\n}\nfunction validateNumber() {\n return true;\n}\nconst Z_ANCHOR = /[^\\\\]\\\\Z/;\nfunction regex(str) {\n if (Z_ANCHOR.test(str))\n return false;\n try {\n new RegExp(str);\n return true;\n }\n catch (e) {\n return false;\n }\n}\n//# sourceMappingURL=formats.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/dist/formats.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/dist/index.js": -/*!************************************************!*\ - !*** ./node_modules/ajv-formats/dist/index.js ***! - \************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst formats_1 = __webpack_require__(/*! ./formats */ \"./node_modules/ajv-formats/dist/formats.js\");\nconst limit_1 = __webpack_require__(/*! ./limit */ \"./node_modules/ajv-formats/dist/limit.js\");\nconst codegen_1 = __webpack_require__(/*! ajv/dist/compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst fullName = new codegen_1.Name(\"fullFormats\");\nconst fastName = new codegen_1.Name(\"fastFormats\");\nconst formatsPlugin = (ajv, opts = { keywords: true }) => {\n if (Array.isArray(opts)) {\n addFormats(ajv, opts, formats_1.fullFormats, fullName);\n return ajv;\n }\n const [formats, exportName] = opts.mode === \"fast\" ? [formats_1.fastFormats, fastName] : [formats_1.fullFormats, fullName];\n const list = opts.formats || formats_1.formatNames;\n addFormats(ajv, list, formats, exportName);\n if (opts.keywords)\n limit_1.default(ajv);\n return ajv;\n};\nformatsPlugin.get = (name, mode = \"full\") => {\n const formats = mode === \"fast\" ? formats_1.fastFormats : formats_1.fullFormats;\n const f = formats[name];\n if (!f)\n throw new Error(`Unknown format \"${name}\"`);\n return f;\n};\nfunction addFormats(ajv, list, fs, exportName) {\n var _a;\n var _b;\n (_a = (_b = ajv.opts.code).formats) !== null && _a !== void 0 ? _a : (_b.formats = codegen_1._ `require(\"ajv-formats/dist/formats\").${exportName}`);\n for (const f of list)\n ajv.addFormat(f, fs[f]);\n}\nmodule.exports = exports = formatsPlugin;\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports[\"default\"] = formatsPlugin;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/dist/index.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/dist/limit.js": -/*!************************************************!*\ - !*** ./node_modules/ajv-formats/dist/limit.js ***! - \************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.formatLimitDefinition = void 0;\nconst ajv_1 = __webpack_require__(/*! ajv */ \"./node_modules/ajv-formats/node_modules/ajv/dist/ajv.js\");\nconst codegen_1 = __webpack_require__(/*! ajv/dist/compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst ops = codegen_1.operators;\nconst KWDs = {\n formatMaximum: { okStr: \"<=\", ok: ops.LTE, fail: ops.GT },\n formatMinimum: { okStr: \">=\", ok: ops.GTE, fail: ops.LT },\n formatExclusiveMaximum: { okStr: \"<\", ok: ops.LT, fail: ops.GTE },\n formatExclusiveMinimum: { okStr: \">\", ok: ops.GT, fail: ops.LTE },\n};\nconst error = {\n message: ({ keyword, schemaCode }) => codegen_1.str `should be ${KWDs[keyword].okStr} ${schemaCode}`,\n params: ({ keyword, schemaCode }) => codegen_1._ `{comparison: ${KWDs[keyword].okStr}, limit: ${schemaCode}}`,\n};\nexports.formatLimitDefinition = {\n keyword: Object.keys(KWDs),\n type: \"string\",\n schemaType: \"string\",\n $data: true,\n error,\n code(cxt) {\n const { gen, data, schemaCode, keyword, it } = cxt;\n const { opts, self } = it;\n if (!opts.validateFormats)\n return;\n const fCxt = new ajv_1.KeywordCxt(it, self.RULES.all.format.definition, \"format\");\n if (fCxt.$data)\n validate$DataFormat();\n else\n validateFormat();\n function validate$DataFormat() {\n const fmts = gen.scopeValue(\"formats\", {\n ref: self.formats,\n code: opts.code.formats,\n });\n const fmt = gen.const(\"fmt\", codegen_1._ `${fmts}[${fCxt.schemaCode}]`);\n cxt.fail$data(codegen_1.or(codegen_1._ `typeof ${fmt} != \"object\"`, codegen_1._ `${fmt} instanceof RegExp`, codegen_1._ `typeof ${fmt}.compare != \"function\"`, compareCode(fmt)));\n }\n function validateFormat() {\n const format = fCxt.schema;\n const fmtDef = self.formats[format];\n if (!fmtDef || fmtDef === true)\n return;\n if (typeof fmtDef != \"object\" ||\n fmtDef instanceof RegExp ||\n typeof fmtDef.compare != \"function\") {\n throw new Error(`\"${keyword}\": format \"${format}\" does not define \"compare\" function`);\n }\n const fmt = gen.scopeValue(\"formats\", {\n key: format,\n ref: fmtDef,\n code: opts.code.formats ? codegen_1._ `${opts.code.formats}${codegen_1.getProperty(format)}` : undefined,\n });\n cxt.fail$data(compareCode(fmt));\n }\n function compareCode(fmt) {\n return codegen_1._ `${fmt}.compare(${data}, ${schemaCode}) ${KWDs[keyword].fail} 0`;\n }\n },\n dependencies: [\"format\"],\n};\nconst formatLimitPlugin = (ajv) => {\n ajv.addKeyword(exports.formatLimitDefinition);\n return ajv;\n};\nexports[\"default\"] = formatLimitPlugin;\n//# sourceMappingURL=limit.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/dist/limit.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/ajv.js": -/*!***************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/ajv.js ***! - \***************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MissingRefError = exports.ValidationError = exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0;\nconst core_1 = __webpack_require__(/*! ./core */ \"./node_modules/ajv-formats/node_modules/ajv/dist/core.js\");\nconst draft7_1 = __webpack_require__(/*! ./vocabularies/draft7 */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/draft7.js\");\nconst discriminator_1 = __webpack_require__(/*! ./vocabularies/discriminator */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/discriminator/index.js\");\nconst draft7MetaSchema = __webpack_require__(/*! ./refs/json-schema-draft-07.json */ \"./node_modules/ajv-formats/node_modules/ajv/dist/refs/json-schema-draft-07.json\");\nconst META_SUPPORT_DATA = [\"/properties\"];\nconst META_SCHEMA_ID = \"http://json-schema.org/draft-07/schema\";\nclass Ajv extends core_1.default {\n _addVocabularies() {\n super._addVocabularies();\n draft7_1.default.forEach((v) => this.addVocabulary(v));\n if (this.opts.discriminator)\n this.addKeyword(discriminator_1.default);\n }\n _addDefaultMetaSchema() {\n super._addDefaultMetaSchema();\n if (!this.opts.meta)\n return;\n const metaSchema = this.opts.$data\n ? this.$dataMetaSchema(draft7MetaSchema, META_SUPPORT_DATA)\n : draft7MetaSchema;\n this.addMetaSchema(metaSchema, META_SCHEMA_ID, false);\n this.refs[\"http://json-schema.org/schema\"] = META_SCHEMA_ID;\n }\n defaultMeta() {\n return (this.opts.defaultMeta =\n super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : undefined));\n }\n}\nmodule.exports = exports = Ajv;\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports[\"default\"] = Ajv;\nvar validate_1 = __webpack_require__(/*! ./compile/validate */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/index.js\");\nObject.defineProperty(exports, \"KeywordCxt\", ({ enumerable: true, get: function () { return validate_1.KeywordCxt; } }));\nvar codegen_1 = __webpack_require__(/*! ./compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nObject.defineProperty(exports, \"_\", ({ enumerable: true, get: function () { return codegen_1._; } }));\nObject.defineProperty(exports, \"str\", ({ enumerable: true, get: function () { return codegen_1.str; } }));\nObject.defineProperty(exports, \"stringify\", ({ enumerable: true, get: function () { return codegen_1.stringify; } }));\nObject.defineProperty(exports, \"nil\", ({ enumerable: true, get: function () { return codegen_1.nil; } }));\nObject.defineProperty(exports, \"Name\", ({ enumerable: true, get: function () { return codegen_1.Name; } }));\nObject.defineProperty(exports, \"CodeGen\", ({ enumerable: true, get: function () { return codegen_1.CodeGen; } }));\nvar validation_error_1 = __webpack_require__(/*! ./runtime/validation_error */ \"./node_modules/ajv-formats/node_modules/ajv/dist/runtime/validation_error.js\");\nObject.defineProperty(exports, \"ValidationError\", ({ enumerable: true, get: function () { return validation_error_1.default; } }));\nvar ref_error_1 = __webpack_require__(/*! ./compile/ref_error */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/ref_error.js\");\nObject.defineProperty(exports, \"MissingRefError\", ({ enumerable: true, get: function () { return ref_error_1.default; } }));\n//# sourceMappingURL=ajv.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/ajv.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/code.js": -/*!********************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/code.js ***! - \********************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.regexpCode = exports.getEsmExportName = exports.getProperty = exports.safeStringify = exports.stringify = exports.strConcat = exports.addCodeArg = exports.str = exports._ = exports.nil = exports._Code = exports.Name = exports.IDENTIFIER = exports._CodeOrName = void 0;\nclass _CodeOrName {\n}\nexports._CodeOrName = _CodeOrName;\nexports.IDENTIFIER = /^[a-z$_][a-z$_0-9]*$/i;\nclass Name extends _CodeOrName {\n constructor(s) {\n super();\n if (!exports.IDENTIFIER.test(s))\n throw new Error(\"CodeGen: name must be a valid identifier\");\n this.str = s;\n }\n toString() {\n return this.str;\n }\n emptyStr() {\n return false;\n }\n get names() {\n return { [this.str]: 1 };\n }\n}\nexports.Name = Name;\nclass _Code extends _CodeOrName {\n constructor(code) {\n super();\n this._items = typeof code === \"string\" ? [code] : code;\n }\n toString() {\n return this.str;\n }\n emptyStr() {\n if (this._items.length > 1)\n return false;\n const item = this._items[0];\n return item === \"\" || item === '\"\"';\n }\n get str() {\n var _a;\n return ((_a = this._str) !== null && _a !== void 0 ? _a : (this._str = this._items.reduce((s, c) => `${s}${c}`, \"\")));\n }\n get names() {\n var _a;\n return ((_a = this._names) !== null && _a !== void 0 ? _a : (this._names = this._items.reduce((names, c) => {\n if (c instanceof Name)\n names[c.str] = (names[c.str] || 0) + 1;\n return names;\n }, {})));\n }\n}\nexports._Code = _Code;\nexports.nil = new _Code(\"\");\nfunction _(strs, ...args) {\n const code = [strs[0]];\n let i = 0;\n while (i < args.length) {\n addCodeArg(code, args[i]);\n code.push(strs[++i]);\n }\n return new _Code(code);\n}\nexports._ = _;\nconst plus = new _Code(\"+\");\nfunction str(strs, ...args) {\n const expr = [safeStringify(strs[0])];\n let i = 0;\n while (i < args.length) {\n expr.push(plus);\n addCodeArg(expr, args[i]);\n expr.push(plus, safeStringify(strs[++i]));\n }\n optimize(expr);\n return new _Code(expr);\n}\nexports.str = str;\nfunction addCodeArg(code, arg) {\n if (arg instanceof _Code)\n code.push(...arg._items);\n else if (arg instanceof Name)\n code.push(arg);\n else\n code.push(interpolate(arg));\n}\nexports.addCodeArg = addCodeArg;\nfunction optimize(expr) {\n let i = 1;\n while (i < expr.length - 1) {\n if (expr[i] === plus) {\n const res = mergeExprItems(expr[i - 1], expr[i + 1]);\n if (res !== undefined) {\n expr.splice(i - 1, 3, res);\n continue;\n }\n expr[i++] = \"+\";\n }\n i++;\n }\n}\nfunction mergeExprItems(a, b) {\n if (b === '\"\"')\n return a;\n if (a === '\"\"')\n return b;\n if (typeof a == \"string\") {\n if (b instanceof Name || a[a.length - 1] !== '\"')\n return;\n if (typeof b != \"string\")\n return `${a.slice(0, -1)}${b}\"`;\n if (b[0] === '\"')\n return a.slice(0, -1) + b.slice(1);\n return;\n }\n if (typeof b == \"string\" && b[0] === '\"' && !(a instanceof Name))\n return `\"${a}${b.slice(1)}`;\n return;\n}\nfunction strConcat(c1, c2) {\n return c2.emptyStr() ? c1 : c1.emptyStr() ? c2 : str `${c1}${c2}`;\n}\nexports.strConcat = strConcat;\n// TODO do not allow arrays here\nfunction interpolate(x) {\n return typeof x == \"number\" || typeof x == \"boolean\" || x === null\n ? x\n : safeStringify(Array.isArray(x) ? x.join(\",\") : x);\n}\nfunction stringify(x) {\n return new _Code(safeStringify(x));\n}\nexports.stringify = stringify;\nfunction safeStringify(x) {\n return JSON.stringify(x)\n .replace(/\\u2028/g, \"\\\\u2028\")\n .replace(/\\u2029/g, \"\\\\u2029\");\n}\nexports.safeStringify = safeStringify;\nfunction getProperty(key) {\n return typeof key == \"string\" && exports.IDENTIFIER.test(key) ? new _Code(`.${key}`) : _ `[${key}]`;\n}\nexports.getProperty = getProperty;\n//Does best effort to format the name properly\nfunction getEsmExportName(key) {\n if (typeof key == \"string\" && exports.IDENTIFIER.test(key)) {\n return new _Code(`${key}`);\n }\n throw new Error(`CodeGen: invalid export name: ${key}, use explicit $id name mapping`);\n}\nexports.getEsmExportName = getEsmExportName;\nfunction regexpCode(rx) {\n return new _Code(rx.toString());\n}\nexports.regexpCode = regexpCode;\n//# sourceMappingURL=code.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/code.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js ***! - \*********************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.or = exports.and = exports.not = exports.CodeGen = exports.operators = exports.varKinds = exports.ValueScopeName = exports.ValueScope = exports.Scope = exports.Name = exports.regexpCode = exports.stringify = exports.getProperty = exports.nil = exports.strConcat = exports.str = exports._ = void 0;\nconst code_1 = __webpack_require__(/*! ./code */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/code.js\");\nconst scope_1 = __webpack_require__(/*! ./scope */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/scope.js\");\nvar code_2 = __webpack_require__(/*! ./code */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/code.js\");\nObject.defineProperty(exports, \"_\", ({ enumerable: true, get: function () { return code_2._; } }));\nObject.defineProperty(exports, \"str\", ({ enumerable: true, get: function () { return code_2.str; } }));\nObject.defineProperty(exports, \"strConcat\", ({ enumerable: true, get: function () { return code_2.strConcat; } }));\nObject.defineProperty(exports, \"nil\", ({ enumerable: true, get: function () { return code_2.nil; } }));\nObject.defineProperty(exports, \"getProperty\", ({ enumerable: true, get: function () { return code_2.getProperty; } }));\nObject.defineProperty(exports, \"stringify\", ({ enumerable: true, get: function () { return code_2.stringify; } }));\nObject.defineProperty(exports, \"regexpCode\", ({ enumerable: true, get: function () { return code_2.regexpCode; } }));\nObject.defineProperty(exports, \"Name\", ({ enumerable: true, get: function () { return code_2.Name; } }));\nvar scope_2 = __webpack_require__(/*! ./scope */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/scope.js\");\nObject.defineProperty(exports, \"Scope\", ({ enumerable: true, get: function () { return scope_2.Scope; } }));\nObject.defineProperty(exports, \"ValueScope\", ({ enumerable: true, get: function () { return scope_2.ValueScope; } }));\nObject.defineProperty(exports, \"ValueScopeName\", ({ enumerable: true, get: function () { return scope_2.ValueScopeName; } }));\nObject.defineProperty(exports, \"varKinds\", ({ enumerable: true, get: function () { return scope_2.varKinds; } }));\nexports.operators = {\n GT: new code_1._Code(\">\"),\n GTE: new code_1._Code(\">=\"),\n LT: new code_1._Code(\"<\"),\n LTE: new code_1._Code(\"<=\"),\n EQ: new code_1._Code(\"===\"),\n NEQ: new code_1._Code(\"!==\"),\n NOT: new code_1._Code(\"!\"),\n OR: new code_1._Code(\"||\"),\n AND: new code_1._Code(\"&&\"),\n ADD: new code_1._Code(\"+\"),\n};\nclass Node {\n optimizeNodes() {\n return this;\n }\n optimizeNames(_names, _constants) {\n return this;\n }\n}\nclass Def extends Node {\n constructor(varKind, name, rhs) {\n super();\n this.varKind = varKind;\n this.name = name;\n this.rhs = rhs;\n }\n render({ es5, _n }) {\n const varKind = es5 ? scope_1.varKinds.var : this.varKind;\n const rhs = this.rhs === undefined ? \"\" : ` = ${this.rhs}`;\n return `${varKind} ${this.name}${rhs};` + _n;\n }\n optimizeNames(names, constants) {\n if (!names[this.name.str])\n return;\n if (this.rhs)\n this.rhs = optimizeExpr(this.rhs, names, constants);\n return this;\n }\n get names() {\n return this.rhs instanceof code_1._CodeOrName ? this.rhs.names : {};\n }\n}\nclass Assign extends Node {\n constructor(lhs, rhs, sideEffects) {\n super();\n this.lhs = lhs;\n this.rhs = rhs;\n this.sideEffects = sideEffects;\n }\n render({ _n }) {\n return `${this.lhs} = ${this.rhs};` + _n;\n }\n optimizeNames(names, constants) {\n if (this.lhs instanceof code_1.Name && !names[this.lhs.str] && !this.sideEffects)\n return;\n this.rhs = optimizeExpr(this.rhs, names, constants);\n return this;\n }\n get names() {\n const names = this.lhs instanceof code_1.Name ? {} : { ...this.lhs.names };\n return addExprNames(names, this.rhs);\n }\n}\nclass AssignOp extends Assign {\n constructor(lhs, op, rhs, sideEffects) {\n super(lhs, rhs, sideEffects);\n this.op = op;\n }\n render({ _n }) {\n return `${this.lhs} ${this.op}= ${this.rhs};` + _n;\n }\n}\nclass Label extends Node {\n constructor(label) {\n super();\n this.label = label;\n this.names = {};\n }\n render({ _n }) {\n return `${this.label}:` + _n;\n }\n}\nclass Break extends Node {\n constructor(label) {\n super();\n this.label = label;\n this.names = {};\n }\n render({ _n }) {\n const label = this.label ? ` ${this.label}` : \"\";\n return `break${label};` + _n;\n }\n}\nclass Throw extends Node {\n constructor(error) {\n super();\n this.error = error;\n }\n render({ _n }) {\n return `throw ${this.error};` + _n;\n }\n get names() {\n return this.error.names;\n }\n}\nclass AnyCode extends Node {\n constructor(code) {\n super();\n this.code = code;\n }\n render({ _n }) {\n return `${this.code};` + _n;\n }\n optimizeNodes() {\n return `${this.code}` ? this : undefined;\n }\n optimizeNames(names, constants) {\n this.code = optimizeExpr(this.code, names, constants);\n return this;\n }\n get names() {\n return this.code instanceof code_1._CodeOrName ? this.code.names : {};\n }\n}\nclass ParentNode extends Node {\n constructor(nodes = []) {\n super();\n this.nodes = nodes;\n }\n render(opts) {\n return this.nodes.reduce((code, n) => code + n.render(opts), \"\");\n }\n optimizeNodes() {\n const { nodes } = this;\n let i = nodes.length;\n while (i--) {\n const n = nodes[i].optimizeNodes();\n if (Array.isArray(n))\n nodes.splice(i, 1, ...n);\n else if (n)\n nodes[i] = n;\n else\n nodes.splice(i, 1);\n }\n return nodes.length > 0 ? this : undefined;\n }\n optimizeNames(names, constants) {\n const { nodes } = this;\n let i = nodes.length;\n while (i--) {\n // iterating backwards improves 1-pass optimization\n const n = nodes[i];\n if (n.optimizeNames(names, constants))\n continue;\n subtractNames(names, n.names);\n nodes.splice(i, 1);\n }\n return nodes.length > 0 ? this : undefined;\n }\n get names() {\n return this.nodes.reduce((names, n) => addNames(names, n.names), {});\n }\n}\nclass BlockNode extends ParentNode {\n render(opts) {\n return \"{\" + opts._n + super.render(opts) + \"}\" + opts._n;\n }\n}\nclass Root extends ParentNode {\n}\nclass Else extends BlockNode {\n}\nElse.kind = \"else\";\nclass If extends BlockNode {\n constructor(condition, nodes) {\n super(nodes);\n this.condition = condition;\n }\n render(opts) {\n let code = `if(${this.condition})` + super.render(opts);\n if (this.else)\n code += \"else \" + this.else.render(opts);\n return code;\n }\n optimizeNodes() {\n super.optimizeNodes();\n const cond = this.condition;\n if (cond === true)\n return this.nodes; // else is ignored here\n let e = this.else;\n if (e) {\n const ns = e.optimizeNodes();\n e = this.else = Array.isArray(ns) ? new Else(ns) : ns;\n }\n if (e) {\n if (cond === false)\n return e instanceof If ? e : e.nodes;\n if (this.nodes.length)\n return this;\n return new If(not(cond), e instanceof If ? [e] : e.nodes);\n }\n if (cond === false || !this.nodes.length)\n return undefined;\n return this;\n }\n optimizeNames(names, constants) {\n var _a;\n this.else = (_a = this.else) === null || _a === void 0 ? void 0 : _a.optimizeNames(names, constants);\n if (!(super.optimizeNames(names, constants) || this.else))\n return;\n this.condition = optimizeExpr(this.condition, names, constants);\n return this;\n }\n get names() {\n const names = super.names;\n addExprNames(names, this.condition);\n if (this.else)\n addNames(names, this.else.names);\n return names;\n }\n}\nIf.kind = \"if\";\nclass For extends BlockNode {\n}\nFor.kind = \"for\";\nclass ForLoop extends For {\n constructor(iteration) {\n super();\n this.iteration = iteration;\n }\n render(opts) {\n return `for(${this.iteration})` + super.render(opts);\n }\n optimizeNames(names, constants) {\n if (!super.optimizeNames(names, constants))\n return;\n this.iteration = optimizeExpr(this.iteration, names, constants);\n return this;\n }\n get names() {\n return addNames(super.names, this.iteration.names);\n }\n}\nclass ForRange extends For {\n constructor(varKind, name, from, to) {\n super();\n this.varKind = varKind;\n this.name = name;\n this.from = from;\n this.to = to;\n }\n render(opts) {\n const varKind = opts.es5 ? scope_1.varKinds.var : this.varKind;\n const { name, from, to } = this;\n return `for(${varKind} ${name}=${from}; ${name}<${to}; ${name}++)` + super.render(opts);\n }\n get names() {\n const names = addExprNames(super.names, this.from);\n return addExprNames(names, this.to);\n }\n}\nclass ForIter extends For {\n constructor(loop, varKind, name, iterable) {\n super();\n this.loop = loop;\n this.varKind = varKind;\n this.name = name;\n this.iterable = iterable;\n }\n render(opts) {\n return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})` + super.render(opts);\n }\n optimizeNames(names, constants) {\n if (!super.optimizeNames(names, constants))\n return;\n this.iterable = optimizeExpr(this.iterable, names, constants);\n return this;\n }\n get names() {\n return addNames(super.names, this.iterable.names);\n }\n}\nclass Func extends BlockNode {\n constructor(name, args, async) {\n super();\n this.name = name;\n this.args = args;\n this.async = async;\n }\n render(opts) {\n const _async = this.async ? \"async \" : \"\";\n return `${_async}function ${this.name}(${this.args})` + super.render(opts);\n }\n}\nFunc.kind = \"func\";\nclass Return extends ParentNode {\n render(opts) {\n return \"return \" + super.render(opts);\n }\n}\nReturn.kind = \"return\";\nclass Try extends BlockNode {\n render(opts) {\n let code = \"try\" + super.render(opts);\n if (this.catch)\n code += this.catch.render(opts);\n if (this.finally)\n code += this.finally.render(opts);\n return code;\n }\n optimizeNodes() {\n var _a, _b;\n super.optimizeNodes();\n (_a = this.catch) === null || _a === void 0 ? void 0 : _a.optimizeNodes();\n (_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNodes();\n return this;\n }\n optimizeNames(names, constants) {\n var _a, _b;\n super.optimizeNames(names, constants);\n (_a = this.catch) === null || _a === void 0 ? void 0 : _a.optimizeNames(names, constants);\n (_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNames(names, constants);\n return this;\n }\n get names() {\n const names = super.names;\n if (this.catch)\n addNames(names, this.catch.names);\n if (this.finally)\n addNames(names, this.finally.names);\n return names;\n }\n}\nclass Catch extends BlockNode {\n constructor(error) {\n super();\n this.error = error;\n }\n render(opts) {\n return `catch(${this.error})` + super.render(opts);\n }\n}\nCatch.kind = \"catch\";\nclass Finally extends BlockNode {\n render(opts) {\n return \"finally\" + super.render(opts);\n }\n}\nFinally.kind = \"finally\";\nclass CodeGen {\n constructor(extScope, opts = {}) {\n this._values = {};\n this._blockStarts = [];\n this._constants = {};\n this.opts = { ...opts, _n: opts.lines ? \"\\n\" : \"\" };\n this._extScope = extScope;\n this._scope = new scope_1.Scope({ parent: extScope });\n this._nodes = [new Root()];\n }\n toString() {\n return this._root.render(this.opts);\n }\n // returns unique name in the internal scope\n name(prefix) {\n return this._scope.name(prefix);\n }\n // reserves unique name in the external scope\n scopeName(prefix) {\n return this._extScope.name(prefix);\n }\n // reserves unique name in the external scope and assigns value to it\n scopeValue(prefixOrName, value) {\n const name = this._extScope.value(prefixOrName, value);\n const vs = this._values[name.prefix] || (this._values[name.prefix] = new Set());\n vs.add(name);\n return name;\n }\n getScopeValue(prefix, keyOrRef) {\n return this._extScope.getValue(prefix, keyOrRef);\n }\n // return code that assigns values in the external scope to the names that are used internally\n // (same names that were returned by gen.scopeName or gen.scopeValue)\n scopeRefs(scopeName) {\n return this._extScope.scopeRefs(scopeName, this._values);\n }\n scopeCode() {\n return this._extScope.scopeCode(this._values);\n }\n _def(varKind, nameOrPrefix, rhs, constant) {\n const name = this._scope.toName(nameOrPrefix);\n if (rhs !== undefined && constant)\n this._constants[name.str] = rhs;\n this._leafNode(new Def(varKind, name, rhs));\n return name;\n }\n // `const` declaration (`var` in es5 mode)\n const(nameOrPrefix, rhs, _constant) {\n return this._def(scope_1.varKinds.const, nameOrPrefix, rhs, _constant);\n }\n // `let` declaration with optional assignment (`var` in es5 mode)\n let(nameOrPrefix, rhs, _constant) {\n return this._def(scope_1.varKinds.let, nameOrPrefix, rhs, _constant);\n }\n // `var` declaration with optional assignment\n var(nameOrPrefix, rhs, _constant) {\n return this._def(scope_1.varKinds.var, nameOrPrefix, rhs, _constant);\n }\n // assignment code\n assign(lhs, rhs, sideEffects) {\n return this._leafNode(new Assign(lhs, rhs, sideEffects));\n }\n // `+=` code\n add(lhs, rhs) {\n return this._leafNode(new AssignOp(lhs, exports.operators.ADD, rhs));\n }\n // appends passed SafeExpr to code or executes Block\n code(c) {\n if (typeof c == \"function\")\n c();\n else if (c !== code_1.nil)\n this._leafNode(new AnyCode(c));\n return this;\n }\n // returns code for object literal for the passed argument list of key-value pairs\n object(...keyValues) {\n const code = [\"{\"];\n for (const [key, value] of keyValues) {\n if (code.length > 1)\n code.push(\",\");\n code.push(key);\n if (key !== value || this.opts.es5) {\n code.push(\":\");\n (0, code_1.addCodeArg)(code, value);\n }\n }\n code.push(\"}\");\n return new code_1._Code(code);\n }\n // `if` clause (or statement if `thenBody` and, optionally, `elseBody` are passed)\n if(condition, thenBody, elseBody) {\n this._blockNode(new If(condition));\n if (thenBody && elseBody) {\n this.code(thenBody).else().code(elseBody).endIf();\n }\n else if (thenBody) {\n this.code(thenBody).endIf();\n }\n else if (elseBody) {\n throw new Error('CodeGen: \"else\" body without \"then\" body');\n }\n return this;\n }\n // `else if` clause - invalid without `if` or after `else` clauses\n elseIf(condition) {\n return this._elseNode(new If(condition));\n }\n // `else` clause - only valid after `if` or `else if` clauses\n else() {\n return this._elseNode(new Else());\n }\n // end `if` statement (needed if gen.if was used only with condition)\n endIf() {\n return this._endBlockNode(If, Else);\n }\n _for(node, forBody) {\n this._blockNode(node);\n if (forBody)\n this.code(forBody).endFor();\n return this;\n }\n // a generic `for` clause (or statement if `forBody` is passed)\n for(iteration, forBody) {\n return this._for(new ForLoop(iteration), forBody);\n }\n // `for` statement for a range of values\n forRange(nameOrPrefix, from, to, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.let) {\n const name = this._scope.toName(nameOrPrefix);\n return this._for(new ForRange(varKind, name, from, to), () => forBody(name));\n }\n // `for-of` statement (in es5 mode replace with a normal for loop)\n forOf(nameOrPrefix, iterable, forBody, varKind = scope_1.varKinds.const) {\n const name = this._scope.toName(nameOrPrefix);\n if (this.opts.es5) {\n const arr = iterable instanceof code_1.Name ? iterable : this.var(\"_arr\", iterable);\n return this.forRange(\"_i\", 0, (0, code_1._) `${arr}.length`, (i) => {\n this.var(name, (0, code_1._) `${arr}[${i}]`);\n forBody(name);\n });\n }\n return this._for(new ForIter(\"of\", varKind, name, iterable), () => forBody(name));\n }\n // `for-in` statement.\n // With option `ownProperties` replaced with a `for-of` loop for object keys\n forIn(nameOrPrefix, obj, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.const) {\n if (this.opts.ownProperties) {\n return this.forOf(nameOrPrefix, (0, code_1._) `Object.keys(${obj})`, forBody);\n }\n const name = this._scope.toName(nameOrPrefix);\n return this._for(new ForIter(\"in\", varKind, name, obj), () => forBody(name));\n }\n // end `for` loop\n endFor() {\n return this._endBlockNode(For);\n }\n // `label` statement\n label(label) {\n return this._leafNode(new Label(label));\n }\n // `break` statement\n break(label) {\n return this._leafNode(new Break(label));\n }\n // `return` statement\n return(value) {\n const node = new Return();\n this._blockNode(node);\n this.code(value);\n if (node.nodes.length !== 1)\n throw new Error('CodeGen: \"return\" should have one node');\n return this._endBlockNode(Return);\n }\n // `try` statement\n try(tryBody, catchCode, finallyCode) {\n if (!catchCode && !finallyCode)\n throw new Error('CodeGen: \"try\" without \"catch\" and \"finally\"');\n const node = new Try();\n this._blockNode(node);\n this.code(tryBody);\n if (catchCode) {\n const error = this.name(\"e\");\n this._currNode = node.catch = new Catch(error);\n catchCode(error);\n }\n if (finallyCode) {\n this._currNode = node.finally = new Finally();\n this.code(finallyCode);\n }\n return this._endBlockNode(Catch, Finally);\n }\n // `throw` statement\n throw(error) {\n return this._leafNode(new Throw(error));\n }\n // start self-balancing block\n block(body, nodeCount) {\n this._blockStarts.push(this._nodes.length);\n if (body)\n this.code(body).endBlock(nodeCount);\n return this;\n }\n // end the current self-balancing block\n endBlock(nodeCount) {\n const len = this._blockStarts.pop();\n if (len === undefined)\n throw new Error(\"CodeGen: not in self-balancing block\");\n const toClose = this._nodes.length - len;\n if (toClose < 0 || (nodeCount !== undefined && toClose !== nodeCount)) {\n throw new Error(`CodeGen: wrong number of nodes: ${toClose} vs ${nodeCount} expected`);\n }\n this._nodes.length = len;\n return this;\n }\n // `function` heading (or definition if funcBody is passed)\n func(name, args = code_1.nil, async, funcBody) {\n this._blockNode(new Func(name, args, async));\n if (funcBody)\n this.code(funcBody).endFunc();\n return this;\n }\n // end function definition\n endFunc() {\n return this._endBlockNode(Func);\n }\n optimize(n = 1) {\n while (n-- > 0) {\n this._root.optimizeNodes();\n this._root.optimizeNames(this._root.names, this._constants);\n }\n }\n _leafNode(node) {\n this._currNode.nodes.push(node);\n return this;\n }\n _blockNode(node) {\n this._currNode.nodes.push(node);\n this._nodes.push(node);\n }\n _endBlockNode(N1, N2) {\n const n = this._currNode;\n if (n instanceof N1 || (N2 && n instanceof N2)) {\n this._nodes.pop();\n return this;\n }\n throw new Error(`CodeGen: not in block \"${N2 ? `${N1.kind}/${N2.kind}` : N1.kind}\"`);\n }\n _elseNode(node) {\n const n = this._currNode;\n if (!(n instanceof If)) {\n throw new Error('CodeGen: \"else\" without \"if\"');\n }\n this._currNode = n.else = node;\n return this;\n }\n get _root() {\n return this._nodes[0];\n }\n get _currNode() {\n const ns = this._nodes;\n return ns[ns.length - 1];\n }\n set _currNode(node) {\n const ns = this._nodes;\n ns[ns.length - 1] = node;\n }\n}\nexports.CodeGen = CodeGen;\nfunction addNames(names, from) {\n for (const n in from)\n names[n] = (names[n] || 0) + (from[n] || 0);\n return names;\n}\nfunction addExprNames(names, from) {\n return from instanceof code_1._CodeOrName ? addNames(names, from.names) : names;\n}\nfunction optimizeExpr(expr, names, constants) {\n if (expr instanceof code_1.Name)\n return replaceName(expr);\n if (!canOptimize(expr))\n return expr;\n return new code_1._Code(expr._items.reduce((items, c) => {\n if (c instanceof code_1.Name)\n c = replaceName(c);\n if (c instanceof code_1._Code)\n items.push(...c._items);\n else\n items.push(c);\n return items;\n }, []));\n function replaceName(n) {\n const c = constants[n.str];\n if (c === undefined || names[n.str] !== 1)\n return n;\n delete names[n.str];\n return c;\n }\n function canOptimize(e) {\n return (e instanceof code_1._Code &&\n e._items.some((c) => c instanceof code_1.Name && names[c.str] === 1 && constants[c.str] !== undefined));\n }\n}\nfunction subtractNames(names, from) {\n for (const n in from)\n names[n] = (names[n] || 0) - (from[n] || 0);\n}\nfunction not(x) {\n return typeof x == \"boolean\" || typeof x == \"number\" || x === null ? !x : (0, code_1._) `!${par(x)}`;\n}\nexports.not = not;\nconst andCode = mappend(exports.operators.AND);\n// boolean AND (&&) expression with the passed arguments\nfunction and(...args) {\n return args.reduce(andCode);\n}\nexports.and = and;\nconst orCode = mappend(exports.operators.OR);\n// boolean OR (||) expression with the passed arguments\nfunction or(...args) {\n return args.reduce(orCode);\n}\nexports.or = or;\nfunction mappend(op) {\n return (x, y) => (x === code_1.nil ? y : y === code_1.nil ? x : (0, code_1._) `${par(x)} ${op} ${par(y)}`);\n}\nfunction par(x) {\n return x instanceof code_1.Name ? x : (0, code_1._) `(${x})`;\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/scope.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/scope.js ***! - \*********************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ValueScope = exports.ValueScopeName = exports.Scope = exports.varKinds = exports.UsedValueState = void 0;\nconst code_1 = __webpack_require__(/*! ./code */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/code.js\");\nclass ValueError extends Error {\n constructor(name) {\n super(`CodeGen: \"code\" for ${name} not defined`);\n this.value = name.value;\n }\n}\nvar UsedValueState;\n(function (UsedValueState) {\n UsedValueState[UsedValueState[\"Started\"] = 0] = \"Started\";\n UsedValueState[UsedValueState[\"Completed\"] = 1] = \"Completed\";\n})(UsedValueState = exports.UsedValueState || (exports.UsedValueState = {}));\nexports.varKinds = {\n const: new code_1.Name(\"const\"),\n let: new code_1.Name(\"let\"),\n var: new code_1.Name(\"var\"),\n};\nclass Scope {\n constructor({ prefixes, parent } = {}) {\n this._names = {};\n this._prefixes = prefixes;\n this._parent = parent;\n }\n toName(nameOrPrefix) {\n return nameOrPrefix instanceof code_1.Name ? nameOrPrefix : this.name(nameOrPrefix);\n }\n name(prefix) {\n return new code_1.Name(this._newName(prefix));\n }\n _newName(prefix) {\n const ng = this._names[prefix] || this._nameGroup(prefix);\n return `${prefix}${ng.index++}`;\n }\n _nameGroup(prefix) {\n var _a, _b;\n if (((_b = (_a = this._parent) === null || _a === void 0 ? void 0 : _a._prefixes) === null || _b === void 0 ? void 0 : _b.has(prefix)) || (this._prefixes && !this._prefixes.has(prefix))) {\n throw new Error(`CodeGen: prefix \"${prefix}\" is not allowed in this scope`);\n }\n return (this._names[prefix] = { prefix, index: 0 });\n }\n}\nexports.Scope = Scope;\nclass ValueScopeName extends code_1.Name {\n constructor(prefix, nameStr) {\n super(nameStr);\n this.prefix = prefix;\n }\n setValue(value, { property, itemIndex }) {\n this.value = value;\n this.scopePath = (0, code_1._) `.${new code_1.Name(property)}[${itemIndex}]`;\n }\n}\nexports.ValueScopeName = ValueScopeName;\nconst line = (0, code_1._) `\\n`;\nclass ValueScope extends Scope {\n constructor(opts) {\n super(opts);\n this._values = {};\n this._scope = opts.scope;\n this.opts = { ...opts, _n: opts.lines ? line : code_1.nil };\n }\n get() {\n return this._scope;\n }\n name(prefix) {\n return new ValueScopeName(prefix, this._newName(prefix));\n }\n value(nameOrPrefix, value) {\n var _a;\n if (value.ref === undefined)\n throw new Error(\"CodeGen: ref must be passed in value\");\n const name = this.toName(nameOrPrefix);\n const { prefix } = name;\n const valueKey = (_a = value.key) !== null && _a !== void 0 ? _a : value.ref;\n let vs = this._values[prefix];\n if (vs) {\n const _name = vs.get(valueKey);\n if (_name)\n return _name;\n }\n else {\n vs = this._values[prefix] = new Map();\n }\n vs.set(valueKey, name);\n const s = this._scope[prefix] || (this._scope[prefix] = []);\n const itemIndex = s.length;\n s[itemIndex] = value.ref;\n name.setValue(value, { property: prefix, itemIndex });\n return name;\n }\n getValue(prefix, keyOrRef) {\n const vs = this._values[prefix];\n if (!vs)\n return;\n return vs.get(keyOrRef);\n }\n scopeRefs(scopeName, values = this._values) {\n return this._reduceValues(values, (name) => {\n if (name.scopePath === undefined)\n throw new Error(`CodeGen: name \"${name}\" has no value`);\n return (0, code_1._) `${scopeName}${name.scopePath}`;\n });\n }\n scopeCode(values = this._values, usedValues, getCode) {\n return this._reduceValues(values, (name) => {\n if (name.value === undefined)\n throw new Error(`CodeGen: name \"${name}\" has no value`);\n return name.value.code;\n }, usedValues, getCode);\n }\n _reduceValues(values, valueCode, usedValues = {}, getCode) {\n let code = code_1.nil;\n for (const prefix in values) {\n const vs = values[prefix];\n if (!vs)\n continue;\n const nameSet = (usedValues[prefix] = usedValues[prefix] || new Map());\n vs.forEach((name) => {\n if (nameSet.has(name))\n return;\n nameSet.set(name, UsedValueState.Started);\n let c = valueCode(name);\n if (c) {\n const def = this.opts.es5 ? exports.varKinds.var : exports.varKinds.const;\n code = (0, code_1._) `${code}${def} ${name} = ${c};${this.opts._n}`;\n }\n else if ((c = getCode === null || getCode === void 0 ? void 0 : getCode(name))) {\n code = (0, code_1._) `${code}${c}${this.opts._n}`;\n }\n else {\n throw new ValueError(name);\n }\n nameSet.set(name, UsedValueState.Completed);\n });\n }\n return code;\n }\n}\nexports.ValueScope = ValueScope;\n//# sourceMappingURL=scope.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/scope.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/compile/errors.js": -/*!**************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/compile/errors.js ***! - \**************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.extendErrors = exports.resetErrorsCount = exports.reportExtraError = exports.reportError = exports.keyword$DataError = exports.keywordError = void 0;\nconst codegen_1 = __webpack_require__(/*! ./codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ./util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst names_1 = __webpack_require__(/*! ./names */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/names.js\");\nexports.keywordError = {\n message: ({ keyword }) => (0, codegen_1.str) `must pass \"${keyword}\" keyword validation`,\n};\nexports.keyword$DataError = {\n message: ({ keyword, schemaType }) => schemaType\n ? (0, codegen_1.str) `\"${keyword}\" keyword must be ${schemaType} ($data)`\n : (0, codegen_1.str) `\"${keyword}\" keyword is invalid ($data)`,\n};\nfunction reportError(cxt, error = exports.keywordError, errorPaths, overrideAllErrors) {\n const { it } = cxt;\n const { gen, compositeRule, allErrors } = it;\n const errObj = errorObjectCode(cxt, error, errorPaths);\n if (overrideAllErrors !== null && overrideAllErrors !== void 0 ? overrideAllErrors : (compositeRule || allErrors)) {\n addError(gen, errObj);\n }\n else {\n returnErrors(it, (0, codegen_1._) `[${errObj}]`);\n }\n}\nexports.reportError = reportError;\nfunction reportExtraError(cxt, error = exports.keywordError, errorPaths) {\n const { it } = cxt;\n const { gen, compositeRule, allErrors } = it;\n const errObj = errorObjectCode(cxt, error, errorPaths);\n addError(gen, errObj);\n if (!(compositeRule || allErrors)) {\n returnErrors(it, names_1.default.vErrors);\n }\n}\nexports.reportExtraError = reportExtraError;\nfunction resetErrorsCount(gen, errsCount) {\n gen.assign(names_1.default.errors, errsCount);\n gen.if((0, codegen_1._) `${names_1.default.vErrors} !== null`, () => gen.if(errsCount, () => gen.assign((0, codegen_1._) `${names_1.default.vErrors}.length`, errsCount), () => gen.assign(names_1.default.vErrors, null)));\n}\nexports.resetErrorsCount = resetErrorsCount;\nfunction extendErrors({ gen, keyword, schemaValue, data, errsCount, it, }) {\n /* istanbul ignore if */\n if (errsCount === undefined)\n throw new Error(\"ajv implementation error\");\n const err = gen.name(\"err\");\n gen.forRange(\"i\", errsCount, names_1.default.errors, (i) => {\n gen.const(err, (0, codegen_1._) `${names_1.default.vErrors}[${i}]`);\n gen.if((0, codegen_1._) `${err}.instancePath === undefined`, () => gen.assign((0, codegen_1._) `${err}.instancePath`, (0, codegen_1.strConcat)(names_1.default.instancePath, it.errorPath)));\n gen.assign((0, codegen_1._) `${err}.schemaPath`, (0, codegen_1.str) `${it.errSchemaPath}/${keyword}`);\n if (it.opts.verbose) {\n gen.assign((0, codegen_1._) `${err}.schema`, schemaValue);\n gen.assign((0, codegen_1._) `${err}.data`, data);\n }\n });\n}\nexports.extendErrors = extendErrors;\nfunction addError(gen, errObj) {\n const err = gen.const(\"err\", errObj);\n gen.if((0, codegen_1._) `${names_1.default.vErrors} === null`, () => gen.assign(names_1.default.vErrors, (0, codegen_1._) `[${err}]`), (0, codegen_1._) `${names_1.default.vErrors}.push(${err})`);\n gen.code((0, codegen_1._) `${names_1.default.errors}++`);\n}\nfunction returnErrors(it, errs) {\n const { gen, validateName, schemaEnv } = it;\n if (schemaEnv.$async) {\n gen.throw((0, codegen_1._) `new ${it.ValidationError}(${errs})`);\n }\n else {\n gen.assign((0, codegen_1._) `${validateName}.errors`, errs);\n gen.return(false);\n }\n}\nconst E = {\n keyword: new codegen_1.Name(\"keyword\"),\n schemaPath: new codegen_1.Name(\"schemaPath\"),\n params: new codegen_1.Name(\"params\"),\n propertyName: new codegen_1.Name(\"propertyName\"),\n message: new codegen_1.Name(\"message\"),\n schema: new codegen_1.Name(\"schema\"),\n parentSchema: new codegen_1.Name(\"parentSchema\"),\n};\nfunction errorObjectCode(cxt, error, errorPaths) {\n const { createErrors } = cxt.it;\n if (createErrors === false)\n return (0, codegen_1._) `{}`;\n return errorObject(cxt, error, errorPaths);\n}\nfunction errorObject(cxt, error, errorPaths = {}) {\n const { gen, it } = cxt;\n const keyValues = [\n errorInstancePath(it, errorPaths),\n errorSchemaPath(cxt, errorPaths),\n ];\n extraErrorProps(cxt, error, keyValues);\n return gen.object(...keyValues);\n}\nfunction errorInstancePath({ errorPath }, { instancePath }) {\n const instPath = instancePath\n ? (0, codegen_1.str) `${errorPath}${(0, util_1.getErrorPath)(instancePath, util_1.Type.Str)}`\n : errorPath;\n return [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, instPath)];\n}\nfunction errorSchemaPath({ keyword, it: { errSchemaPath } }, { schemaPath, parentSchema }) {\n let schPath = parentSchema ? errSchemaPath : (0, codegen_1.str) `${errSchemaPath}/${keyword}`;\n if (schemaPath) {\n schPath = (0, codegen_1.str) `${schPath}${(0, util_1.getErrorPath)(schemaPath, util_1.Type.Str)}`;\n }\n return [E.schemaPath, schPath];\n}\nfunction extraErrorProps(cxt, { params, message }, keyValues) {\n const { keyword, data, schemaValue, it } = cxt;\n const { opts, propertyName, topSchemaRef, schemaPath } = it;\n keyValues.push([E.keyword, keyword], [E.params, typeof params == \"function\" ? params(cxt) : params || (0, codegen_1._) `{}`]);\n if (opts.messages) {\n keyValues.push([E.message, typeof message == \"function\" ? message(cxt) : message]);\n }\n if (opts.verbose) {\n keyValues.push([E.schema, schemaValue], [E.parentSchema, (0, codegen_1._) `${topSchemaRef}${schemaPath}`], [names_1.default.data, data]);\n }\n if (propertyName)\n keyValues.push([E.propertyName, propertyName]);\n}\n//# sourceMappingURL=errors.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/compile/errors.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/compile/index.js": -/*!*************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/compile/index.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.resolveSchema = exports.getCompilingSchema = exports.resolveRef = exports.compileSchema = exports.SchemaEnv = void 0;\nconst codegen_1 = __webpack_require__(/*! ./codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst validation_error_1 = __webpack_require__(/*! ../runtime/validation_error */ \"./node_modules/ajv-formats/node_modules/ajv/dist/runtime/validation_error.js\");\nconst names_1 = __webpack_require__(/*! ./names */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/names.js\");\nconst resolve_1 = __webpack_require__(/*! ./resolve */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/resolve.js\");\nconst util_1 = __webpack_require__(/*! ./util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst validate_1 = __webpack_require__(/*! ./validate */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/index.js\");\nclass SchemaEnv {\n constructor(env) {\n var _a;\n this.refs = {};\n this.dynamicAnchors = {};\n let schema;\n if (typeof env.schema == \"object\")\n schema = env.schema;\n this.schema = env.schema;\n this.schemaId = env.schemaId;\n this.root = env.root || this;\n this.baseId = (_a = env.baseId) !== null && _a !== void 0 ? _a : (0, resolve_1.normalizeId)(schema === null || schema === void 0 ? void 0 : schema[env.schemaId || \"$id\"]);\n this.schemaPath = env.schemaPath;\n this.localRefs = env.localRefs;\n this.meta = env.meta;\n this.$async = schema === null || schema === void 0 ? void 0 : schema.$async;\n this.refs = {};\n }\n}\nexports.SchemaEnv = SchemaEnv;\n// let codeSize = 0\n// let nodeCount = 0\n// Compiles schema in SchemaEnv\nfunction compileSchema(sch) {\n // TODO refactor - remove compilations\n const _sch = getCompilingSchema.call(this, sch);\n if (_sch)\n return _sch;\n const rootId = (0, resolve_1.getFullPath)(this.opts.uriResolver, sch.root.baseId); // TODO if getFullPath removed 1 tests fails\n const { es5, lines } = this.opts.code;\n const { ownProperties } = this.opts;\n const gen = new codegen_1.CodeGen(this.scope, { es5, lines, ownProperties });\n let _ValidationError;\n if (sch.$async) {\n _ValidationError = gen.scopeValue(\"Error\", {\n ref: validation_error_1.default,\n code: (0, codegen_1._) `require(\"ajv/dist/runtime/validation_error\").default`,\n });\n }\n const validateName = gen.scopeName(\"validate\");\n sch.validateName = validateName;\n const schemaCxt = {\n gen,\n allErrors: this.opts.allErrors,\n data: names_1.default.data,\n parentData: names_1.default.parentData,\n parentDataProperty: names_1.default.parentDataProperty,\n dataNames: [names_1.default.data],\n dataPathArr: [codegen_1.nil],\n dataLevel: 0,\n dataTypes: [],\n definedProperties: new Set(),\n topSchemaRef: gen.scopeValue(\"schema\", this.opts.code.source === true\n ? { ref: sch.schema, code: (0, codegen_1.stringify)(sch.schema) }\n : { ref: sch.schema }),\n validateName,\n ValidationError: _ValidationError,\n schema: sch.schema,\n schemaEnv: sch,\n rootId,\n baseId: sch.baseId || rootId,\n schemaPath: codegen_1.nil,\n errSchemaPath: sch.schemaPath || (this.opts.jtd ? \"\" : \"#\"),\n errorPath: (0, codegen_1._) `\"\"`,\n opts: this.opts,\n self: this,\n };\n let sourceCode;\n try {\n this._compilations.add(sch);\n (0, validate_1.validateFunctionCode)(schemaCxt);\n gen.optimize(this.opts.code.optimize);\n // gen.optimize(1)\n const validateCode = gen.toString();\n sourceCode = `${gen.scopeRefs(names_1.default.scope)}return ${validateCode}`;\n // console.log((codeSize += sourceCode.length), (nodeCount += gen.nodeCount))\n if (this.opts.code.process)\n sourceCode = this.opts.code.process(sourceCode, sch);\n // console.log(\"\\n\\n\\n *** \\n\", sourceCode)\n const makeValidate = new Function(`${names_1.default.self}`, `${names_1.default.scope}`, sourceCode);\n const validate = makeValidate(this, this.scope.get());\n this.scope.value(validateName, { ref: validate });\n validate.errors = null;\n validate.schema = sch.schema;\n validate.schemaEnv = sch;\n if (sch.$async)\n validate.$async = true;\n if (this.opts.code.source === true) {\n validate.source = { validateName, validateCode, scopeValues: gen._values };\n }\n if (this.opts.unevaluated) {\n const { props, items } = schemaCxt;\n validate.evaluated = {\n props: props instanceof codegen_1.Name ? undefined : props,\n items: items instanceof codegen_1.Name ? undefined : items,\n dynamicProps: props instanceof codegen_1.Name,\n dynamicItems: items instanceof codegen_1.Name,\n };\n if (validate.source)\n validate.source.evaluated = (0, codegen_1.stringify)(validate.evaluated);\n }\n sch.validate = validate;\n return sch;\n }\n catch (e) {\n delete sch.validate;\n delete sch.validateName;\n if (sourceCode)\n this.logger.error(\"Error compiling schema, function code:\", sourceCode);\n // console.log(\"\\n\\n\\n *** \\n\", sourceCode, this.opts)\n throw e;\n }\n finally {\n this._compilations.delete(sch);\n }\n}\nexports.compileSchema = compileSchema;\nfunction resolveRef(root, baseId, ref) {\n var _a;\n ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, ref);\n const schOrFunc = root.refs[ref];\n if (schOrFunc)\n return schOrFunc;\n let _sch = resolve.call(this, root, ref);\n if (_sch === undefined) {\n const schema = (_a = root.localRefs) === null || _a === void 0 ? void 0 : _a[ref]; // TODO maybe localRefs should hold SchemaEnv\n const { schemaId } = this.opts;\n if (schema)\n _sch = new SchemaEnv({ schema, schemaId, root, baseId });\n }\n if (_sch === undefined)\n return;\n return (root.refs[ref] = inlineOrCompile.call(this, _sch));\n}\nexports.resolveRef = resolveRef;\nfunction inlineOrCompile(sch) {\n if ((0, resolve_1.inlineRef)(sch.schema, this.opts.inlineRefs))\n return sch.schema;\n return sch.validate ? sch : compileSchema.call(this, sch);\n}\n// Index of schema compilation in the currently compiled list\nfunction getCompilingSchema(schEnv) {\n for (const sch of this._compilations) {\n if (sameSchemaEnv(sch, schEnv))\n return sch;\n }\n}\nexports.getCompilingSchema = getCompilingSchema;\nfunction sameSchemaEnv(s1, s2) {\n return s1.schema === s2.schema && s1.root === s2.root && s1.baseId === s2.baseId;\n}\n// resolve and compile the references ($ref)\n// TODO returns AnySchemaObject (if the schema can be inlined) or validation function\nfunction resolve(root, // information about the root schema for the current schema\nref // reference to resolve\n) {\n let sch;\n while (typeof (sch = this.refs[ref]) == \"string\")\n ref = sch;\n return sch || this.schemas[ref] || resolveSchema.call(this, root, ref);\n}\n// Resolve schema, its root and baseId\nfunction resolveSchema(root, // root object with properties schema, refs TODO below SchemaEnv is assigned to it\nref // reference to resolve\n) {\n const p = this.opts.uriResolver.parse(ref);\n const refPath = (0, resolve_1._getFullPath)(this.opts.uriResolver, p);\n let baseId = (0, resolve_1.getFullPath)(this.opts.uriResolver, root.baseId, undefined);\n // TODO `Object.keys(root.schema).length > 0` should not be needed - but removing breaks 2 tests\n if (Object.keys(root.schema).length > 0 && refPath === baseId) {\n return getJsonPointer.call(this, p, root);\n }\n const id = (0, resolve_1.normalizeId)(refPath);\n const schOrRef = this.refs[id] || this.schemas[id];\n if (typeof schOrRef == \"string\") {\n const sch = resolveSchema.call(this, root, schOrRef);\n if (typeof (sch === null || sch === void 0 ? void 0 : sch.schema) !== \"object\")\n return;\n return getJsonPointer.call(this, p, sch);\n }\n if (typeof (schOrRef === null || schOrRef === void 0 ? void 0 : schOrRef.schema) !== \"object\")\n return;\n if (!schOrRef.validate)\n compileSchema.call(this, schOrRef);\n if (id === (0, resolve_1.normalizeId)(ref)) {\n const { schema } = schOrRef;\n const { schemaId } = this.opts;\n const schId = schema[schemaId];\n if (schId)\n baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId);\n return new SchemaEnv({ schema, schemaId, root, baseId });\n }\n return getJsonPointer.call(this, p, schOrRef);\n}\nexports.resolveSchema = resolveSchema;\nconst PREVENT_SCOPE_CHANGE = new Set([\n \"properties\",\n \"patternProperties\",\n \"enum\",\n \"dependencies\",\n \"definitions\",\n]);\nfunction getJsonPointer(parsedRef, { baseId, schema, root }) {\n var _a;\n if (((_a = parsedRef.fragment) === null || _a === void 0 ? void 0 : _a[0]) !== \"/\")\n return;\n for (const part of parsedRef.fragment.slice(1).split(\"/\")) {\n if (typeof schema === \"boolean\")\n return;\n const partSchema = schema[(0, util_1.unescapeFragment)(part)];\n if (partSchema === undefined)\n return;\n schema = partSchema;\n // TODO PREVENT_SCOPE_CHANGE could be defined in keyword def?\n const schId = typeof schema === \"object\" && schema[this.opts.schemaId];\n if (!PREVENT_SCOPE_CHANGE.has(part) && schId) {\n baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId);\n }\n }\n let env;\n if (typeof schema != \"boolean\" && schema.$ref && !(0, util_1.schemaHasRulesButRef)(schema, this.RULES)) {\n const $ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schema.$ref);\n env = resolveSchema.call(this, root, $ref);\n }\n // even though resolution failed we need to return SchemaEnv to throw exception\n // so that compileAsync loads missing schema.\n const { schemaId } = this.opts;\n env = env || new SchemaEnv({ schema, schemaId, root, baseId });\n if (env.schema !== env.root.schema)\n return env;\n return undefined;\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/compile/index.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/compile/names.js": -/*!*************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/compile/names.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ./codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst names = {\n // validation function arguments\n data: new codegen_1.Name(\"data\"),\n // args passed from referencing schema\n valCxt: new codegen_1.Name(\"valCxt\"),\n instancePath: new codegen_1.Name(\"instancePath\"),\n parentData: new codegen_1.Name(\"parentData\"),\n parentDataProperty: new codegen_1.Name(\"parentDataProperty\"),\n rootData: new codegen_1.Name(\"rootData\"),\n dynamicAnchors: new codegen_1.Name(\"dynamicAnchors\"),\n // function scoped variables\n vErrors: new codegen_1.Name(\"vErrors\"),\n errors: new codegen_1.Name(\"errors\"),\n this: new codegen_1.Name(\"this\"),\n // \"globals\"\n self: new codegen_1.Name(\"self\"),\n scope: new codegen_1.Name(\"scope\"),\n // JTD serialize/parse name for JSON string and position\n json: new codegen_1.Name(\"json\"),\n jsonPos: new codegen_1.Name(\"jsonPos\"),\n jsonLen: new codegen_1.Name(\"jsonLen\"),\n jsonPart: new codegen_1.Name(\"jsonPart\"),\n};\nexports[\"default\"] = names;\n//# sourceMappingURL=names.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/compile/names.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/compile/ref_error.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/compile/ref_error.js ***! - \*****************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst resolve_1 = __webpack_require__(/*! ./resolve */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/resolve.js\");\nclass MissingRefError extends Error {\n constructor(resolver, baseId, ref, msg) {\n super(msg || `can't resolve reference ${ref} from id ${baseId}`);\n this.missingRef = (0, resolve_1.resolveUrl)(resolver, baseId, ref);\n this.missingSchema = (0, resolve_1.normalizeId)((0, resolve_1.getFullPath)(resolver, this.missingRef));\n }\n}\nexports[\"default\"] = MissingRefError;\n//# sourceMappingURL=ref_error.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/compile/ref_error.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/compile/resolve.js": -/*!***************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/compile/resolve.js ***! - \***************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getSchemaRefs = exports.resolveUrl = exports.normalizeId = exports._getFullPath = exports.getFullPath = exports.inlineRef = void 0;\nconst util_1 = __webpack_require__(/*! ./util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst equal = __webpack_require__(/*! fast-deep-equal */ \"./node_modules/fast-deep-equal/index.js\");\nconst traverse = __webpack_require__(/*! json-schema-traverse */ \"./node_modules/ajv-formats/node_modules/json-schema-traverse/index.js\");\n// TODO refactor to use keyword definitions\nconst SIMPLE_INLINED = new Set([\n \"type\",\n \"format\",\n \"pattern\",\n \"maxLength\",\n \"minLength\",\n \"maxProperties\",\n \"minProperties\",\n \"maxItems\",\n \"minItems\",\n \"maximum\",\n \"minimum\",\n \"uniqueItems\",\n \"multipleOf\",\n \"required\",\n \"enum\",\n \"const\",\n]);\nfunction inlineRef(schema, limit = true) {\n if (typeof schema == \"boolean\")\n return true;\n if (limit === true)\n return !hasRef(schema);\n if (!limit)\n return false;\n return countKeys(schema) <= limit;\n}\nexports.inlineRef = inlineRef;\nconst REF_KEYWORDS = new Set([\n \"$ref\",\n \"$recursiveRef\",\n \"$recursiveAnchor\",\n \"$dynamicRef\",\n \"$dynamicAnchor\",\n]);\nfunction hasRef(schema) {\n for (const key in schema) {\n if (REF_KEYWORDS.has(key))\n return true;\n const sch = schema[key];\n if (Array.isArray(sch) && sch.some(hasRef))\n return true;\n if (typeof sch == \"object\" && hasRef(sch))\n return true;\n }\n return false;\n}\nfunction countKeys(schema) {\n let count = 0;\n for (const key in schema) {\n if (key === \"$ref\")\n return Infinity;\n count++;\n if (SIMPLE_INLINED.has(key))\n continue;\n if (typeof schema[key] == \"object\") {\n (0, util_1.eachItem)(schema[key], (sch) => (count += countKeys(sch)));\n }\n if (count === Infinity)\n return Infinity;\n }\n return count;\n}\nfunction getFullPath(resolver, id = \"\", normalize) {\n if (normalize !== false)\n id = normalizeId(id);\n const p = resolver.parse(id);\n return _getFullPath(resolver, p);\n}\nexports.getFullPath = getFullPath;\nfunction _getFullPath(resolver, p) {\n const serialized = resolver.serialize(p);\n return serialized.split(\"#\")[0] + \"#\";\n}\nexports._getFullPath = _getFullPath;\nconst TRAILING_SLASH_HASH = /#\\/?$/;\nfunction normalizeId(id) {\n return id ? id.replace(TRAILING_SLASH_HASH, \"\") : \"\";\n}\nexports.normalizeId = normalizeId;\nfunction resolveUrl(resolver, baseId, id) {\n id = normalizeId(id);\n return resolver.resolve(baseId, id);\n}\nexports.resolveUrl = resolveUrl;\nconst ANCHOR = /^[a-z_][-a-z0-9._]*$/i;\nfunction getSchemaRefs(schema, baseId) {\n if (typeof schema == \"boolean\")\n return {};\n const { schemaId, uriResolver } = this.opts;\n const schId = normalizeId(schema[schemaId] || baseId);\n const baseIds = { \"\": schId };\n const pathPrefix = getFullPath(uriResolver, schId, false);\n const localRefs = {};\n const schemaRefs = new Set();\n traverse(schema, { allKeys: true }, (sch, jsonPtr, _, parentJsonPtr) => {\n if (parentJsonPtr === undefined)\n return;\n const fullPath = pathPrefix + jsonPtr;\n let baseId = baseIds[parentJsonPtr];\n if (typeof sch[schemaId] == \"string\")\n baseId = addRef.call(this, sch[schemaId]);\n addAnchor.call(this, sch.$anchor);\n addAnchor.call(this, sch.$dynamicAnchor);\n baseIds[jsonPtr] = baseId;\n function addRef(ref) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const _resolve = this.opts.uriResolver.resolve;\n ref = normalizeId(baseId ? _resolve(baseId, ref) : ref);\n if (schemaRefs.has(ref))\n throw ambiguos(ref);\n schemaRefs.add(ref);\n let schOrRef = this.refs[ref];\n if (typeof schOrRef == \"string\")\n schOrRef = this.refs[schOrRef];\n if (typeof schOrRef == \"object\") {\n checkAmbiguosRef(sch, schOrRef.schema, ref);\n }\n else if (ref !== normalizeId(fullPath)) {\n if (ref[0] === \"#\") {\n checkAmbiguosRef(sch, localRefs[ref], ref);\n localRefs[ref] = sch;\n }\n else {\n this.refs[ref] = fullPath;\n }\n }\n return ref;\n }\n function addAnchor(anchor) {\n if (typeof anchor == \"string\") {\n if (!ANCHOR.test(anchor))\n throw new Error(`invalid anchor \"${anchor}\"`);\n addRef.call(this, `#${anchor}`);\n }\n }\n });\n return localRefs;\n function checkAmbiguosRef(sch1, sch2, ref) {\n if (sch2 !== undefined && !equal(sch1, sch2))\n throw ambiguos(ref);\n }\n function ambiguos(ref) {\n return new Error(`reference \"${ref}\" resolves to more than one schema`);\n }\n}\nexports.getSchemaRefs = getSchemaRefs;\n//# sourceMappingURL=resolve.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/compile/resolve.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/compile/rules.js": -/*!*************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/compile/rules.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getRules = exports.isJSONType = void 0;\nconst _jsonTypes = [\"string\", \"number\", \"integer\", \"boolean\", \"null\", \"object\", \"array\"];\nconst jsonTypes = new Set(_jsonTypes);\nfunction isJSONType(x) {\n return typeof x == \"string\" && jsonTypes.has(x);\n}\nexports.isJSONType = isJSONType;\nfunction getRules() {\n const groups = {\n number: { type: \"number\", rules: [] },\n string: { type: \"string\", rules: [] },\n array: { type: \"array\", rules: [] },\n object: { type: \"object\", rules: [] },\n };\n return {\n types: { ...groups, integer: true, boolean: true, null: true },\n rules: [{ rules: [] }, groups.number, groups.string, groups.array, groups.object],\n post: { rules: [] },\n all: {},\n keywords: {},\n };\n}\nexports.getRules = getRules;\n//# sourceMappingURL=rules.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/compile/rules.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js": -/*!************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js ***! - \************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.checkStrictMode = exports.getErrorPath = exports.Type = exports.useFunc = exports.setEvaluated = exports.evaluatedPropsToName = exports.mergeEvaluated = exports.eachItem = exports.unescapeJsonPointer = exports.escapeJsonPointer = exports.escapeFragment = exports.unescapeFragment = exports.schemaRefOrVal = exports.schemaHasRulesButRef = exports.schemaHasRules = exports.checkUnknownRules = exports.alwaysValidSchema = exports.toHash = void 0;\nconst codegen_1 = __webpack_require__(/*! ./codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst code_1 = __webpack_require__(/*! ./codegen/code */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/code.js\");\n// TODO refactor to use Set\nfunction toHash(arr) {\n const hash = {};\n for (const item of arr)\n hash[item] = true;\n return hash;\n}\nexports.toHash = toHash;\nfunction alwaysValidSchema(it, schema) {\n if (typeof schema == \"boolean\")\n return schema;\n if (Object.keys(schema).length === 0)\n return true;\n checkUnknownRules(it, schema);\n return !schemaHasRules(schema, it.self.RULES.all);\n}\nexports.alwaysValidSchema = alwaysValidSchema;\nfunction checkUnknownRules(it, schema = it.schema) {\n const { opts, self } = it;\n if (!opts.strictSchema)\n return;\n if (typeof schema === \"boolean\")\n return;\n const rules = self.RULES.keywords;\n for (const key in schema) {\n if (!rules[key])\n checkStrictMode(it, `unknown keyword: \"${key}\"`);\n }\n}\nexports.checkUnknownRules = checkUnknownRules;\nfunction schemaHasRules(schema, rules) {\n if (typeof schema == \"boolean\")\n return !schema;\n for (const key in schema)\n if (rules[key])\n return true;\n return false;\n}\nexports.schemaHasRules = schemaHasRules;\nfunction schemaHasRulesButRef(schema, RULES) {\n if (typeof schema == \"boolean\")\n return !schema;\n for (const key in schema)\n if (key !== \"$ref\" && RULES.all[key])\n return true;\n return false;\n}\nexports.schemaHasRulesButRef = schemaHasRulesButRef;\nfunction schemaRefOrVal({ topSchemaRef, schemaPath }, schema, keyword, $data) {\n if (!$data) {\n if (typeof schema == \"number\" || typeof schema == \"boolean\")\n return schema;\n if (typeof schema == \"string\")\n return (0, codegen_1._) `${schema}`;\n }\n return (0, codegen_1._) `${topSchemaRef}${schemaPath}${(0, codegen_1.getProperty)(keyword)}`;\n}\nexports.schemaRefOrVal = schemaRefOrVal;\nfunction unescapeFragment(str) {\n return unescapeJsonPointer(decodeURIComponent(str));\n}\nexports.unescapeFragment = unescapeFragment;\nfunction escapeFragment(str) {\n return encodeURIComponent(escapeJsonPointer(str));\n}\nexports.escapeFragment = escapeFragment;\nfunction escapeJsonPointer(str) {\n if (typeof str == \"number\")\n return `${str}`;\n return str.replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\n}\nexports.escapeJsonPointer = escapeJsonPointer;\nfunction unescapeJsonPointer(str) {\n return str.replace(/~1/g, \"/\").replace(/~0/g, \"~\");\n}\nexports.unescapeJsonPointer = unescapeJsonPointer;\nfunction eachItem(xs, f) {\n if (Array.isArray(xs)) {\n for (const x of xs)\n f(x);\n }\n else {\n f(xs);\n }\n}\nexports.eachItem = eachItem;\nfunction makeMergeEvaluated({ mergeNames, mergeToName, mergeValues, resultToName, }) {\n return (gen, from, to, toName) => {\n const res = to === undefined\n ? from\n : to instanceof codegen_1.Name\n ? (from instanceof codegen_1.Name ? mergeNames(gen, from, to) : mergeToName(gen, from, to), to)\n : from instanceof codegen_1.Name\n ? (mergeToName(gen, to, from), from)\n : mergeValues(from, to);\n return toName === codegen_1.Name && !(res instanceof codegen_1.Name) ? resultToName(gen, res) : res;\n };\n}\nexports.mergeEvaluated = {\n props: makeMergeEvaluated({\n mergeNames: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true && ${from} !== undefined`, () => {\n gen.if((0, codegen_1._) `${from} === true`, () => gen.assign(to, true), () => gen.assign(to, (0, codegen_1._) `${to} || {}`).code((0, codegen_1._) `Object.assign(${to}, ${from})`));\n }),\n mergeToName: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true`, () => {\n if (from === true) {\n gen.assign(to, true);\n }\n else {\n gen.assign(to, (0, codegen_1._) `${to} || {}`);\n setEvaluated(gen, to, from);\n }\n }),\n mergeValues: (from, to) => (from === true ? true : { ...from, ...to }),\n resultToName: evaluatedPropsToName,\n }),\n items: makeMergeEvaluated({\n mergeNames: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true && ${from} !== undefined`, () => gen.assign(to, (0, codegen_1._) `${from} === true ? true : ${to} > ${from} ? ${to} : ${from}`)),\n mergeToName: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true`, () => gen.assign(to, from === true ? true : (0, codegen_1._) `${to} > ${from} ? ${to} : ${from}`)),\n mergeValues: (from, to) => (from === true ? true : Math.max(from, to)),\n resultToName: (gen, items) => gen.var(\"items\", items),\n }),\n};\nfunction evaluatedPropsToName(gen, ps) {\n if (ps === true)\n return gen.var(\"props\", true);\n const props = gen.var(\"props\", (0, codegen_1._) `{}`);\n if (ps !== undefined)\n setEvaluated(gen, props, ps);\n return props;\n}\nexports.evaluatedPropsToName = evaluatedPropsToName;\nfunction setEvaluated(gen, props, ps) {\n Object.keys(ps).forEach((p) => gen.assign((0, codegen_1._) `${props}${(0, codegen_1.getProperty)(p)}`, true));\n}\nexports.setEvaluated = setEvaluated;\nconst snippets = {};\nfunction useFunc(gen, f) {\n return gen.scopeValue(\"func\", {\n ref: f,\n code: snippets[f.code] || (snippets[f.code] = new code_1._Code(f.code)),\n });\n}\nexports.useFunc = useFunc;\nvar Type;\n(function (Type) {\n Type[Type[\"Num\"] = 0] = \"Num\";\n Type[Type[\"Str\"] = 1] = \"Str\";\n})(Type = exports.Type || (exports.Type = {}));\nfunction getErrorPath(dataProp, dataPropType, jsPropertySyntax) {\n // let path\n if (dataProp instanceof codegen_1.Name) {\n const isNumber = dataPropType === Type.Num;\n return jsPropertySyntax\n ? isNumber\n ? (0, codegen_1._) `\"[\" + ${dataProp} + \"]\"`\n : (0, codegen_1._) `\"['\" + ${dataProp} + \"']\"`\n : isNumber\n ? (0, codegen_1._) `\"/\" + ${dataProp}`\n : (0, codegen_1._) `\"/\" + ${dataProp}.replace(/~/g, \"~0\").replace(/\\\\//g, \"~1\")`; // TODO maybe use global escapePointer\n }\n return jsPropertySyntax ? (0, codegen_1.getProperty)(dataProp).toString() : \"/\" + escapeJsonPointer(dataProp);\n}\nexports.getErrorPath = getErrorPath;\nfunction checkStrictMode(it, msg, mode = it.opts.strictSchema) {\n if (!mode)\n return;\n msg = `strict mode: ${msg}`;\n if (mode === true)\n throw new Error(msg);\n it.self.logger.warn(msg);\n}\nexports.checkStrictMode = checkStrictMode;\n//# sourceMappingURL=util.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/applicability.js": -/*!******************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/applicability.js ***! - \******************************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.shouldUseRule = exports.shouldUseGroup = exports.schemaHasRulesForType = void 0;\nfunction schemaHasRulesForType({ schema, self }, type) {\n const group = self.RULES.types[type];\n return group && group !== true && shouldUseGroup(schema, group);\n}\nexports.schemaHasRulesForType = schemaHasRulesForType;\nfunction shouldUseGroup(schema, group) {\n return group.rules.some((rule) => shouldUseRule(schema, rule));\n}\nexports.shouldUseGroup = shouldUseGroup;\nfunction shouldUseRule(schema, rule) {\n var _a;\n return (schema[rule.keyword] !== undefined ||\n ((_a = rule.definition.implements) === null || _a === void 0 ? void 0 : _a.some((kwd) => schema[kwd] !== undefined)));\n}\nexports.shouldUseRule = shouldUseRule;\n//# sourceMappingURL=applicability.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/applicability.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/boolSchema.js": -/*!***************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/boolSchema.js ***! - \***************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.boolOrEmptySchema = exports.topBoolOrEmptySchema = void 0;\nconst errors_1 = __webpack_require__(/*! ../errors */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/errors.js\");\nconst codegen_1 = __webpack_require__(/*! ../codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst names_1 = __webpack_require__(/*! ../names */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/names.js\");\nconst boolError = {\n message: \"boolean schema is false\",\n};\nfunction topBoolOrEmptySchema(it) {\n const { gen, schema, validateName } = it;\n if (schema === false) {\n falseSchemaError(it, false);\n }\n else if (typeof schema == \"object\" && schema.$async === true) {\n gen.return(names_1.default.data);\n }\n else {\n gen.assign((0, codegen_1._) `${validateName}.errors`, null);\n gen.return(true);\n }\n}\nexports.topBoolOrEmptySchema = topBoolOrEmptySchema;\nfunction boolOrEmptySchema(it, valid) {\n const { gen, schema } = it;\n if (schema === false) {\n gen.var(valid, false); // TODO var\n falseSchemaError(it);\n }\n else {\n gen.var(valid, true); // TODO var\n }\n}\nexports.boolOrEmptySchema = boolOrEmptySchema;\nfunction falseSchemaError(it, overrideAllErrors) {\n const { gen, data } = it;\n // TODO maybe some other interface should be used for non-keyword validation errors...\n const cxt = {\n gen,\n keyword: \"false schema\",\n data,\n schema: false,\n schemaCode: false,\n schemaValue: false,\n params: {},\n it,\n };\n (0, errors_1.reportError)(cxt, boolError, undefined, overrideAllErrors);\n}\n//# sourceMappingURL=boolSchema.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/boolSchema.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/dataType.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/dataType.js ***! - \*************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.reportTypeError = exports.checkDataTypes = exports.checkDataType = exports.coerceAndCheckDataType = exports.getJSONTypes = exports.getSchemaTypes = exports.DataType = void 0;\nconst rules_1 = __webpack_require__(/*! ../rules */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/rules.js\");\nconst applicability_1 = __webpack_require__(/*! ./applicability */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/applicability.js\");\nconst errors_1 = __webpack_require__(/*! ../errors */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/errors.js\");\nconst codegen_1 = __webpack_require__(/*! ../codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nvar DataType;\n(function (DataType) {\n DataType[DataType[\"Correct\"] = 0] = \"Correct\";\n DataType[DataType[\"Wrong\"] = 1] = \"Wrong\";\n})(DataType = exports.DataType || (exports.DataType = {}));\nfunction getSchemaTypes(schema) {\n const types = getJSONTypes(schema.type);\n const hasNull = types.includes(\"null\");\n if (hasNull) {\n if (schema.nullable === false)\n throw new Error(\"type: null contradicts nullable: false\");\n }\n else {\n if (!types.length && schema.nullable !== undefined) {\n throw new Error('\"nullable\" cannot be used without \"type\"');\n }\n if (schema.nullable === true)\n types.push(\"null\");\n }\n return types;\n}\nexports.getSchemaTypes = getSchemaTypes;\nfunction getJSONTypes(ts) {\n const types = Array.isArray(ts) ? ts : ts ? [ts] : [];\n if (types.every(rules_1.isJSONType))\n return types;\n throw new Error(\"type must be JSONType or JSONType[]: \" + types.join(\",\"));\n}\nexports.getJSONTypes = getJSONTypes;\nfunction coerceAndCheckDataType(it, types) {\n const { gen, data, opts } = it;\n const coerceTo = coerceToTypes(types, opts.coerceTypes);\n const checkTypes = types.length > 0 &&\n !(coerceTo.length === 0 && types.length === 1 && (0, applicability_1.schemaHasRulesForType)(it, types[0]));\n if (checkTypes) {\n const wrongType = checkDataTypes(types, data, opts.strictNumbers, DataType.Wrong);\n gen.if(wrongType, () => {\n if (coerceTo.length)\n coerceData(it, types, coerceTo);\n else\n reportTypeError(it);\n });\n }\n return checkTypes;\n}\nexports.coerceAndCheckDataType = coerceAndCheckDataType;\nconst COERCIBLE = new Set([\"string\", \"number\", \"integer\", \"boolean\", \"null\"]);\nfunction coerceToTypes(types, coerceTypes) {\n return coerceTypes\n ? types.filter((t) => COERCIBLE.has(t) || (coerceTypes === \"array\" && t === \"array\"))\n : [];\n}\nfunction coerceData(it, types, coerceTo) {\n const { gen, data, opts } = it;\n const dataType = gen.let(\"dataType\", (0, codegen_1._) `typeof ${data}`);\n const coerced = gen.let(\"coerced\", (0, codegen_1._) `undefined`);\n if (opts.coerceTypes === \"array\") {\n gen.if((0, codegen_1._) `${dataType} == 'object' && Array.isArray(${data}) && ${data}.length == 1`, () => gen\n .assign(data, (0, codegen_1._) `${data}[0]`)\n .assign(dataType, (0, codegen_1._) `typeof ${data}`)\n .if(checkDataTypes(types, data, opts.strictNumbers), () => gen.assign(coerced, data)));\n }\n gen.if((0, codegen_1._) `${coerced} !== undefined`);\n for (const t of coerceTo) {\n if (COERCIBLE.has(t) || (t === \"array\" && opts.coerceTypes === \"array\")) {\n coerceSpecificType(t);\n }\n }\n gen.else();\n reportTypeError(it);\n gen.endIf();\n gen.if((0, codegen_1._) `${coerced} !== undefined`, () => {\n gen.assign(data, coerced);\n assignParentData(it, coerced);\n });\n function coerceSpecificType(t) {\n switch (t) {\n case \"string\":\n gen\n .elseIf((0, codegen_1._) `${dataType} == \"number\" || ${dataType} == \"boolean\"`)\n .assign(coerced, (0, codegen_1._) `\"\" + ${data}`)\n .elseIf((0, codegen_1._) `${data} === null`)\n .assign(coerced, (0, codegen_1._) `\"\"`);\n return;\n case \"number\":\n gen\n .elseIf((0, codegen_1._) `${dataType} == \"boolean\" || ${data} === null\n || (${dataType} == \"string\" && ${data} && ${data} == +${data})`)\n .assign(coerced, (0, codegen_1._) `+${data}`);\n return;\n case \"integer\":\n gen\n .elseIf((0, codegen_1._) `${dataType} === \"boolean\" || ${data} === null\n || (${dataType} === \"string\" && ${data} && ${data} == +${data} && !(${data} % 1))`)\n .assign(coerced, (0, codegen_1._) `+${data}`);\n return;\n case \"boolean\":\n gen\n .elseIf((0, codegen_1._) `${data} === \"false\" || ${data} === 0 || ${data} === null`)\n .assign(coerced, false)\n .elseIf((0, codegen_1._) `${data} === \"true\" || ${data} === 1`)\n .assign(coerced, true);\n return;\n case \"null\":\n gen.elseIf((0, codegen_1._) `${data} === \"\" || ${data} === 0 || ${data} === false`);\n gen.assign(coerced, null);\n return;\n case \"array\":\n gen\n .elseIf((0, codegen_1._) `${dataType} === \"string\" || ${dataType} === \"number\"\n || ${dataType} === \"boolean\" || ${data} === null`)\n .assign(coerced, (0, codegen_1._) `[${data}]`);\n }\n }\n}\nfunction assignParentData({ gen, parentData, parentDataProperty }, expr) {\n // TODO use gen.property\n gen.if((0, codegen_1._) `${parentData} !== undefined`, () => gen.assign((0, codegen_1._) `${parentData}[${parentDataProperty}]`, expr));\n}\nfunction checkDataType(dataType, data, strictNums, correct = DataType.Correct) {\n const EQ = correct === DataType.Correct ? codegen_1.operators.EQ : codegen_1.operators.NEQ;\n let cond;\n switch (dataType) {\n case \"null\":\n return (0, codegen_1._) `${data} ${EQ} null`;\n case \"array\":\n cond = (0, codegen_1._) `Array.isArray(${data})`;\n break;\n case \"object\":\n cond = (0, codegen_1._) `${data} && typeof ${data} == \"object\" && !Array.isArray(${data})`;\n break;\n case \"integer\":\n cond = numCond((0, codegen_1._) `!(${data} % 1) && !isNaN(${data})`);\n break;\n case \"number\":\n cond = numCond();\n break;\n default:\n return (0, codegen_1._) `typeof ${data} ${EQ} ${dataType}`;\n }\n return correct === DataType.Correct ? cond : (0, codegen_1.not)(cond);\n function numCond(_cond = codegen_1.nil) {\n return (0, codegen_1.and)((0, codegen_1._) `typeof ${data} == \"number\"`, _cond, strictNums ? (0, codegen_1._) `isFinite(${data})` : codegen_1.nil);\n }\n}\nexports.checkDataType = checkDataType;\nfunction checkDataTypes(dataTypes, data, strictNums, correct) {\n if (dataTypes.length === 1) {\n return checkDataType(dataTypes[0], data, strictNums, correct);\n }\n let cond;\n const types = (0, util_1.toHash)(dataTypes);\n if (types.array && types.object) {\n const notObj = (0, codegen_1._) `typeof ${data} != \"object\"`;\n cond = types.null ? notObj : (0, codegen_1._) `!${data} || ${notObj}`;\n delete types.null;\n delete types.array;\n delete types.object;\n }\n else {\n cond = codegen_1.nil;\n }\n if (types.number)\n delete types.integer;\n for (const t in types)\n cond = (0, codegen_1.and)(cond, checkDataType(t, data, strictNums, correct));\n return cond;\n}\nexports.checkDataTypes = checkDataTypes;\nconst typeError = {\n message: ({ schema }) => `must be ${schema}`,\n params: ({ schema, schemaValue }) => typeof schema == \"string\" ? (0, codegen_1._) `{type: ${schema}}` : (0, codegen_1._) `{type: ${schemaValue}}`,\n};\nfunction reportTypeError(it) {\n const cxt = getTypeErrorContext(it);\n (0, errors_1.reportError)(cxt, typeError);\n}\nexports.reportTypeError = reportTypeError;\nfunction getTypeErrorContext(it) {\n const { gen, data, schema } = it;\n const schemaCode = (0, util_1.schemaRefOrVal)(it, schema, \"type\");\n return {\n gen,\n keyword: \"type\",\n data,\n schema: schema.type,\n schemaCode,\n schemaValue: schemaCode,\n parentSchema: schema,\n params: {},\n it,\n };\n}\n//# sourceMappingURL=dataType.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/dataType.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/defaults.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/defaults.js ***! - \*************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.assignDefaults = void 0;\nconst codegen_1 = __webpack_require__(/*! ../codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nfunction assignDefaults(it, ty) {\n const { properties, items } = it.schema;\n if (ty === \"object\" && properties) {\n for (const key in properties) {\n assignDefault(it, key, properties[key].default);\n }\n }\n else if (ty === \"array\" && Array.isArray(items)) {\n items.forEach((sch, i) => assignDefault(it, i, sch.default));\n }\n}\nexports.assignDefaults = assignDefaults;\nfunction assignDefault(it, prop, defaultValue) {\n const { gen, compositeRule, data, opts } = it;\n if (defaultValue === undefined)\n return;\n const childData = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(prop)}`;\n if (compositeRule) {\n (0, util_1.checkStrictMode)(it, `default is ignored for: ${childData}`);\n return;\n }\n let condition = (0, codegen_1._) `${childData} === undefined`;\n if (opts.useDefaults === \"empty\") {\n condition = (0, codegen_1._) `${condition} || ${childData} === null || ${childData} === \"\"`;\n }\n // `${childData} === undefined` +\n // (opts.useDefaults === \"empty\" ? ` || ${childData} === null || ${childData} === \"\"` : \"\")\n gen.if(condition, (0, codegen_1._) `${childData} = ${(0, codegen_1.stringify)(defaultValue)}`);\n}\n//# sourceMappingURL=defaults.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/defaults.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/index.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/index.js ***! - \**********************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getData = exports.KeywordCxt = exports.validateFunctionCode = void 0;\nconst boolSchema_1 = __webpack_require__(/*! ./boolSchema */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/boolSchema.js\");\nconst dataType_1 = __webpack_require__(/*! ./dataType */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/dataType.js\");\nconst applicability_1 = __webpack_require__(/*! ./applicability */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/applicability.js\");\nconst dataType_2 = __webpack_require__(/*! ./dataType */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/dataType.js\");\nconst defaults_1 = __webpack_require__(/*! ./defaults */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/defaults.js\");\nconst keyword_1 = __webpack_require__(/*! ./keyword */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/keyword.js\");\nconst subschema_1 = __webpack_require__(/*! ./subschema */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/subschema.js\");\nconst codegen_1 = __webpack_require__(/*! ../codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst names_1 = __webpack_require__(/*! ../names */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/names.js\");\nconst resolve_1 = __webpack_require__(/*! ../resolve */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/resolve.js\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst errors_1 = __webpack_require__(/*! ../errors */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/errors.js\");\n// schema compilation - generates validation function, subschemaCode (below) is used for subschemas\nfunction validateFunctionCode(it) {\n if (isSchemaObj(it)) {\n checkKeywords(it);\n if (schemaCxtHasRules(it)) {\n topSchemaObjCode(it);\n return;\n }\n }\n validateFunction(it, () => (0, boolSchema_1.topBoolOrEmptySchema)(it));\n}\nexports.validateFunctionCode = validateFunctionCode;\nfunction validateFunction({ gen, validateName, schema, schemaEnv, opts }, body) {\n if (opts.code.es5) {\n gen.func(validateName, (0, codegen_1._) `${names_1.default.data}, ${names_1.default.valCxt}`, schemaEnv.$async, () => {\n gen.code((0, codegen_1._) `\"use strict\"; ${funcSourceUrl(schema, opts)}`);\n destructureValCxtES5(gen, opts);\n gen.code(body);\n });\n }\n else {\n gen.func(validateName, (0, codegen_1._) `${names_1.default.data}, ${destructureValCxt(opts)}`, schemaEnv.$async, () => gen.code(funcSourceUrl(schema, opts)).code(body));\n }\n}\nfunction destructureValCxt(opts) {\n return (0, codegen_1._) `{${names_1.default.instancePath}=\"\", ${names_1.default.parentData}, ${names_1.default.parentDataProperty}, ${names_1.default.rootData}=${names_1.default.data}${opts.dynamicRef ? (0, codegen_1._) `, ${names_1.default.dynamicAnchors}={}` : codegen_1.nil}}={}`;\n}\nfunction destructureValCxtES5(gen, opts) {\n gen.if(names_1.default.valCxt, () => {\n gen.var(names_1.default.instancePath, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.instancePath}`);\n gen.var(names_1.default.parentData, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.parentData}`);\n gen.var(names_1.default.parentDataProperty, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.parentDataProperty}`);\n gen.var(names_1.default.rootData, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.rootData}`);\n if (opts.dynamicRef)\n gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.dynamicAnchors}`);\n }, () => {\n gen.var(names_1.default.instancePath, (0, codegen_1._) `\"\"`);\n gen.var(names_1.default.parentData, (0, codegen_1._) `undefined`);\n gen.var(names_1.default.parentDataProperty, (0, codegen_1._) `undefined`);\n gen.var(names_1.default.rootData, names_1.default.data);\n if (opts.dynamicRef)\n gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `{}`);\n });\n}\nfunction topSchemaObjCode(it) {\n const { schema, opts, gen } = it;\n validateFunction(it, () => {\n if (opts.$comment && schema.$comment)\n commentKeyword(it);\n checkNoDefault(it);\n gen.let(names_1.default.vErrors, null);\n gen.let(names_1.default.errors, 0);\n if (opts.unevaluated)\n resetEvaluated(it);\n typeAndKeywords(it);\n returnResults(it);\n });\n return;\n}\nfunction resetEvaluated(it) {\n // TODO maybe some hook to execute it in the end to check whether props/items are Name, as in assignEvaluated\n const { gen, validateName } = it;\n it.evaluated = gen.const(\"evaluated\", (0, codegen_1._) `${validateName}.evaluated`);\n gen.if((0, codegen_1._) `${it.evaluated}.dynamicProps`, () => gen.assign((0, codegen_1._) `${it.evaluated}.props`, (0, codegen_1._) `undefined`));\n gen.if((0, codegen_1._) `${it.evaluated}.dynamicItems`, () => gen.assign((0, codegen_1._) `${it.evaluated}.items`, (0, codegen_1._) `undefined`));\n}\nfunction funcSourceUrl(schema, opts) {\n const schId = typeof schema == \"object\" && schema[opts.schemaId];\n return schId && (opts.code.source || opts.code.process) ? (0, codegen_1._) `/*# sourceURL=${schId} */` : codegen_1.nil;\n}\n// schema compilation - this function is used recursively to generate code for sub-schemas\nfunction subschemaCode(it, valid) {\n if (isSchemaObj(it)) {\n checkKeywords(it);\n if (schemaCxtHasRules(it)) {\n subSchemaObjCode(it, valid);\n return;\n }\n }\n (0, boolSchema_1.boolOrEmptySchema)(it, valid);\n}\nfunction schemaCxtHasRules({ schema, self }) {\n if (typeof schema == \"boolean\")\n return !schema;\n for (const key in schema)\n if (self.RULES.all[key])\n return true;\n return false;\n}\nfunction isSchemaObj(it) {\n return typeof it.schema != \"boolean\";\n}\nfunction subSchemaObjCode(it, valid) {\n const { schema, gen, opts } = it;\n if (opts.$comment && schema.$comment)\n commentKeyword(it);\n updateContext(it);\n checkAsyncSchema(it);\n const errsCount = gen.const(\"_errs\", names_1.default.errors);\n typeAndKeywords(it, errsCount);\n // TODO var\n gen.var(valid, (0, codegen_1._) `${errsCount} === ${names_1.default.errors}`);\n}\nfunction checkKeywords(it) {\n (0, util_1.checkUnknownRules)(it);\n checkRefsAndKeywords(it);\n}\nfunction typeAndKeywords(it, errsCount) {\n if (it.opts.jtd)\n return schemaKeywords(it, [], false, errsCount);\n const types = (0, dataType_1.getSchemaTypes)(it.schema);\n const checkedTypes = (0, dataType_1.coerceAndCheckDataType)(it, types);\n schemaKeywords(it, types, !checkedTypes, errsCount);\n}\nfunction checkRefsAndKeywords(it) {\n const { schema, errSchemaPath, opts, self } = it;\n if (schema.$ref && opts.ignoreKeywordsWithRef && (0, util_1.schemaHasRulesButRef)(schema, self.RULES)) {\n self.logger.warn(`$ref: keywords ignored in schema at path \"${errSchemaPath}\"`);\n }\n}\nfunction checkNoDefault(it) {\n const { schema, opts } = it;\n if (schema.default !== undefined && opts.useDefaults && opts.strictSchema) {\n (0, util_1.checkStrictMode)(it, \"default is ignored in the schema root\");\n }\n}\nfunction updateContext(it) {\n const schId = it.schema[it.opts.schemaId];\n if (schId)\n it.baseId = (0, resolve_1.resolveUrl)(it.opts.uriResolver, it.baseId, schId);\n}\nfunction checkAsyncSchema(it) {\n if (it.schema.$async && !it.schemaEnv.$async)\n throw new Error(\"async schema in sync schema\");\n}\nfunction commentKeyword({ gen, schemaEnv, schema, errSchemaPath, opts }) {\n const msg = schema.$comment;\n if (opts.$comment === true) {\n gen.code((0, codegen_1._) `${names_1.default.self}.logger.log(${msg})`);\n }\n else if (typeof opts.$comment == \"function\") {\n const schemaPath = (0, codegen_1.str) `${errSchemaPath}/$comment`;\n const rootName = gen.scopeValue(\"root\", { ref: schemaEnv.root });\n gen.code((0, codegen_1._) `${names_1.default.self}.opts.$comment(${msg}, ${schemaPath}, ${rootName}.schema)`);\n }\n}\nfunction returnResults(it) {\n const { gen, schemaEnv, validateName, ValidationError, opts } = it;\n if (schemaEnv.$async) {\n // TODO assign unevaluated\n gen.if((0, codegen_1._) `${names_1.default.errors} === 0`, () => gen.return(names_1.default.data), () => gen.throw((0, codegen_1._) `new ${ValidationError}(${names_1.default.vErrors})`));\n }\n else {\n gen.assign((0, codegen_1._) `${validateName}.errors`, names_1.default.vErrors);\n if (opts.unevaluated)\n assignEvaluated(it);\n gen.return((0, codegen_1._) `${names_1.default.errors} === 0`);\n }\n}\nfunction assignEvaluated({ gen, evaluated, props, items }) {\n if (props instanceof codegen_1.Name)\n gen.assign((0, codegen_1._) `${evaluated}.props`, props);\n if (items instanceof codegen_1.Name)\n gen.assign((0, codegen_1._) `${evaluated}.items`, items);\n}\nfunction schemaKeywords(it, types, typeErrors, errsCount) {\n const { gen, schema, data, allErrors, opts, self } = it;\n const { RULES } = self;\n if (schema.$ref && (opts.ignoreKeywordsWithRef || !(0, util_1.schemaHasRulesButRef)(schema, RULES))) {\n gen.block(() => keywordCode(it, \"$ref\", RULES.all.$ref.definition)); // TODO typecast\n return;\n }\n if (!opts.jtd)\n checkStrictTypes(it, types);\n gen.block(() => {\n for (const group of RULES.rules)\n groupKeywords(group);\n groupKeywords(RULES.post);\n });\n function groupKeywords(group) {\n if (!(0, applicability_1.shouldUseGroup)(schema, group))\n return;\n if (group.type) {\n gen.if((0, dataType_2.checkDataType)(group.type, data, opts.strictNumbers));\n iterateKeywords(it, group);\n if (types.length === 1 && types[0] === group.type && typeErrors) {\n gen.else();\n (0, dataType_2.reportTypeError)(it);\n }\n gen.endIf();\n }\n else {\n iterateKeywords(it, group);\n }\n // TODO make it \"ok\" call?\n if (!allErrors)\n gen.if((0, codegen_1._) `${names_1.default.errors} === ${errsCount || 0}`);\n }\n}\nfunction iterateKeywords(it, group) {\n const { gen, schema, opts: { useDefaults }, } = it;\n if (useDefaults)\n (0, defaults_1.assignDefaults)(it, group.type);\n gen.block(() => {\n for (const rule of group.rules) {\n if ((0, applicability_1.shouldUseRule)(schema, rule)) {\n keywordCode(it, rule.keyword, rule.definition, group.type);\n }\n }\n });\n}\nfunction checkStrictTypes(it, types) {\n if (it.schemaEnv.meta || !it.opts.strictTypes)\n return;\n checkContextTypes(it, types);\n if (!it.opts.allowUnionTypes)\n checkMultipleTypes(it, types);\n checkKeywordTypes(it, it.dataTypes);\n}\nfunction checkContextTypes(it, types) {\n if (!types.length)\n return;\n if (!it.dataTypes.length) {\n it.dataTypes = types;\n return;\n }\n types.forEach((t) => {\n if (!includesType(it.dataTypes, t)) {\n strictTypesError(it, `type \"${t}\" not allowed by context \"${it.dataTypes.join(\",\")}\"`);\n }\n });\n narrowSchemaTypes(it, types);\n}\nfunction checkMultipleTypes(it, ts) {\n if (ts.length > 1 && !(ts.length === 2 && ts.includes(\"null\"))) {\n strictTypesError(it, \"use allowUnionTypes to allow union type keyword\");\n }\n}\nfunction checkKeywordTypes(it, ts) {\n const rules = it.self.RULES.all;\n for (const keyword in rules) {\n const rule = rules[keyword];\n if (typeof rule == \"object\" && (0, applicability_1.shouldUseRule)(it.schema, rule)) {\n const { type } = rule.definition;\n if (type.length && !type.some((t) => hasApplicableType(ts, t))) {\n strictTypesError(it, `missing type \"${type.join(\",\")}\" for keyword \"${keyword}\"`);\n }\n }\n }\n}\nfunction hasApplicableType(schTs, kwdT) {\n return schTs.includes(kwdT) || (kwdT === \"number\" && schTs.includes(\"integer\"));\n}\nfunction includesType(ts, t) {\n return ts.includes(t) || (t === \"integer\" && ts.includes(\"number\"));\n}\nfunction narrowSchemaTypes(it, withTypes) {\n const ts = [];\n for (const t of it.dataTypes) {\n if (includesType(withTypes, t))\n ts.push(t);\n else if (withTypes.includes(\"integer\") && t === \"number\")\n ts.push(\"integer\");\n }\n it.dataTypes = ts;\n}\nfunction strictTypesError(it, msg) {\n const schemaPath = it.schemaEnv.baseId + it.errSchemaPath;\n msg += ` at \"${schemaPath}\" (strictTypes)`;\n (0, util_1.checkStrictMode)(it, msg, it.opts.strictTypes);\n}\nclass KeywordCxt {\n constructor(it, def, keyword) {\n (0, keyword_1.validateKeywordUsage)(it, def, keyword);\n this.gen = it.gen;\n this.allErrors = it.allErrors;\n this.keyword = keyword;\n this.data = it.data;\n this.schema = it.schema[keyword];\n this.$data = def.$data && it.opts.$data && this.schema && this.schema.$data;\n this.schemaValue = (0, util_1.schemaRefOrVal)(it, this.schema, keyword, this.$data);\n this.schemaType = def.schemaType;\n this.parentSchema = it.schema;\n this.params = {};\n this.it = it;\n this.def = def;\n if (this.$data) {\n this.schemaCode = it.gen.const(\"vSchema\", getData(this.$data, it));\n }\n else {\n this.schemaCode = this.schemaValue;\n if (!(0, keyword_1.validSchemaType)(this.schema, def.schemaType, def.allowUndefined)) {\n throw new Error(`${keyword} value must be ${JSON.stringify(def.schemaType)}`);\n }\n }\n if (\"code\" in def ? def.trackErrors : def.errors !== false) {\n this.errsCount = it.gen.const(\"_errs\", names_1.default.errors);\n }\n }\n result(condition, successAction, failAction) {\n this.failResult((0, codegen_1.not)(condition), successAction, failAction);\n }\n failResult(condition, successAction, failAction) {\n this.gen.if(condition);\n if (failAction)\n failAction();\n else\n this.error();\n if (successAction) {\n this.gen.else();\n successAction();\n if (this.allErrors)\n this.gen.endIf();\n }\n else {\n if (this.allErrors)\n this.gen.endIf();\n else\n this.gen.else();\n }\n }\n pass(condition, failAction) {\n this.failResult((0, codegen_1.not)(condition), undefined, failAction);\n }\n fail(condition) {\n if (condition === undefined) {\n this.error();\n if (!this.allErrors)\n this.gen.if(false); // this branch will be removed by gen.optimize\n return;\n }\n this.gen.if(condition);\n this.error();\n if (this.allErrors)\n this.gen.endIf();\n else\n this.gen.else();\n }\n fail$data(condition) {\n if (!this.$data)\n return this.fail(condition);\n const { schemaCode } = this;\n this.fail((0, codegen_1._) `${schemaCode} !== undefined && (${(0, codegen_1.or)(this.invalid$data(), condition)})`);\n }\n error(append, errorParams, errorPaths) {\n if (errorParams) {\n this.setParams(errorParams);\n this._error(append, errorPaths);\n this.setParams({});\n return;\n }\n this._error(append, errorPaths);\n }\n _error(append, errorPaths) {\n ;\n (append ? errors_1.reportExtraError : errors_1.reportError)(this, this.def.error, errorPaths);\n }\n $dataError() {\n (0, errors_1.reportError)(this, this.def.$dataError || errors_1.keyword$DataError);\n }\n reset() {\n if (this.errsCount === undefined)\n throw new Error('add \"trackErrors\" to keyword definition');\n (0, errors_1.resetErrorsCount)(this.gen, this.errsCount);\n }\n ok(cond) {\n if (!this.allErrors)\n this.gen.if(cond);\n }\n setParams(obj, assign) {\n if (assign)\n Object.assign(this.params, obj);\n else\n this.params = obj;\n }\n block$data(valid, codeBlock, $dataValid = codegen_1.nil) {\n this.gen.block(() => {\n this.check$data(valid, $dataValid);\n codeBlock();\n });\n }\n check$data(valid = codegen_1.nil, $dataValid = codegen_1.nil) {\n if (!this.$data)\n return;\n const { gen, schemaCode, schemaType, def } = this;\n gen.if((0, codegen_1.or)((0, codegen_1._) `${schemaCode} === undefined`, $dataValid));\n if (valid !== codegen_1.nil)\n gen.assign(valid, true);\n if (schemaType.length || def.validateSchema) {\n gen.elseIf(this.invalid$data());\n this.$dataError();\n if (valid !== codegen_1.nil)\n gen.assign(valid, false);\n }\n gen.else();\n }\n invalid$data() {\n const { gen, schemaCode, schemaType, def, it } = this;\n return (0, codegen_1.or)(wrong$DataType(), invalid$DataSchema());\n function wrong$DataType() {\n if (schemaType.length) {\n /* istanbul ignore if */\n if (!(schemaCode instanceof codegen_1.Name))\n throw new Error(\"ajv implementation error\");\n const st = Array.isArray(schemaType) ? schemaType : [schemaType];\n return (0, codegen_1._) `${(0, dataType_2.checkDataTypes)(st, schemaCode, it.opts.strictNumbers, dataType_2.DataType.Wrong)}`;\n }\n return codegen_1.nil;\n }\n function invalid$DataSchema() {\n if (def.validateSchema) {\n const validateSchemaRef = gen.scopeValue(\"validate$data\", { ref: def.validateSchema }); // TODO value.code for standalone\n return (0, codegen_1._) `!${validateSchemaRef}(${schemaCode})`;\n }\n return codegen_1.nil;\n }\n }\n subschema(appl, valid) {\n const subschema = (0, subschema_1.getSubschema)(this.it, appl);\n (0, subschema_1.extendSubschemaData)(subschema, this.it, appl);\n (0, subschema_1.extendSubschemaMode)(subschema, appl);\n const nextContext = { ...this.it, ...subschema, items: undefined, props: undefined };\n subschemaCode(nextContext, valid);\n return nextContext;\n }\n mergeEvaluated(schemaCxt, toName) {\n const { it, gen } = this;\n if (!it.opts.unevaluated)\n return;\n if (it.props !== true && schemaCxt.props !== undefined) {\n it.props = util_1.mergeEvaluated.props(gen, schemaCxt.props, it.props, toName);\n }\n if (it.items !== true && schemaCxt.items !== undefined) {\n it.items = util_1.mergeEvaluated.items(gen, schemaCxt.items, it.items, toName);\n }\n }\n mergeValidEvaluated(schemaCxt, valid) {\n const { it, gen } = this;\n if (it.opts.unevaluated && (it.props !== true || it.items !== true)) {\n gen.if(valid, () => this.mergeEvaluated(schemaCxt, codegen_1.Name));\n return true;\n }\n }\n}\nexports.KeywordCxt = KeywordCxt;\nfunction keywordCode(it, keyword, def, ruleType) {\n const cxt = new KeywordCxt(it, def, keyword);\n if (\"code\" in def) {\n def.code(cxt, ruleType);\n }\n else if (cxt.$data && def.validate) {\n (0, keyword_1.funcKeywordCode)(cxt, def);\n }\n else if (\"macro\" in def) {\n (0, keyword_1.macroKeywordCode)(cxt, def);\n }\n else if (def.compile || def.validate) {\n (0, keyword_1.funcKeywordCode)(cxt, def);\n }\n}\nconst JSON_POINTER = /^\\/(?:[^~]|~0|~1)*$/;\nconst RELATIVE_JSON_POINTER = /^([0-9]+)(#|\\/(?:[^~]|~0|~1)*)?$/;\nfunction getData($data, { dataLevel, dataNames, dataPathArr }) {\n let jsonPointer;\n let data;\n if ($data === \"\")\n return names_1.default.rootData;\n if ($data[0] === \"/\") {\n if (!JSON_POINTER.test($data))\n throw new Error(`Invalid JSON-pointer: ${$data}`);\n jsonPointer = $data;\n data = names_1.default.rootData;\n }\n else {\n const matches = RELATIVE_JSON_POINTER.exec($data);\n if (!matches)\n throw new Error(`Invalid JSON-pointer: ${$data}`);\n const up = +matches[1];\n jsonPointer = matches[2];\n if (jsonPointer === \"#\") {\n if (up >= dataLevel)\n throw new Error(errorMsg(\"property/index\", up));\n return dataPathArr[dataLevel - up];\n }\n if (up > dataLevel)\n throw new Error(errorMsg(\"data\", up));\n data = dataNames[dataLevel - up];\n if (!jsonPointer)\n return data;\n }\n let expr = data;\n const segments = jsonPointer.split(\"/\");\n for (const segment of segments) {\n if (segment) {\n data = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)((0, util_1.unescapeJsonPointer)(segment))}`;\n expr = (0, codegen_1._) `${expr} && ${data}`;\n }\n }\n return expr;\n function errorMsg(pointerType, up) {\n return `Cannot access ${pointerType} ${up} levels up, current level is ${dataLevel}`;\n }\n}\nexports.getData = getData;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/index.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/keyword.js": -/*!************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/keyword.js ***! - \************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.validateKeywordUsage = exports.validSchemaType = exports.funcKeywordCode = exports.macroKeywordCode = void 0;\nconst codegen_1 = __webpack_require__(/*! ../codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst names_1 = __webpack_require__(/*! ../names */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/names.js\");\nconst code_1 = __webpack_require__(/*! ../../vocabularies/code */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/code.js\");\nconst errors_1 = __webpack_require__(/*! ../errors */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/errors.js\");\nfunction macroKeywordCode(cxt, def) {\n const { gen, keyword, schema, parentSchema, it } = cxt;\n const macroSchema = def.macro.call(it.self, schema, parentSchema, it);\n const schemaRef = useKeyword(gen, keyword, macroSchema);\n if (it.opts.validateSchema !== false)\n it.self.validateSchema(macroSchema, true);\n const valid = gen.name(\"valid\");\n cxt.subschema({\n schema: macroSchema,\n schemaPath: codegen_1.nil,\n errSchemaPath: `${it.errSchemaPath}/${keyword}`,\n topSchemaRef: schemaRef,\n compositeRule: true,\n }, valid);\n cxt.pass(valid, () => cxt.error(true));\n}\nexports.macroKeywordCode = macroKeywordCode;\nfunction funcKeywordCode(cxt, def) {\n var _a;\n const { gen, keyword, schema, parentSchema, $data, it } = cxt;\n checkAsyncKeyword(it, def);\n const validate = !$data && def.compile ? def.compile.call(it.self, schema, parentSchema, it) : def.validate;\n const validateRef = useKeyword(gen, keyword, validate);\n const valid = gen.let(\"valid\");\n cxt.block$data(valid, validateKeyword);\n cxt.ok((_a = def.valid) !== null && _a !== void 0 ? _a : valid);\n function validateKeyword() {\n if (def.errors === false) {\n assignValid();\n if (def.modifying)\n modifyData(cxt);\n reportErrs(() => cxt.error());\n }\n else {\n const ruleErrs = def.async ? validateAsync() : validateSync();\n if (def.modifying)\n modifyData(cxt);\n reportErrs(() => addErrs(cxt, ruleErrs));\n }\n }\n function validateAsync() {\n const ruleErrs = gen.let(\"ruleErrs\", null);\n gen.try(() => assignValid((0, codegen_1._) `await `), (e) => gen.assign(valid, false).if((0, codegen_1._) `${e} instanceof ${it.ValidationError}`, () => gen.assign(ruleErrs, (0, codegen_1._) `${e}.errors`), () => gen.throw(e)));\n return ruleErrs;\n }\n function validateSync() {\n const validateErrs = (0, codegen_1._) `${validateRef}.errors`;\n gen.assign(validateErrs, null);\n assignValid(codegen_1.nil);\n return validateErrs;\n }\n function assignValid(_await = def.async ? (0, codegen_1._) `await ` : codegen_1.nil) {\n const passCxt = it.opts.passContext ? names_1.default.this : names_1.default.self;\n const passSchema = !((\"compile\" in def && !$data) || def.schema === false);\n gen.assign(valid, (0, codegen_1._) `${_await}${(0, code_1.callValidateCode)(cxt, validateRef, passCxt, passSchema)}`, def.modifying);\n }\n function reportErrs(errors) {\n var _a;\n gen.if((0, codegen_1.not)((_a = def.valid) !== null && _a !== void 0 ? _a : valid), errors);\n }\n}\nexports.funcKeywordCode = funcKeywordCode;\nfunction modifyData(cxt) {\n const { gen, data, it } = cxt;\n gen.if(it.parentData, () => gen.assign(data, (0, codegen_1._) `${it.parentData}[${it.parentDataProperty}]`));\n}\nfunction addErrs(cxt, errs) {\n const { gen } = cxt;\n gen.if((0, codegen_1._) `Array.isArray(${errs})`, () => {\n gen\n .assign(names_1.default.vErrors, (0, codegen_1._) `${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`)\n .assign(names_1.default.errors, (0, codegen_1._) `${names_1.default.vErrors}.length`);\n (0, errors_1.extendErrors)(cxt);\n }, () => cxt.error());\n}\nfunction checkAsyncKeyword({ schemaEnv }, def) {\n if (def.async && !schemaEnv.$async)\n throw new Error(\"async keyword in sync schema\");\n}\nfunction useKeyword(gen, keyword, result) {\n if (result === undefined)\n throw new Error(`keyword \"${keyword}\" failed to compile`);\n return gen.scopeValue(\"keyword\", typeof result == \"function\" ? { ref: result } : { ref: result, code: (0, codegen_1.stringify)(result) });\n}\nfunction validSchemaType(schema, schemaType, allowUndefined = false) {\n // TODO add tests\n return (!schemaType.length ||\n schemaType.some((st) => st === \"array\"\n ? Array.isArray(schema)\n : st === \"object\"\n ? schema && typeof schema == \"object\" && !Array.isArray(schema)\n : typeof schema == st || (allowUndefined && typeof schema == \"undefined\")));\n}\nexports.validSchemaType = validSchemaType;\nfunction validateKeywordUsage({ schema, opts, self, errSchemaPath }, def, keyword) {\n /* istanbul ignore if */\n if (Array.isArray(def.keyword) ? !def.keyword.includes(keyword) : def.keyword !== keyword) {\n throw new Error(\"ajv implementation error\");\n }\n const deps = def.dependencies;\n if (deps === null || deps === void 0 ? void 0 : deps.some((kwd) => !Object.prototype.hasOwnProperty.call(schema, kwd))) {\n throw new Error(`parent schema must have dependencies of ${keyword}: ${deps.join(\",\")}`);\n }\n if (def.validateSchema) {\n const valid = def.validateSchema(schema[keyword]);\n if (!valid) {\n const msg = `keyword \"${keyword}\" value is invalid at path \"${errSchemaPath}\": ` +\n self.errorsText(def.validateSchema.errors);\n if (opts.validateSchema === \"log\")\n self.logger.error(msg);\n else\n throw new Error(msg);\n }\n }\n}\nexports.validateKeywordUsage = validateKeywordUsage;\n//# sourceMappingURL=keyword.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/keyword.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/subschema.js": -/*!**************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/subschema.js ***! - \**************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.extendSubschemaMode = exports.extendSubschemaData = exports.getSubschema = void 0;\nconst codegen_1 = __webpack_require__(/*! ../codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nfunction getSubschema(it, { keyword, schemaProp, schema, schemaPath, errSchemaPath, topSchemaRef }) {\n if (keyword !== undefined && schema !== undefined) {\n throw new Error('both \"keyword\" and \"schema\" passed, only one allowed');\n }\n if (keyword !== undefined) {\n const sch = it.schema[keyword];\n return schemaProp === undefined\n ? {\n schema: sch,\n schemaPath: (0, codegen_1._) `${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}`,\n errSchemaPath: `${it.errSchemaPath}/${keyword}`,\n }\n : {\n schema: sch[schemaProp],\n schemaPath: (0, codegen_1._) `${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}${(0, codegen_1.getProperty)(schemaProp)}`,\n errSchemaPath: `${it.errSchemaPath}/${keyword}/${(0, util_1.escapeFragment)(schemaProp)}`,\n };\n }\n if (schema !== undefined) {\n if (schemaPath === undefined || errSchemaPath === undefined || topSchemaRef === undefined) {\n throw new Error('\"schemaPath\", \"errSchemaPath\" and \"topSchemaRef\" are required with \"schema\"');\n }\n return {\n schema,\n schemaPath,\n topSchemaRef,\n errSchemaPath,\n };\n }\n throw new Error('either \"keyword\" or \"schema\" must be passed');\n}\nexports.getSubschema = getSubschema;\nfunction extendSubschemaData(subschema, it, { dataProp, dataPropType: dpType, data, dataTypes, propertyName }) {\n if (data !== undefined && dataProp !== undefined) {\n throw new Error('both \"data\" and \"dataProp\" passed, only one allowed');\n }\n const { gen } = it;\n if (dataProp !== undefined) {\n const { errorPath, dataPathArr, opts } = it;\n const nextData = gen.let(\"data\", (0, codegen_1._) `${it.data}${(0, codegen_1.getProperty)(dataProp)}`, true);\n dataContextProps(nextData);\n subschema.errorPath = (0, codegen_1.str) `${errorPath}${(0, util_1.getErrorPath)(dataProp, dpType, opts.jsPropertySyntax)}`;\n subschema.parentDataProperty = (0, codegen_1._) `${dataProp}`;\n subschema.dataPathArr = [...dataPathArr, subschema.parentDataProperty];\n }\n if (data !== undefined) {\n const nextData = data instanceof codegen_1.Name ? data : gen.let(\"data\", data, true); // replaceable if used once?\n dataContextProps(nextData);\n if (propertyName !== undefined)\n subschema.propertyName = propertyName;\n // TODO something is possibly wrong here with not changing parentDataProperty and not appending dataPathArr\n }\n if (dataTypes)\n subschema.dataTypes = dataTypes;\n function dataContextProps(_nextData) {\n subschema.data = _nextData;\n subschema.dataLevel = it.dataLevel + 1;\n subschema.dataTypes = [];\n it.definedProperties = new Set();\n subschema.parentData = it.data;\n subschema.dataNames = [...it.dataNames, _nextData];\n }\n}\nexports.extendSubschemaData = extendSubschemaData;\nfunction extendSubschemaMode(subschema, { jtdDiscriminator, jtdMetadata, compositeRule, createErrors, allErrors }) {\n if (compositeRule !== undefined)\n subschema.compositeRule = compositeRule;\n if (createErrors !== undefined)\n subschema.createErrors = createErrors;\n if (allErrors !== undefined)\n subschema.allErrors = allErrors;\n subschema.jtdDiscriminator = jtdDiscriminator; // not inherited\n subschema.jtdMetadata = jtdMetadata; // not inherited\n}\nexports.extendSubschemaMode = extendSubschemaMode;\n//# sourceMappingURL=subschema.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/subschema.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/core.js": -/*!****************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/core.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0;\nvar validate_1 = __webpack_require__(/*! ./compile/validate */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/index.js\");\nObject.defineProperty(exports, \"KeywordCxt\", ({ enumerable: true, get: function () { return validate_1.KeywordCxt; } }));\nvar codegen_1 = __webpack_require__(/*! ./compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nObject.defineProperty(exports, \"_\", ({ enumerable: true, get: function () { return codegen_1._; } }));\nObject.defineProperty(exports, \"str\", ({ enumerable: true, get: function () { return codegen_1.str; } }));\nObject.defineProperty(exports, \"stringify\", ({ enumerable: true, get: function () { return codegen_1.stringify; } }));\nObject.defineProperty(exports, \"nil\", ({ enumerable: true, get: function () { return codegen_1.nil; } }));\nObject.defineProperty(exports, \"Name\", ({ enumerable: true, get: function () { return codegen_1.Name; } }));\nObject.defineProperty(exports, \"CodeGen\", ({ enumerable: true, get: function () { return codegen_1.CodeGen; } }));\nconst validation_error_1 = __webpack_require__(/*! ./runtime/validation_error */ \"./node_modules/ajv-formats/node_modules/ajv/dist/runtime/validation_error.js\");\nconst ref_error_1 = __webpack_require__(/*! ./compile/ref_error */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/ref_error.js\");\nconst rules_1 = __webpack_require__(/*! ./compile/rules */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/rules.js\");\nconst compile_1 = __webpack_require__(/*! ./compile */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/index.js\");\nconst codegen_2 = __webpack_require__(/*! ./compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst resolve_1 = __webpack_require__(/*! ./compile/resolve */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/resolve.js\");\nconst dataType_1 = __webpack_require__(/*! ./compile/validate/dataType */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/dataType.js\");\nconst util_1 = __webpack_require__(/*! ./compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst $dataRefSchema = __webpack_require__(/*! ./refs/data.json */ \"./node_modules/ajv-formats/node_modules/ajv/dist/refs/data.json\");\nconst uri_1 = __webpack_require__(/*! ./runtime/uri */ \"./node_modules/ajv-formats/node_modules/ajv/dist/runtime/uri.js\");\nconst defaultRegExp = (str, flags) => new RegExp(str, flags);\ndefaultRegExp.code = \"new RegExp\";\nconst META_IGNORE_OPTIONS = [\"removeAdditional\", \"useDefaults\", \"coerceTypes\"];\nconst EXT_SCOPE_NAMES = new Set([\n \"validate\",\n \"serialize\",\n \"parse\",\n \"wrapper\",\n \"root\",\n \"schema\",\n \"keyword\",\n \"pattern\",\n \"formats\",\n \"validate$data\",\n \"func\",\n \"obj\",\n \"Error\",\n]);\nconst removedOptions = {\n errorDataPath: \"\",\n format: \"`validateFormats: false` can be used instead.\",\n nullable: '\"nullable\" keyword is supported by default.',\n jsonPointers: \"Deprecated jsPropertySyntax can be used instead.\",\n extendRefs: \"Deprecated ignoreKeywordsWithRef can be used instead.\",\n missingRefs: \"Pass empty schema with $id that should be ignored to ajv.addSchema.\",\n processCode: \"Use option `code: {process: (code, schemaEnv: object) => string}`\",\n sourceCode: \"Use option `code: {source: true}`\",\n strictDefaults: \"It is default now, see option `strict`.\",\n strictKeywords: \"It is default now, see option `strict`.\",\n uniqueItems: '\"uniqueItems\" keyword is always validated.',\n unknownFormats: \"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).\",\n cache: \"Map is used as cache, schema object as key.\",\n serialize: \"Map is used as cache, schema object as key.\",\n ajvErrors: \"It is default now.\",\n};\nconst deprecatedOptions = {\n ignoreKeywordsWithRef: \"\",\n jsPropertySyntax: \"\",\n unicode: '\"minLength\"/\"maxLength\" account for unicode characters by default.',\n};\nconst MAX_EXPRESSION = 200;\n// eslint-disable-next-line complexity\nfunction requiredOptions(o) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;\n const s = o.strict;\n const _optz = (_a = o.code) === null || _a === void 0 ? void 0 : _a.optimize;\n const optimize = _optz === true || _optz === undefined ? 1 : _optz || 0;\n const regExp = (_c = (_b = o.code) === null || _b === void 0 ? void 0 : _b.regExp) !== null && _c !== void 0 ? _c : defaultRegExp;\n const uriResolver = (_d = o.uriResolver) !== null && _d !== void 0 ? _d : uri_1.default;\n return {\n strictSchema: (_f = (_e = o.strictSchema) !== null && _e !== void 0 ? _e : s) !== null && _f !== void 0 ? _f : true,\n strictNumbers: (_h = (_g = o.strictNumbers) !== null && _g !== void 0 ? _g : s) !== null && _h !== void 0 ? _h : true,\n strictTypes: (_k = (_j = o.strictTypes) !== null && _j !== void 0 ? _j : s) !== null && _k !== void 0 ? _k : \"log\",\n strictTuples: (_m = (_l = o.strictTuples) !== null && _l !== void 0 ? _l : s) !== null && _m !== void 0 ? _m : \"log\",\n strictRequired: (_p = (_o = o.strictRequired) !== null && _o !== void 0 ? _o : s) !== null && _p !== void 0 ? _p : false,\n code: o.code ? { ...o.code, optimize, regExp } : { optimize, regExp },\n loopRequired: (_q = o.loopRequired) !== null && _q !== void 0 ? _q : MAX_EXPRESSION,\n loopEnum: (_r = o.loopEnum) !== null && _r !== void 0 ? _r : MAX_EXPRESSION,\n meta: (_s = o.meta) !== null && _s !== void 0 ? _s : true,\n messages: (_t = o.messages) !== null && _t !== void 0 ? _t : true,\n inlineRefs: (_u = o.inlineRefs) !== null && _u !== void 0 ? _u : true,\n schemaId: (_v = o.schemaId) !== null && _v !== void 0 ? _v : \"$id\",\n addUsedSchema: (_w = o.addUsedSchema) !== null && _w !== void 0 ? _w : true,\n validateSchema: (_x = o.validateSchema) !== null && _x !== void 0 ? _x : true,\n validateFormats: (_y = o.validateFormats) !== null && _y !== void 0 ? _y : true,\n unicodeRegExp: (_z = o.unicodeRegExp) !== null && _z !== void 0 ? _z : true,\n int32range: (_0 = o.int32range) !== null && _0 !== void 0 ? _0 : true,\n uriResolver: uriResolver,\n };\n}\nclass Ajv {\n constructor(opts = {}) {\n this.schemas = {};\n this.refs = {};\n this.formats = {};\n this._compilations = new Set();\n this._loading = {};\n this._cache = new Map();\n opts = this.opts = { ...opts, ...requiredOptions(opts) };\n const { es5, lines } = this.opts.code;\n this.scope = new codegen_2.ValueScope({ scope: {}, prefixes: EXT_SCOPE_NAMES, es5, lines });\n this.logger = getLogger(opts.logger);\n const formatOpt = opts.validateFormats;\n opts.validateFormats = false;\n this.RULES = (0, rules_1.getRules)();\n checkOptions.call(this, removedOptions, opts, \"NOT SUPPORTED\");\n checkOptions.call(this, deprecatedOptions, opts, \"DEPRECATED\", \"warn\");\n this._metaOpts = getMetaSchemaOptions.call(this);\n if (opts.formats)\n addInitialFormats.call(this);\n this._addVocabularies();\n this._addDefaultMetaSchema();\n if (opts.keywords)\n addInitialKeywords.call(this, opts.keywords);\n if (typeof opts.meta == \"object\")\n this.addMetaSchema(opts.meta);\n addInitialSchemas.call(this);\n opts.validateFormats = formatOpt;\n }\n _addVocabularies() {\n this.addKeyword(\"$async\");\n }\n _addDefaultMetaSchema() {\n const { $data, meta, schemaId } = this.opts;\n let _dataRefSchema = $dataRefSchema;\n if (schemaId === \"id\") {\n _dataRefSchema = { ...$dataRefSchema };\n _dataRefSchema.id = _dataRefSchema.$id;\n delete _dataRefSchema.$id;\n }\n if (meta && $data)\n this.addMetaSchema(_dataRefSchema, _dataRefSchema[schemaId], false);\n }\n defaultMeta() {\n const { meta, schemaId } = this.opts;\n return (this.opts.defaultMeta = typeof meta == \"object\" ? meta[schemaId] || meta : undefined);\n }\n validate(schemaKeyRef, // key, ref or schema object\n data // to be validated\n ) {\n let v;\n if (typeof schemaKeyRef == \"string\") {\n v = this.getSchema(schemaKeyRef);\n if (!v)\n throw new Error(`no schema with key or ref \"${schemaKeyRef}\"`);\n }\n else {\n v = this.compile(schemaKeyRef);\n }\n const valid = v(data);\n if (!(\"$async\" in v))\n this.errors = v.errors;\n return valid;\n }\n compile(schema, _meta) {\n const sch = this._addSchema(schema, _meta);\n return (sch.validate || this._compileSchemaEnv(sch));\n }\n compileAsync(schema, meta) {\n if (typeof this.opts.loadSchema != \"function\") {\n throw new Error(\"options.loadSchema should be a function\");\n }\n const { loadSchema } = this.opts;\n return runCompileAsync.call(this, schema, meta);\n async function runCompileAsync(_schema, _meta) {\n await loadMetaSchema.call(this, _schema.$schema);\n const sch = this._addSchema(_schema, _meta);\n return sch.validate || _compileAsync.call(this, sch);\n }\n async function loadMetaSchema($ref) {\n if ($ref && !this.getSchema($ref)) {\n await runCompileAsync.call(this, { $ref }, true);\n }\n }\n async function _compileAsync(sch) {\n try {\n return this._compileSchemaEnv(sch);\n }\n catch (e) {\n if (!(e instanceof ref_error_1.default))\n throw e;\n checkLoaded.call(this, e);\n await loadMissingSchema.call(this, e.missingSchema);\n return _compileAsync.call(this, sch);\n }\n }\n function checkLoaded({ missingSchema: ref, missingRef }) {\n if (this.refs[ref]) {\n throw new Error(`AnySchema ${ref} is loaded but ${missingRef} cannot be resolved`);\n }\n }\n async function loadMissingSchema(ref) {\n const _schema = await _loadSchema.call(this, ref);\n if (!this.refs[ref])\n await loadMetaSchema.call(this, _schema.$schema);\n if (!this.refs[ref])\n this.addSchema(_schema, ref, meta);\n }\n async function _loadSchema(ref) {\n const p = this._loading[ref];\n if (p)\n return p;\n try {\n return await (this._loading[ref] = loadSchema(ref));\n }\n finally {\n delete this._loading[ref];\n }\n }\n }\n // Adds schema to the instance\n addSchema(schema, // If array is passed, `key` will be ignored\n key, // Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`.\n _meta, // true if schema is a meta-schema. Used internally, addMetaSchema should be used instead.\n _validateSchema = this.opts.validateSchema // false to skip schema validation. Used internally, option validateSchema should be used instead.\n ) {\n if (Array.isArray(schema)) {\n for (const sch of schema)\n this.addSchema(sch, undefined, _meta, _validateSchema);\n return this;\n }\n let id;\n if (typeof schema === \"object\") {\n const { schemaId } = this.opts;\n id = schema[schemaId];\n if (id !== undefined && typeof id != \"string\") {\n throw new Error(`schema ${schemaId} must be string`);\n }\n }\n key = (0, resolve_1.normalizeId)(key || id);\n this._checkUnique(key);\n this.schemas[key] = this._addSchema(schema, _meta, key, _validateSchema, true);\n return this;\n }\n // Add schema that will be used to validate other schemas\n // options in META_IGNORE_OPTIONS are alway set to false\n addMetaSchema(schema, key, // schema key\n _validateSchema = this.opts.validateSchema // false to skip schema validation, can be used to override validateSchema option for meta-schema\n ) {\n this.addSchema(schema, key, true, _validateSchema);\n return this;\n }\n // Validate schema against its meta-schema\n validateSchema(schema, throwOrLogError) {\n if (typeof schema == \"boolean\")\n return true;\n let $schema;\n $schema = schema.$schema;\n if ($schema !== undefined && typeof $schema != \"string\") {\n throw new Error(\"$schema must be a string\");\n }\n $schema = $schema || this.opts.defaultMeta || this.defaultMeta();\n if (!$schema) {\n this.logger.warn(\"meta-schema not available\");\n this.errors = null;\n return true;\n }\n const valid = this.validate($schema, schema);\n if (!valid && throwOrLogError) {\n const message = \"schema is invalid: \" + this.errorsText();\n if (this.opts.validateSchema === \"log\")\n this.logger.error(message);\n else\n throw new Error(message);\n }\n return valid;\n }\n // Get compiled schema by `key` or `ref`.\n // (`key` that was passed to `addSchema` or full schema reference - `schema.$id` or resolved id)\n getSchema(keyRef) {\n let sch;\n while (typeof (sch = getSchEnv.call(this, keyRef)) == \"string\")\n keyRef = sch;\n if (sch === undefined) {\n const { schemaId } = this.opts;\n const root = new compile_1.SchemaEnv({ schema: {}, schemaId });\n sch = compile_1.resolveSchema.call(this, root, keyRef);\n if (!sch)\n return;\n this.refs[keyRef] = sch;\n }\n return (sch.validate || this._compileSchemaEnv(sch));\n }\n // Remove cached schema(s).\n // If no parameter is passed all schemas but meta-schemas are removed.\n // If RegExp is passed all schemas with key/id matching pattern but meta-schemas are removed.\n // Even if schema is referenced by other schemas it still can be removed as other schemas have local references.\n removeSchema(schemaKeyRef) {\n if (schemaKeyRef instanceof RegExp) {\n this._removeAllSchemas(this.schemas, schemaKeyRef);\n this._removeAllSchemas(this.refs, schemaKeyRef);\n return this;\n }\n switch (typeof schemaKeyRef) {\n case \"undefined\":\n this._removeAllSchemas(this.schemas);\n this._removeAllSchemas(this.refs);\n this._cache.clear();\n return this;\n case \"string\": {\n const sch = getSchEnv.call(this, schemaKeyRef);\n if (typeof sch == \"object\")\n this._cache.delete(sch.schema);\n delete this.schemas[schemaKeyRef];\n delete this.refs[schemaKeyRef];\n return this;\n }\n case \"object\": {\n const cacheKey = schemaKeyRef;\n this._cache.delete(cacheKey);\n let id = schemaKeyRef[this.opts.schemaId];\n if (id) {\n id = (0, resolve_1.normalizeId)(id);\n delete this.schemas[id];\n delete this.refs[id];\n }\n return this;\n }\n default:\n throw new Error(\"ajv.removeSchema: invalid parameter\");\n }\n }\n // add \"vocabulary\" - a collection of keywords\n addVocabulary(definitions) {\n for (const def of definitions)\n this.addKeyword(def);\n return this;\n }\n addKeyword(kwdOrDef, def // deprecated\n ) {\n let keyword;\n if (typeof kwdOrDef == \"string\") {\n keyword = kwdOrDef;\n if (typeof def == \"object\") {\n this.logger.warn(\"these parameters are deprecated, see docs for addKeyword\");\n def.keyword = keyword;\n }\n }\n else if (typeof kwdOrDef == \"object\" && def === undefined) {\n def = kwdOrDef;\n keyword = def.keyword;\n if (Array.isArray(keyword) && !keyword.length) {\n throw new Error(\"addKeywords: keyword must be string or non-empty array\");\n }\n }\n else {\n throw new Error(\"invalid addKeywords parameters\");\n }\n checkKeyword.call(this, keyword, def);\n if (!def) {\n (0, util_1.eachItem)(keyword, (kwd) => addRule.call(this, kwd));\n return this;\n }\n keywordMetaschema.call(this, def);\n const definition = {\n ...def,\n type: (0, dataType_1.getJSONTypes)(def.type),\n schemaType: (0, dataType_1.getJSONTypes)(def.schemaType),\n };\n (0, util_1.eachItem)(keyword, definition.type.length === 0\n ? (k) => addRule.call(this, k, definition)\n : (k) => definition.type.forEach((t) => addRule.call(this, k, definition, t)));\n return this;\n }\n getKeyword(keyword) {\n const rule = this.RULES.all[keyword];\n return typeof rule == \"object\" ? rule.definition : !!rule;\n }\n // Remove keyword\n removeKeyword(keyword) {\n // TODO return type should be Ajv\n const { RULES } = this;\n delete RULES.keywords[keyword];\n delete RULES.all[keyword];\n for (const group of RULES.rules) {\n const i = group.rules.findIndex((rule) => rule.keyword === keyword);\n if (i >= 0)\n group.rules.splice(i, 1);\n }\n return this;\n }\n // Add format\n addFormat(name, format) {\n if (typeof format == \"string\")\n format = new RegExp(format);\n this.formats[name] = format;\n return this;\n }\n errorsText(errors = this.errors, // optional array of validation errors\n { separator = \", \", dataVar = \"data\" } = {} // optional options with properties `separator` and `dataVar`\n ) {\n if (!errors || errors.length === 0)\n return \"No errors\";\n return errors\n .map((e) => `${dataVar}${e.instancePath} ${e.message}`)\n .reduce((text, msg) => text + separator + msg);\n }\n $dataMetaSchema(metaSchema, keywordsJsonPointers) {\n const rules = this.RULES.all;\n metaSchema = JSON.parse(JSON.stringify(metaSchema));\n for (const jsonPointer of keywordsJsonPointers) {\n const segments = jsonPointer.split(\"/\").slice(1); // first segment is an empty string\n let keywords = metaSchema;\n for (const seg of segments)\n keywords = keywords[seg];\n for (const key in rules) {\n const rule = rules[key];\n if (typeof rule != \"object\")\n continue;\n const { $data } = rule.definition;\n const schema = keywords[key];\n if ($data && schema)\n keywords[key] = schemaOrData(schema);\n }\n }\n return metaSchema;\n }\n _removeAllSchemas(schemas, regex) {\n for (const keyRef in schemas) {\n const sch = schemas[keyRef];\n if (!regex || regex.test(keyRef)) {\n if (typeof sch == \"string\") {\n delete schemas[keyRef];\n }\n else if (sch && !sch.meta) {\n this._cache.delete(sch.schema);\n delete schemas[keyRef];\n }\n }\n }\n }\n _addSchema(schema, meta, baseId, validateSchema = this.opts.validateSchema, addSchema = this.opts.addUsedSchema) {\n let id;\n const { schemaId } = this.opts;\n if (typeof schema == \"object\") {\n id = schema[schemaId];\n }\n else {\n if (this.opts.jtd)\n throw new Error(\"schema must be object\");\n else if (typeof schema != \"boolean\")\n throw new Error(\"schema must be object or boolean\");\n }\n let sch = this._cache.get(schema);\n if (sch !== undefined)\n return sch;\n baseId = (0, resolve_1.normalizeId)(id || baseId);\n const localRefs = resolve_1.getSchemaRefs.call(this, schema, baseId);\n sch = new compile_1.SchemaEnv({ schema, schemaId, meta, baseId, localRefs });\n this._cache.set(sch.schema, sch);\n if (addSchema && !baseId.startsWith(\"#\")) {\n // TODO atm it is allowed to overwrite schemas without id (instead of not adding them)\n if (baseId)\n this._checkUnique(baseId);\n this.refs[baseId] = sch;\n }\n if (validateSchema)\n this.validateSchema(schema, true);\n return sch;\n }\n _checkUnique(id) {\n if (this.schemas[id] || this.refs[id]) {\n throw new Error(`schema with key or id \"${id}\" already exists`);\n }\n }\n _compileSchemaEnv(sch) {\n if (sch.meta)\n this._compileMetaSchema(sch);\n else\n compile_1.compileSchema.call(this, sch);\n /* istanbul ignore if */\n if (!sch.validate)\n throw new Error(\"ajv implementation error\");\n return sch.validate;\n }\n _compileMetaSchema(sch) {\n const currentOpts = this.opts;\n this.opts = this._metaOpts;\n try {\n compile_1.compileSchema.call(this, sch);\n }\n finally {\n this.opts = currentOpts;\n }\n }\n}\nexports[\"default\"] = Ajv;\nAjv.ValidationError = validation_error_1.default;\nAjv.MissingRefError = ref_error_1.default;\nfunction checkOptions(checkOpts, options, msg, log = \"error\") {\n for (const key in checkOpts) {\n const opt = key;\n if (opt in options)\n this.logger[log](`${msg}: option ${key}. ${checkOpts[opt]}`);\n }\n}\nfunction getSchEnv(keyRef) {\n keyRef = (0, resolve_1.normalizeId)(keyRef); // TODO tests fail without this line\n return this.schemas[keyRef] || this.refs[keyRef];\n}\nfunction addInitialSchemas() {\n const optsSchemas = this.opts.schemas;\n if (!optsSchemas)\n return;\n if (Array.isArray(optsSchemas))\n this.addSchema(optsSchemas);\n else\n for (const key in optsSchemas)\n this.addSchema(optsSchemas[key], key);\n}\nfunction addInitialFormats() {\n for (const name in this.opts.formats) {\n const format = this.opts.formats[name];\n if (format)\n this.addFormat(name, format);\n }\n}\nfunction addInitialKeywords(defs) {\n if (Array.isArray(defs)) {\n this.addVocabulary(defs);\n return;\n }\n this.logger.warn(\"keywords option as map is deprecated, pass array\");\n for (const keyword in defs) {\n const def = defs[keyword];\n if (!def.keyword)\n def.keyword = keyword;\n this.addKeyword(def);\n }\n}\nfunction getMetaSchemaOptions() {\n const metaOpts = { ...this.opts };\n for (const opt of META_IGNORE_OPTIONS)\n delete metaOpts[opt];\n return metaOpts;\n}\nconst noLogs = { log() { }, warn() { }, error() { } };\nfunction getLogger(logger) {\n if (logger === false)\n return noLogs;\n if (logger === undefined)\n return console;\n if (logger.log && logger.warn && logger.error)\n return logger;\n throw new Error(\"logger must implement log, warn and error methods\");\n}\nconst KEYWORD_NAME = /^[a-z_$][a-z0-9_$:-]*$/i;\nfunction checkKeyword(keyword, def) {\n const { RULES } = this;\n (0, util_1.eachItem)(keyword, (kwd) => {\n if (RULES.keywords[kwd])\n throw new Error(`Keyword ${kwd} is already defined`);\n if (!KEYWORD_NAME.test(kwd))\n throw new Error(`Keyword ${kwd} has invalid name`);\n });\n if (!def)\n return;\n if (def.$data && !(\"code\" in def || \"validate\" in def)) {\n throw new Error('$data keyword must have \"code\" or \"validate\" function');\n }\n}\nfunction addRule(keyword, definition, dataType) {\n var _a;\n const post = definition === null || definition === void 0 ? void 0 : definition.post;\n if (dataType && post)\n throw new Error('keyword with \"post\" flag cannot have \"type\"');\n const { RULES } = this;\n let ruleGroup = post ? RULES.post : RULES.rules.find(({ type: t }) => t === dataType);\n if (!ruleGroup) {\n ruleGroup = { type: dataType, rules: [] };\n RULES.rules.push(ruleGroup);\n }\n RULES.keywords[keyword] = true;\n if (!definition)\n return;\n const rule = {\n keyword,\n definition: {\n ...definition,\n type: (0, dataType_1.getJSONTypes)(definition.type),\n schemaType: (0, dataType_1.getJSONTypes)(definition.schemaType),\n },\n };\n if (definition.before)\n addBeforeRule.call(this, ruleGroup, rule, definition.before);\n else\n ruleGroup.rules.push(rule);\n RULES.all[keyword] = rule;\n (_a = definition.implements) === null || _a === void 0 ? void 0 : _a.forEach((kwd) => this.addKeyword(kwd));\n}\nfunction addBeforeRule(ruleGroup, rule, before) {\n const i = ruleGroup.rules.findIndex((_rule) => _rule.keyword === before);\n if (i >= 0) {\n ruleGroup.rules.splice(i, 0, rule);\n }\n else {\n ruleGroup.rules.push(rule);\n this.logger.warn(`rule ${before} is not defined`);\n }\n}\nfunction keywordMetaschema(def) {\n let { metaSchema } = def;\n if (metaSchema === undefined)\n return;\n if (def.$data && this.opts.$data)\n metaSchema = schemaOrData(metaSchema);\n def.validateSchema = this.compile(metaSchema, true);\n}\nconst $dataRef = {\n $ref: \"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#\",\n};\nfunction schemaOrData(schema) {\n return { anyOf: [schema, $dataRef] };\n}\n//# sourceMappingURL=core.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/core.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/runtime/equal.js": -/*!*************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/runtime/equal.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n// https://github.com/ajv-validator/ajv/issues/889\nconst equal = __webpack_require__(/*! fast-deep-equal */ \"./node_modules/fast-deep-equal/index.js\");\nequal.code = 'require(\"ajv/dist/runtime/equal\").default';\nexports[\"default\"] = equal;\n//# sourceMappingURL=equal.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/runtime/equal.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/runtime/ucs2length.js": -/*!******************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/runtime/ucs2length.js ***! - \******************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n// https://mathiasbynens.be/notes/javascript-encoding\n// https://github.com/bestiejs/punycode.js - punycode.ucs2.decode\nfunction ucs2length(str) {\n const len = str.length;\n let length = 0;\n let pos = 0;\n let value;\n while (pos < len) {\n length++;\n value = str.charCodeAt(pos++);\n if (value >= 0xd800 && value <= 0xdbff && pos < len) {\n // high surrogate, and there is a next character\n value = str.charCodeAt(pos);\n if ((value & 0xfc00) === 0xdc00)\n pos++; // low surrogate\n }\n }\n return length;\n}\nexports[\"default\"] = ucs2length;\nucs2length.code = 'require(\"ajv/dist/runtime/ucs2length\").default';\n//# sourceMappingURL=ucs2length.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/runtime/ucs2length.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/runtime/uri.js": -/*!***********************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/runtime/uri.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst uri = __webpack_require__(/*! uri-js */ \"./node_modules/uri-js/dist/es5/uri.all.js\");\nuri.code = 'require(\"ajv/dist/runtime/uri\").default';\nexports[\"default\"] = uri;\n//# sourceMappingURL=uri.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/runtime/uri.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/runtime/validation_error.js": -/*!************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/runtime/validation_error.js ***! - \************************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nclass ValidationError extends Error {\n constructor(errors) {\n super(\"validation failed\");\n this.errors = errors;\n this.ajv = this.validation = true;\n }\n}\nexports[\"default\"] = ValidationError;\n//# sourceMappingURL=validation_error.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/runtime/validation_error.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js": -/*!***************************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js ***! - \***************************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.validateAdditionalItems = void 0;\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst error = {\n message: ({ params: { len } }) => (0, codegen_1.str) `must NOT have more than ${len} items`,\n params: ({ params: { len } }) => (0, codegen_1._) `{limit: ${len}}`,\n};\nconst def = {\n keyword: \"additionalItems\",\n type: \"array\",\n schemaType: [\"boolean\", \"object\"],\n before: \"uniqueItems\",\n error,\n code(cxt) {\n const { parentSchema, it } = cxt;\n const { items } = parentSchema;\n if (!Array.isArray(items)) {\n (0, util_1.checkStrictMode)(it, '\"additionalItems\" is ignored when \"items\" is not an array of schemas');\n return;\n }\n validateAdditionalItems(cxt, items);\n },\n};\nfunction validateAdditionalItems(cxt, items) {\n const { gen, schema, data, keyword, it } = cxt;\n it.items = true;\n const len = gen.const(\"len\", (0, codegen_1._) `${data}.length`);\n if (schema === false) {\n cxt.setParams({ len: items.length });\n cxt.pass((0, codegen_1._) `${len} <= ${items.length}`);\n }\n else if (typeof schema == \"object\" && !(0, util_1.alwaysValidSchema)(it, schema)) {\n const valid = gen.var(\"valid\", (0, codegen_1._) `${len} <= ${items.length}`); // TODO var\n gen.if((0, codegen_1.not)(valid), () => validateItems(valid));\n cxt.ok(valid);\n }\n function validateItems(valid) {\n gen.forRange(\"i\", items.length, len, (i) => {\n cxt.subschema({ keyword, dataProp: i, dataPropType: util_1.Type.Num }, valid);\n if (!it.allErrors)\n gen.if((0, codegen_1.not)(valid), () => gen.break());\n });\n }\n}\nexports.validateAdditionalItems = validateAdditionalItems;\nexports[\"default\"] = def;\n//# sourceMappingURL=additionalItems.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js": -/*!********************************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js ***! - \********************************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/code.js\");\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst names_1 = __webpack_require__(/*! ../../compile/names */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/names.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst error = {\n message: \"must NOT have additional properties\",\n params: ({ params }) => (0, codegen_1._) `{additionalProperty: ${params.additionalProperty}}`,\n};\nconst def = {\n keyword: \"additionalProperties\",\n type: [\"object\"],\n schemaType: [\"boolean\", \"object\"],\n allowUndefined: true,\n trackErrors: true,\n error,\n code(cxt) {\n const { gen, schema, parentSchema, data, errsCount, it } = cxt;\n /* istanbul ignore if */\n if (!errsCount)\n throw new Error(\"ajv implementation error\");\n const { allErrors, opts } = it;\n it.props = true;\n if (opts.removeAdditional !== \"all\" && (0, util_1.alwaysValidSchema)(it, schema))\n return;\n const props = (0, code_1.allSchemaProperties)(parentSchema.properties);\n const patProps = (0, code_1.allSchemaProperties)(parentSchema.patternProperties);\n checkAdditionalProperties();\n cxt.ok((0, codegen_1._) `${errsCount} === ${names_1.default.errors}`);\n function checkAdditionalProperties() {\n gen.forIn(\"key\", data, (key) => {\n if (!props.length && !patProps.length)\n additionalPropertyCode(key);\n else\n gen.if(isAdditional(key), () => additionalPropertyCode(key));\n });\n }\n function isAdditional(key) {\n let definedProp;\n if (props.length > 8) {\n // TODO maybe an option instead of hard-coded 8?\n const propsSchema = (0, util_1.schemaRefOrVal)(it, parentSchema.properties, \"properties\");\n definedProp = (0, code_1.isOwnProperty)(gen, propsSchema, key);\n }\n else if (props.length) {\n definedProp = (0, codegen_1.or)(...props.map((p) => (0, codegen_1._) `${key} === ${p}`));\n }\n else {\n definedProp = codegen_1.nil;\n }\n if (patProps.length) {\n definedProp = (0, codegen_1.or)(definedProp, ...patProps.map((p) => (0, codegen_1._) `${(0, code_1.usePattern)(cxt, p)}.test(${key})`));\n }\n return (0, codegen_1.not)(definedProp);\n }\n function deleteAdditional(key) {\n gen.code((0, codegen_1._) `delete ${data}[${key}]`);\n }\n function additionalPropertyCode(key) {\n if (opts.removeAdditional === \"all\" || (opts.removeAdditional && schema === false)) {\n deleteAdditional(key);\n return;\n }\n if (schema === false) {\n cxt.setParams({ additionalProperty: key });\n cxt.error();\n if (!allErrors)\n gen.break();\n return;\n }\n if (typeof schema == \"object\" && !(0, util_1.alwaysValidSchema)(it, schema)) {\n const valid = gen.name(\"valid\");\n if (opts.removeAdditional === \"failing\") {\n applyAdditionalSchema(key, valid, false);\n gen.if((0, codegen_1.not)(valid), () => {\n cxt.reset();\n deleteAdditional(key);\n });\n }\n else {\n applyAdditionalSchema(key, valid);\n if (!allErrors)\n gen.if((0, codegen_1.not)(valid), () => gen.break());\n }\n }\n }\n function applyAdditionalSchema(key, valid, errors) {\n const subschema = {\n keyword: \"additionalProperties\",\n dataProp: key,\n dataPropType: util_1.Type.Str,\n };\n if (errors === false) {\n Object.assign(subschema, {\n compositeRule: true,\n createErrors: false,\n allErrors: false,\n });\n }\n cxt.subschema(subschema, valid);\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=additionalProperties.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/allOf.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/allOf.js ***! - \*****************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst def = {\n keyword: \"allOf\",\n schemaType: \"array\",\n code(cxt) {\n const { gen, schema, it } = cxt;\n /* istanbul ignore if */\n if (!Array.isArray(schema))\n throw new Error(\"ajv implementation error\");\n const valid = gen.name(\"valid\");\n schema.forEach((sch, i) => {\n if ((0, util_1.alwaysValidSchema)(it, sch))\n return;\n const schCxt = cxt.subschema({ keyword: \"allOf\", schemaProp: i }, valid);\n cxt.ok(valid);\n cxt.mergeEvaluated(schCxt);\n });\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=allOf.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/allOf.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/anyOf.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/anyOf.js ***! - \*****************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/code.js\");\nconst def = {\n keyword: \"anyOf\",\n schemaType: \"array\",\n trackErrors: true,\n code: code_1.validateUnion,\n error: { message: \"must match a schema in anyOf\" },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=anyOf.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/anyOf.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/contains.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/contains.js ***! - \********************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst error = {\n message: ({ params: { min, max } }) => max === undefined\n ? (0, codegen_1.str) `must contain at least ${min} valid item(s)`\n : (0, codegen_1.str) `must contain at least ${min} and no more than ${max} valid item(s)`,\n params: ({ params: { min, max } }) => max === undefined ? (0, codegen_1._) `{minContains: ${min}}` : (0, codegen_1._) `{minContains: ${min}, maxContains: ${max}}`,\n};\nconst def = {\n keyword: \"contains\",\n type: \"array\",\n schemaType: [\"object\", \"boolean\"],\n before: \"uniqueItems\",\n trackErrors: true,\n error,\n code(cxt) {\n const { gen, schema, parentSchema, data, it } = cxt;\n let min;\n let max;\n const { minContains, maxContains } = parentSchema;\n if (it.opts.next) {\n min = minContains === undefined ? 1 : minContains;\n max = maxContains;\n }\n else {\n min = 1;\n }\n const len = gen.const(\"len\", (0, codegen_1._) `${data}.length`);\n cxt.setParams({ min, max });\n if (max === undefined && min === 0) {\n (0, util_1.checkStrictMode)(it, `\"minContains\" == 0 without \"maxContains\": \"contains\" keyword ignored`);\n return;\n }\n if (max !== undefined && min > max) {\n (0, util_1.checkStrictMode)(it, `\"minContains\" > \"maxContains\" is always invalid`);\n cxt.fail();\n return;\n }\n if ((0, util_1.alwaysValidSchema)(it, schema)) {\n let cond = (0, codegen_1._) `${len} >= ${min}`;\n if (max !== undefined)\n cond = (0, codegen_1._) `${cond} && ${len} <= ${max}`;\n cxt.pass(cond);\n return;\n }\n it.items = true;\n const valid = gen.name(\"valid\");\n if (max === undefined && min === 1) {\n validateItems(valid, () => gen.if(valid, () => gen.break()));\n }\n else if (min === 0) {\n gen.let(valid, true);\n if (max !== undefined)\n gen.if((0, codegen_1._) `${data}.length > 0`, validateItemsWithCount);\n }\n else {\n gen.let(valid, false);\n validateItemsWithCount();\n }\n cxt.result(valid, () => cxt.reset());\n function validateItemsWithCount() {\n const schValid = gen.name(\"_valid\");\n const count = gen.let(\"count\", 0);\n validateItems(schValid, () => gen.if(schValid, () => checkLimits(count)));\n }\n function validateItems(_valid, block) {\n gen.forRange(\"i\", 0, len, (i) => {\n cxt.subschema({\n keyword: \"contains\",\n dataProp: i,\n dataPropType: util_1.Type.Num,\n compositeRule: true,\n }, _valid);\n block();\n });\n }\n function checkLimits(count) {\n gen.code((0, codegen_1._) `${count}++`);\n if (max === undefined) {\n gen.if((0, codegen_1._) `${count} >= ${min}`, () => gen.assign(valid, true).break());\n }\n else {\n gen.if((0, codegen_1._) `${count} > ${max}`, () => gen.assign(valid, false).break());\n if (min === 1)\n gen.assign(valid, true);\n else\n gen.if((0, codegen_1._) `${count} >= ${min}`, () => gen.assign(valid, true));\n }\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=contains.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/contains.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/dependencies.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/dependencies.js ***! - \************************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.validateSchemaDeps = exports.validatePropertyDeps = exports.error = void 0;\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/code.js\");\nexports.error = {\n message: ({ params: { property, depsCount, deps } }) => {\n const property_ies = depsCount === 1 ? \"property\" : \"properties\";\n return (0, codegen_1.str) `must have ${property_ies} ${deps} when property ${property} is present`;\n },\n params: ({ params: { property, depsCount, deps, missingProperty } }) => (0, codegen_1._) `{property: ${property},\n missingProperty: ${missingProperty},\n depsCount: ${depsCount},\n deps: ${deps}}`, // TODO change to reference\n};\nconst def = {\n keyword: \"dependencies\",\n type: \"object\",\n schemaType: \"object\",\n error: exports.error,\n code(cxt) {\n const [propDeps, schDeps] = splitDependencies(cxt);\n validatePropertyDeps(cxt, propDeps);\n validateSchemaDeps(cxt, schDeps);\n },\n};\nfunction splitDependencies({ schema }) {\n const propertyDeps = {};\n const schemaDeps = {};\n for (const key in schema) {\n if (key === \"__proto__\")\n continue;\n const deps = Array.isArray(schema[key]) ? propertyDeps : schemaDeps;\n deps[key] = schema[key];\n }\n return [propertyDeps, schemaDeps];\n}\nfunction validatePropertyDeps(cxt, propertyDeps = cxt.schema) {\n const { gen, data, it } = cxt;\n if (Object.keys(propertyDeps).length === 0)\n return;\n const missing = gen.let(\"missing\");\n for (const prop in propertyDeps) {\n const deps = propertyDeps[prop];\n if (deps.length === 0)\n continue;\n const hasProperty = (0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties);\n cxt.setParams({\n property: prop,\n depsCount: deps.length,\n deps: deps.join(\", \"),\n });\n if (it.allErrors) {\n gen.if(hasProperty, () => {\n for (const depProp of deps) {\n (0, code_1.checkReportMissingProp)(cxt, depProp);\n }\n });\n }\n else {\n gen.if((0, codegen_1._) `${hasProperty} && (${(0, code_1.checkMissingProp)(cxt, deps, missing)})`);\n (0, code_1.reportMissingProp)(cxt, missing);\n gen.else();\n }\n }\n}\nexports.validatePropertyDeps = validatePropertyDeps;\nfunction validateSchemaDeps(cxt, schemaDeps = cxt.schema) {\n const { gen, data, keyword, it } = cxt;\n const valid = gen.name(\"valid\");\n for (const prop in schemaDeps) {\n if ((0, util_1.alwaysValidSchema)(it, schemaDeps[prop]))\n continue;\n gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties), () => {\n const schCxt = cxt.subschema({ keyword, schemaProp: prop }, valid);\n cxt.mergeValidEvaluated(schCxt, valid);\n }, () => gen.var(valid, true) // TODO var\n );\n cxt.ok(valid);\n }\n}\nexports.validateSchemaDeps = validateSchemaDeps;\nexports[\"default\"] = def;\n//# sourceMappingURL=dependencies.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/dependencies.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/if.js": -/*!**************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/if.js ***! - \**************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst error = {\n message: ({ params }) => (0, codegen_1.str) `must match \"${params.ifClause}\" schema`,\n params: ({ params }) => (0, codegen_1._) `{failingKeyword: ${params.ifClause}}`,\n};\nconst def = {\n keyword: \"if\",\n schemaType: [\"object\", \"boolean\"],\n trackErrors: true,\n error,\n code(cxt) {\n const { gen, parentSchema, it } = cxt;\n if (parentSchema.then === undefined && parentSchema.else === undefined) {\n (0, util_1.checkStrictMode)(it, '\"if\" without \"then\" and \"else\" is ignored');\n }\n const hasThen = hasSchema(it, \"then\");\n const hasElse = hasSchema(it, \"else\");\n if (!hasThen && !hasElse)\n return;\n const valid = gen.let(\"valid\", true);\n const schValid = gen.name(\"_valid\");\n validateIf();\n cxt.reset();\n if (hasThen && hasElse) {\n const ifClause = gen.let(\"ifClause\");\n cxt.setParams({ ifClause });\n gen.if(schValid, validateClause(\"then\", ifClause), validateClause(\"else\", ifClause));\n }\n else if (hasThen) {\n gen.if(schValid, validateClause(\"then\"));\n }\n else {\n gen.if((0, codegen_1.not)(schValid), validateClause(\"else\"));\n }\n cxt.pass(valid, () => cxt.error(true));\n function validateIf() {\n const schCxt = cxt.subschema({\n keyword: \"if\",\n compositeRule: true,\n createErrors: false,\n allErrors: false,\n }, schValid);\n cxt.mergeEvaluated(schCxt);\n }\n function validateClause(keyword, ifClause) {\n return () => {\n const schCxt = cxt.subschema({ keyword }, schValid);\n gen.assign(valid, schValid);\n cxt.mergeValidEvaluated(schCxt, valid);\n if (ifClause)\n gen.assign(ifClause, (0, codegen_1._) `${keyword}`);\n else\n cxt.setParams({ ifClause: keyword });\n };\n }\n },\n};\nfunction hasSchema(it, keyword) {\n const schema = it.schema[keyword];\n return schema !== undefined && !(0, util_1.alwaysValidSchema)(it, schema);\n}\nexports[\"default\"] = def;\n//# sourceMappingURL=if.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/if.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/index.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/index.js ***! - \*****************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst additionalItems_1 = __webpack_require__(/*! ./additionalItems */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js\");\nconst prefixItems_1 = __webpack_require__(/*! ./prefixItems */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js\");\nconst items_1 = __webpack_require__(/*! ./items */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/items.js\");\nconst items2020_1 = __webpack_require__(/*! ./items2020 */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/items2020.js\");\nconst contains_1 = __webpack_require__(/*! ./contains */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/contains.js\");\nconst dependencies_1 = __webpack_require__(/*! ./dependencies */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/dependencies.js\");\nconst propertyNames_1 = __webpack_require__(/*! ./propertyNames */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js\");\nconst additionalProperties_1 = __webpack_require__(/*! ./additionalProperties */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js\");\nconst properties_1 = __webpack_require__(/*! ./properties */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/properties.js\");\nconst patternProperties_1 = __webpack_require__(/*! ./patternProperties */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js\");\nconst not_1 = __webpack_require__(/*! ./not */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/not.js\");\nconst anyOf_1 = __webpack_require__(/*! ./anyOf */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/anyOf.js\");\nconst oneOf_1 = __webpack_require__(/*! ./oneOf */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/oneOf.js\");\nconst allOf_1 = __webpack_require__(/*! ./allOf */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/allOf.js\");\nconst if_1 = __webpack_require__(/*! ./if */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/if.js\");\nconst thenElse_1 = __webpack_require__(/*! ./thenElse */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/thenElse.js\");\nfunction getApplicator(draft2020 = false) {\n const applicator = [\n // any\n not_1.default,\n anyOf_1.default,\n oneOf_1.default,\n allOf_1.default,\n if_1.default,\n thenElse_1.default,\n // object\n propertyNames_1.default,\n additionalProperties_1.default,\n dependencies_1.default,\n properties_1.default,\n patternProperties_1.default,\n ];\n // array\n if (draft2020)\n applicator.push(prefixItems_1.default, items2020_1.default);\n else\n applicator.push(additionalItems_1.default, items_1.default);\n applicator.push(contains_1.default);\n return applicator;\n}\nexports[\"default\"] = getApplicator;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/index.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/items.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/items.js ***! - \*****************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.validateTuple = void 0;\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/code.js\");\nconst def = {\n keyword: \"items\",\n type: \"array\",\n schemaType: [\"object\", \"array\", \"boolean\"],\n before: \"uniqueItems\",\n code(cxt) {\n const { schema, it } = cxt;\n if (Array.isArray(schema))\n return validateTuple(cxt, \"additionalItems\", schema);\n it.items = true;\n if ((0, util_1.alwaysValidSchema)(it, schema))\n return;\n cxt.ok((0, code_1.validateArray)(cxt));\n },\n};\nfunction validateTuple(cxt, extraItems, schArr = cxt.schema) {\n const { gen, parentSchema, data, keyword, it } = cxt;\n checkStrictTuple(parentSchema);\n if (it.opts.unevaluated && schArr.length && it.items !== true) {\n it.items = util_1.mergeEvaluated.items(gen, schArr.length, it.items);\n }\n const valid = gen.name(\"valid\");\n const len = gen.const(\"len\", (0, codegen_1._) `${data}.length`);\n schArr.forEach((sch, i) => {\n if ((0, util_1.alwaysValidSchema)(it, sch))\n return;\n gen.if((0, codegen_1._) `${len} > ${i}`, () => cxt.subschema({\n keyword,\n schemaProp: i,\n dataProp: i,\n }, valid));\n cxt.ok(valid);\n });\n function checkStrictTuple(sch) {\n const { opts, errSchemaPath } = it;\n const l = schArr.length;\n const fullTuple = l === sch.minItems && (l === sch.maxItems || sch[extraItems] === false);\n if (opts.strictTuples && !fullTuple) {\n const msg = `\"${keyword}\" is ${l}-tuple, but minItems or maxItems/${extraItems} are not specified or different at path \"${errSchemaPath}\"`;\n (0, util_1.checkStrictMode)(it, msg, opts.strictTuples);\n }\n }\n}\nexports.validateTuple = validateTuple;\nexports[\"default\"] = def;\n//# sourceMappingURL=items.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/items.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/items2020.js": -/*!*********************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/items2020.js ***! - \*********************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/code.js\");\nconst additionalItems_1 = __webpack_require__(/*! ./additionalItems */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js\");\nconst error = {\n message: ({ params: { len } }) => (0, codegen_1.str) `must NOT have more than ${len} items`,\n params: ({ params: { len } }) => (0, codegen_1._) `{limit: ${len}}`,\n};\nconst def = {\n keyword: \"items\",\n type: \"array\",\n schemaType: [\"object\", \"boolean\"],\n before: \"uniqueItems\",\n error,\n code(cxt) {\n const { schema, parentSchema, it } = cxt;\n const { prefixItems } = parentSchema;\n it.items = true;\n if ((0, util_1.alwaysValidSchema)(it, schema))\n return;\n if (prefixItems)\n (0, additionalItems_1.validateAdditionalItems)(cxt, prefixItems);\n else\n cxt.ok((0, code_1.validateArray)(cxt));\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=items2020.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/items2020.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/not.js": -/*!***************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/not.js ***! - \***************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst def = {\n keyword: \"not\",\n schemaType: [\"object\", \"boolean\"],\n trackErrors: true,\n code(cxt) {\n const { gen, schema, it } = cxt;\n if ((0, util_1.alwaysValidSchema)(it, schema)) {\n cxt.fail();\n return;\n }\n const valid = gen.name(\"valid\");\n cxt.subschema({\n keyword: \"not\",\n compositeRule: true,\n createErrors: false,\n allErrors: false,\n }, valid);\n cxt.failResult(valid, () => cxt.reset(), () => cxt.error());\n },\n error: { message: \"must NOT be valid\" },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=not.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/not.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/oneOf.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/oneOf.js ***! - \*****************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst error = {\n message: \"must match exactly one schema in oneOf\",\n params: ({ params }) => (0, codegen_1._) `{passingSchemas: ${params.passing}}`,\n};\nconst def = {\n keyword: \"oneOf\",\n schemaType: \"array\",\n trackErrors: true,\n error,\n code(cxt) {\n const { gen, schema, parentSchema, it } = cxt;\n /* istanbul ignore if */\n if (!Array.isArray(schema))\n throw new Error(\"ajv implementation error\");\n if (it.opts.discriminator && parentSchema.discriminator)\n return;\n const schArr = schema;\n const valid = gen.let(\"valid\", false);\n const passing = gen.let(\"passing\", null);\n const schValid = gen.name(\"_valid\");\n cxt.setParams({ passing });\n // TODO possibly fail straight away (with warning or exception) if there are two empty always valid schemas\n gen.block(validateOneOf);\n cxt.result(valid, () => cxt.reset(), () => cxt.error(true));\n function validateOneOf() {\n schArr.forEach((sch, i) => {\n let schCxt;\n if ((0, util_1.alwaysValidSchema)(it, sch)) {\n gen.var(schValid, true);\n }\n else {\n schCxt = cxt.subschema({\n keyword: \"oneOf\",\n schemaProp: i,\n compositeRule: true,\n }, schValid);\n }\n if (i > 0) {\n gen\n .if((0, codegen_1._) `${schValid} && ${valid}`)\n .assign(valid, false)\n .assign(passing, (0, codegen_1._) `[${passing}, ${i}]`)\n .else();\n }\n gen.if(schValid, () => {\n gen.assign(valid, true);\n gen.assign(passing, i);\n if (schCxt)\n cxt.mergeEvaluated(schCxt, codegen_1.Name);\n });\n });\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=oneOf.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/oneOf.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js": -/*!*****************************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js ***! - \*****************************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/code.js\");\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst util_2 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst def = {\n keyword: \"patternProperties\",\n type: \"object\",\n schemaType: \"object\",\n code(cxt) {\n const { gen, schema, data, parentSchema, it } = cxt;\n const { opts } = it;\n const patterns = (0, code_1.allSchemaProperties)(schema);\n const alwaysValidPatterns = patterns.filter((p) => (0, util_1.alwaysValidSchema)(it, schema[p]));\n if (patterns.length === 0 ||\n (alwaysValidPatterns.length === patterns.length &&\n (!it.opts.unevaluated || it.props === true))) {\n return;\n }\n const checkProperties = opts.strictSchema && !opts.allowMatchingProperties && parentSchema.properties;\n const valid = gen.name(\"valid\");\n if (it.props !== true && !(it.props instanceof codegen_1.Name)) {\n it.props = (0, util_2.evaluatedPropsToName)(gen, it.props);\n }\n const { props } = it;\n validatePatternProperties();\n function validatePatternProperties() {\n for (const pat of patterns) {\n if (checkProperties)\n checkMatchingProperties(pat);\n if (it.allErrors) {\n validateProperties(pat);\n }\n else {\n gen.var(valid, true); // TODO var\n validateProperties(pat);\n gen.if(valid);\n }\n }\n }\n function checkMatchingProperties(pat) {\n for (const prop in checkProperties) {\n if (new RegExp(pat).test(prop)) {\n (0, util_1.checkStrictMode)(it, `property ${prop} matches pattern ${pat} (use allowMatchingProperties)`);\n }\n }\n }\n function validateProperties(pat) {\n gen.forIn(\"key\", data, (key) => {\n gen.if((0, codegen_1._) `${(0, code_1.usePattern)(cxt, pat)}.test(${key})`, () => {\n const alwaysValid = alwaysValidPatterns.includes(pat);\n if (!alwaysValid) {\n cxt.subschema({\n keyword: \"patternProperties\",\n schemaProp: pat,\n dataProp: key,\n dataPropType: util_2.Type.Str,\n }, valid);\n }\n if (it.opts.unevaluated && props !== true) {\n gen.assign((0, codegen_1._) `${props}[${key}]`, true);\n }\n else if (!alwaysValid && !it.allErrors) {\n // can short-circuit if `unevaluatedProperties` is not supported (opts.next === false)\n // or if all properties were evaluated (props === true)\n gen.if((0, codegen_1.not)(valid), () => gen.break());\n }\n });\n });\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=patternProperties.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js": -/*!***********************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js ***! - \***********************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst items_1 = __webpack_require__(/*! ./items */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/items.js\");\nconst def = {\n keyword: \"prefixItems\",\n type: \"array\",\n schemaType: [\"array\"],\n before: \"uniqueItems\",\n code: (cxt) => (0, items_1.validateTuple)(cxt, \"items\"),\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=prefixItems.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/properties.js": -/*!**********************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/properties.js ***! - \**********************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst validate_1 = __webpack_require__(/*! ../../compile/validate */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/index.js\");\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/code.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst additionalProperties_1 = __webpack_require__(/*! ./additionalProperties */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js\");\nconst def = {\n keyword: \"properties\",\n type: \"object\",\n schemaType: \"object\",\n code(cxt) {\n const { gen, schema, parentSchema, data, it } = cxt;\n if (it.opts.removeAdditional === \"all\" && parentSchema.additionalProperties === undefined) {\n additionalProperties_1.default.code(new validate_1.KeywordCxt(it, additionalProperties_1.default, \"additionalProperties\"));\n }\n const allProps = (0, code_1.allSchemaProperties)(schema);\n for (const prop of allProps) {\n it.definedProperties.add(prop);\n }\n if (it.opts.unevaluated && allProps.length && it.props !== true) {\n it.props = util_1.mergeEvaluated.props(gen, (0, util_1.toHash)(allProps), it.props);\n }\n const properties = allProps.filter((p) => !(0, util_1.alwaysValidSchema)(it, schema[p]));\n if (properties.length === 0)\n return;\n const valid = gen.name(\"valid\");\n for (const prop of properties) {\n if (hasDefault(prop)) {\n applyPropertySchema(prop);\n }\n else {\n gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties));\n applyPropertySchema(prop);\n if (!it.allErrors)\n gen.else().var(valid, true);\n gen.endIf();\n }\n cxt.it.definedProperties.add(prop);\n cxt.ok(valid);\n }\n function hasDefault(prop) {\n return it.opts.useDefaults && !it.compositeRule && schema[prop].default !== undefined;\n }\n function applyPropertySchema(prop) {\n cxt.subschema({\n keyword: \"properties\",\n schemaProp: prop,\n dataProp: prop,\n }, valid);\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=properties.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/properties.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js": -/*!*************************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js ***! - \*************************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst error = {\n message: \"property name must be valid\",\n params: ({ params }) => (0, codegen_1._) `{propertyName: ${params.propertyName}}`,\n};\nconst def = {\n keyword: \"propertyNames\",\n type: \"object\",\n schemaType: [\"object\", \"boolean\"],\n error,\n code(cxt) {\n const { gen, schema, data, it } = cxt;\n if ((0, util_1.alwaysValidSchema)(it, schema))\n return;\n const valid = gen.name(\"valid\");\n gen.forIn(\"key\", data, (key) => {\n cxt.setParams({ propertyName: key });\n cxt.subschema({\n keyword: \"propertyNames\",\n data: key,\n dataTypes: [\"string\"],\n propertyName: key,\n compositeRule: true,\n }, valid);\n gen.if((0, codegen_1.not)(valid), () => {\n cxt.error(true);\n if (!it.allErrors)\n gen.break();\n });\n });\n cxt.ok(valid);\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=propertyNames.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/thenElse.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/thenElse.js ***! - \********************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst def = {\n keyword: [\"then\", \"else\"],\n schemaType: [\"object\", \"boolean\"],\n code({ keyword, parentSchema, it }) {\n if (parentSchema.if === undefined)\n (0, util_1.checkStrictMode)(it, `\"${keyword}\" without \"if\" is ignored`);\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=thenElse.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/thenElse.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/code.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/code.js ***! - \*****************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.validateUnion = exports.validateArray = exports.usePattern = exports.callValidateCode = exports.schemaProperties = exports.allSchemaProperties = exports.noPropertyInData = exports.propertyInData = exports.isOwnProperty = exports.hasPropFunc = exports.reportMissingProp = exports.checkMissingProp = exports.checkReportMissingProp = void 0;\nconst codegen_1 = __webpack_require__(/*! ../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst names_1 = __webpack_require__(/*! ../compile/names */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/names.js\");\nconst util_2 = __webpack_require__(/*! ../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nfunction checkReportMissingProp(cxt, prop) {\n const { gen, data, it } = cxt;\n gen.if(noPropertyInData(gen, data, prop, it.opts.ownProperties), () => {\n cxt.setParams({ missingProperty: (0, codegen_1._) `${prop}` }, true);\n cxt.error();\n });\n}\nexports.checkReportMissingProp = checkReportMissingProp;\nfunction checkMissingProp({ gen, data, it: { opts } }, properties, missing) {\n return (0, codegen_1.or)(...properties.map((prop) => (0, codegen_1.and)(noPropertyInData(gen, data, prop, opts.ownProperties), (0, codegen_1._) `${missing} = ${prop}`)));\n}\nexports.checkMissingProp = checkMissingProp;\nfunction reportMissingProp(cxt, missing) {\n cxt.setParams({ missingProperty: missing }, true);\n cxt.error();\n}\nexports.reportMissingProp = reportMissingProp;\nfunction hasPropFunc(gen) {\n return gen.scopeValue(\"func\", {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n ref: Object.prototype.hasOwnProperty,\n code: (0, codegen_1._) `Object.prototype.hasOwnProperty`,\n });\n}\nexports.hasPropFunc = hasPropFunc;\nfunction isOwnProperty(gen, data, property) {\n return (0, codegen_1._) `${hasPropFunc(gen)}.call(${data}, ${property})`;\n}\nexports.isOwnProperty = isOwnProperty;\nfunction propertyInData(gen, data, property, ownProperties) {\n const cond = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(property)} !== undefined`;\n return ownProperties ? (0, codegen_1._) `${cond} && ${isOwnProperty(gen, data, property)}` : cond;\n}\nexports.propertyInData = propertyInData;\nfunction noPropertyInData(gen, data, property, ownProperties) {\n const cond = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(property)} === undefined`;\n return ownProperties ? (0, codegen_1.or)(cond, (0, codegen_1.not)(isOwnProperty(gen, data, property))) : cond;\n}\nexports.noPropertyInData = noPropertyInData;\nfunction allSchemaProperties(schemaMap) {\n return schemaMap ? Object.keys(schemaMap).filter((p) => p !== \"__proto__\") : [];\n}\nexports.allSchemaProperties = allSchemaProperties;\nfunction schemaProperties(it, schemaMap) {\n return allSchemaProperties(schemaMap).filter((p) => !(0, util_1.alwaysValidSchema)(it, schemaMap[p]));\n}\nexports.schemaProperties = schemaProperties;\nfunction callValidateCode({ schemaCode, data, it: { gen, topSchemaRef, schemaPath, errorPath }, it }, func, context, passSchema) {\n const dataAndSchema = passSchema ? (0, codegen_1._) `${schemaCode}, ${data}, ${topSchemaRef}${schemaPath}` : data;\n const valCxt = [\n [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, errorPath)],\n [names_1.default.parentData, it.parentData],\n [names_1.default.parentDataProperty, it.parentDataProperty],\n [names_1.default.rootData, names_1.default.rootData],\n ];\n if (it.opts.dynamicRef)\n valCxt.push([names_1.default.dynamicAnchors, names_1.default.dynamicAnchors]);\n const args = (0, codegen_1._) `${dataAndSchema}, ${gen.object(...valCxt)}`;\n return context !== codegen_1.nil ? (0, codegen_1._) `${func}.call(${context}, ${args})` : (0, codegen_1._) `${func}(${args})`;\n}\nexports.callValidateCode = callValidateCode;\nconst newRegExp = (0, codegen_1._) `new RegExp`;\nfunction usePattern({ gen, it: { opts } }, pattern) {\n const u = opts.unicodeRegExp ? \"u\" : \"\";\n const { regExp } = opts.code;\n const rx = regExp(pattern, u);\n return gen.scopeValue(\"pattern\", {\n key: rx.toString(),\n ref: rx,\n code: (0, codegen_1._) `${regExp.code === \"new RegExp\" ? newRegExp : (0, util_2.useFunc)(gen, regExp)}(${pattern}, ${u})`,\n });\n}\nexports.usePattern = usePattern;\nfunction validateArray(cxt) {\n const { gen, data, keyword, it } = cxt;\n const valid = gen.name(\"valid\");\n if (it.allErrors) {\n const validArr = gen.let(\"valid\", true);\n validateItems(() => gen.assign(validArr, false));\n return validArr;\n }\n gen.var(valid, true);\n validateItems(() => gen.break());\n return valid;\n function validateItems(notValid) {\n const len = gen.const(\"len\", (0, codegen_1._) `${data}.length`);\n gen.forRange(\"i\", 0, len, (i) => {\n cxt.subschema({\n keyword,\n dataProp: i,\n dataPropType: util_1.Type.Num,\n }, valid);\n gen.if((0, codegen_1.not)(valid), notValid);\n });\n }\n}\nexports.validateArray = validateArray;\nfunction validateUnion(cxt) {\n const { gen, schema, keyword, it } = cxt;\n /* istanbul ignore if */\n if (!Array.isArray(schema))\n throw new Error(\"ajv implementation error\");\n const alwaysValid = schema.some((sch) => (0, util_1.alwaysValidSchema)(it, sch));\n if (alwaysValid && !it.opts.unevaluated)\n return;\n const valid = gen.let(\"valid\", false);\n const schValid = gen.name(\"_valid\");\n gen.block(() => schema.forEach((_sch, i) => {\n const schCxt = cxt.subschema({\n keyword,\n schemaProp: i,\n compositeRule: true,\n }, schValid);\n gen.assign(valid, (0, codegen_1._) `${valid} || ${schValid}`);\n const merged = cxt.mergeValidEvaluated(schCxt, schValid);\n // can short-circuit if `unevaluatedProperties/Items` not supported (opts.unevaluated !== true)\n // or if all properties and items were evaluated (it.props === true && it.items === true)\n if (!merged)\n gen.if((0, codegen_1.not)(valid));\n }));\n cxt.result(valid, () => cxt.reset(), () => cxt.error(true));\n}\nexports.validateUnion = validateUnion;\n//# sourceMappingURL=code.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/code.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/core/id.js": -/*!********************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/core/id.js ***! - \********************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst def = {\n keyword: \"id\",\n code() {\n throw new Error('NOT SUPPORTED: keyword \"id\", use \"$id\" for schema ID');\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=id.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/core/id.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/core/index.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/core/index.js ***! - \***********************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst id_1 = __webpack_require__(/*! ./id */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/core/id.js\");\nconst ref_1 = __webpack_require__(/*! ./ref */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/core/ref.js\");\nconst core = [\n \"$schema\",\n \"$id\",\n \"$defs\",\n \"$vocabulary\",\n { keyword: \"$comment\" },\n \"definitions\",\n id_1.default,\n ref_1.default,\n];\nexports[\"default\"] = core;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/core/index.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/core/ref.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/core/ref.js ***! - \*********************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.callRef = exports.getValidate = void 0;\nconst ref_error_1 = __webpack_require__(/*! ../../compile/ref_error */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/ref_error.js\");\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/code.js\");\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst names_1 = __webpack_require__(/*! ../../compile/names */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/names.js\");\nconst compile_1 = __webpack_require__(/*! ../../compile */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst def = {\n keyword: \"$ref\",\n schemaType: \"string\",\n code(cxt) {\n const { gen, schema: $ref, it } = cxt;\n const { baseId, schemaEnv: env, validateName, opts, self } = it;\n const { root } = env;\n if (($ref === \"#\" || $ref === \"#/\") && baseId === root.baseId)\n return callRootRef();\n const schOrEnv = compile_1.resolveRef.call(self, root, baseId, $ref);\n if (schOrEnv === undefined)\n throw new ref_error_1.default(it.opts.uriResolver, baseId, $ref);\n if (schOrEnv instanceof compile_1.SchemaEnv)\n return callValidate(schOrEnv);\n return inlineRefSchema(schOrEnv);\n function callRootRef() {\n if (env === root)\n return callRef(cxt, validateName, env, env.$async);\n const rootName = gen.scopeValue(\"root\", { ref: root });\n return callRef(cxt, (0, codegen_1._) `${rootName}.validate`, root, root.$async);\n }\n function callValidate(sch) {\n const v = getValidate(cxt, sch);\n callRef(cxt, v, sch, sch.$async);\n }\n function inlineRefSchema(sch) {\n const schName = gen.scopeValue(\"schema\", opts.code.source === true ? { ref: sch, code: (0, codegen_1.stringify)(sch) } : { ref: sch });\n const valid = gen.name(\"valid\");\n const schCxt = cxt.subschema({\n schema: sch,\n dataTypes: [],\n schemaPath: codegen_1.nil,\n topSchemaRef: schName,\n errSchemaPath: $ref,\n }, valid);\n cxt.mergeEvaluated(schCxt);\n cxt.ok(valid);\n }\n },\n};\nfunction getValidate(cxt, sch) {\n const { gen } = cxt;\n return sch.validate\n ? gen.scopeValue(\"validate\", { ref: sch.validate })\n : (0, codegen_1._) `${gen.scopeValue(\"wrapper\", { ref: sch })}.validate`;\n}\nexports.getValidate = getValidate;\nfunction callRef(cxt, v, sch, $async) {\n const { gen, it } = cxt;\n const { allErrors, schemaEnv: env, opts } = it;\n const passCxt = opts.passContext ? names_1.default.this : codegen_1.nil;\n if ($async)\n callAsyncRef();\n else\n callSyncRef();\n function callAsyncRef() {\n if (!env.$async)\n throw new Error(\"async schema referenced by sync schema\");\n const valid = gen.let(\"valid\");\n gen.try(() => {\n gen.code((0, codegen_1._) `await ${(0, code_1.callValidateCode)(cxt, v, passCxt)}`);\n addEvaluatedFrom(v); // TODO will not work with async, it has to be returned with the result\n if (!allErrors)\n gen.assign(valid, true);\n }, (e) => {\n gen.if((0, codegen_1._) `!(${e} instanceof ${it.ValidationError})`, () => gen.throw(e));\n addErrorsFrom(e);\n if (!allErrors)\n gen.assign(valid, false);\n });\n cxt.ok(valid);\n }\n function callSyncRef() {\n cxt.result((0, code_1.callValidateCode)(cxt, v, passCxt), () => addEvaluatedFrom(v), () => addErrorsFrom(v));\n }\n function addErrorsFrom(source) {\n const errs = (0, codegen_1._) `${source}.errors`;\n gen.assign(names_1.default.vErrors, (0, codegen_1._) `${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`); // TODO tagged\n gen.assign(names_1.default.errors, (0, codegen_1._) `${names_1.default.vErrors}.length`);\n }\n function addEvaluatedFrom(source) {\n var _a;\n if (!it.opts.unevaluated)\n return;\n const schEvaluated = (_a = sch === null || sch === void 0 ? void 0 : sch.validate) === null || _a === void 0 ? void 0 : _a.evaluated;\n // TODO refactor\n if (it.props !== true) {\n if (schEvaluated && !schEvaluated.dynamicProps) {\n if (schEvaluated.props !== undefined) {\n it.props = util_1.mergeEvaluated.props(gen, schEvaluated.props, it.props);\n }\n }\n else {\n const props = gen.var(\"props\", (0, codegen_1._) `${source}.evaluated.props`);\n it.props = util_1.mergeEvaluated.props(gen, props, it.props, codegen_1.Name);\n }\n }\n if (it.items !== true) {\n if (schEvaluated && !schEvaluated.dynamicItems) {\n if (schEvaluated.items !== undefined) {\n it.items = util_1.mergeEvaluated.items(gen, schEvaluated.items, it.items);\n }\n }\n else {\n const items = gen.var(\"items\", (0, codegen_1._) `${source}.evaluated.items`);\n it.items = util_1.mergeEvaluated.items(gen, items, it.items, codegen_1.Name);\n }\n }\n }\n}\nexports.callRef = callRef;\nexports[\"default\"] = def;\n//# sourceMappingURL=ref.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/core/ref.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/discriminator/index.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/discriminator/index.js ***! - \********************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst types_1 = __webpack_require__(/*! ../discriminator/types */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/discriminator/types.js\");\nconst compile_1 = __webpack_require__(/*! ../../compile */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst error = {\n message: ({ params: { discrError, tagName } }) => discrError === types_1.DiscrError.Tag\n ? `tag \"${tagName}\" must be string`\n : `value of tag \"${tagName}\" must be in oneOf`,\n params: ({ params: { discrError, tag, tagName } }) => (0, codegen_1._) `{error: ${discrError}, tag: ${tagName}, tagValue: ${tag}}`,\n};\nconst def = {\n keyword: \"discriminator\",\n type: \"object\",\n schemaType: \"object\",\n error,\n code(cxt) {\n const { gen, data, schema, parentSchema, it } = cxt;\n const { oneOf } = parentSchema;\n if (!it.opts.discriminator) {\n throw new Error(\"discriminator: requires discriminator option\");\n }\n const tagName = schema.propertyName;\n if (typeof tagName != \"string\")\n throw new Error(\"discriminator: requires propertyName\");\n if (schema.mapping)\n throw new Error(\"discriminator: mapping is not supported\");\n if (!oneOf)\n throw new Error(\"discriminator: requires oneOf keyword\");\n const valid = gen.let(\"valid\", false);\n const tag = gen.const(\"tag\", (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(tagName)}`);\n gen.if((0, codegen_1._) `typeof ${tag} == \"string\"`, () => validateMapping(), () => cxt.error(false, { discrError: types_1.DiscrError.Tag, tag, tagName }));\n cxt.ok(valid);\n function validateMapping() {\n const mapping = getMapping();\n gen.if(false);\n for (const tagValue in mapping) {\n gen.elseIf((0, codegen_1._) `${tag} === ${tagValue}`);\n gen.assign(valid, applyTagSchema(mapping[tagValue]));\n }\n gen.else();\n cxt.error(false, { discrError: types_1.DiscrError.Mapping, tag, tagName });\n gen.endIf();\n }\n function applyTagSchema(schemaProp) {\n const _valid = gen.name(\"valid\");\n const schCxt = cxt.subschema({ keyword: \"oneOf\", schemaProp }, _valid);\n cxt.mergeEvaluated(schCxt, codegen_1.Name);\n return _valid;\n }\n function getMapping() {\n var _a;\n const oneOfMapping = {};\n const topRequired = hasRequired(parentSchema);\n let tagRequired = true;\n for (let i = 0; i < oneOf.length; i++) {\n let sch = oneOf[i];\n if ((sch === null || sch === void 0 ? void 0 : sch.$ref) && !(0, util_1.schemaHasRulesButRef)(sch, it.self.RULES)) {\n sch = compile_1.resolveRef.call(it.self, it.schemaEnv.root, it.baseId, sch === null || sch === void 0 ? void 0 : sch.$ref);\n if (sch instanceof compile_1.SchemaEnv)\n sch = sch.schema;\n }\n const propSch = (_a = sch === null || sch === void 0 ? void 0 : sch.properties) === null || _a === void 0 ? void 0 : _a[tagName];\n if (typeof propSch != \"object\") {\n throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have \"properties/${tagName}\"`);\n }\n tagRequired = tagRequired && (topRequired || hasRequired(sch));\n addMappings(propSch, i);\n }\n if (!tagRequired)\n throw new Error(`discriminator: \"${tagName}\" must be required`);\n return oneOfMapping;\n function hasRequired({ required }) {\n return Array.isArray(required) && required.includes(tagName);\n }\n function addMappings(sch, i) {\n if (sch.const) {\n addMapping(sch.const, i);\n }\n else if (sch.enum) {\n for (const tagValue of sch.enum) {\n addMapping(tagValue, i);\n }\n }\n else {\n throw new Error(`discriminator: \"properties/${tagName}\" must have \"const\" or \"enum\"`);\n }\n }\n function addMapping(tagValue, i) {\n if (typeof tagValue != \"string\" || tagValue in oneOfMapping) {\n throw new Error(`discriminator: \"${tagName}\" values must be unique strings`);\n }\n oneOfMapping[tagValue] = i;\n }\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/discriminator/index.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/discriminator/types.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/discriminator/types.js ***! - \********************************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DiscrError = void 0;\nvar DiscrError;\n(function (DiscrError) {\n DiscrError[\"Tag\"] = \"tag\";\n DiscrError[\"Mapping\"] = \"mapping\";\n})(DiscrError = exports.DiscrError || (exports.DiscrError = {}));\n//# sourceMappingURL=types.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/discriminator/types.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/draft7.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/draft7.js ***! - \*******************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst core_1 = __webpack_require__(/*! ./core */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/core/index.js\");\nconst validation_1 = __webpack_require__(/*! ./validation */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/index.js\");\nconst applicator_1 = __webpack_require__(/*! ./applicator */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/applicator/index.js\");\nconst format_1 = __webpack_require__(/*! ./format */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/format/index.js\");\nconst metadata_1 = __webpack_require__(/*! ./metadata */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/metadata.js\");\nconst draft7Vocabularies = [\n core_1.default,\n validation_1.default,\n (0, applicator_1.default)(),\n format_1.default,\n metadata_1.metadataVocabulary,\n metadata_1.contentVocabulary,\n];\nexports[\"default\"] = draft7Vocabularies;\n//# sourceMappingURL=draft7.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/draft7.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/format/format.js": -/*!**************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/format/format.js ***! - \**************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst error = {\n message: ({ schemaCode }) => (0, codegen_1.str) `must match format \"${schemaCode}\"`,\n params: ({ schemaCode }) => (0, codegen_1._) `{format: ${schemaCode}}`,\n};\nconst def = {\n keyword: \"format\",\n type: [\"number\", \"string\"],\n schemaType: \"string\",\n $data: true,\n error,\n code(cxt, ruleType) {\n const { gen, data, $data, schema, schemaCode, it } = cxt;\n const { opts, errSchemaPath, schemaEnv, self } = it;\n if (!opts.validateFormats)\n return;\n if ($data)\n validate$DataFormat();\n else\n validateFormat();\n function validate$DataFormat() {\n const fmts = gen.scopeValue(\"formats\", {\n ref: self.formats,\n code: opts.code.formats,\n });\n const fDef = gen.const(\"fDef\", (0, codegen_1._) `${fmts}[${schemaCode}]`);\n const fType = gen.let(\"fType\");\n const format = gen.let(\"format\");\n // TODO simplify\n gen.if((0, codegen_1._) `typeof ${fDef} == \"object\" && !(${fDef} instanceof RegExp)`, () => gen.assign(fType, (0, codegen_1._) `${fDef}.type || \"string\"`).assign(format, (0, codegen_1._) `${fDef}.validate`), () => gen.assign(fType, (0, codegen_1._) `\"string\"`).assign(format, fDef));\n cxt.fail$data((0, codegen_1.or)(unknownFmt(), invalidFmt()));\n function unknownFmt() {\n if (opts.strictSchema === false)\n return codegen_1.nil;\n return (0, codegen_1._) `${schemaCode} && !${format}`;\n }\n function invalidFmt() {\n const callFormat = schemaEnv.$async\n ? (0, codegen_1._) `(${fDef}.async ? await ${format}(${data}) : ${format}(${data}))`\n : (0, codegen_1._) `${format}(${data})`;\n const validData = (0, codegen_1._) `(typeof ${format} == \"function\" ? ${callFormat} : ${format}.test(${data}))`;\n return (0, codegen_1._) `${format} && ${format} !== true && ${fType} === ${ruleType} && !${validData}`;\n }\n }\n function validateFormat() {\n const formatDef = self.formats[schema];\n if (!formatDef) {\n unknownFormat();\n return;\n }\n if (formatDef === true)\n return;\n const [fmtType, format, fmtRef] = getFormat(formatDef);\n if (fmtType === ruleType)\n cxt.pass(validCondition());\n function unknownFormat() {\n if (opts.strictSchema === false) {\n self.logger.warn(unknownMsg());\n return;\n }\n throw new Error(unknownMsg());\n function unknownMsg() {\n return `unknown format \"${schema}\" ignored in schema at path \"${errSchemaPath}\"`;\n }\n }\n function getFormat(fmtDef) {\n const code = fmtDef instanceof RegExp\n ? (0, codegen_1.regexpCode)(fmtDef)\n : opts.code.formats\n ? (0, codegen_1._) `${opts.code.formats}${(0, codegen_1.getProperty)(schema)}`\n : undefined;\n const fmt = gen.scopeValue(\"formats\", { key: schema, ref: fmtDef, code });\n if (typeof fmtDef == \"object\" && !(fmtDef instanceof RegExp)) {\n return [fmtDef.type || \"string\", fmtDef.validate, (0, codegen_1._) `${fmt}.validate`];\n }\n return [\"string\", fmtDef, fmt];\n }\n function validCondition() {\n if (typeof formatDef == \"object\" && !(formatDef instanceof RegExp) && formatDef.async) {\n if (!schemaEnv.$async)\n throw new Error(\"async format in sync schema\");\n return (0, codegen_1._) `await ${fmtRef}(${data})`;\n }\n return typeof format == \"function\" ? (0, codegen_1._) `${fmtRef}(${data})` : (0, codegen_1._) `${fmtRef}.test(${data})`;\n }\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=format.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/format/format.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/format/index.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/format/index.js ***! - \*************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst format_1 = __webpack_require__(/*! ./format */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/format/format.js\");\nconst format = [format_1.default];\nexports[\"default\"] = format;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/format/index.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/metadata.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/metadata.js ***! - \*********************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.contentVocabulary = exports.metadataVocabulary = void 0;\nexports.metadataVocabulary = [\n \"title\",\n \"description\",\n \"default\",\n \"deprecated\",\n \"readOnly\",\n \"writeOnly\",\n \"examples\",\n];\nexports.contentVocabulary = [\n \"contentMediaType\",\n \"contentEncoding\",\n \"contentSchema\",\n];\n//# sourceMappingURL=metadata.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/metadata.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/const.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/const.js ***! - \*****************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst equal_1 = __webpack_require__(/*! ../../runtime/equal */ \"./node_modules/ajv-formats/node_modules/ajv/dist/runtime/equal.js\");\nconst error = {\n message: \"must be equal to constant\",\n params: ({ schemaCode }) => (0, codegen_1._) `{allowedValue: ${schemaCode}}`,\n};\nconst def = {\n keyword: \"const\",\n $data: true,\n error,\n code(cxt) {\n const { gen, data, $data, schemaCode, schema } = cxt;\n if ($data || (schema && typeof schema == \"object\")) {\n cxt.fail$data((0, codegen_1._) `!${(0, util_1.useFunc)(gen, equal_1.default)}(${data}, ${schemaCode})`);\n }\n else {\n cxt.fail((0, codegen_1._) `${schema} !== ${data}`);\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=const.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/const.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/enum.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/enum.js ***! - \****************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst equal_1 = __webpack_require__(/*! ../../runtime/equal */ \"./node_modules/ajv-formats/node_modules/ajv/dist/runtime/equal.js\");\nconst error = {\n message: \"must be equal to one of the allowed values\",\n params: ({ schemaCode }) => (0, codegen_1._) `{allowedValues: ${schemaCode}}`,\n};\nconst def = {\n keyword: \"enum\",\n schemaType: \"array\",\n $data: true,\n error,\n code(cxt) {\n const { gen, data, $data, schema, schemaCode, it } = cxt;\n if (!$data && schema.length === 0)\n throw new Error(\"enum must have non-empty array\");\n const useLoop = schema.length >= it.opts.loopEnum;\n let eql;\n const getEql = () => (eql !== null && eql !== void 0 ? eql : (eql = (0, util_1.useFunc)(gen, equal_1.default)));\n let valid;\n if (useLoop || $data) {\n valid = gen.let(\"valid\");\n cxt.block$data(valid, loopEnum);\n }\n else {\n /* istanbul ignore if */\n if (!Array.isArray(schema))\n throw new Error(\"ajv implementation error\");\n const vSchema = gen.const(\"vSchema\", schemaCode);\n valid = (0, codegen_1.or)(...schema.map((_x, i) => equalCode(vSchema, i)));\n }\n cxt.pass(valid);\n function loopEnum() {\n gen.assign(valid, false);\n gen.forOf(\"v\", schemaCode, (v) => gen.if((0, codegen_1._) `${getEql()}(${data}, ${v})`, () => gen.assign(valid, true).break()));\n }\n function equalCode(vSchema, i) {\n const sch = schema[i];\n return typeof sch === \"object\" && sch !== null\n ? (0, codegen_1._) `${getEql()}(${data}, ${vSchema}[${i}])`\n : (0, codegen_1._) `${data} === ${sch}`;\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=enum.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/enum.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/index.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/index.js ***! - \*****************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst limitNumber_1 = __webpack_require__(/*! ./limitNumber */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/limitNumber.js\");\nconst multipleOf_1 = __webpack_require__(/*! ./multipleOf */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/multipleOf.js\");\nconst limitLength_1 = __webpack_require__(/*! ./limitLength */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/limitLength.js\");\nconst pattern_1 = __webpack_require__(/*! ./pattern */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/pattern.js\");\nconst limitProperties_1 = __webpack_require__(/*! ./limitProperties */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/limitProperties.js\");\nconst required_1 = __webpack_require__(/*! ./required */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/required.js\");\nconst limitItems_1 = __webpack_require__(/*! ./limitItems */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/limitItems.js\");\nconst uniqueItems_1 = __webpack_require__(/*! ./uniqueItems */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js\");\nconst const_1 = __webpack_require__(/*! ./const */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/const.js\");\nconst enum_1 = __webpack_require__(/*! ./enum */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/enum.js\");\nconst validation = [\n // number\n limitNumber_1.default,\n multipleOf_1.default,\n // string\n limitLength_1.default,\n pattern_1.default,\n // object\n limitProperties_1.default,\n required_1.default,\n // array\n limitItems_1.default,\n uniqueItems_1.default,\n // any\n { keyword: \"type\", schemaType: [\"string\", \"array\"] },\n { keyword: \"nullable\", schemaType: \"boolean\" },\n const_1.default,\n enum_1.default,\n];\nexports[\"default\"] = validation;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/index.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/limitItems.js": -/*!**********************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/limitItems.js ***! - \**********************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst error = {\n message({ keyword, schemaCode }) {\n const comp = keyword === \"maxItems\" ? \"more\" : \"fewer\";\n return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} items`;\n },\n params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`,\n};\nconst def = {\n keyword: [\"maxItems\", \"minItems\"],\n type: \"array\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt) {\n const { keyword, data, schemaCode } = cxt;\n const op = keyword === \"maxItems\" ? codegen_1.operators.GT : codegen_1.operators.LT;\n cxt.fail$data((0, codegen_1._) `${data}.length ${op} ${schemaCode}`);\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=limitItems.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/limitItems.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/limitLength.js": -/*!***********************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/limitLength.js ***! - \***********************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst ucs2length_1 = __webpack_require__(/*! ../../runtime/ucs2length */ \"./node_modules/ajv-formats/node_modules/ajv/dist/runtime/ucs2length.js\");\nconst error = {\n message({ keyword, schemaCode }) {\n const comp = keyword === \"maxLength\" ? \"more\" : \"fewer\";\n return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} characters`;\n },\n params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`,\n};\nconst def = {\n keyword: [\"maxLength\", \"minLength\"],\n type: \"string\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt) {\n const { keyword, data, schemaCode, it } = cxt;\n const op = keyword === \"maxLength\" ? codegen_1.operators.GT : codegen_1.operators.LT;\n const len = it.opts.unicode === false ? (0, codegen_1._) `${data}.length` : (0, codegen_1._) `${(0, util_1.useFunc)(cxt.gen, ucs2length_1.default)}(${data})`;\n cxt.fail$data((0, codegen_1._) `${len} ${op} ${schemaCode}`);\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=limitLength.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/limitLength.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/limitNumber.js": -/*!***********************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/limitNumber.js ***! - \***********************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst ops = codegen_1.operators;\nconst KWDs = {\n maximum: { okStr: \"<=\", ok: ops.LTE, fail: ops.GT },\n minimum: { okStr: \">=\", ok: ops.GTE, fail: ops.LT },\n exclusiveMaximum: { okStr: \"<\", ok: ops.LT, fail: ops.GTE },\n exclusiveMinimum: { okStr: \">\", ok: ops.GT, fail: ops.LTE },\n};\nconst error = {\n message: ({ keyword, schemaCode }) => (0, codegen_1.str) `must be ${KWDs[keyword].okStr} ${schemaCode}`,\n params: ({ keyword, schemaCode }) => (0, codegen_1._) `{comparison: ${KWDs[keyword].okStr}, limit: ${schemaCode}}`,\n};\nconst def = {\n keyword: Object.keys(KWDs),\n type: \"number\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt) {\n const { keyword, data, schemaCode } = cxt;\n cxt.fail$data((0, codegen_1._) `${data} ${KWDs[keyword].fail} ${schemaCode} || isNaN(${data})`);\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=limitNumber.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/limitNumber.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/limitProperties.js": -/*!***************************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/limitProperties.js ***! - \***************************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst error = {\n message({ keyword, schemaCode }) {\n const comp = keyword === \"maxProperties\" ? \"more\" : \"fewer\";\n return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} properties`;\n },\n params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`,\n};\nconst def = {\n keyword: [\"maxProperties\", \"minProperties\"],\n type: \"object\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt) {\n const { keyword, data, schemaCode } = cxt;\n const op = keyword === \"maxProperties\" ? codegen_1.operators.GT : codegen_1.operators.LT;\n cxt.fail$data((0, codegen_1._) `Object.keys(${data}).length ${op} ${schemaCode}`);\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=limitProperties.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/limitProperties.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/multipleOf.js": -/*!**********************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/multipleOf.js ***! - \**********************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst error = {\n message: ({ schemaCode }) => (0, codegen_1.str) `must be multiple of ${schemaCode}`,\n params: ({ schemaCode }) => (0, codegen_1._) `{multipleOf: ${schemaCode}}`,\n};\nconst def = {\n keyword: \"multipleOf\",\n type: \"number\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt) {\n const { gen, data, schemaCode, it } = cxt;\n // const bdt = bad$DataType(schemaCode, def.schemaType, $data)\n const prec = it.opts.multipleOfPrecision;\n const res = gen.let(\"res\");\n const invalid = prec\n ? (0, codegen_1._) `Math.abs(Math.round(${res}) - ${res}) > 1e-${prec}`\n : (0, codegen_1._) `${res} !== parseInt(${res})`;\n cxt.fail$data((0, codegen_1._) `(${schemaCode} === 0 || (${res} = ${data}/${schemaCode}, ${invalid}))`);\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=multipleOf.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/multipleOf.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/pattern.js": -/*!*******************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/pattern.js ***! - \*******************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/code.js\");\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst error = {\n message: ({ schemaCode }) => (0, codegen_1.str) `must match pattern \"${schemaCode}\"`,\n params: ({ schemaCode }) => (0, codegen_1._) `{pattern: ${schemaCode}}`,\n};\nconst def = {\n keyword: \"pattern\",\n type: \"string\",\n schemaType: \"string\",\n $data: true,\n error,\n code(cxt) {\n const { data, $data, schema, schemaCode, it } = cxt;\n // TODO regexp should be wrapped in try/catchs\n const u = it.opts.unicodeRegExp ? \"u\" : \"\";\n const regExp = $data ? (0, codegen_1._) `(new RegExp(${schemaCode}, ${u}))` : (0, code_1.usePattern)(cxt, schema);\n cxt.fail$data((0, codegen_1._) `!${regExp}.test(${data})`);\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=pattern.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/pattern.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/required.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/required.js ***! - \********************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/code.js\");\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst error = {\n message: ({ params: { missingProperty } }) => (0, codegen_1.str) `must have required property '${missingProperty}'`,\n params: ({ params: { missingProperty } }) => (0, codegen_1._) `{missingProperty: ${missingProperty}}`,\n};\nconst def = {\n keyword: \"required\",\n type: \"object\",\n schemaType: \"array\",\n $data: true,\n error,\n code(cxt) {\n const { gen, schema, schemaCode, data, $data, it } = cxt;\n const { opts } = it;\n if (!$data && schema.length === 0)\n return;\n const useLoop = schema.length >= opts.loopRequired;\n if (it.allErrors)\n allErrorsMode();\n else\n exitOnErrorMode();\n if (opts.strictRequired) {\n const props = cxt.parentSchema.properties;\n const { definedProperties } = cxt.it;\n for (const requiredKey of schema) {\n if ((props === null || props === void 0 ? void 0 : props[requiredKey]) === undefined && !definedProperties.has(requiredKey)) {\n const schemaPath = it.schemaEnv.baseId + it.errSchemaPath;\n const msg = `required property \"${requiredKey}\" is not defined at \"${schemaPath}\" (strictRequired)`;\n (0, util_1.checkStrictMode)(it, msg, it.opts.strictRequired);\n }\n }\n }\n function allErrorsMode() {\n if (useLoop || $data) {\n cxt.block$data(codegen_1.nil, loopAllRequired);\n }\n else {\n for (const prop of schema) {\n (0, code_1.checkReportMissingProp)(cxt, prop);\n }\n }\n }\n function exitOnErrorMode() {\n const missing = gen.let(\"missing\");\n if (useLoop || $data) {\n const valid = gen.let(\"valid\", true);\n cxt.block$data(valid, () => loopUntilMissing(missing, valid));\n cxt.ok(valid);\n }\n else {\n gen.if((0, code_1.checkMissingProp)(cxt, schema, missing));\n (0, code_1.reportMissingProp)(cxt, missing);\n gen.else();\n }\n }\n function loopAllRequired() {\n gen.forOf(\"prop\", schemaCode, (prop) => {\n cxt.setParams({ missingProperty: prop });\n gen.if((0, code_1.noPropertyInData)(gen, data, prop, opts.ownProperties), () => cxt.error());\n });\n }\n function loopUntilMissing(missing, valid) {\n cxt.setParams({ missingProperty: missing });\n gen.forOf(missing, schemaCode, () => {\n gen.assign(valid, (0, code_1.propertyInData)(gen, data, missing, opts.ownProperties));\n gen.if((0, codegen_1.not)(valid), () => {\n cxt.error();\n gen.break();\n });\n }, codegen_1.nil);\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=required.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/required.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js": -/*!***********************************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js ***! - \***********************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst dataType_1 = __webpack_require__(/*! ../../compile/validate/dataType */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/validate/dataType.js\");\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/ajv-formats/node_modules/ajv/dist/compile/util.js\");\nconst equal_1 = __webpack_require__(/*! ../../runtime/equal */ \"./node_modules/ajv-formats/node_modules/ajv/dist/runtime/equal.js\");\nconst error = {\n message: ({ params: { i, j } }) => (0, codegen_1.str) `must NOT have duplicate items (items ## ${j} and ${i} are identical)`,\n params: ({ params: { i, j } }) => (0, codegen_1._) `{i: ${i}, j: ${j}}`,\n};\nconst def = {\n keyword: \"uniqueItems\",\n type: \"array\",\n schemaType: \"boolean\",\n $data: true,\n error,\n code(cxt) {\n const { gen, data, $data, schema, parentSchema, schemaCode, it } = cxt;\n if (!$data && !schema)\n return;\n const valid = gen.let(\"valid\");\n const itemTypes = parentSchema.items ? (0, dataType_1.getSchemaTypes)(parentSchema.items) : [];\n cxt.block$data(valid, validateUniqueItems, (0, codegen_1._) `${schemaCode} === false`);\n cxt.ok(valid);\n function validateUniqueItems() {\n const i = gen.let(\"i\", (0, codegen_1._) `${data}.length`);\n const j = gen.let(\"j\");\n cxt.setParams({ i, j });\n gen.assign(valid, true);\n gen.if((0, codegen_1._) `${i} > 1`, () => (canOptimize() ? loopN : loopN2)(i, j));\n }\n function canOptimize() {\n return itemTypes.length > 0 && !itemTypes.some((t) => t === \"object\" || t === \"array\");\n }\n function loopN(i, j) {\n const item = gen.name(\"item\");\n const wrongType = (0, dataType_1.checkDataTypes)(itemTypes, item, it.opts.strictNumbers, dataType_1.DataType.Wrong);\n const indices = gen.const(\"indices\", (0, codegen_1._) `{}`);\n gen.for((0, codegen_1._) `;${i}--;`, () => {\n gen.let(item, (0, codegen_1._) `${data}[${i}]`);\n gen.if(wrongType, (0, codegen_1._) `continue`);\n if (itemTypes.length > 1)\n gen.if((0, codegen_1._) `typeof ${item} == \"string\"`, (0, codegen_1._) `${item} += \"_\"`);\n gen\n .if((0, codegen_1._) `typeof ${indices}[${item}] == \"number\"`, () => {\n gen.assign(j, (0, codegen_1._) `${indices}[${item}]`);\n cxt.error();\n gen.assign(valid, false).break();\n })\n .code((0, codegen_1._) `${indices}[${item}] = ${i}`);\n });\n }\n function loopN2(i, j) {\n const eql = (0, util_1.useFunc)(gen, equal_1.default);\n const outer = gen.name(\"outer\");\n gen.label(outer).for((0, codegen_1._) `;${i}--;`, () => gen.for((0, codegen_1._) `${j} = ${i}; ${j}--;`, () => gen.if((0, codegen_1._) `${eql}(${data}[${i}], ${data}[${j}])`, () => {\n cxt.error();\n gen.assign(valid, false).break(outer);\n })));\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=uniqueItems.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/ajv-formats/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js?"); - -/***/ }), - -/***/ "./node_modules/ajv-formats/node_modules/json-schema-traverse/index.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/ajv-formats/node_modules/json-schema-traverse/index.js ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\nvar traverse = module.exports = function (schema, opts, cb) {\n // Legacy support for v0.3.1 and earlier.\n if (typeof opts == 'function') {\n cb = opts;\n opts = {};\n }\n\n cb = opts.cb || cb;\n var pre = (typeof cb == 'function') ? cb : cb.pre || function() {};\n var post = cb.post || function() {};\n\n _traverse(opts, pre, post, schema, '', schema);\n};\n\n\ntraverse.keywords = {\n additionalItems: true,\n items: true,\n contains: true,\n additionalProperties: true,\n propertyNames: true,\n not: true,\n if: true,\n then: true,\n else: true\n};\n\ntraverse.arrayKeywords = {\n items: true,\n allOf: true,\n anyOf: true,\n oneOf: true\n};\n\ntraverse.propsKeywords = {\n $defs: true,\n definitions: true,\n properties: true,\n patternProperties: true,\n dependencies: true\n};\n\ntraverse.skipKeywords = {\n default: true,\n enum: true,\n const: true,\n required: true,\n maximum: true,\n minimum: true,\n exclusiveMaximum: true,\n exclusiveMinimum: true,\n multipleOf: true,\n maxLength: true,\n minLength: true,\n pattern: true,\n format: true,\n maxItems: true,\n minItems: true,\n uniqueItems: true,\n maxProperties: true,\n minProperties: true\n};\n\n\nfunction _traverse(opts, pre, post, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) {\n if (schema && typeof schema == 'object' && !Array.isArray(schema)) {\n pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);\n for (var key in schema) {\n var sch = schema[key];\n if (Array.isArray(sch)) {\n if (key in traverse.arrayKeywords) {\n for (var i=0; i { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hideOthers: () => (/* binding */ hideOthers),\n/* harmony export */ inertOthers: () => (/* binding */ inertOthers),\n/* harmony export */ supportsInert: () => (/* binding */ supportsInert),\n/* harmony export */ suppressOthers: () => (/* binding */ suppressOthers)\n/* harmony export */ });\nvar getDefaultParent = function (originalTarget) {\n if (typeof document === 'undefined') {\n return null;\n }\n var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n return sampleTarget.ownerDocument.body;\n};\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function (node) {\n return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function (parent, targets) {\n return targets\n .map(function (target) {\n if (parent.contains(target)) {\n return target;\n }\n var correctedTarget = unwrapHost(target);\n if (correctedTarget && parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n console.error('aria-hidden', target, 'in not contained inside', parent, '. Doing nothing');\n return null;\n })\n .filter(function (x) { return Boolean(x); });\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Undo} undo command\n */\nvar applyAttributeToOthers = function (originalTarget, parentNode, markerName, controlAttribute) {\n var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n var markerCounter = markerMap[markerName];\n var hiddenNodes = [];\n var elementsToKeep = new Set();\n var elementsToStop = new Set(targets);\n var keep = function (el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n keep(el.parentNode);\n };\n targets.forEach(keep);\n var deep = function (parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n Array.prototype.forEach.call(parent.children, function (node) {\n if (elementsToKeep.has(node)) {\n deep(node);\n }\n else {\n var attr = node.getAttribute(controlAttribute);\n var alreadyHidden = attr !== null && attr !== 'false';\n var counterValue = (counterMap.get(node) || 0) + 1;\n var markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, 'true');\n }\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, 'true');\n }\n }\n });\n };\n deep(parentNode);\n elementsToKeep.clear();\n lockCount++;\n return function () {\n hiddenNodes.forEach(function (node) {\n var counterValue = counterMap.get(node) - 1;\n var markerValue = markerCounter.get(node) - 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n if (!counterValue) {\n if (!uncontrolledNodes.has(node)) {\n node.removeAttribute(controlAttribute);\n }\n uncontrolledNodes.delete(node);\n }\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n // clear\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledNodes = new WeakMap();\n markerMap = {};\n }\n };\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nvar hideOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-aria-hidden'; }\n var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n // we should not hide ariaLive elements - https://github.com/theKashey/aria-hidden/issues/10\n targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll('[aria-live]')));\n return applyAttributeToOthers(targets, activeParentNode, markerName, 'aria-hidden');\n};\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nvar inertOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-inert-ed'; }\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n return applyAttributeToOthers(originalTarget, activeParentNode, markerName, 'inert');\n};\n/**\n * @returns if current browser supports inert\n */\nvar supportsInert = function () {\n return typeof HTMLElement !== 'undefined' && HTMLElement.prototype.hasOwnProperty('inert');\n};\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nvar suppressOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-suppressed'; }\n return (supportsInert() ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/aria-hidden/dist/es2015/index.js?"); - -/***/ }), - -/***/ "./node_modules/atomically/dist/consts.js": -/*!************************************************!*\ - !*** ./node_modules/atomically/dist/consts.js ***! - \************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\n/* CONSTS */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NOOP = exports.LIMIT_FILES_DESCRIPTORS = exports.LIMIT_BASENAME_LENGTH = exports.IS_USER_ROOT = exports.IS_POSIX = exports.DEFAULT_TIMEOUT_SYNC = exports.DEFAULT_TIMEOUT_ASYNC = exports.DEFAULT_WRITE_OPTIONS = exports.DEFAULT_READ_OPTIONS = exports.DEFAULT_FOLDER_MODE = exports.DEFAULT_FILE_MODE = exports.DEFAULT_ENCODING = void 0;\nconst DEFAULT_ENCODING = 'utf8';\nexports.DEFAULT_ENCODING = DEFAULT_ENCODING;\nconst DEFAULT_FILE_MODE = 0o666;\nexports.DEFAULT_FILE_MODE = DEFAULT_FILE_MODE;\nconst DEFAULT_FOLDER_MODE = 0o777;\nexports.DEFAULT_FOLDER_MODE = DEFAULT_FOLDER_MODE;\nconst DEFAULT_READ_OPTIONS = {};\nexports.DEFAULT_READ_OPTIONS = DEFAULT_READ_OPTIONS;\nconst DEFAULT_WRITE_OPTIONS = {};\nexports.DEFAULT_WRITE_OPTIONS = DEFAULT_WRITE_OPTIONS;\nconst DEFAULT_TIMEOUT_ASYNC = 5000;\nexports.DEFAULT_TIMEOUT_ASYNC = DEFAULT_TIMEOUT_ASYNC;\nconst DEFAULT_TIMEOUT_SYNC = 100;\nexports.DEFAULT_TIMEOUT_SYNC = DEFAULT_TIMEOUT_SYNC;\nconst IS_POSIX = !!process.getuid;\nexports.IS_POSIX = IS_POSIX;\nconst IS_USER_ROOT = process.getuid ? !process.getuid() : false;\nexports.IS_USER_ROOT = IS_USER_ROOT;\nconst LIMIT_BASENAME_LENGTH = 128; //TODO: fetch the real limit from the filesystem //TODO: fetch the whole-path length limit too\nexports.LIMIT_BASENAME_LENGTH = LIMIT_BASENAME_LENGTH;\nconst LIMIT_FILES_DESCRIPTORS = 10000; //TODO: fetch the real limit from the filesystem\nexports.LIMIT_FILES_DESCRIPTORS = LIMIT_FILES_DESCRIPTORS;\nconst NOOP = () => { };\nexports.NOOP = NOOP;\n\n\n//# sourceURL=webpack://renderer/./node_modules/atomically/dist/consts.js?"); - -/***/ }), - -/***/ "./node_modules/atomically/dist/index.js": -/*!***********************************************!*\ - !*** ./node_modules/atomically/dist/index.js ***! - \***********************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\n/* IMPORT */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.writeFileSync = exports.writeFile = exports.readFileSync = exports.readFile = void 0;\nconst path = __webpack_require__(/*! path */ \"path\");\nconst consts_1 = __webpack_require__(/*! ./consts */ \"./node_modules/atomically/dist/consts.js\");\nconst fs_1 = __webpack_require__(/*! ./utils/fs */ \"./node_modules/atomically/dist/utils/fs.js\");\nconst lang_1 = __webpack_require__(/*! ./utils/lang */ \"./node_modules/atomically/dist/utils/lang.js\");\nconst scheduler_1 = __webpack_require__(/*! ./utils/scheduler */ \"./node_modules/atomically/dist/utils/scheduler.js\");\nconst temp_1 = __webpack_require__(/*! ./utils/temp */ \"./node_modules/atomically/dist/utils/temp.js\");\nfunction readFile(filePath, options = consts_1.DEFAULT_READ_OPTIONS) {\n var _a;\n if (lang_1.default.isString(options))\n return readFile(filePath, { encoding: options });\n const timeout = Date.now() + ((_a = options.timeout) !== null && _a !== void 0 ? _a : consts_1.DEFAULT_TIMEOUT_ASYNC);\n return fs_1.default.readFileRetry(timeout)(filePath, options);\n}\nexports.readFile = readFile;\n;\nfunction readFileSync(filePath, options = consts_1.DEFAULT_READ_OPTIONS) {\n var _a;\n if (lang_1.default.isString(options))\n return readFileSync(filePath, { encoding: options });\n const timeout = Date.now() + ((_a = options.timeout) !== null && _a !== void 0 ? _a : consts_1.DEFAULT_TIMEOUT_SYNC);\n return fs_1.default.readFileSyncRetry(timeout)(filePath, options);\n}\nexports.readFileSync = readFileSync;\n;\nconst writeFile = (filePath, data, options, callback) => {\n if (lang_1.default.isFunction(options))\n return writeFile(filePath, data, consts_1.DEFAULT_WRITE_OPTIONS, options);\n const promise = writeFileAsync(filePath, data, options);\n if (callback)\n promise.then(callback, callback);\n return promise;\n};\nexports.writeFile = writeFile;\nconst writeFileAsync = async (filePath, data, options = consts_1.DEFAULT_WRITE_OPTIONS) => {\n var _a;\n if (lang_1.default.isString(options))\n return writeFileAsync(filePath, data, { encoding: options });\n const timeout = Date.now() + ((_a = options.timeout) !== null && _a !== void 0 ? _a : consts_1.DEFAULT_TIMEOUT_ASYNC);\n let schedulerCustomDisposer = null, schedulerDisposer = null, tempDisposer = null, tempPath = null, fd = null;\n try {\n if (options.schedule)\n schedulerCustomDisposer = await options.schedule(filePath);\n schedulerDisposer = await scheduler_1.default.schedule(filePath);\n filePath = await fs_1.default.realpathAttempt(filePath) || filePath;\n [tempPath, tempDisposer] = temp_1.default.get(filePath, options.tmpCreate || temp_1.default.create, !(options.tmpPurge === false));\n const useStatChown = consts_1.IS_POSIX && lang_1.default.isUndefined(options.chown), useStatMode = lang_1.default.isUndefined(options.mode);\n if (useStatChown || useStatMode) {\n const stat = await fs_1.default.statAttempt(filePath);\n if (stat) {\n options = { ...options };\n if (useStatChown)\n options.chown = { uid: stat.uid, gid: stat.gid };\n if (useStatMode)\n options.mode = stat.mode;\n }\n }\n const parentPath = path.dirname(filePath);\n await fs_1.default.mkdirAttempt(parentPath, {\n mode: consts_1.DEFAULT_FOLDER_MODE,\n recursive: true\n });\n fd = await fs_1.default.openRetry(timeout)(tempPath, 'w', options.mode || consts_1.DEFAULT_FILE_MODE);\n if (options.tmpCreated)\n options.tmpCreated(tempPath);\n if (lang_1.default.isString(data)) {\n await fs_1.default.writeRetry(timeout)(fd, data, 0, options.encoding || consts_1.DEFAULT_ENCODING);\n }\n else if (!lang_1.default.isUndefined(data)) {\n await fs_1.default.writeRetry(timeout)(fd, data, 0, data.length, 0);\n }\n if (options.fsync !== false) {\n if (options.fsyncWait !== false) {\n await fs_1.default.fsyncRetry(timeout)(fd);\n }\n else {\n fs_1.default.fsyncAttempt(fd);\n }\n }\n await fs_1.default.closeRetry(timeout)(fd);\n fd = null;\n if (options.chown)\n await fs_1.default.chownAttempt(tempPath, options.chown.uid, options.chown.gid);\n if (options.mode)\n await fs_1.default.chmodAttempt(tempPath, options.mode);\n try {\n await fs_1.default.renameRetry(timeout)(tempPath, filePath);\n }\n catch (error) {\n if (error.code !== 'ENAMETOOLONG')\n throw error;\n await fs_1.default.renameRetry(timeout)(tempPath, temp_1.default.truncate(filePath));\n }\n tempDisposer();\n tempPath = null;\n }\n finally {\n if (fd)\n await fs_1.default.closeAttempt(fd);\n if (tempPath)\n temp_1.default.purge(tempPath);\n if (schedulerCustomDisposer)\n schedulerCustomDisposer();\n if (schedulerDisposer)\n schedulerDisposer();\n }\n};\nconst writeFileSync = (filePath, data, options = consts_1.DEFAULT_WRITE_OPTIONS) => {\n var _a;\n if (lang_1.default.isString(options))\n return writeFileSync(filePath, data, { encoding: options });\n const timeout = Date.now() + ((_a = options.timeout) !== null && _a !== void 0 ? _a : consts_1.DEFAULT_TIMEOUT_SYNC);\n let tempDisposer = null, tempPath = null, fd = null;\n try {\n filePath = fs_1.default.realpathSyncAttempt(filePath) || filePath;\n [tempPath, tempDisposer] = temp_1.default.get(filePath, options.tmpCreate || temp_1.default.create, !(options.tmpPurge === false));\n const useStatChown = consts_1.IS_POSIX && lang_1.default.isUndefined(options.chown), useStatMode = lang_1.default.isUndefined(options.mode);\n if (useStatChown || useStatMode) {\n const stat = fs_1.default.statSyncAttempt(filePath);\n if (stat) {\n options = { ...options };\n if (useStatChown)\n options.chown = { uid: stat.uid, gid: stat.gid };\n if (useStatMode)\n options.mode = stat.mode;\n }\n }\n const parentPath = path.dirname(filePath);\n fs_1.default.mkdirSyncAttempt(parentPath, {\n mode: consts_1.DEFAULT_FOLDER_MODE,\n recursive: true\n });\n fd = fs_1.default.openSyncRetry(timeout)(tempPath, 'w', options.mode || consts_1.DEFAULT_FILE_MODE);\n if (options.tmpCreated)\n options.tmpCreated(tempPath);\n if (lang_1.default.isString(data)) {\n fs_1.default.writeSyncRetry(timeout)(fd, data, 0, options.encoding || consts_1.DEFAULT_ENCODING);\n }\n else if (!lang_1.default.isUndefined(data)) {\n fs_1.default.writeSyncRetry(timeout)(fd, data, 0, data.length, 0);\n }\n if (options.fsync !== false) {\n if (options.fsyncWait !== false) {\n fs_1.default.fsyncSyncRetry(timeout)(fd);\n }\n else {\n fs_1.default.fsyncAttempt(fd);\n }\n }\n fs_1.default.closeSyncRetry(timeout)(fd);\n fd = null;\n if (options.chown)\n fs_1.default.chownSyncAttempt(tempPath, options.chown.uid, options.chown.gid);\n if (options.mode)\n fs_1.default.chmodSyncAttempt(tempPath, options.mode);\n try {\n fs_1.default.renameSyncRetry(timeout)(tempPath, filePath);\n }\n catch (error) {\n if (error.code !== 'ENAMETOOLONG')\n throw error;\n fs_1.default.renameSyncRetry(timeout)(tempPath, temp_1.default.truncate(filePath));\n }\n tempDisposer();\n tempPath = null;\n }\n finally {\n if (fd)\n fs_1.default.closeSyncAttempt(fd);\n if (tempPath)\n temp_1.default.purge(tempPath);\n }\n};\nexports.writeFileSync = writeFileSync;\n\n\n//# sourceURL=webpack://renderer/./node_modules/atomically/dist/index.js?"); - -/***/ }), - -/***/ "./node_modules/atomically/dist/utils/attemptify.js": -/*!**********************************************************!*\ - !*** ./node_modules/atomically/dist/utils/attemptify.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\n/* IMPORT */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.attemptifySync = exports.attemptifyAsync = void 0;\nconst consts_1 = __webpack_require__(/*! ../consts */ \"./node_modules/atomically/dist/consts.js\");\n/* ATTEMPTIFY */\n//TODO: Maybe publish this as a standalone package\n//FIXME: The type castings here aren't exactly correct\nconst attemptifyAsync = (fn, onError = consts_1.NOOP) => {\n return function () {\n return fn.apply(undefined, arguments).catch(onError);\n };\n};\nexports.attemptifyAsync = attemptifyAsync;\nconst attemptifySync = (fn, onError = consts_1.NOOP) => {\n return function () {\n try {\n return fn.apply(undefined, arguments);\n }\n catch (error) {\n return onError(error);\n }\n };\n};\nexports.attemptifySync = attemptifySync;\n\n\n//# sourceURL=webpack://renderer/./node_modules/atomically/dist/utils/attemptify.js?"); - -/***/ }), - -/***/ "./node_modules/atomically/dist/utils/fs.js": -/*!**************************************************!*\ - !*** ./node_modules/atomically/dist/utils/fs.js ***! - \**************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\n/* IMPORT */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst fs = __webpack_require__(/*! fs */ \"fs\");\nconst util_1 = __webpack_require__(/*! util */ \"util\");\nconst attemptify_1 = __webpack_require__(/*! ./attemptify */ \"./node_modules/atomically/dist/utils/attemptify.js\");\nconst fs_handlers_1 = __webpack_require__(/*! ./fs_handlers */ \"./node_modules/atomically/dist/utils/fs_handlers.js\");\nconst retryify_1 = __webpack_require__(/*! ./retryify */ \"./node_modules/atomically/dist/utils/retryify.js\");\n/* FS */\nconst FS = {\n chmodAttempt: attemptify_1.attemptifyAsync(util_1.promisify(fs.chmod), fs_handlers_1.default.onChangeError),\n chownAttempt: attemptify_1.attemptifyAsync(util_1.promisify(fs.chown), fs_handlers_1.default.onChangeError),\n closeAttempt: attemptify_1.attemptifyAsync(util_1.promisify(fs.close)),\n fsyncAttempt: attemptify_1.attemptifyAsync(util_1.promisify(fs.fsync)),\n mkdirAttempt: attemptify_1.attemptifyAsync(util_1.promisify(fs.mkdir)),\n realpathAttempt: attemptify_1.attemptifyAsync(util_1.promisify(fs.realpath)),\n statAttempt: attemptify_1.attemptifyAsync(util_1.promisify(fs.stat)),\n unlinkAttempt: attemptify_1.attemptifyAsync(util_1.promisify(fs.unlink)),\n closeRetry: retryify_1.retryifyAsync(util_1.promisify(fs.close), fs_handlers_1.default.isRetriableError),\n fsyncRetry: retryify_1.retryifyAsync(util_1.promisify(fs.fsync), fs_handlers_1.default.isRetriableError),\n openRetry: retryify_1.retryifyAsync(util_1.promisify(fs.open), fs_handlers_1.default.isRetriableError),\n readFileRetry: retryify_1.retryifyAsync(util_1.promisify(fs.readFile), fs_handlers_1.default.isRetriableError),\n renameRetry: retryify_1.retryifyAsync(util_1.promisify(fs.rename), fs_handlers_1.default.isRetriableError),\n statRetry: retryify_1.retryifyAsync(util_1.promisify(fs.stat), fs_handlers_1.default.isRetriableError),\n writeRetry: retryify_1.retryifyAsync(util_1.promisify(fs.write), fs_handlers_1.default.isRetriableError),\n chmodSyncAttempt: attemptify_1.attemptifySync(fs.chmodSync, fs_handlers_1.default.onChangeError),\n chownSyncAttempt: attemptify_1.attemptifySync(fs.chownSync, fs_handlers_1.default.onChangeError),\n closeSyncAttempt: attemptify_1.attemptifySync(fs.closeSync),\n mkdirSyncAttempt: attemptify_1.attemptifySync(fs.mkdirSync),\n realpathSyncAttempt: attemptify_1.attemptifySync(fs.realpathSync),\n statSyncAttempt: attemptify_1.attemptifySync(fs.statSync),\n unlinkSyncAttempt: attemptify_1.attemptifySync(fs.unlinkSync),\n closeSyncRetry: retryify_1.retryifySync(fs.closeSync, fs_handlers_1.default.isRetriableError),\n fsyncSyncRetry: retryify_1.retryifySync(fs.fsyncSync, fs_handlers_1.default.isRetriableError),\n openSyncRetry: retryify_1.retryifySync(fs.openSync, fs_handlers_1.default.isRetriableError),\n readFileSyncRetry: retryify_1.retryifySync(fs.readFileSync, fs_handlers_1.default.isRetriableError),\n renameSyncRetry: retryify_1.retryifySync(fs.renameSync, fs_handlers_1.default.isRetriableError),\n statSyncRetry: retryify_1.retryifySync(fs.statSync, fs_handlers_1.default.isRetriableError),\n writeSyncRetry: retryify_1.retryifySync(fs.writeSync, fs_handlers_1.default.isRetriableError)\n};\n/* EXPORT */\nexports[\"default\"] = FS;\n\n\n//# sourceURL=webpack://renderer/./node_modules/atomically/dist/utils/fs.js?"); - -/***/ }), - -/***/ "./node_modules/atomically/dist/utils/fs_handlers.js": -/*!***********************************************************!*\ - !*** ./node_modules/atomically/dist/utils/fs_handlers.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\n/* IMPORT */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst consts_1 = __webpack_require__(/*! ../consts */ \"./node_modules/atomically/dist/consts.js\");\n/* FS HANDLERS */\nconst Handlers = {\n isChangeErrorOk: (error) => {\n const { code } = error;\n if (code === 'ENOSYS')\n return true;\n if (!consts_1.IS_USER_ROOT && (code === 'EINVAL' || code === 'EPERM'))\n return true;\n return false;\n },\n isRetriableError: (error) => {\n const { code } = error;\n if (code === 'EMFILE' || code === 'ENFILE' || code === 'EAGAIN' || code === 'EBUSY' || code === 'EACCESS' || code === 'EACCS' || code === 'EPERM')\n return true;\n return false;\n },\n onChangeError: (error) => {\n if (Handlers.isChangeErrorOk(error))\n return;\n throw error;\n }\n};\n/* EXPORT */\nexports[\"default\"] = Handlers;\n\n\n//# sourceURL=webpack://renderer/./node_modules/atomically/dist/utils/fs_handlers.js?"); - -/***/ }), - -/***/ "./node_modules/atomically/dist/utils/lang.js": -/*!****************************************************!*\ - !*** ./node_modules/atomically/dist/utils/lang.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\n/* LANG */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst Lang = {\n isFunction: (x) => {\n return typeof x === 'function';\n },\n isString: (x) => {\n return typeof x === 'string';\n },\n isUndefined: (x) => {\n return typeof x === 'undefined';\n }\n};\n/* EXPORT */\nexports[\"default\"] = Lang;\n\n\n//# sourceURL=webpack://renderer/./node_modules/atomically/dist/utils/lang.js?"); - -/***/ }), - -/***/ "./node_modules/atomically/dist/utils/retryify.js": -/*!********************************************************!*\ - !*** ./node_modules/atomically/dist/utils/retryify.js ***! - \********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\n/* IMPORT */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.retryifySync = exports.retryifyAsync = void 0;\nconst retryify_queue_1 = __webpack_require__(/*! ./retryify_queue */ \"./node_modules/atomically/dist/utils/retryify_queue.js\");\n/* RETRYIFY */\nconst retryifyAsync = (fn, isRetriableError) => {\n return function (timestamp) {\n return function attempt() {\n return retryify_queue_1.default.schedule().then(cleanup => {\n return fn.apply(undefined, arguments).then(result => {\n cleanup();\n return result;\n }, error => {\n cleanup();\n if (Date.now() >= timestamp)\n throw error;\n if (isRetriableError(error)) {\n const delay = Math.round(100 + (400 * Math.random())), delayPromise = new Promise(resolve => setTimeout(resolve, delay));\n return delayPromise.then(() => attempt.apply(undefined, arguments));\n }\n throw error;\n });\n });\n };\n };\n};\nexports.retryifyAsync = retryifyAsync;\nconst retryifySync = (fn, isRetriableError) => {\n return function (timestamp) {\n return function attempt() {\n try {\n return fn.apply(undefined, arguments);\n }\n catch (error) {\n if (Date.now() > timestamp)\n throw error;\n if (isRetriableError(error))\n return attempt.apply(undefined, arguments);\n throw error;\n }\n };\n };\n};\nexports.retryifySync = retryifySync;\n\n\n//# sourceURL=webpack://renderer/./node_modules/atomically/dist/utils/retryify.js?"); - -/***/ }), - -/***/ "./node_modules/atomically/dist/utils/retryify_queue.js": -/*!**************************************************************!*\ - !*** ./node_modules/atomically/dist/utils/retryify_queue.js ***! - \**************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\n/* IMPORT */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst consts_1 = __webpack_require__(/*! ../consts */ \"./node_modules/atomically/dist/consts.js\");\n/* RETRYIFY QUEUE */\nconst RetryfyQueue = {\n interval: 25,\n intervalId: undefined,\n limit: consts_1.LIMIT_FILES_DESCRIPTORS,\n queueActive: new Set(),\n queueWaiting: new Set(),\n init: () => {\n if (RetryfyQueue.intervalId)\n return;\n RetryfyQueue.intervalId = setInterval(RetryfyQueue.tick, RetryfyQueue.interval);\n },\n reset: () => {\n if (!RetryfyQueue.intervalId)\n return;\n clearInterval(RetryfyQueue.intervalId);\n delete RetryfyQueue.intervalId;\n },\n add: (fn) => {\n RetryfyQueue.queueWaiting.add(fn);\n if (RetryfyQueue.queueActive.size < (RetryfyQueue.limit / 2)) { // Active queue not under preassure, executing immediately\n RetryfyQueue.tick();\n }\n else {\n RetryfyQueue.init();\n }\n },\n remove: (fn) => {\n RetryfyQueue.queueWaiting.delete(fn);\n RetryfyQueue.queueActive.delete(fn);\n },\n schedule: () => {\n return new Promise(resolve => {\n const cleanup = () => RetryfyQueue.remove(resolver);\n const resolver = () => resolve(cleanup);\n RetryfyQueue.add(resolver);\n });\n },\n tick: () => {\n if (RetryfyQueue.queueActive.size >= RetryfyQueue.limit)\n return;\n if (!RetryfyQueue.queueWaiting.size)\n return RetryfyQueue.reset();\n for (const fn of RetryfyQueue.queueWaiting) {\n if (RetryfyQueue.queueActive.size >= RetryfyQueue.limit)\n break;\n RetryfyQueue.queueWaiting.delete(fn);\n RetryfyQueue.queueActive.add(fn);\n fn();\n }\n }\n};\n/* EXPORT */\nexports[\"default\"] = RetryfyQueue;\n\n\n//# sourceURL=webpack://renderer/./node_modules/atomically/dist/utils/retryify_queue.js?"); - -/***/ }), - -/***/ "./node_modules/atomically/dist/utils/scheduler.js": -/*!*********************************************************!*\ - !*** ./node_modules/atomically/dist/utils/scheduler.js ***! - \*********************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\n/* IMPORT */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n/* VARIABLES */\nconst Queues = {};\n/* SCHEDULER */\n//TODO: Maybe publish this as a standalone package\nconst Scheduler = {\n next: (id) => {\n const queue = Queues[id];\n if (!queue)\n return;\n queue.shift();\n const job = queue[0];\n if (job) {\n job(() => Scheduler.next(id));\n }\n else {\n delete Queues[id];\n }\n },\n schedule: (id) => {\n return new Promise(resolve => {\n let queue = Queues[id];\n if (!queue)\n queue = Queues[id] = [];\n queue.push(resolve);\n if (queue.length > 1)\n return;\n resolve(() => Scheduler.next(id));\n });\n }\n};\n/* EXPORT */\nexports[\"default\"] = Scheduler;\n\n\n//# sourceURL=webpack://renderer/./node_modules/atomically/dist/utils/scheduler.js?"); - -/***/ }), - -/***/ "./node_modules/atomically/dist/utils/temp.js": -/*!****************************************************!*\ - !*** ./node_modules/atomically/dist/utils/temp.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\n/* IMPORT */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst path = __webpack_require__(/*! path */ \"path\");\nconst consts_1 = __webpack_require__(/*! ../consts */ \"./node_modules/atomically/dist/consts.js\");\nconst fs_1 = __webpack_require__(/*! ./fs */ \"./node_modules/atomically/dist/utils/fs.js\");\n/* TEMP */\n//TODO: Maybe publish this as a standalone package\nconst Temp = {\n store: {},\n create: (filePath) => {\n const randomness = `000000${Math.floor(Math.random() * 16777215).toString(16)}`.slice(-6), // 6 random-enough hex characters\n timestamp = Date.now().toString().slice(-10), // 10 precise timestamp digits\n prefix = 'tmp-', suffix = `.${prefix}${timestamp}${randomness}`, tempPath = `${filePath}${suffix}`;\n return tempPath;\n },\n get: (filePath, creator, purge = true) => {\n const tempPath = Temp.truncate(creator(filePath));\n if (tempPath in Temp.store)\n return Temp.get(filePath, creator, purge); // Collision found, try again\n Temp.store[tempPath] = purge;\n const disposer = () => delete Temp.store[tempPath];\n return [tempPath, disposer];\n },\n purge: (filePath) => {\n if (!Temp.store[filePath])\n return;\n delete Temp.store[filePath];\n fs_1.default.unlinkAttempt(filePath);\n },\n purgeSync: (filePath) => {\n if (!Temp.store[filePath])\n return;\n delete Temp.store[filePath];\n fs_1.default.unlinkSyncAttempt(filePath);\n },\n purgeSyncAll: () => {\n for (const filePath in Temp.store) {\n Temp.purgeSync(filePath);\n }\n },\n truncate: (filePath) => {\n const basename = path.basename(filePath);\n if (basename.length <= consts_1.LIMIT_BASENAME_LENGTH)\n return filePath; //FIXME: Rough and quick attempt at detecting ok lengths\n const truncable = /^(\\.?)(.*?)((?:\\.[^.]+)?(?:\\.tmp-\\d{10}[a-f0-9]{6})?)$/.exec(basename);\n if (!truncable)\n return filePath; //FIXME: No truncable part detected, can't really do much without also changing the parent path, which is unsafe, hoping for the best here\n const truncationLength = basename.length - consts_1.LIMIT_BASENAME_LENGTH;\n return `${filePath.slice(0, -basename.length)}${truncable[1]}${truncable[2].slice(0, -truncationLength)}${truncable[3]}`; //FIXME: The truncable part might be shorter than needed here\n }\n};\n/* INIT */\nprocess.on('exit', Temp.purgeSyncAll); // Ensuring purgeable temp files are purged on exit\n/* EXPORT */\nexports[\"default\"] = Temp;\n\n\n//# sourceURL=webpack://renderer/./node_modules/atomically/dist/utils/temp.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/data/prefixes.js": -/*!****************************************************!*\ - !*** ./node_modules/autoprefixer/data/prefixes.js ***! - \****************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let unpack = __webpack_require__(/*! caniuse-lite/dist/unpacker/feature */ \"./node_modules/caniuse-lite/dist/unpacker/feature.js\")\n\nfunction browsersSort(a, b) {\n a = a.split(' ')\n b = b.split(' ')\n if (a[0] > b[0]) {\n return 1\n } else if (a[0] < b[0]) {\n return -1\n } else {\n return Math.sign(parseFloat(a[1]) - parseFloat(b[1]))\n }\n}\n\n// Convert Can I Use data\nfunction f(data, opts, callback) {\n data = unpack(data)\n\n if (!callback) {\n ;[callback, opts] = [opts, {}]\n }\n\n let match = opts.match || /\\sx($|\\s)/\n let need = []\n\n for (let browser in data.stats) {\n let versions = data.stats[browser]\n for (let version in versions) {\n let support = versions[version]\n if (support.match(match)) {\n need.push(browser + ' ' + version)\n }\n }\n }\n\n callback(need.sort(browsersSort))\n}\n\n// Add data for all properties\nlet result = {}\n\nfunction prefix(names, data) {\n for (let name of names) {\n result[name] = Object.assign({}, data)\n }\n}\n\nfunction add(names, data) {\n for (let name of names) {\n result[name].browsers = result[name].browsers\n .concat(data.browsers)\n .sort(browsersSort)\n }\n}\n\nmodule.exports = result\n\n// Border Radius\nlet prefixBorderRadius = __webpack_require__(/*! caniuse-lite/data/features/border-radius */ \"./node_modules/caniuse-lite/data/features/border-radius.js\")\n\nf(prefixBorderRadius, browsers =>\n prefix(\n [\n 'border-radius',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-bottom-right-radius',\n 'border-bottom-left-radius'\n ],\n {\n browsers,\n feature: 'border-radius',\n mistakes: ['-khtml-', '-ms-', '-o-']\n }\n )\n)\n\n// Box Shadow\nlet prefixBoxshadow = __webpack_require__(/*! caniuse-lite/data/features/css-boxshadow */ \"./node_modules/caniuse-lite/data/features/css-boxshadow.js\")\n\nf(prefixBoxshadow, browsers =>\n prefix(['box-shadow'], {\n browsers,\n feature: 'css-boxshadow',\n mistakes: ['-khtml-']\n })\n)\n\n// Animation\nlet prefixAnimation = __webpack_require__(/*! caniuse-lite/data/features/css-animation */ \"./node_modules/caniuse-lite/data/features/css-animation.js\")\n\nf(prefixAnimation, browsers =>\n prefix(\n [\n 'animation',\n 'animation-name',\n 'animation-duration',\n 'animation-delay',\n 'animation-direction',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-play-state',\n 'animation-timing-function',\n '@keyframes'\n ],\n {\n browsers,\n feature: 'css-animation',\n mistakes: ['-khtml-', '-ms-']\n }\n )\n)\n\n// Transition\nlet prefixTransition = __webpack_require__(/*! caniuse-lite/data/features/css-transitions */ \"./node_modules/caniuse-lite/data/features/css-transitions.js\")\n\nf(prefixTransition, browsers =>\n prefix(\n [\n 'transition',\n 'transition-property',\n 'transition-duration',\n 'transition-delay',\n 'transition-timing-function'\n ],\n {\n browsers,\n feature: 'css-transitions',\n mistakes: ['-khtml-', '-ms-']\n }\n )\n)\n\n// Transform 2D\nlet prefixTransform2d = __webpack_require__(/*! caniuse-lite/data/features/transforms2d */ \"./node_modules/caniuse-lite/data/features/transforms2d.js\")\n\nf(prefixTransform2d, browsers =>\n prefix(['transform', 'transform-origin'], {\n browsers,\n feature: 'transforms2d'\n })\n)\n\n// Transform 3D\nlet prefixTransforms3d = __webpack_require__(/*! caniuse-lite/data/features/transforms3d */ \"./node_modules/caniuse-lite/data/features/transforms3d.js\")\n\nf(prefixTransforms3d, browsers => {\n prefix(['perspective', 'perspective-origin'], {\n browsers,\n feature: 'transforms3d'\n })\n return prefix(['transform-style'], {\n browsers,\n feature: 'transforms3d',\n mistakes: ['-ms-', '-o-']\n })\n})\n\nf(prefixTransforms3d, { match: /y\\sx|y\\s#2/ }, browsers =>\n prefix(['backface-visibility'], {\n browsers,\n feature: 'transforms3d',\n mistakes: ['-ms-', '-o-']\n })\n)\n\n// Gradients\nlet prefixGradients = __webpack_require__(/*! caniuse-lite/data/features/css-gradients */ \"./node_modules/caniuse-lite/data/features/css-gradients.js\")\n\nf(prefixGradients, { match: /y\\sx/ }, browsers =>\n prefix(\n [\n 'linear-gradient',\n 'repeating-linear-gradient',\n 'radial-gradient',\n 'repeating-radial-gradient'\n ],\n {\n browsers,\n feature: 'css-gradients',\n mistakes: ['-ms-'],\n props: [\n 'background',\n 'background-image',\n 'border-image',\n 'mask',\n 'list-style',\n 'list-style-image',\n 'content',\n 'mask-image'\n ]\n }\n )\n)\n\nf(prefixGradients, { match: /a\\sx/ }, browsers => {\n browsers = browsers.map(i => {\n if (/firefox|op/.test(i)) {\n return i\n } else {\n return `${i} old`\n }\n })\n return add(\n [\n 'linear-gradient',\n 'repeating-linear-gradient',\n 'radial-gradient',\n 'repeating-radial-gradient'\n ],\n {\n browsers,\n feature: 'css-gradients'\n }\n )\n})\n\n// Box sizing\nlet prefixBoxsizing = __webpack_require__(/*! caniuse-lite/data/features/css3-boxsizing */ \"./node_modules/caniuse-lite/data/features/css3-boxsizing.js\")\n\nf(prefixBoxsizing, browsers =>\n prefix(['box-sizing'], {\n browsers,\n feature: 'css3-boxsizing'\n })\n)\n\n// Filter Effects\nlet prefixFilters = __webpack_require__(/*! caniuse-lite/data/features/css-filters */ \"./node_modules/caniuse-lite/data/features/css-filters.js\")\n\nf(prefixFilters, browsers =>\n prefix(['filter'], {\n browsers,\n feature: 'css-filters'\n })\n)\n\n// filter() function\nlet prefixFilterFunction = __webpack_require__(/*! caniuse-lite/data/features/css-filter-function */ \"./node_modules/caniuse-lite/data/features/css-filter-function.js\")\n\nf(prefixFilterFunction, browsers =>\n prefix(['filter-function'], {\n browsers,\n feature: 'css-filter-function',\n props: [\n 'background',\n 'background-image',\n 'border-image',\n 'mask',\n 'list-style',\n 'list-style-image',\n 'content',\n 'mask-image'\n ]\n })\n)\n\n// Backdrop-filter\nlet prefixBackdropFilter = __webpack_require__(/*! caniuse-lite/data/features/css-backdrop-filter */ \"./node_modules/caniuse-lite/data/features/css-backdrop-filter.js\")\n\nf(prefixBackdropFilter, { match: /y\\sx|y\\s#2/ }, browsers =>\n prefix(['backdrop-filter'], {\n browsers,\n feature: 'css-backdrop-filter'\n })\n)\n\n// element() function\nlet prefixElementFunction = __webpack_require__(/*! caniuse-lite/data/features/css-element-function */ \"./node_modules/caniuse-lite/data/features/css-element-function.js\")\n\nf(prefixElementFunction, browsers =>\n prefix(['element'], {\n browsers,\n feature: 'css-element-function',\n props: [\n 'background',\n 'background-image',\n 'border-image',\n 'mask',\n 'list-style',\n 'list-style-image',\n 'content',\n 'mask-image'\n ]\n })\n)\n\n// Multicolumns\nlet prefixMulticolumns = __webpack_require__(/*! caniuse-lite/data/features/multicolumn */ \"./node_modules/caniuse-lite/data/features/multicolumn.js\")\n\nf(prefixMulticolumns, browsers => {\n prefix(\n [\n 'columns',\n 'column-width',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-width',\n 'column-count',\n 'column-rule-style',\n 'column-span',\n 'column-fill'\n ],\n {\n browsers,\n feature: 'multicolumn'\n }\n )\n\n let noff = browsers.filter(i => !/firefox/.test(i))\n prefix(['break-before', 'break-after', 'break-inside'], {\n browsers: noff,\n feature: 'multicolumn'\n })\n})\n\n// User select\nlet prefixUserSelect = __webpack_require__(/*! caniuse-lite/data/features/user-select-none */ \"./node_modules/caniuse-lite/data/features/user-select-none.js\")\n\nf(prefixUserSelect, browsers =>\n prefix(['user-select'], {\n browsers,\n feature: 'user-select-none',\n mistakes: ['-khtml-']\n })\n)\n\n// Flexible Box Layout\nlet prefixFlexbox = __webpack_require__(/*! caniuse-lite/data/features/flexbox */ \"./node_modules/caniuse-lite/data/features/flexbox.js\")\n\nf(prefixFlexbox, { match: /a\\sx/ }, browsers => {\n browsers = browsers.map(i => {\n if (/ie|firefox/.test(i)) {\n return i\n } else {\n return `${i} 2009`\n }\n })\n prefix(['display-flex', 'inline-flex'], {\n browsers,\n feature: 'flexbox',\n props: ['display']\n })\n prefix(['flex', 'flex-grow', 'flex-shrink', 'flex-basis'], {\n browsers,\n feature: 'flexbox'\n })\n prefix(\n [\n 'flex-direction',\n 'flex-wrap',\n 'flex-flow',\n 'justify-content',\n 'order',\n 'align-items',\n 'align-self',\n 'align-content'\n ],\n {\n browsers,\n feature: 'flexbox'\n }\n )\n})\n\nf(prefixFlexbox, { match: /y\\sx/ }, browsers => {\n add(['display-flex', 'inline-flex'], {\n browsers,\n feature: 'flexbox'\n })\n add(['flex', 'flex-grow', 'flex-shrink', 'flex-basis'], {\n browsers,\n feature: 'flexbox'\n })\n add(\n [\n 'flex-direction',\n 'flex-wrap',\n 'flex-flow',\n 'justify-content',\n 'order',\n 'align-items',\n 'align-self',\n 'align-content'\n ],\n {\n browsers,\n feature: 'flexbox'\n }\n )\n})\n\n// calc() unit\nlet prefixCalc = __webpack_require__(/*! caniuse-lite/data/features/calc */ \"./node_modules/caniuse-lite/data/features/calc.js\")\n\nf(prefixCalc, browsers =>\n prefix(['calc'], {\n browsers,\n feature: 'calc',\n props: ['*']\n })\n)\n\n// Background options\nlet prefixBackgroundOptions = __webpack_require__(/*! caniuse-lite/data/features/background-img-opts */ \"./node_modules/caniuse-lite/data/features/background-img-opts.js\")\n\nf(prefixBackgroundOptions, browsers =>\n prefix(['background-origin', 'background-size'], {\n browsers,\n feature: 'background-img-opts'\n })\n)\n\n// background-clip: text\nlet prefixBackgroundClipText = __webpack_require__(/*! caniuse-lite/data/features/background-clip-text */ \"./node_modules/caniuse-lite/data/features/background-clip-text.js\")\n\nf(prefixBackgroundClipText, browsers =>\n prefix(['background-clip'], {\n browsers,\n feature: 'background-clip-text'\n })\n)\n\n// Font feature settings\nlet prefixFontFeature = __webpack_require__(/*! caniuse-lite/data/features/font-feature */ \"./node_modules/caniuse-lite/data/features/font-feature.js\")\n\nf(prefixFontFeature, browsers =>\n prefix(\n [\n 'font-feature-settings',\n 'font-variant-ligatures',\n 'font-language-override'\n ],\n {\n browsers,\n feature: 'font-feature'\n }\n )\n)\n\n// CSS font-kerning property\nlet prefixFontKerning = __webpack_require__(/*! caniuse-lite/data/features/font-kerning */ \"./node_modules/caniuse-lite/data/features/font-kerning.js\")\n\nf(prefixFontKerning, browsers =>\n prefix(['font-kerning'], {\n browsers,\n feature: 'font-kerning'\n })\n)\n\n// Border image\nlet prefixBorderImage = __webpack_require__(/*! caniuse-lite/data/features/border-image */ \"./node_modules/caniuse-lite/data/features/border-image.js\")\n\nf(prefixBorderImage, browsers =>\n prefix(['border-image'], {\n browsers,\n feature: 'border-image'\n })\n)\n\n// Selection selector\nlet prefixSelection = __webpack_require__(/*! caniuse-lite/data/features/css-selection */ \"./node_modules/caniuse-lite/data/features/css-selection.js\")\n\nf(prefixSelection, browsers =>\n prefix(['::selection'], {\n browsers,\n feature: 'css-selection',\n selector: true\n })\n)\n\n// Placeholder selector\nlet prefixPlaceholder = __webpack_require__(/*! caniuse-lite/data/features/css-placeholder */ \"./node_modules/caniuse-lite/data/features/css-placeholder.js\")\n\nf(prefixPlaceholder, browsers => {\n prefix(['::placeholder'], {\n browsers: browsers.concat(['ie 10 old', 'ie 11 old', 'firefox 18 old']),\n feature: 'css-placeholder',\n selector: true\n })\n})\n\n// Placeholder-shown selector\nlet prefixPlaceholderShown = __webpack_require__(/*! caniuse-lite/data/features/css-placeholder-shown */ \"./node_modules/caniuse-lite/data/features/css-placeholder-shown.js\")\n\nf(prefixPlaceholderShown, browsers => {\n prefix([':placeholder-shown'], {\n browsers,\n feature: 'css-placeholder-shown',\n selector: true\n })\n})\n\n// Hyphenation\nlet prefixHyphens = __webpack_require__(/*! caniuse-lite/data/features/css-hyphens */ \"./node_modules/caniuse-lite/data/features/css-hyphens.js\")\n\nf(prefixHyphens, browsers =>\n prefix(['hyphens'], {\n browsers,\n feature: 'css-hyphens'\n })\n)\n\n// Fullscreen selector\nlet prefixFullscreen = __webpack_require__(/*! caniuse-lite/data/features/fullscreen */ \"./node_modules/caniuse-lite/data/features/fullscreen.js\")\n\nf(prefixFullscreen, browsers =>\n prefix([':fullscreen'], {\n browsers,\n feature: 'fullscreen',\n selector: true\n })\n)\n\n// ::backdrop pseudo-element\n// https://caniuse.com/mdn-css_selectors_backdrop\nlet prefixBackdrop = __webpack_require__(/*! caniuse-lite/data/features/mdn-css-backdrop-pseudo-element */ \"./node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js\")\n\nf(prefixBackdrop, browsers =>\n prefix(['::backdrop'], {\n browsers,\n feature: 'backdrop',\n selector: true\n })\n)\n\n// File selector button\nlet prefixFileSelectorButton = __webpack_require__(/*! caniuse-lite/data/features/css-file-selector-button */ \"./node_modules/caniuse-lite/data/features/css-file-selector-button.js\")\n\nf(prefixFileSelectorButton, browsers =>\n prefix(['::file-selector-button'], {\n browsers,\n feature: 'file-selector-button',\n selector: true\n })\n)\n\n// :autofill\nlet prefixAutofill = __webpack_require__(/*! caniuse-lite/data/features/css-autofill */ \"./node_modules/caniuse-lite/data/features/css-autofill.js\")\n\nf(prefixAutofill, browsers =>\n prefix([':autofill'], {\n browsers,\n feature: 'css-autofill',\n selector: true\n })\n)\n\n// Tab size\nlet prefixTabsize = __webpack_require__(/*! caniuse-lite/data/features/css3-tabsize */ \"./node_modules/caniuse-lite/data/features/css3-tabsize.js\")\n\nf(prefixTabsize, browsers =>\n prefix(['tab-size'], {\n browsers,\n feature: 'css3-tabsize'\n })\n)\n\n// Intrinsic & extrinsic sizing\nlet prefixIntrinsic = __webpack_require__(/*! caniuse-lite/data/features/intrinsic-width */ \"./node_modules/caniuse-lite/data/features/intrinsic-width.js\")\n\nlet sizeProps = [\n 'width',\n 'min-width',\n 'max-width',\n 'height',\n 'min-height',\n 'max-height',\n 'inline-size',\n 'min-inline-size',\n 'max-inline-size',\n 'block-size',\n 'min-block-size',\n 'max-block-size',\n 'grid',\n 'grid-template',\n 'grid-template-rows',\n 'grid-template-columns',\n 'grid-auto-columns',\n 'grid-auto-rows'\n]\n\nf(prefixIntrinsic, browsers =>\n prefix(['max-content', 'min-content'], {\n browsers,\n feature: 'intrinsic-width',\n props: sizeProps\n })\n)\n\nf(prefixIntrinsic, { match: /x|\\s#4/ }, browsers =>\n prefix(['fill', 'fill-available'], {\n browsers,\n feature: 'intrinsic-width',\n props: sizeProps\n })\n)\n\nf(prefixIntrinsic, { match: /x|\\s#5/ }, browsers =>\n prefix(['fit-content'], {\n browsers,\n feature: 'intrinsic-width',\n props: sizeProps\n })\n)\n\n// Stretch value\n\nlet prefixStretch = __webpack_require__(/*! caniuse-lite/data/features/css-width-stretch */ \"./node_modules/caniuse-lite/data/features/css-width-stretch.js\")\n\nf(prefixStretch, browsers =>\n prefix(['stretch'], {\n browsers,\n feature: 'css-width-stretch',\n props: sizeProps\n })\n)\n\n// Zoom cursors\nlet prefixCursorsNewer = __webpack_require__(/*! caniuse-lite/data/features/css3-cursors-newer */ \"./node_modules/caniuse-lite/data/features/css3-cursors-newer.js\")\n\nf(prefixCursorsNewer, browsers =>\n prefix(['zoom-in', 'zoom-out'], {\n browsers,\n feature: 'css3-cursors-newer',\n props: ['cursor']\n })\n)\n\n// Grab cursors\nlet prefixCursorsGrab = __webpack_require__(/*! caniuse-lite/data/features/css3-cursors-grab */ \"./node_modules/caniuse-lite/data/features/css3-cursors-grab.js\")\n\nf(prefixCursorsGrab, browsers =>\n prefix(['grab', 'grabbing'], {\n browsers,\n feature: 'css3-cursors-grab',\n props: ['cursor']\n })\n)\n\n// Sticky position\nlet prefixSticky = __webpack_require__(/*! caniuse-lite/data/features/css-sticky */ \"./node_modules/caniuse-lite/data/features/css-sticky.js\")\n\nf(prefixSticky, browsers =>\n prefix(['sticky'], {\n browsers,\n feature: 'css-sticky',\n props: ['position']\n })\n)\n\n// Pointer Events\nlet prefixPointer = __webpack_require__(/*! caniuse-lite/data/features/pointer */ \"./node_modules/caniuse-lite/data/features/pointer.js\")\n\nf(prefixPointer, browsers =>\n prefix(['touch-action'], {\n browsers,\n feature: 'pointer'\n })\n)\n\n// Text decoration\nlet prefixDecoration = __webpack_require__(/*! caniuse-lite/data/features/text-decoration */ \"./node_modules/caniuse-lite/data/features/text-decoration.js\")\n\nf(prefixDecoration, { match: /x.*#[235]/ }, browsers =>\n prefix(['text-decoration-skip', 'text-decoration-skip-ink'], {\n browsers,\n feature: 'text-decoration'\n })\n)\n\nlet prefixDecorationShorthand = __webpack_require__(/*! caniuse-lite/data/features/mdn-text-decoration-shorthand */ \"./node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js\")\n\nf(prefixDecorationShorthand, browsers =>\n prefix(['text-decoration'], {\n browsers,\n feature: 'text-decoration'\n })\n)\n\nlet prefixDecorationColor = __webpack_require__(/*! caniuse-lite/data/features/mdn-text-decoration-color */ \"./node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js\")\n\nf(prefixDecorationColor, browsers =>\n prefix(['text-decoration-color'], {\n browsers,\n feature: 'text-decoration'\n })\n)\n\nlet prefixDecorationLine = __webpack_require__(/*! caniuse-lite/data/features/mdn-text-decoration-line */ \"./node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js\")\n\nf(prefixDecorationLine, browsers =>\n prefix(['text-decoration-line'], {\n browsers,\n feature: 'text-decoration'\n })\n)\n\nlet prefixDecorationStyle = __webpack_require__(/*! caniuse-lite/data/features/mdn-text-decoration-style */ \"./node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js\")\n\nf(prefixDecorationStyle, browsers =>\n prefix(['text-decoration-style'], {\n browsers,\n feature: 'text-decoration'\n })\n)\n\n// Text Size Adjust\nlet prefixTextSizeAdjust = __webpack_require__(/*! caniuse-lite/data/features/text-size-adjust */ \"./node_modules/caniuse-lite/data/features/text-size-adjust.js\")\n\nf(prefixTextSizeAdjust, browsers =>\n prefix(['text-size-adjust'], {\n browsers,\n feature: 'text-size-adjust'\n })\n)\n\n// CSS Masks\nlet prefixCssMasks = __webpack_require__(/*! caniuse-lite/data/features/css-masks */ \"./node_modules/caniuse-lite/data/features/css-masks.js\")\n\nf(prefixCssMasks, browsers => {\n prefix(\n [\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-origin',\n 'mask-repeat',\n 'mask-border-repeat',\n 'mask-border-source'\n ],\n {\n browsers,\n feature: 'css-masks'\n }\n )\n prefix(\n [\n 'mask',\n 'mask-position',\n 'mask-size',\n 'mask-border',\n 'mask-border-outset',\n 'mask-border-width',\n 'mask-border-slice'\n ],\n {\n browsers,\n feature: 'css-masks'\n }\n )\n})\n\n// CSS clip-path property\nlet prefixClipPath = __webpack_require__(/*! caniuse-lite/data/features/css-clip-path */ \"./node_modules/caniuse-lite/data/features/css-clip-path.js\")\n\nf(prefixClipPath, browsers =>\n prefix(['clip-path'], {\n browsers,\n feature: 'css-clip-path'\n })\n)\n\n// Fragmented Borders and Backgrounds\nlet prefixBoxdecoration = __webpack_require__(/*! caniuse-lite/data/features/css-boxdecorationbreak */ \"./node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js\")\n\nf(prefixBoxdecoration, browsers =>\n prefix(['box-decoration-break'], {\n browsers,\n feature: 'css-boxdecorationbreak'\n })\n)\n\n// CSS3 object-fit/object-position\nlet prefixObjectFit = __webpack_require__(/*! caniuse-lite/data/features/object-fit */ \"./node_modules/caniuse-lite/data/features/object-fit.js\")\n\nf(prefixObjectFit, browsers =>\n prefix(['object-fit', 'object-position'], {\n browsers,\n feature: 'object-fit'\n })\n)\n\n// CSS Shapes\nlet prefixShapes = __webpack_require__(/*! caniuse-lite/data/features/css-shapes */ \"./node_modules/caniuse-lite/data/features/css-shapes.js\")\n\nf(prefixShapes, browsers =>\n prefix(['shape-margin', 'shape-outside', 'shape-image-threshold'], {\n browsers,\n feature: 'css-shapes'\n })\n)\n\n// CSS3 text-overflow\nlet prefixTextOverflow = __webpack_require__(/*! caniuse-lite/data/features/text-overflow */ \"./node_modules/caniuse-lite/data/features/text-overflow.js\")\n\nf(prefixTextOverflow, browsers =>\n prefix(['text-overflow'], {\n browsers,\n feature: 'text-overflow'\n })\n)\n\n// Viewport at-rule\nlet prefixDeviceadaptation = __webpack_require__(/*! caniuse-lite/data/features/css-deviceadaptation */ \"./node_modules/caniuse-lite/data/features/css-deviceadaptation.js\")\n\nf(prefixDeviceadaptation, browsers =>\n prefix(['@viewport'], {\n browsers,\n feature: 'css-deviceadaptation'\n })\n)\n\n// Resolution Media Queries\nlet prefixResolut = __webpack_require__(/*! caniuse-lite/data/features/css-media-resolution */ \"./node_modules/caniuse-lite/data/features/css-media-resolution.js\")\n\nf(prefixResolut, { match: /( x($| )|a #2)/ }, browsers =>\n prefix(['@resolution'], {\n browsers,\n feature: 'css-media-resolution'\n })\n)\n\n// CSS text-align-last\nlet prefixTextAlignLast = __webpack_require__(/*! caniuse-lite/data/features/css-text-align-last */ \"./node_modules/caniuse-lite/data/features/css-text-align-last.js\")\n\nf(prefixTextAlignLast, browsers =>\n prefix(['text-align-last'], {\n browsers,\n feature: 'css-text-align-last'\n })\n)\n\n// Crisp Edges Image Rendering Algorithm\nlet prefixCrispedges = __webpack_require__(/*! caniuse-lite/data/features/css-crisp-edges */ \"./node_modules/caniuse-lite/data/features/css-crisp-edges.js\")\n\nf(prefixCrispedges, { match: /y x|a x #1/ }, browsers =>\n prefix(['pixelated'], {\n browsers,\n feature: 'css-crisp-edges',\n props: ['image-rendering']\n })\n)\n\nf(prefixCrispedges, { match: /a x #2/ }, browsers =>\n prefix(['image-rendering'], {\n browsers,\n feature: 'css-crisp-edges'\n })\n)\n\n// Logical Properties\nlet prefixLogicalProps = __webpack_require__(/*! caniuse-lite/data/features/css-logical-props */ \"./node_modules/caniuse-lite/data/features/css-logical-props.js\")\n\nf(prefixLogicalProps, browsers =>\n prefix(\n [\n 'border-inline-start',\n 'border-inline-end',\n 'margin-inline-start',\n 'margin-inline-end',\n 'padding-inline-start',\n 'padding-inline-end'\n ],\n {\n browsers,\n feature: 'css-logical-props'\n }\n )\n)\n\nf(prefixLogicalProps, { match: /x\\s#2/ }, browsers =>\n prefix(\n [\n 'border-block-start',\n 'border-block-end',\n 'margin-block-start',\n 'margin-block-end',\n 'padding-block-start',\n 'padding-block-end'\n ],\n {\n browsers,\n feature: 'css-logical-props'\n }\n )\n)\n\n// CSS appearance\nlet prefixAppearance = __webpack_require__(/*! caniuse-lite/data/features/css-appearance */ \"./node_modules/caniuse-lite/data/features/css-appearance.js\")\n\nf(prefixAppearance, { match: /#2|x/ }, browsers =>\n prefix(['appearance'], {\n browsers,\n feature: 'css-appearance'\n })\n)\n\n// CSS Scroll snap points\nlet prefixSnappoints = __webpack_require__(/*! caniuse-lite/data/features/css-snappoints */ \"./node_modules/caniuse-lite/data/features/css-snappoints.js\")\n\nf(prefixSnappoints, browsers =>\n prefix(\n [\n 'scroll-snap-type',\n 'scroll-snap-coordinate',\n 'scroll-snap-destination',\n 'scroll-snap-points-x',\n 'scroll-snap-points-y'\n ],\n {\n browsers,\n feature: 'css-snappoints'\n }\n )\n)\n\n// CSS Regions\nlet prefixRegions = __webpack_require__(/*! caniuse-lite/data/features/css-regions */ \"./node_modules/caniuse-lite/data/features/css-regions.js\")\n\nf(prefixRegions, browsers =>\n prefix(['flow-into', 'flow-from', 'region-fragment'], {\n browsers,\n feature: 'css-regions'\n })\n)\n\n// CSS image-set\nlet prefixImageSet = __webpack_require__(/*! caniuse-lite/data/features/css-image-set */ \"./node_modules/caniuse-lite/data/features/css-image-set.js\")\n\nf(prefixImageSet, browsers =>\n prefix(['image-set'], {\n browsers,\n feature: 'css-image-set',\n props: [\n 'background',\n 'background-image',\n 'border-image',\n 'cursor',\n 'mask',\n 'mask-image',\n 'list-style',\n 'list-style-image',\n 'content'\n ]\n })\n)\n\n// Writing Mode\nlet prefixWritingMode = __webpack_require__(/*! caniuse-lite/data/features/css-writing-mode */ \"./node_modules/caniuse-lite/data/features/css-writing-mode.js\")\n\nf(prefixWritingMode, { match: /a|x/ }, browsers =>\n prefix(['writing-mode'], {\n browsers,\n feature: 'css-writing-mode'\n })\n)\n\n// Cross-Fade Function\nlet prefixCrossFade = __webpack_require__(/*! caniuse-lite/data/features/css-cross-fade */ \"./node_modules/caniuse-lite/data/features/css-cross-fade.js\")\n\nf(prefixCrossFade, browsers =>\n prefix(['cross-fade'], {\n browsers,\n feature: 'css-cross-fade',\n props: [\n 'background',\n 'background-image',\n 'border-image',\n 'mask',\n 'list-style',\n 'list-style-image',\n 'content',\n 'mask-image'\n ]\n })\n)\n\n// Read Only selector\nlet prefixReadOnly = __webpack_require__(/*! caniuse-lite/data/features/css-read-only-write */ \"./node_modules/caniuse-lite/data/features/css-read-only-write.js\")\n\nf(prefixReadOnly, browsers =>\n prefix([':read-only', ':read-write'], {\n browsers,\n feature: 'css-read-only-write',\n selector: true\n })\n)\n\n// Text Emphasize\nlet prefixTextEmphasis = __webpack_require__(/*! caniuse-lite/data/features/text-emphasis */ \"./node_modules/caniuse-lite/data/features/text-emphasis.js\")\n\nf(prefixTextEmphasis, browsers =>\n prefix(\n [\n 'text-emphasis',\n 'text-emphasis-position',\n 'text-emphasis-style',\n 'text-emphasis-color'\n ],\n {\n browsers,\n feature: 'text-emphasis'\n }\n )\n)\n\n// CSS Grid Layout\nlet prefixGrid = __webpack_require__(/*! caniuse-lite/data/features/css-grid */ \"./node_modules/caniuse-lite/data/features/css-grid.js\")\n\nf(prefixGrid, browsers => {\n prefix(['display-grid', 'inline-grid'], {\n browsers,\n feature: 'css-grid',\n props: ['display']\n })\n prefix(\n [\n 'grid-template-columns',\n 'grid-template-rows',\n 'grid-row-start',\n 'grid-column-start',\n 'grid-row-end',\n 'grid-column-end',\n 'grid-row',\n 'grid-column',\n 'grid-area',\n 'grid-template',\n 'grid-template-areas',\n 'place-self'\n ],\n {\n browsers,\n feature: 'css-grid'\n }\n )\n})\n\nf(prefixGrid, { match: /a x/ }, browsers =>\n prefix(['grid-column-align', 'grid-row-align'], {\n browsers,\n feature: 'css-grid'\n })\n)\n\n// CSS text-spacing\nlet prefixTextSpacing = __webpack_require__(/*! caniuse-lite/data/features/css-text-spacing */ \"./node_modules/caniuse-lite/data/features/css-text-spacing.js\")\n\nf(prefixTextSpacing, browsers =>\n prefix(['text-spacing'], {\n browsers,\n feature: 'css-text-spacing'\n })\n)\n\n// :any-link selector\nlet prefixAnyLink = __webpack_require__(/*! caniuse-lite/data/features/css-any-link */ \"./node_modules/caniuse-lite/data/features/css-any-link.js\")\n\nf(prefixAnyLink, browsers =>\n prefix([':any-link'], {\n browsers,\n feature: 'css-any-link',\n selector: true\n })\n)\n\n// unicode-bidi\n\nlet bidiIsolate = __webpack_require__(/*! caniuse-lite/data/features/mdn-css-unicode-bidi-isolate */ \"./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js\")\n\nf(bidiIsolate, browsers =>\n prefix(['isolate'], {\n browsers,\n feature: 'css-unicode-bidi',\n props: ['unicode-bidi']\n })\n)\n\nlet bidiPlaintext = __webpack_require__(/*! caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext */ \"./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js\")\n\nf(bidiPlaintext, browsers =>\n prefix(['plaintext'], {\n browsers,\n feature: 'css-unicode-bidi',\n props: ['unicode-bidi']\n })\n)\n\nlet bidiOverride = __webpack_require__(/*! caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override */ \"./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js\")\n\nf(bidiOverride, { match: /y x/ }, browsers =>\n prefix(['isolate-override'], {\n browsers,\n feature: 'css-unicode-bidi',\n props: ['unicode-bidi']\n })\n)\n\n// overscroll-behavior selector\nlet prefixOverscroll = __webpack_require__(/*! caniuse-lite/data/features/css-overscroll-behavior */ \"./node_modules/caniuse-lite/data/features/css-overscroll-behavior.js\")\n\nf(prefixOverscroll, { match: /a #1/ }, browsers =>\n prefix(['overscroll-behavior'], {\n browsers,\n feature: 'css-overscroll-behavior'\n })\n)\n\n// text-orientation\nlet prefixTextOrientation = __webpack_require__(/*! caniuse-lite/data/features/css-text-orientation */ \"./node_modules/caniuse-lite/data/features/css-text-orientation.js\")\n\nf(prefixTextOrientation, browsers =>\n prefix(['text-orientation'], {\n browsers,\n feature: 'css-text-orientation'\n })\n)\n\n// print-color-adjust\nlet prefixPrintAdjust = __webpack_require__(/*! caniuse-lite/data/features/css-print-color-adjust */ \"./node_modules/caniuse-lite/data/features/css-print-color-adjust.js\")\n\nf(prefixPrintAdjust, browsers =>\n prefix(['print-color-adjust', 'color-adjust'], {\n browsers,\n feature: 'css-print-color-adjust'\n })\n)\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/data/prefixes.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/at-rule.js": -/*!**************************************************!*\ - !*** ./node_modules/autoprefixer/lib/at-rule.js ***! - \**************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Prefixer = __webpack_require__(/*! ./prefixer */ \"./node_modules/autoprefixer/lib/prefixer.js\")\n\nclass AtRule extends Prefixer {\n /**\n * Clone and add prefixes for at-rule\n */\n add(rule, prefix) {\n let prefixed = prefix + rule.name\n\n let already = rule.parent.some(\n i => i.name === prefixed && i.params === rule.params\n )\n if (already) {\n return undefined\n }\n\n let cloned = this.clone(rule, { name: prefixed })\n return rule.parent.insertBefore(rule, cloned)\n }\n\n /**\n * Clone node with prefixes\n */\n process(node) {\n let parent = this.parentPrefix(node)\n\n for (let prefix of this.prefixes) {\n if (!parent || parent === prefix) {\n this.add(node, prefix)\n }\n }\n }\n}\n\nmodule.exports = AtRule\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/at-rule.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/autoprefixer.js": -/*!*******************************************************!*\ - !*** ./node_modules/autoprefixer/lib/autoprefixer.js ***! - \*******************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let browserslist = __webpack_require__(/*! browserslist */ \"./node_modules/browserslist/index.js\")\nlet { agents } = __webpack_require__(/*! caniuse-lite/dist/unpacker/agents */ \"./node_modules/caniuse-lite/dist/unpacker/agents.js\")\nlet pico = __webpack_require__(/*! picocolors */ \"./node_modules/picocolors/picocolors.browser.js\")\n\nlet Browsers = __webpack_require__(/*! ./browsers */ \"./node_modules/autoprefixer/lib/browsers.js\")\nlet Prefixes = __webpack_require__(/*! ./prefixes */ \"./node_modules/autoprefixer/lib/prefixes.js\")\nlet dataPrefixes = __webpack_require__(/*! ../data/prefixes */ \"./node_modules/autoprefixer/data/prefixes.js\")\nlet getInfo = __webpack_require__(/*! ./info */ \"./node_modules/autoprefixer/lib/info.js\")\n\nlet autoprefixerData = { browsers: agents, prefixes: dataPrefixes }\n\nconst WARNING =\n '\\n' +\n ' Replace Autoprefixer `browsers` option to Browserslist config.\\n' +\n ' Use `browserslist` key in `package.json` or `.browserslistrc` file.\\n' +\n '\\n' +\n ' Using `browsers` option can cause errors. Browserslist config can\\n' +\n ' be used for Babel, Autoprefixer, postcss-normalize and other tools.\\n' +\n '\\n' +\n ' If you really need to use option, rename it to `overrideBrowserslist`.\\n' +\n '\\n' +\n ' Learn more at:\\n' +\n ' https://github.com/browserslist/browserslist#readme\\n' +\n ' https://twitter.com/browserslist\\n' +\n '\\n'\n\nfunction isPlainObject(obj) {\n return Object.prototype.toString.apply(obj) === '[object Object]'\n}\n\nlet cache = new Map()\n\nfunction timeCapsule(result, prefixes) {\n if (prefixes.browsers.selected.length === 0) {\n return\n }\n if (prefixes.add.selectors.length > 0) {\n return\n }\n if (Object.keys(prefixes.add).length > 2) {\n return\n }\n /* c8 ignore next 11 */\n result.warn(\n 'Autoprefixer target browsers do not need any prefixes.' +\n 'You do not need Autoprefixer anymore.\\n' +\n 'Check your Browserslist config to be sure that your targets ' +\n 'are set up correctly.\\n' +\n '\\n' +\n ' Learn more at:\\n' +\n ' https://github.com/postcss/autoprefixer#readme\\n' +\n ' https://github.com/browserslist/browserslist#readme\\n' +\n '\\n'\n )\n}\n\nmodule.exports = plugin\n\nfunction plugin(...reqs) {\n let options\n if (reqs.length === 1 && isPlainObject(reqs[0])) {\n options = reqs[0]\n reqs = undefined\n } else if (reqs.length === 0 || (reqs.length === 1 && !reqs[0])) {\n reqs = undefined\n } else if (reqs.length <= 2 && (Array.isArray(reqs[0]) || !reqs[0])) {\n options = reqs[1]\n reqs = reqs[0]\n } else if (typeof reqs[reqs.length - 1] === 'object') {\n options = reqs.pop()\n }\n\n if (!options) {\n options = {}\n }\n\n if (options.browser) {\n throw new Error(\n 'Change `browser` option to `overrideBrowserslist` in Autoprefixer'\n )\n } else if (options.browserslist) {\n throw new Error(\n 'Change `browserslist` option to `overrideBrowserslist` in Autoprefixer'\n )\n }\n\n if (options.overrideBrowserslist) {\n reqs = options.overrideBrowserslist\n } else if (options.browsers) {\n if (typeof console !== 'undefined' && console.warn) {\n console.warn(\n pico.red(WARNING.replace(/`[^`]+`/g, i => pico.yellow(i.slice(1, -1))))\n )\n }\n reqs = options.browsers\n }\n\n let brwlstOpts = {\n env: options.env,\n ignoreUnknownVersions: options.ignoreUnknownVersions,\n stats: options.stats\n }\n\n function loadPrefixes(opts) {\n let d = autoprefixerData\n let browsers = new Browsers(d.browsers, reqs, opts, brwlstOpts)\n let key = browsers.selected.join(', ') + JSON.stringify(options)\n\n if (!cache.has(key)) {\n cache.set(key, new Prefixes(d.prefixes, browsers, options))\n }\n\n return cache.get(key)\n }\n\n return {\n browsers: reqs,\n\n info(opts) {\n opts = opts || {}\n opts.from = opts.from || process.cwd()\n return getInfo(loadPrefixes(opts))\n },\n\n options,\n\n postcssPlugin: 'autoprefixer',\n prepare(result) {\n let prefixes = loadPrefixes({\n env: options.env,\n from: result.opts.from\n })\n\n return {\n OnceExit(root) {\n timeCapsule(result, prefixes)\n if (options.remove !== false) {\n prefixes.processor.remove(root, result)\n }\n if (options.add !== false) {\n prefixes.processor.add(root, result)\n }\n }\n }\n }\n }\n}\n\nplugin.postcss = true\n\n/**\n * Autoprefixer data\n */\nplugin.data = autoprefixerData\n\n/**\n * Autoprefixer default browsers\n */\nplugin.defaults = browserslist.defaults\n\n/**\n * Inspect with default Autoprefixer\n */\nplugin.info = () => plugin().info()\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/autoprefixer.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/brackets.js": -/*!***************************************************!*\ - !*** ./node_modules/autoprefixer/lib/brackets.js ***! - \***************************************************/ -/***/ ((module) => { - -eval("function last(array) {\n return array[array.length - 1]\n}\n\nlet brackets = {\n /**\n * Parse string to nodes tree\n */\n parse(str) {\n let current = ['']\n let stack = [current]\n\n for (let sym of str) {\n if (sym === '(') {\n current = ['']\n last(stack).push(current)\n stack.push(current)\n continue\n }\n\n if (sym === ')') {\n stack.pop()\n current = last(stack)\n current.push('')\n continue\n }\n\n current[current.length - 1] += sym\n }\n\n return stack[0]\n },\n\n /**\n * Generate output string by nodes tree\n */\n stringify(ast) {\n let result = ''\n for (let i of ast) {\n if (typeof i === 'object') {\n result += `(${brackets.stringify(i)})`\n continue\n }\n\n result += i\n }\n return result\n }\n}\n\nmodule.exports = brackets\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/brackets.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/browsers.js": -/*!***************************************************!*\ - !*** ./node_modules/autoprefixer/lib/browsers.js ***! - \***************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let browserslist = __webpack_require__(/*! browserslist */ \"./node_modules/browserslist/index.js\")\nlet { agents } = __webpack_require__(/*! caniuse-lite/dist/unpacker/agents */ \"./node_modules/caniuse-lite/dist/unpacker/agents.js\")\n\nlet utils = __webpack_require__(/*! ./utils */ \"./node_modules/autoprefixer/lib/utils.js\")\n\nclass Browsers {\n constructor(data, requirements, options, browserslistOpts) {\n this.data = data\n this.options = options || {}\n this.browserslistOpts = browserslistOpts || {}\n this.selected = this.parse(requirements)\n }\n\n /**\n * Return all prefixes for default browser data\n */\n static prefixes() {\n if (this.prefixesCache) {\n return this.prefixesCache\n }\n\n this.prefixesCache = []\n for (let name in agents) {\n this.prefixesCache.push(`-${agents[name].prefix}-`)\n }\n\n this.prefixesCache = utils\n .uniq(this.prefixesCache)\n .sort((a, b) => b.length - a.length)\n\n return this.prefixesCache\n }\n\n /**\n * Check is value contain any possible prefix\n */\n static withPrefix(value) {\n if (!this.prefixesRegexp) {\n this.prefixesRegexp = new RegExp(this.prefixes().join('|'))\n }\n\n return this.prefixesRegexp.test(value)\n }\n\n /**\n * Is browser is selected by requirements\n */\n isSelected(browser) {\n return this.selected.includes(browser)\n }\n\n /**\n * Return browsers selected by requirements\n */\n parse(requirements) {\n let opts = {}\n for (let i in this.browserslistOpts) {\n opts[i] = this.browserslistOpts[i]\n }\n opts.path = this.options.from\n return browserslist(requirements, opts)\n }\n\n /**\n * Return prefix for selected browser\n */\n prefix(browser) {\n let [name, version] = browser.split(' ')\n let data = this.data[name]\n\n let prefix = data.prefix_exceptions && data.prefix_exceptions[version]\n if (!prefix) {\n prefix = data.prefix\n }\n return `-${prefix}-`\n }\n}\n\nmodule.exports = Browsers\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/browsers.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/declaration.js": -/*!******************************************************!*\ - !*** ./node_modules/autoprefixer/lib/declaration.js ***! - \******************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Prefixer = __webpack_require__(/*! ./prefixer */ \"./node_modules/autoprefixer/lib/prefixer.js\")\nlet Browsers = __webpack_require__(/*! ./browsers */ \"./node_modules/autoprefixer/lib/browsers.js\")\nlet utils = __webpack_require__(/*! ./utils */ \"./node_modules/autoprefixer/lib/utils.js\")\n\nclass Declaration extends Prefixer {\n /**\n * Clone and add prefixes for declaration\n */\n add(decl, prefix, prefixes, result) {\n let prefixed = this.prefixed(decl.prop, prefix)\n if (\n this.isAlready(decl, prefixed) ||\n this.otherPrefixes(decl.value, prefix)\n ) {\n return undefined\n }\n return this.insert(decl, prefix, prefixes, result)\n }\n\n /**\n * Calculate indentation to create visual cascade\n */\n calcBefore(prefixes, decl, prefix = '') {\n let max = this.maxPrefixed(prefixes, decl)\n let diff = max - utils.removeNote(prefix).length\n\n let before = decl.raw('before')\n if (diff > 0) {\n before += Array(diff).fill(' ').join('')\n }\n\n return before\n }\n\n /**\n * Always true, because we already get prefixer by property name\n */\n check(/* decl */) {\n return true\n }\n\n /**\n * Clone and insert new declaration\n */\n insert(decl, prefix, prefixes) {\n let cloned = this.set(this.clone(decl), prefix)\n if (!cloned) return undefined\n\n let already = decl.parent.some(\n i => i.prop === cloned.prop && i.value === cloned.value\n )\n if (already) {\n return undefined\n }\n\n if (this.needCascade(decl)) {\n cloned.raws.before = this.calcBefore(prefixes, decl, prefix)\n }\n return decl.parent.insertBefore(decl, cloned)\n }\n\n /**\n * Did this declaration has this prefix above\n */\n isAlready(decl, prefixed) {\n let already = this.all.group(decl).up(i => i.prop === prefixed)\n if (!already) {\n already = this.all.group(decl).down(i => i.prop === prefixed)\n }\n return already\n }\n\n /**\n * Return maximum length of possible prefixed property\n */\n maxPrefixed(prefixes, decl) {\n if (decl._autoprefixerMax) {\n return decl._autoprefixerMax\n }\n\n let max = 0\n for (let prefix of prefixes) {\n prefix = utils.removeNote(prefix)\n if (prefix.length > max) {\n max = prefix.length\n }\n }\n decl._autoprefixerMax = max\n\n return decl._autoprefixerMax\n }\n\n /**\n * Should we use visual cascade for prefixes\n */\n needCascade(decl) {\n if (!decl._autoprefixerCascade) {\n decl._autoprefixerCascade =\n this.all.options.cascade !== false && decl.raw('before').includes('\\n')\n }\n return decl._autoprefixerCascade\n }\n\n /**\n * Return unprefixed version of property\n */\n normalize(prop) {\n return prop\n }\n\n /**\n * Return list of prefixed properties to clean old prefixes\n */\n old(prop, prefix) {\n return [this.prefixed(prop, prefix)]\n }\n\n /**\n * Check `value`, that it contain other prefixes, rather than `prefix`\n */\n otherPrefixes(value, prefix) {\n for (let other of Browsers.prefixes()) {\n if (other === prefix) {\n continue\n }\n if (value.includes(other)) {\n return value.replace(/var\\([^)]+\\)/, '').includes(other)\n }\n }\n return false\n }\n\n /**\n * Return prefixed version of property\n */\n prefixed(prop, prefix) {\n return prefix + prop\n }\n\n /**\n * Add spaces for visual cascade\n */\n process(decl, result) {\n if (!this.needCascade(decl)) {\n super.process(decl, result)\n return\n }\n\n let prefixes = super.process(decl, result)\n\n if (!prefixes || !prefixes.length) {\n return\n }\n\n this.restoreBefore(decl)\n decl.raws.before = this.calcBefore(prefixes, decl)\n }\n\n /**\n * Remove visual cascade\n */\n restoreBefore(decl) {\n let lines = decl.raw('before').split('\\n')\n let min = lines[lines.length - 1]\n\n this.all.group(decl).up(prefixed => {\n let array = prefixed.raw('before').split('\\n')\n let last = array[array.length - 1]\n if (last.length < min.length) {\n min = last\n }\n })\n\n lines[lines.length - 1] = min\n decl.raws.before = lines.join('\\n')\n }\n\n /**\n * Set prefix to declaration\n */\n set(decl, prefix) {\n decl.prop = this.prefixed(decl.prop, prefix)\n return decl\n }\n}\n\nmodule.exports = Declaration\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/declaration.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/align-content.js": -/*!**************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/align-content.js ***! - \**************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let flexSpec = __webpack_require__(/*! ./flex-spec */ \"./node_modules/autoprefixer/lib/hacks/flex-spec.js\")\nlet Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass AlignContent extends Declaration {\n /**\n * Return property name by final spec\n */\n normalize() {\n return 'align-content'\n }\n\n /**\n * Change property name for 2012 spec\n */\n prefixed(prop, prefix) {\n let spec\n ;[spec, prefix] = flexSpec(prefix)\n if (spec === 2012) {\n return prefix + 'flex-line-pack'\n }\n return super.prefixed(prop, prefix)\n }\n\n /**\n * Change value for 2012 spec and ignore prefix for 2009\n */\n set(decl, prefix) {\n let spec = flexSpec(prefix)[0]\n if (spec === 2012) {\n decl.value = AlignContent.oldValues[decl.value] || decl.value\n return super.set(decl, prefix)\n }\n if (spec === 'final') {\n return super.set(decl, prefix)\n }\n return undefined\n }\n}\n\nAlignContent.names = ['align-content', 'flex-line-pack']\n\nAlignContent.oldValues = {\n 'flex-end': 'end',\n 'flex-start': 'start',\n 'space-around': 'distribute',\n 'space-between': 'justify'\n}\n\nmodule.exports = AlignContent\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/align-content.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/align-items.js": -/*!************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/align-items.js ***! - \************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let flexSpec = __webpack_require__(/*! ./flex-spec */ \"./node_modules/autoprefixer/lib/hacks/flex-spec.js\")\nlet Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass AlignItems extends Declaration {\n /**\n * Return property name by final spec\n */\n normalize() {\n return 'align-items'\n }\n\n /**\n * Change property name for 2009 and 2012 specs\n */\n prefixed(prop, prefix) {\n let spec\n ;[spec, prefix] = flexSpec(prefix)\n if (spec === 2009) {\n return prefix + 'box-align'\n }\n if (spec === 2012) {\n return prefix + 'flex-align'\n }\n return super.prefixed(prop, prefix)\n }\n\n /**\n * Change value for 2009 and 2012 specs\n */\n set(decl, prefix) {\n let spec = flexSpec(prefix)[0]\n if (spec === 2009 || spec === 2012) {\n decl.value = AlignItems.oldValues[decl.value] || decl.value\n }\n return super.set(decl, prefix)\n }\n}\n\nAlignItems.names = ['align-items', 'flex-align', 'box-align']\n\nAlignItems.oldValues = {\n 'flex-end': 'end',\n 'flex-start': 'start'\n}\n\nmodule.exports = AlignItems\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/align-items.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/align-self.js": -/*!***********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/align-self.js ***! - \***********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let flexSpec = __webpack_require__(/*! ./flex-spec */ \"./node_modules/autoprefixer/lib/hacks/flex-spec.js\")\nlet Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass AlignSelf extends Declaration {\n check(decl) {\n return (\n decl.parent &&\n !decl.parent.some(i => {\n return i.prop && i.prop.startsWith('grid-')\n })\n )\n }\n\n /**\n * Return property name by final spec\n */\n normalize() {\n return 'align-self'\n }\n\n /**\n * Change property name for 2012 specs\n */\n prefixed(prop, prefix) {\n let spec\n ;[spec, prefix] = flexSpec(prefix)\n if (spec === 2012) {\n return prefix + 'flex-item-align'\n }\n return super.prefixed(prop, prefix)\n }\n\n /**\n * Change value for 2012 spec and ignore prefix for 2009\n */\n set(decl, prefix) {\n let spec = flexSpec(prefix)[0]\n if (spec === 2012) {\n decl.value = AlignSelf.oldValues[decl.value] || decl.value\n return super.set(decl, prefix)\n }\n if (spec === 'final') {\n return super.set(decl, prefix)\n }\n return undefined\n }\n}\n\nAlignSelf.names = ['align-self', 'flex-item-align']\n\nAlignSelf.oldValues = {\n 'flex-end': 'end',\n 'flex-start': 'start'\n}\n\nmodule.exports = AlignSelf\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/align-self.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/animation.js": -/*!**********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/animation.js ***! - \**********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass Animation extends Declaration {\n /**\n * Don’t add prefixes for modern values.\n */\n check(decl) {\n return !decl.value.split(/\\s+/).some(i => {\n let lower = i.toLowerCase()\n return lower === 'reverse' || lower === 'alternate-reverse'\n })\n }\n}\n\nAnimation.names = ['animation', 'animation-direction']\n\nmodule.exports = Animation\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/animation.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/appearance.js": -/*!***********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/appearance.js ***! - \***********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\nlet utils = __webpack_require__(/*! ../utils */ \"./node_modules/autoprefixer/lib/utils.js\")\n\nclass Appearance extends Declaration {\n constructor(name, prefixes, all) {\n super(name, prefixes, all)\n\n if (this.prefixes) {\n this.prefixes = utils.uniq(\n this.prefixes.map(i => {\n if (i === '-ms-') {\n return '-webkit-'\n }\n return i\n })\n )\n }\n }\n}\n\nAppearance.names = ['appearance']\n\nmodule.exports = Appearance\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/appearance.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/autofill.js": -/*!*********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/autofill.js ***! - \*********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Selector = __webpack_require__(/*! ../selector */ \"./node_modules/autoprefixer/lib/selector.js\")\nlet utils = __webpack_require__(/*! ../utils */ \"./node_modules/autoprefixer/lib/utils.js\")\n\nclass Autofill extends Selector {\n constructor(name, prefixes, all) {\n super(name, prefixes, all)\n\n if (this.prefixes) {\n this.prefixes = utils.uniq(this.prefixes.map(() => '-webkit-'))\n }\n }\n\n /**\n * Return different selectors depend on prefix\n */\n prefixed(prefix) {\n if (prefix === '-webkit-') {\n return ':-webkit-autofill'\n }\n return `:${prefix}autofill`\n }\n}\n\nAutofill.names = [':autofill']\n\nmodule.exports = Autofill\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/autofill.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/backdrop-filter.js": -/*!****************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/backdrop-filter.js ***! - \****************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\nlet utils = __webpack_require__(/*! ../utils */ \"./node_modules/autoprefixer/lib/utils.js\")\n\nclass BackdropFilter extends Declaration {\n constructor(name, prefixes, all) {\n super(name, prefixes, all)\n\n if (this.prefixes) {\n this.prefixes = utils.uniq(\n this.prefixes.map(i => {\n return i === '-ms-' ? '-webkit-' : i\n })\n )\n }\n }\n}\n\nBackdropFilter.names = ['backdrop-filter']\n\nmodule.exports = BackdropFilter\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/backdrop-filter.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/background-clip.js": -/*!****************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/background-clip.js ***! - \****************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\nlet utils = __webpack_require__(/*! ../utils */ \"./node_modules/autoprefixer/lib/utils.js\")\n\nclass BackgroundClip extends Declaration {\n constructor(name, prefixes, all) {\n super(name, prefixes, all)\n\n if (this.prefixes) {\n this.prefixes = utils.uniq(\n this.prefixes.map(i => {\n return i === '-ms-' ? '-webkit-' : i\n })\n )\n }\n }\n\n check(decl) {\n return decl.value.toLowerCase() === 'text'\n }\n}\n\nBackgroundClip.names = ['background-clip']\n\nmodule.exports = BackgroundClip\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/background-clip.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/background-size.js": -/*!****************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/background-size.js ***! - \****************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass BackgroundSize extends Declaration {\n /**\n * Duplication parameter for -webkit- browsers\n */\n set(decl, prefix) {\n let value = decl.value.toLowerCase()\n if (\n prefix === '-webkit-' &&\n !value.includes(' ') &&\n value !== 'contain' &&\n value !== 'cover'\n ) {\n decl.value = decl.value + ' ' + decl.value\n }\n return super.set(decl, prefix)\n }\n}\n\nBackgroundSize.names = ['background-size']\n\nmodule.exports = BackgroundSize\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/background-size.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/block-logical.js": -/*!**************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/block-logical.js ***! - \**************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass BlockLogical extends Declaration {\n /**\n * Return property name by spec\n */\n normalize(prop) {\n if (prop.includes('-before')) {\n return prop.replace('-before', '-block-start')\n }\n return prop.replace('-after', '-block-end')\n }\n\n /**\n * Use old syntax for -moz- and -webkit-\n */\n prefixed(prop, prefix) {\n if (prop.includes('-start')) {\n return prefix + prop.replace('-block-start', '-before')\n }\n return prefix + prop.replace('-block-end', '-after')\n }\n}\n\nBlockLogical.names = [\n 'border-block-start',\n 'border-block-end',\n 'margin-block-start',\n 'margin-block-end',\n 'padding-block-start',\n 'padding-block-end',\n 'border-before',\n 'border-after',\n 'margin-before',\n 'margin-after',\n 'padding-before',\n 'padding-after'\n]\n\nmodule.exports = BlockLogical\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/block-logical.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/border-image.js": -/*!*************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/border-image.js ***! - \*************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass BorderImage extends Declaration {\n /**\n * Remove fill parameter for prefixed declarations\n */\n set(decl, prefix) {\n decl.value = decl.value.replace(/\\s+fill(\\s)/, '$1')\n return super.set(decl, prefix)\n }\n}\n\nBorderImage.names = ['border-image']\n\nmodule.exports = BorderImage\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/border-image.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/border-radius.js": -/*!**************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/border-radius.js ***! - \**************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass BorderRadius extends Declaration {\n /**\n * Return unprefixed version of property\n */\n normalize(prop) {\n return BorderRadius.toNormal[prop] || prop\n }\n\n /**\n * Change syntax, when add Mozilla prefix\n */\n prefixed(prop, prefix) {\n if (prefix === '-moz-') {\n return prefix + (BorderRadius.toMozilla[prop] || prop)\n }\n return super.prefixed(prop, prefix)\n }\n}\n\nBorderRadius.names = ['border-radius']\n\nBorderRadius.toMozilla = {}\nBorderRadius.toNormal = {}\n\nfor (let ver of ['top', 'bottom']) {\n for (let hor of ['left', 'right']) {\n let normal = `border-${ver}-${hor}-radius`\n let mozilla = `border-radius-${ver}${hor}`\n\n BorderRadius.names.push(normal)\n BorderRadius.names.push(mozilla)\n\n BorderRadius.toMozilla[normal] = mozilla\n BorderRadius.toNormal[mozilla] = normal\n }\n}\n\nmodule.exports = BorderRadius\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/border-radius.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/break-props.js": -/*!************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/break-props.js ***! - \************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass BreakProps extends Declaration {\n /**\n * Don’t prefix some values\n */\n insert(decl, prefix, prefixes) {\n if (decl.prop !== 'break-inside') {\n return super.insert(decl, prefix, prefixes)\n }\n if (/region/i.test(decl.value) || /page/i.test(decl.value)) {\n return undefined\n }\n return super.insert(decl, prefix, prefixes)\n }\n\n /**\n * Return property name by final spec\n */\n normalize(prop) {\n if (prop.includes('inside')) {\n return 'break-inside'\n }\n if (prop.includes('before')) {\n return 'break-before'\n }\n return 'break-after'\n }\n\n /**\n * Change name for -webkit- and -moz- prefix\n */\n prefixed(prop, prefix) {\n return `${prefix}column-${prop}`\n }\n\n /**\n * Change prefixed value for avoid-column and avoid-page\n */\n set(decl, prefix) {\n if (\n (decl.prop === 'break-inside' && decl.value === 'avoid-column') ||\n decl.value === 'avoid-page'\n ) {\n decl.value = 'avoid'\n }\n return super.set(decl, prefix)\n }\n}\n\nBreakProps.names = [\n 'break-inside',\n 'page-break-inside',\n 'column-break-inside',\n 'break-before',\n 'page-break-before',\n 'column-break-before',\n 'break-after',\n 'page-break-after',\n 'column-break-after'\n]\n\nmodule.exports = BreakProps\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/break-props.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/cross-fade.js": -/*!***********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/cross-fade.js ***! - \***********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let list = (__webpack_require__(/*! postcss */ \"./node_modules/postcss/lib/postcss.js\").list)\n\nlet Value = __webpack_require__(/*! ../value */ \"./node_modules/autoprefixer/lib/value.js\")\n\nclass CrossFade extends Value {\n replace(string, prefix) {\n return list\n .space(string)\n .map(value => {\n if (value.slice(0, +this.name.length + 1) !== this.name + '(') {\n return value\n }\n\n let close = value.lastIndexOf(')')\n let after = value.slice(close + 1)\n let args = value.slice(this.name.length + 1, close)\n\n if (prefix === '-webkit-') {\n let match = args.match(/\\d*.?\\d+%?/)\n if (match) {\n args = args.slice(match[0].length).trim()\n args += `, ${match[0]}`\n } else {\n args += ', 0.5'\n }\n }\n return prefix + this.name + '(' + args + ')' + after\n })\n .join(' ')\n }\n}\n\nCrossFade.names = ['cross-fade']\n\nmodule.exports = CrossFade\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/cross-fade.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/display-flex.js": -/*!*************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/display-flex.js ***! - \*************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let flexSpec = __webpack_require__(/*! ./flex-spec */ \"./node_modules/autoprefixer/lib/hacks/flex-spec.js\")\nlet OldValue = __webpack_require__(/*! ../old-value */ \"./node_modules/autoprefixer/lib/old-value.js\")\nlet Value = __webpack_require__(/*! ../value */ \"./node_modules/autoprefixer/lib/value.js\")\n\nclass DisplayFlex extends Value {\n constructor(name, prefixes) {\n super(name, prefixes)\n if (name === 'display-flex') {\n this.name = 'flex'\n }\n }\n\n /**\n * Faster check for flex value\n */\n check(decl) {\n return decl.prop === 'display' && decl.value === this.name\n }\n\n /**\n * Change value for old specs\n */\n old(prefix) {\n let prefixed = this.prefixed(prefix)\n if (!prefixed) return undefined\n return new OldValue(this.name, prefixed)\n }\n\n /**\n * Return value by spec\n */\n prefixed(prefix) {\n let spec, value\n ;[spec, prefix] = flexSpec(prefix)\n\n if (spec === 2009) {\n if (this.name === 'flex') {\n value = 'box'\n } else {\n value = 'inline-box'\n }\n } else if (spec === 2012) {\n if (this.name === 'flex') {\n value = 'flexbox'\n } else {\n value = 'inline-flexbox'\n }\n } else if (spec === 'final') {\n value = this.name\n }\n\n return prefix + value\n }\n\n /**\n * Add prefix to value depend on flebox spec version\n */\n replace(string, prefix) {\n return this.prefixed(prefix)\n }\n}\n\nDisplayFlex.names = ['display-flex', 'inline-flex']\n\nmodule.exports = DisplayFlex\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/display-flex.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/display-grid.js": -/*!*************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/display-grid.js ***! - \*************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Value = __webpack_require__(/*! ../value */ \"./node_modules/autoprefixer/lib/value.js\")\n\nclass DisplayGrid extends Value {\n constructor(name, prefixes) {\n super(name, prefixes)\n if (name === 'display-grid') {\n this.name = 'grid'\n }\n }\n\n /**\n * Faster check for flex value\n */\n check(decl) {\n return decl.prop === 'display' && decl.value === this.name\n }\n}\n\nDisplayGrid.names = ['display-grid', 'inline-grid']\n\nmodule.exports = DisplayGrid\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/display-grid.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/file-selector-button.js": -/*!*********************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/file-selector-button.js ***! - \*********************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Selector = __webpack_require__(/*! ../selector */ \"./node_modules/autoprefixer/lib/selector.js\")\nlet utils = __webpack_require__(/*! ../utils */ \"./node_modules/autoprefixer/lib/utils.js\")\n\nclass FileSelectorButton extends Selector {\n constructor(name, prefixes, all) {\n super(name, prefixes, all)\n\n if (this.prefixes) {\n this.prefixes = utils.uniq(this.prefixes.map(() => '-webkit-'))\n }\n }\n\n /**\n * Return different selectors depend on prefix\n */\n prefixed(prefix) {\n if (prefix === '-webkit-') {\n return '::-webkit-file-upload-button'\n }\n return `::${prefix}file-selector-button`\n }\n}\n\nFileSelectorButton.names = ['::file-selector-button']\n\nmodule.exports = FileSelectorButton\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/file-selector-button.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/filter-value.js": -/*!*************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/filter-value.js ***! - \*************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Value = __webpack_require__(/*! ../value */ \"./node_modules/autoprefixer/lib/value.js\")\n\nclass FilterValue extends Value {\n constructor(name, prefixes) {\n super(name, prefixes)\n if (name === 'filter-function') {\n this.name = 'filter'\n }\n }\n}\n\nFilterValue.names = ['filter', 'filter-function']\n\nmodule.exports = FilterValue\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/filter-value.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/filter.js": -/*!*******************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/filter.js ***! - \*******************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass Filter extends Declaration {\n /**\n * Check is it Internet Explorer filter\n */\n check(decl) {\n let v = decl.value\n return (\n !v.toLowerCase().includes('alpha(') &&\n !v.includes('DXImageTransform.Microsoft') &&\n !v.includes('data:image/svg+xml')\n )\n }\n}\n\nFilter.names = ['filter']\n\nmodule.exports = Filter\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/filter.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/flex-basis.js": -/*!***********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/flex-basis.js ***! - \***********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let flexSpec = __webpack_require__(/*! ./flex-spec */ \"./node_modules/autoprefixer/lib/hacks/flex-spec.js\")\nlet Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass FlexBasis extends Declaration {\n /**\n * Return property name by final spec\n */\n normalize() {\n return 'flex-basis'\n }\n\n /**\n * Return flex property for 2012 spec\n */\n prefixed(prop, prefix) {\n let spec\n ;[spec, prefix] = flexSpec(prefix)\n if (spec === 2012) {\n return prefix + 'flex-preferred-size'\n }\n return super.prefixed(prop, prefix)\n }\n\n /**\n * Ignore 2009 spec and use flex property for 2012\n */\n set(decl, prefix) {\n let spec\n ;[spec, prefix] = flexSpec(prefix)\n if (spec === 2012 || spec === 'final') {\n return super.set(decl, prefix)\n }\n return undefined\n }\n}\n\nFlexBasis.names = ['flex-basis', 'flex-preferred-size']\n\nmodule.exports = FlexBasis\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/flex-basis.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/flex-direction.js": -/*!***************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/flex-direction.js ***! - \***************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let flexSpec = __webpack_require__(/*! ./flex-spec */ \"./node_modules/autoprefixer/lib/hacks/flex-spec.js\")\nlet Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass FlexDirection extends Declaration {\n /**\n * Use two properties for 2009 spec\n */\n insert(decl, prefix, prefixes) {\n let spec\n ;[spec, prefix] = flexSpec(prefix)\n if (spec !== 2009) {\n return super.insert(decl, prefix, prefixes)\n }\n let already = decl.parent.some(\n i =>\n i.prop === prefix + 'box-orient' || i.prop === prefix + 'box-direction'\n )\n if (already) {\n return undefined\n }\n\n let v = decl.value\n let orient, dir\n if (v === 'inherit' || v === 'initial' || v === 'unset') {\n orient = v\n dir = v\n } else {\n orient = v.includes('row') ? 'horizontal' : 'vertical'\n dir = v.includes('reverse') ? 'reverse' : 'normal'\n }\n\n let cloned = this.clone(decl)\n cloned.prop = prefix + 'box-orient'\n cloned.value = orient\n if (this.needCascade(decl)) {\n cloned.raws.before = this.calcBefore(prefixes, decl, prefix)\n }\n decl.parent.insertBefore(decl, cloned)\n\n cloned = this.clone(decl)\n cloned.prop = prefix + 'box-direction'\n cloned.value = dir\n if (this.needCascade(decl)) {\n cloned.raws.before = this.calcBefore(prefixes, decl, prefix)\n }\n return decl.parent.insertBefore(decl, cloned)\n }\n\n /**\n * Return property name by final spec\n */\n normalize() {\n return 'flex-direction'\n }\n\n /**\n * Clean two properties for 2009 spec\n */\n old(prop, prefix) {\n let spec\n ;[spec, prefix] = flexSpec(prefix)\n if (spec === 2009) {\n return [prefix + 'box-orient', prefix + 'box-direction']\n } else {\n return super.old(prop, prefix)\n }\n }\n}\n\nFlexDirection.names = ['flex-direction', 'box-direction', 'box-orient']\n\nmodule.exports = FlexDirection\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/flex-direction.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/flex-flow.js": -/*!**********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/flex-flow.js ***! - \**********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let flexSpec = __webpack_require__(/*! ./flex-spec */ \"./node_modules/autoprefixer/lib/hacks/flex-spec.js\")\nlet Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass FlexFlow extends Declaration {\n /**\n * Use two properties for 2009 spec\n */\n insert(decl, prefix, prefixes) {\n let spec\n ;[spec, prefix] = flexSpec(prefix)\n if (spec !== 2009) {\n return super.insert(decl, prefix, prefixes)\n }\n let values = decl.value\n .split(/\\s+/)\n .filter(i => i !== 'wrap' && i !== 'nowrap' && 'wrap-reverse')\n if (values.length === 0) {\n return undefined\n }\n\n let already = decl.parent.some(\n i =>\n i.prop === prefix + 'box-orient' || i.prop === prefix + 'box-direction'\n )\n if (already) {\n return undefined\n }\n\n let value = values[0]\n let orient = value.includes('row') ? 'horizontal' : 'vertical'\n let dir = value.includes('reverse') ? 'reverse' : 'normal'\n\n let cloned = this.clone(decl)\n cloned.prop = prefix + 'box-orient'\n cloned.value = orient\n if (this.needCascade(decl)) {\n cloned.raws.before = this.calcBefore(prefixes, decl, prefix)\n }\n decl.parent.insertBefore(decl, cloned)\n\n cloned = this.clone(decl)\n cloned.prop = prefix + 'box-direction'\n cloned.value = dir\n if (this.needCascade(decl)) {\n cloned.raws.before = this.calcBefore(prefixes, decl, prefix)\n }\n return decl.parent.insertBefore(decl, cloned)\n }\n}\n\nFlexFlow.names = ['flex-flow', 'box-direction', 'box-orient']\n\nmodule.exports = FlexFlow\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/flex-flow.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/flex-grow.js": -/*!**********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/flex-grow.js ***! - \**********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let flexSpec = __webpack_require__(/*! ./flex-spec */ \"./node_modules/autoprefixer/lib/hacks/flex-spec.js\")\nlet Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass Flex extends Declaration {\n /**\n * Return property name by final spec\n */\n normalize() {\n return 'flex'\n }\n\n /**\n * Return flex property for 2009 and 2012 specs\n */\n prefixed(prop, prefix) {\n let spec\n ;[spec, prefix] = flexSpec(prefix)\n if (spec === 2009) {\n return prefix + 'box-flex'\n }\n if (spec === 2012) {\n return prefix + 'flex-positive'\n }\n return super.prefixed(prop, prefix)\n }\n}\n\nFlex.names = ['flex-grow', 'flex-positive']\n\nmodule.exports = Flex\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/flex-grow.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/flex-shrink.js": -/*!************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/flex-shrink.js ***! - \************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let flexSpec = __webpack_require__(/*! ./flex-spec */ \"./node_modules/autoprefixer/lib/hacks/flex-spec.js\")\nlet Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass FlexShrink extends Declaration {\n /**\n * Return property name by final spec\n */\n normalize() {\n return 'flex-shrink'\n }\n\n /**\n * Return flex property for 2012 spec\n */\n prefixed(prop, prefix) {\n let spec\n ;[spec, prefix] = flexSpec(prefix)\n if (spec === 2012) {\n return prefix + 'flex-negative'\n }\n return super.prefixed(prop, prefix)\n }\n\n /**\n * Ignore 2009 spec and use flex property for 2012\n */\n set(decl, prefix) {\n let spec\n ;[spec, prefix] = flexSpec(prefix)\n if (spec === 2012 || spec === 'final') {\n return super.set(decl, prefix)\n }\n return undefined\n }\n}\n\nFlexShrink.names = ['flex-shrink', 'flex-negative']\n\nmodule.exports = FlexShrink\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/flex-shrink.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/flex-spec.js": -/*!**********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/flex-spec.js ***! - \**********************************************************/ -/***/ ((module) => { - -eval("/**\n * Return flexbox spec versions by prefix\n */\nmodule.exports = function (prefix) {\n let spec\n if (prefix === '-webkit- 2009' || prefix === '-moz-') {\n spec = 2009\n } else if (prefix === '-ms-') {\n spec = 2012\n } else if (prefix === '-webkit-') {\n spec = 'final'\n }\n\n if (prefix === '-webkit- 2009') {\n prefix = '-webkit-'\n }\n\n return [spec, prefix]\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/flex-spec.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/flex-wrap.js": -/*!**********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/flex-wrap.js ***! - \**********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let flexSpec = __webpack_require__(/*! ./flex-spec */ \"./node_modules/autoprefixer/lib/hacks/flex-spec.js\")\nlet Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass FlexWrap extends Declaration {\n /**\n * Don't add prefix for 2009 spec\n */\n set(decl, prefix) {\n let spec = flexSpec(prefix)[0]\n if (spec !== 2009) {\n return super.set(decl, prefix)\n }\n return undefined\n }\n}\n\nFlexWrap.names = ['flex-wrap']\n\nmodule.exports = FlexWrap\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/flex-wrap.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/flex.js": -/*!*****************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/flex.js ***! - \*****************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let list = (__webpack_require__(/*! postcss */ \"./node_modules/postcss/lib/postcss.js\").list)\n\nlet flexSpec = __webpack_require__(/*! ./flex-spec */ \"./node_modules/autoprefixer/lib/hacks/flex-spec.js\")\nlet Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass Flex extends Declaration {\n /**\n * Return property name by final spec\n */\n normalize() {\n return 'flex'\n }\n\n /**\n * Change property name for 2009 spec\n */\n prefixed(prop, prefix) {\n let spec\n ;[spec, prefix] = flexSpec(prefix)\n if (spec === 2009) {\n return prefix + 'box-flex'\n }\n return super.prefixed(prop, prefix)\n }\n\n /**\n * Spec 2009 supports only first argument\n * Spec 2012 disallows unitless basis\n */\n set(decl, prefix) {\n let spec = flexSpec(prefix)[0]\n if (spec === 2009) {\n decl.value = list.space(decl.value)[0]\n decl.value = Flex.oldValues[decl.value] || decl.value\n return super.set(decl, prefix)\n }\n if (spec === 2012) {\n let components = list.space(decl.value)\n if (components.length === 3 && components[2] === '0') {\n decl.value = components.slice(0, 2).concat('0px').join(' ')\n }\n }\n return super.set(decl, prefix)\n }\n}\n\nFlex.names = ['flex', 'box-flex']\n\nFlex.oldValues = {\n auto: '1',\n none: '0'\n}\n\nmodule.exports = Flex\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/flex.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/fullscreen.js": -/*!***********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/fullscreen.js ***! - \***********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Selector = __webpack_require__(/*! ../selector */ \"./node_modules/autoprefixer/lib/selector.js\")\n\nclass Fullscreen extends Selector {\n /**\n * Return different selectors depend on prefix\n */\n prefixed(prefix) {\n if (prefix === '-webkit-') {\n return ':-webkit-full-screen'\n }\n if (prefix === '-moz-') {\n return ':-moz-full-screen'\n }\n return `:${prefix}fullscreen`\n }\n}\n\nFullscreen.names = [':fullscreen']\n\nmodule.exports = Fullscreen\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/fullscreen.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/gradient.js": -/*!*********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/gradient.js ***! - \*********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let parser = __webpack_require__(/*! postcss-value-parser */ \"./node_modules/postcss-value-parser/lib/index.js\")\nlet range = __webpack_require__(/*! normalize-range */ \"./node_modules/normalize-range/index.js\")\n\nlet OldValue = __webpack_require__(/*! ../old-value */ \"./node_modules/autoprefixer/lib/old-value.js\")\nlet Value = __webpack_require__(/*! ../value */ \"./node_modules/autoprefixer/lib/value.js\")\nlet utils = __webpack_require__(/*! ../utils */ \"./node_modules/autoprefixer/lib/utils.js\")\n\nlet IS_DIRECTION = /top|left|right|bottom/gi\n\nclass Gradient extends Value {\n /**\n * Do not add non-webkit prefixes for list-style and object\n */\n add(decl, prefix) {\n let p = decl.prop\n if (p.includes('mask')) {\n if (prefix === '-webkit-' || prefix === '-webkit- old') {\n return super.add(decl, prefix)\n }\n } else if (\n p === 'list-style' ||\n p === 'list-style-image' ||\n p === 'content'\n ) {\n if (prefix === '-webkit-' || prefix === '-webkit- old') {\n return super.add(decl, prefix)\n }\n } else {\n return super.add(decl, prefix)\n }\n return undefined\n }\n\n /**\n * Get div token from exists parameters\n */\n cloneDiv(params) {\n for (let i of params) {\n if (i.type === 'div' && i.value === ',') {\n return i\n }\n }\n return { after: ' ', type: 'div', value: ',' }\n }\n\n /**\n * Change colors syntax to old webkit\n */\n colorStops(params) {\n let result = []\n for (let i = 0; i < params.length; i++) {\n let pos\n let param = params[i]\n let item\n if (i === 0) {\n continue\n }\n\n let color = parser.stringify(param[0])\n if (param[1] && param[1].type === 'word') {\n pos = param[1].value\n } else if (param[2] && param[2].type === 'word') {\n pos = param[2].value\n }\n\n let stop\n if (i === 1 && (!pos || pos === '0%')) {\n stop = `from(${color})`\n } else if (i === params.length - 1 && (!pos || pos === '100%')) {\n stop = `to(${color})`\n } else if (pos) {\n stop = `color-stop(${pos}, ${color})`\n } else {\n stop = `color-stop(${color})`\n }\n\n let div = param[param.length - 1]\n params[i] = [{ type: 'word', value: stop }]\n if (div.type === 'div' && div.value === ',') {\n item = params[i].push(div)\n }\n result.push(item)\n }\n return result\n }\n\n /**\n * Change new direction to old\n */\n convertDirection(params) {\n if (params.length > 0) {\n if (params[0].value === 'to') {\n this.fixDirection(params)\n } else if (params[0].value.includes('deg')) {\n this.fixAngle(params)\n } else if (this.isRadial(params)) {\n this.fixRadial(params)\n }\n }\n return params\n }\n\n /**\n * Add 90 degrees\n */\n fixAngle(params) {\n let first = params[0].value\n first = parseFloat(first)\n first = Math.abs(450 - first) % 360\n first = this.roundFloat(first, 3)\n params[0].value = `${first}deg`\n }\n\n /**\n * Replace `to top left` to `bottom right`\n */\n fixDirection(params) {\n params.splice(0, 2)\n\n for (let param of params) {\n if (param.type === 'div') {\n break\n }\n if (param.type === 'word') {\n param.value = this.revertDirection(param.value)\n }\n }\n }\n\n /**\n * Fix radial direction syntax\n */\n fixRadial(params) {\n let first = []\n let second = []\n let a, b, c, i, next\n\n for (i = 0; i < params.length - 2; i++) {\n a = params[i]\n b = params[i + 1]\n c = params[i + 2]\n if (a.type === 'space' && b.value === 'at' && c.type === 'space') {\n next = i + 3\n break\n } else {\n first.push(a)\n }\n }\n\n let div\n for (i = next; i < params.length; i++) {\n if (params[i].type === 'div') {\n div = params[i]\n break\n } else {\n second.push(params[i])\n }\n }\n\n params.splice(0, i, ...second, div, ...first)\n }\n\n /**\n * Look for at word\n */\n isRadial(params) {\n let state = 'before'\n for (let param of params) {\n if (state === 'before' && param.type === 'space') {\n state = 'at'\n } else if (state === 'at' && param.value === 'at') {\n state = 'after'\n } else if (state === 'after' && param.type === 'space') {\n return true\n } else if (param.type === 'div') {\n break\n } else {\n state = 'before'\n }\n }\n return false\n }\n\n /**\n * Replace old direction to new\n */\n newDirection(params) {\n if (params[0].value === 'to') {\n return params\n }\n IS_DIRECTION.lastIndex = 0 // reset search index of global regexp\n if (!IS_DIRECTION.test(params[0].value)) {\n return params\n }\n\n params.unshift(\n {\n type: 'word',\n value: 'to'\n },\n {\n type: 'space',\n value: ' '\n }\n )\n\n for (let i = 2; i < params.length; i++) {\n if (params[i].type === 'div') {\n break\n }\n if (params[i].type === 'word') {\n params[i].value = this.revertDirection(params[i].value)\n }\n }\n\n return params\n }\n\n /**\n * Normalize angle\n */\n normalize(nodes, gradientName) {\n if (!nodes[0]) return nodes\n\n if (/-?\\d+(.\\d+)?grad/.test(nodes[0].value)) {\n nodes[0].value = this.normalizeUnit(nodes[0].value, 400)\n } else if (/-?\\d+(.\\d+)?rad/.test(nodes[0].value)) {\n nodes[0].value = this.normalizeUnit(nodes[0].value, 2 * Math.PI)\n } else if (/-?\\d+(.\\d+)?turn/.test(nodes[0].value)) {\n nodes[0].value = this.normalizeUnit(nodes[0].value, 1)\n } else if (nodes[0].value.includes('deg')) {\n let num = parseFloat(nodes[0].value)\n num = range.wrap(0, 360, num)\n nodes[0].value = `${num}deg`\n }\n\n if (\n gradientName === 'linear-gradient' ||\n gradientName === 'repeating-linear-gradient'\n ) {\n let direction = nodes[0].value\n\n // Unitless zero for `` values are allowed in CSS gradients and transforms.\n // Spec: https://github.com/w3c/csswg-drafts/commit/602789171429b2231223ab1e5acf8f7f11652eb3\n if (direction === '0deg' || direction === '0') {\n nodes = this.replaceFirst(nodes, 'to', ' ', 'top')\n } else if (direction === '90deg') {\n nodes = this.replaceFirst(nodes, 'to', ' ', 'right')\n } else if (direction === '180deg') {\n nodes = this.replaceFirst(nodes, 'to', ' ', 'bottom') // default value\n } else if (direction === '270deg') {\n nodes = this.replaceFirst(nodes, 'to', ' ', 'left')\n }\n }\n\n return nodes\n }\n\n /**\n * Convert angle unit to deg\n */\n normalizeUnit(str, full) {\n let num = parseFloat(str)\n let deg = (num / full) * 360\n return `${deg}deg`\n }\n\n /**\n * Remove old WebKit gradient too\n */\n old(prefix) {\n if (prefix === '-webkit-') {\n let type\n if (this.name === 'linear-gradient') {\n type = 'linear'\n } else if (this.name === 'repeating-linear-gradient') {\n type = 'repeating-linear'\n } else if (this.name === 'repeating-radial-gradient') {\n type = 'repeating-radial'\n } else {\n type = 'radial'\n }\n let string = '-gradient'\n let regexp = utils.regexp(\n `-webkit-(${type}-gradient|gradient\\\\(\\\\s*${type})`,\n false\n )\n\n return new OldValue(this.name, prefix + this.name, string, regexp)\n } else {\n return super.old(prefix)\n }\n }\n\n /**\n * Change direction syntax to old webkit\n */\n oldDirection(params) {\n let div = this.cloneDiv(params[0])\n\n if (params[0][0].value !== 'to') {\n return params.unshift([\n { type: 'word', value: Gradient.oldDirections.bottom },\n div\n ])\n } else {\n let words = []\n for (let node of params[0].slice(2)) {\n if (node.type === 'word') {\n words.push(node.value.toLowerCase())\n }\n }\n\n words = words.join(' ')\n let old = Gradient.oldDirections[words] || words\n\n params[0] = [{ type: 'word', value: old }, div]\n return params[0]\n }\n }\n\n /**\n * Convert to old webkit syntax\n */\n oldWebkit(node) {\n let { nodes } = node\n let string = parser.stringify(node.nodes)\n\n if (this.name !== 'linear-gradient') {\n return false\n }\n if (nodes[0] && nodes[0].value.includes('deg')) {\n return false\n }\n if (\n string.includes('px') ||\n string.includes('-corner') ||\n string.includes('-side')\n ) {\n return false\n }\n\n let params = [[]]\n for (let i of nodes) {\n params[params.length - 1].push(i)\n if (i.type === 'div' && i.value === ',') {\n params.push([])\n }\n }\n\n this.oldDirection(params)\n this.colorStops(params)\n\n node.nodes = []\n for (let param of params) {\n node.nodes = node.nodes.concat(param)\n }\n\n node.nodes.unshift(\n { type: 'word', value: 'linear' },\n this.cloneDiv(node.nodes)\n )\n node.value = '-webkit-gradient'\n\n return true\n }\n\n /**\n * Change degrees for webkit prefix\n */\n replace(string, prefix) {\n let ast = parser(string)\n for (let node of ast.nodes) {\n let gradientName = this.name // gradient name\n if (node.type === 'function' && node.value === gradientName) {\n node.nodes = this.newDirection(node.nodes)\n node.nodes = this.normalize(node.nodes, gradientName)\n if (prefix === '-webkit- old') {\n let changes = this.oldWebkit(node)\n if (!changes) {\n return false\n }\n } else {\n node.nodes = this.convertDirection(node.nodes)\n node.value = prefix + node.value\n }\n }\n }\n return ast.toString()\n }\n\n /**\n * Replace first token\n */\n replaceFirst(params, ...words) {\n let prefix = words.map(i => {\n if (i === ' ') {\n return { type: 'space', value: i }\n }\n return { type: 'word', value: i }\n })\n return prefix.concat(params.slice(1))\n }\n\n revertDirection(word) {\n return Gradient.directions[word.toLowerCase()] || word\n }\n\n /**\n * Round float and save digits under dot\n */\n roundFloat(float, digits) {\n return parseFloat(float.toFixed(digits))\n }\n}\n\nGradient.names = [\n 'linear-gradient',\n 'repeating-linear-gradient',\n 'radial-gradient',\n 'repeating-radial-gradient'\n]\n\nGradient.directions = {\n bottom: 'top',\n left: 'right',\n right: 'left',\n top: 'bottom' // default value\n}\n\n// Direction to replace\nGradient.oldDirections = {\n 'bottom': 'left top, left bottom',\n 'bottom left': 'right top, left bottom',\n 'bottom right': 'left top, right bottom',\n 'left': 'right top, left top',\n\n 'left bottom': 'right top, left bottom',\n 'left top': 'right bottom, left top',\n 'right': 'left top, right top',\n 'right bottom': 'left top, right bottom',\n 'right top': 'left bottom, right top',\n 'top': 'left bottom, left top',\n 'top left': 'right bottom, left top',\n 'top right': 'left bottom, right top'\n}\n\nmodule.exports = Gradient\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/gradient.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/grid-area.js": -/*!**********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/grid-area.js ***! - \**********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\nlet utils = __webpack_require__(/*! ./grid-utils */ \"./node_modules/autoprefixer/lib/hacks/grid-utils.js\")\n\nclass GridArea extends Declaration {\n /**\n * Translate grid-area to separate -ms- prefixed properties\n */\n insert(decl, prefix, prefixes, result) {\n if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes)\n\n let values = utils.parse(decl)\n\n let [rowStart, rowSpan] = utils.translate(values, 0, 2)\n let [columnStart, columnSpan] = utils.translate(values, 1, 3)\n\n ;[\n ['grid-row', rowStart],\n ['grid-row-span', rowSpan],\n ['grid-column', columnStart],\n ['grid-column-span', columnSpan]\n ].forEach(([prop, value]) => {\n utils.insertDecl(decl, prop, value)\n })\n\n utils.warnTemplateSelectorNotFound(decl, result)\n utils.warnIfGridRowColumnExists(decl, result)\n\n return undefined\n }\n}\n\nGridArea.names = ['grid-area']\n\nmodule.exports = GridArea\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/grid-area.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/grid-column-align.js": -/*!******************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/grid-column-align.js ***! - \******************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass GridColumnAlign extends Declaration {\n /**\n * Do not prefix flexbox values\n */\n check(decl) {\n return !decl.value.includes('flex-') && decl.value !== 'baseline'\n }\n\n /**\n * Change IE property back\n */\n normalize() {\n return 'justify-self'\n }\n\n /**\n * Change property name for IE\n */\n prefixed(prop, prefix) {\n return prefix + 'grid-column-align'\n }\n}\n\nGridColumnAlign.names = ['grid-column-align']\n\nmodule.exports = GridColumnAlign\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/grid-column-align.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/grid-end.js": -/*!*********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/grid-end.js ***! - \*********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\nlet { isPureNumber } = __webpack_require__(/*! ../utils */ \"./node_modules/autoprefixer/lib/utils.js\")\n\nclass GridEnd extends Declaration {\n /**\n * Change repeating syntax for IE\n */\n insert(decl, prefix, prefixes, result) {\n if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes)\n\n let clonedDecl = this.clone(decl)\n\n let startProp = decl.prop.replace(/end$/, 'start')\n let spanProp = prefix + decl.prop.replace(/end$/, 'span')\n\n if (decl.parent.some(i => i.prop === spanProp)) {\n return undefined\n }\n\n clonedDecl.prop = spanProp\n\n if (decl.value.includes('span')) {\n clonedDecl.value = decl.value.replace(/span\\s/i, '')\n } else {\n let startDecl\n decl.parent.walkDecls(startProp, d => {\n startDecl = d\n })\n if (startDecl) {\n if (isPureNumber(startDecl.value)) {\n let value = Number(decl.value) - Number(startDecl.value) + ''\n clonedDecl.value = value\n } else {\n return undefined\n }\n } else {\n decl.warn(\n result,\n `Can not prefix ${decl.prop} (${startProp} is not found)`\n )\n }\n }\n\n decl.cloneBefore(clonedDecl)\n\n return undefined\n }\n}\n\nGridEnd.names = ['grid-row-end', 'grid-column-end']\n\nmodule.exports = GridEnd\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/grid-end.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/grid-row-align.js": -/*!***************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/grid-row-align.js ***! - \***************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass GridRowAlign extends Declaration {\n /**\n * Do not prefix flexbox values\n */\n check(decl) {\n return !decl.value.includes('flex-') && decl.value !== 'baseline'\n }\n\n /**\n * Change IE property back\n */\n normalize() {\n return 'align-self'\n }\n\n /**\n * Change property name for IE\n */\n prefixed(prop, prefix) {\n return prefix + 'grid-row-align'\n }\n}\n\nGridRowAlign.names = ['grid-row-align']\n\nmodule.exports = GridRowAlign\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/grid-row-align.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/grid-row-column.js": -/*!****************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/grid-row-column.js ***! - \****************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\nlet utils = __webpack_require__(/*! ./grid-utils */ \"./node_modules/autoprefixer/lib/hacks/grid-utils.js\")\n\nclass GridRowColumn extends Declaration {\n /**\n * Translate grid-row / grid-column to separate -ms- prefixed properties\n */\n insert(decl, prefix, prefixes) {\n if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes)\n\n let values = utils.parse(decl)\n let [start, span] = utils.translate(values, 0, 1)\n\n let hasStartValueSpan = values[0] && values[0].includes('span')\n\n if (hasStartValueSpan) {\n span = values[0].join('').replace(/\\D/g, '')\n }\n\n ;[\n [decl.prop, start],\n [`${decl.prop}-span`, span]\n ].forEach(([prop, value]) => {\n utils.insertDecl(decl, prop, value)\n })\n\n return undefined\n }\n}\n\nGridRowColumn.names = ['grid-row', 'grid-column']\n\nmodule.exports = GridRowColumn\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/grid-row-column.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/grid-rows-columns.js": -/*!******************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/grid-rows-columns.js ***! - \******************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\nlet {\n autoplaceGridItems,\n getGridGap,\n inheritGridGap,\n prefixTrackProp,\n prefixTrackValue\n} = __webpack_require__(/*! ./grid-utils */ \"./node_modules/autoprefixer/lib/hacks/grid-utils.js\")\nlet Processor = __webpack_require__(/*! ../processor */ \"./node_modules/autoprefixer/lib/processor.js\")\n\nclass GridRowsColumns extends Declaration {\n insert(decl, prefix, prefixes, result) {\n if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes)\n\n let { parent, prop, value } = decl\n let isRowProp = prop.includes('rows')\n let isColumnProp = prop.includes('columns')\n\n let hasGridTemplate = parent.some(\n i => i.prop === 'grid-template' || i.prop === 'grid-template-areas'\n )\n\n /**\n * Not to prefix rows declaration if grid-template(-areas) is present\n */\n if (hasGridTemplate && isRowProp) {\n return false\n }\n\n let processor = new Processor({ options: {} })\n let status = processor.gridStatus(parent, result)\n let gap = getGridGap(decl)\n gap = inheritGridGap(decl, gap) || gap\n\n let gapValue = isRowProp ? gap.row : gap.column\n\n if ((status === 'no-autoplace' || status === true) && !hasGridTemplate) {\n gapValue = null\n }\n\n let prefixValue = prefixTrackValue({\n gap: gapValue,\n value\n })\n\n /**\n * Insert prefixes\n */\n decl.cloneBefore({\n prop: prefixTrackProp({ prefix, prop }),\n value: prefixValue\n })\n\n let autoflow = parent.nodes.find(i => i.prop === 'grid-auto-flow')\n let autoflowValue = 'row'\n\n if (autoflow && !processor.disabled(autoflow, result)) {\n autoflowValue = autoflow.value.trim()\n }\n if (status === 'autoplace') {\n /**\n * Show warning if grid-template-rows decl is not found\n */\n let rowDecl = parent.nodes.find(i => i.prop === 'grid-template-rows')\n\n if (!rowDecl && hasGridTemplate) {\n return undefined\n } else if (!rowDecl && !hasGridTemplate) {\n decl.warn(\n result,\n 'Autoplacement does not work without grid-template-rows property'\n )\n return undefined\n }\n\n /**\n * Show warning if grid-template-columns decl is not found\n */\n let columnDecl = parent.nodes.find(i => {\n return i.prop === 'grid-template-columns'\n })\n if (!columnDecl && !hasGridTemplate) {\n decl.warn(\n result,\n 'Autoplacement does not work without grid-template-columns property'\n )\n }\n\n /**\n * Autoplace grid items\n */\n if (isColumnProp && !hasGridTemplate) {\n autoplaceGridItems(decl, result, gap, autoflowValue)\n }\n }\n\n return undefined\n }\n\n /**\n * Change IE property back\n */\n normalize(prop) {\n return prop.replace(/^grid-(rows|columns)/, 'grid-template-$1')\n }\n\n /**\n * Change property name for IE\n */\n prefixed(prop, prefix) {\n if (prefix === '-ms-') {\n return prefixTrackProp({ prefix, prop })\n }\n return super.prefixed(prop, prefix)\n }\n}\n\nGridRowsColumns.names = [\n 'grid-template-rows',\n 'grid-template-columns',\n 'grid-rows',\n 'grid-columns'\n]\n\nmodule.exports = GridRowsColumns\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/grid-rows-columns.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/grid-start.js": -/*!***********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/grid-start.js ***! - \***********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass GridStart extends Declaration {\n /**\n * Do not add prefix for unsupported value in IE\n */\n check(decl) {\n let value = decl.value\n return !value.includes('/') && !value.includes('span')\n }\n\n /**\n * Return a final spec property\n */\n normalize(prop) {\n return prop.replace('-start', '')\n }\n\n /**\n * Change property name for IE\n */\n prefixed(prop, prefix) {\n let result = super.prefixed(prop, prefix)\n if (prefix === '-ms-') {\n result = result.replace('-start', '')\n }\n return result\n }\n}\n\nGridStart.names = ['grid-row-start', 'grid-column-start']\n\nmodule.exports = GridStart\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/grid-start.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/grid-template-areas.js": -/*!********************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/grid-template-areas.js ***! - \********************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\nlet {\n getGridGap,\n inheritGridGap,\n parseGridAreas,\n prefixTrackProp,\n prefixTrackValue,\n warnGridGap,\n warnMissedAreas\n} = __webpack_require__(/*! ./grid-utils */ \"./node_modules/autoprefixer/lib/hacks/grid-utils.js\")\n\nfunction getGridRows(tpl) {\n return tpl\n .trim()\n .slice(1, -1)\n .split(/[\"']\\s*[\"']?/g)\n}\n\nclass GridTemplateAreas extends Declaration {\n /**\n * Translate grid-template-areas to separate -ms- prefixed properties\n */\n insert(decl, prefix, prefixes, result) {\n if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes)\n\n let hasColumns = false\n let hasRows = false\n let parent = decl.parent\n let gap = getGridGap(decl)\n gap = inheritGridGap(decl, gap) || gap\n\n // remove already prefixed rows\n // to prevent doubling prefixes\n parent.walkDecls(/-ms-grid-rows/, i => i.remove())\n\n // add empty tracks to rows\n parent.walkDecls(/grid-template-(rows|columns)/, trackDecl => {\n if (trackDecl.prop === 'grid-template-rows') {\n hasRows = true\n let { prop, value } = trackDecl\n trackDecl.cloneBefore({\n prop: prefixTrackProp({ prefix, prop }),\n value: prefixTrackValue({ gap: gap.row, value })\n })\n } else {\n hasColumns = true\n }\n })\n\n let gridRows = getGridRows(decl.value)\n\n if (hasColumns && !hasRows && gap.row && gridRows.length > 1) {\n decl.cloneBefore({\n prop: '-ms-grid-rows',\n raws: {},\n value: prefixTrackValue({\n gap: gap.row,\n value: `repeat(${gridRows.length}, auto)`\n })\n })\n }\n\n // warnings\n warnGridGap({\n decl,\n gap,\n hasColumns,\n result\n })\n\n let areas = parseGridAreas({\n gap,\n rows: gridRows\n })\n\n warnMissedAreas(areas, decl, result)\n\n return decl\n }\n}\n\nGridTemplateAreas.names = ['grid-template-areas']\n\nmodule.exports = GridTemplateAreas\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/grid-template-areas.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/grid-template.js": -/*!**************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/grid-template.js ***! - \**************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\nlet {\n getGridGap,\n inheritGridGap,\n parseTemplate,\n warnGridGap,\n warnMissedAreas\n} = __webpack_require__(/*! ./grid-utils */ \"./node_modules/autoprefixer/lib/hacks/grid-utils.js\")\n\nclass GridTemplate extends Declaration {\n /**\n * Translate grid-template to separate -ms- prefixed properties\n */\n insert(decl, prefix, prefixes, result) {\n if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes)\n\n if (decl.parent.some(i => i.prop === '-ms-grid-rows')) {\n return undefined\n }\n\n let gap = getGridGap(decl)\n\n /**\n * we must insert inherited gap values in some cases:\n * if we are inside media query && if we have no grid-gap value\n */\n let inheritedGap = inheritGridGap(decl, gap)\n\n let { areas, columns, rows } = parseTemplate({\n decl,\n gap: inheritedGap || gap\n })\n\n let hasAreas = Object.keys(areas).length > 0\n let hasRows = Boolean(rows)\n let hasColumns = Boolean(columns)\n\n warnGridGap({\n decl,\n gap,\n hasColumns,\n result\n })\n\n warnMissedAreas(areas, decl, result)\n\n if ((hasRows && hasColumns) || hasAreas) {\n decl.cloneBefore({\n prop: '-ms-grid-rows',\n raws: {},\n value: rows\n })\n }\n\n if (hasColumns) {\n decl.cloneBefore({\n prop: '-ms-grid-columns',\n raws: {},\n value: columns\n })\n }\n\n return decl\n }\n}\n\nGridTemplate.names = ['grid-template']\n\nmodule.exports = GridTemplate\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/grid-template.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/grid-utils.js": -/*!***********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/grid-utils.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -eval("let parser = __webpack_require__(/*! postcss-value-parser */ \"./node_modules/postcss-value-parser/lib/index.js\")\nlet list = (__webpack_require__(/*! postcss */ \"./node_modules/postcss/lib/postcss.js\").list)\n\nlet uniq = (__webpack_require__(/*! ../utils */ \"./node_modules/autoprefixer/lib/utils.js\").uniq)\nlet escapeRegexp = (__webpack_require__(/*! ../utils */ \"./node_modules/autoprefixer/lib/utils.js\").escapeRegexp)\nlet splitSelector = (__webpack_require__(/*! ../utils */ \"./node_modules/autoprefixer/lib/utils.js\").splitSelector)\n\nfunction convert(value) {\n if (\n value &&\n value.length === 2 &&\n value[0] === 'span' &&\n parseInt(value[1], 10) > 0\n ) {\n return [false, parseInt(value[1], 10)]\n }\n\n if (value && value.length === 1 && parseInt(value[0], 10) > 0) {\n return [parseInt(value[0], 10), false]\n }\n\n return [false, false]\n}\n\nexports.translate = translate\n\nfunction translate(values, startIndex, endIndex) {\n let startValue = values[startIndex]\n let endValue = values[endIndex]\n\n if (!startValue) {\n return [false, false]\n }\n\n let [start, spanStart] = convert(startValue)\n let [end, spanEnd] = convert(endValue)\n\n if (start && !endValue) {\n return [start, false]\n }\n\n if (spanStart && end) {\n return [end - spanStart, spanStart]\n }\n\n if (start && spanEnd) {\n return [start, spanEnd]\n }\n\n if (start && end) {\n return [start, end - start]\n }\n\n return [false, false]\n}\n\nexports.parse = parse\n\nfunction parse(decl) {\n let node = parser(decl.value)\n\n let values = []\n let current = 0\n values[current] = []\n\n for (let i of node.nodes) {\n if (i.type === 'div') {\n current += 1\n values[current] = []\n } else if (i.type === 'word') {\n values[current].push(i.value)\n }\n }\n\n return values\n}\n\nexports.insertDecl = insertDecl\n\nfunction insertDecl(decl, prop, value) {\n if (value && !decl.parent.some(i => i.prop === `-ms-${prop}`)) {\n decl.cloneBefore({\n prop: `-ms-${prop}`,\n value: value.toString()\n })\n }\n}\n\n// Track transforms\n\nexports.prefixTrackProp = prefixTrackProp\n\nfunction prefixTrackProp({ prefix, prop }) {\n return prefix + prop.replace('template-', '')\n}\n\nfunction transformRepeat({ nodes }, { gap }) {\n let { count, size } = nodes.reduce(\n (result, node) => {\n if (node.type === 'div' && node.value === ',') {\n result.key = 'size'\n } else {\n result[result.key].push(parser.stringify(node))\n }\n return result\n },\n {\n count: [],\n key: 'count',\n size: []\n }\n )\n\n // insert gap values\n if (gap) {\n size = size.filter(i => i.trim())\n let val = []\n for (let i = 1; i <= count; i++) {\n size.forEach((item, index) => {\n if (index > 0 || i > 1) {\n val.push(gap)\n }\n val.push(item)\n })\n }\n\n return val.join(' ')\n }\n\n return `(${size.join('')})[${count.join('')}]`\n}\n\nexports.prefixTrackValue = prefixTrackValue\n\nfunction prefixTrackValue({ gap, value }) {\n let result = parser(value).nodes.reduce((nodes, node) => {\n if (node.type === 'function' && node.value === 'repeat') {\n return nodes.concat({\n type: 'word',\n value: transformRepeat(node, { gap })\n })\n }\n if (gap && node.type === 'space') {\n return nodes.concat(\n {\n type: 'space',\n value: ' '\n },\n {\n type: 'word',\n value: gap\n },\n node\n )\n }\n return nodes.concat(node)\n }, [])\n\n return parser.stringify(result)\n}\n\n// Parse grid-template-areas\n\nlet DOTS = /^\\.+$/\n\nfunction track(start, end) {\n return { end, span: end - start, start }\n}\n\nfunction getColumns(line) {\n return line.trim().split(/\\s+/g)\n}\n\nexports.parseGridAreas = parseGridAreas\n\nfunction parseGridAreas({ gap, rows }) {\n return rows.reduce((areas, line, rowIndex) => {\n if (gap.row) rowIndex *= 2\n\n if (line.trim() === '') return areas\n\n getColumns(line).forEach((area, columnIndex) => {\n if (DOTS.test(area)) return\n\n if (gap.column) columnIndex *= 2\n\n if (typeof areas[area] === 'undefined') {\n areas[area] = {\n column: track(columnIndex + 1, columnIndex + 2),\n row: track(rowIndex + 1, rowIndex + 2)\n }\n } else {\n let { column, row } = areas[area]\n\n column.start = Math.min(column.start, columnIndex + 1)\n column.end = Math.max(column.end, columnIndex + 2)\n column.span = column.end - column.start\n\n row.start = Math.min(row.start, rowIndex + 1)\n row.end = Math.max(row.end, rowIndex + 2)\n row.span = row.end - row.start\n }\n })\n\n return areas\n }, {})\n}\n\n// Parse grid-template\n\nfunction testTrack(node) {\n return node.type === 'word' && /^\\[.+]$/.test(node.value)\n}\n\nfunction verifyRowSize(result) {\n if (result.areas.length > result.rows.length) {\n result.rows.push('auto')\n }\n return result\n}\n\nexports.parseTemplate = parseTemplate\n\nfunction parseTemplate({ decl, gap }) {\n let gridTemplate = parser(decl.value).nodes.reduce(\n (result, node) => {\n let { type, value } = node\n\n if (testTrack(node) || type === 'space') return result\n\n // area\n if (type === 'string') {\n result = verifyRowSize(result)\n result.areas.push(value)\n }\n\n // values and function\n if (type === 'word' || type === 'function') {\n result[result.key].push(parser.stringify(node))\n }\n\n // divider(/)\n if (type === 'div' && value === '/') {\n result.key = 'columns'\n result = verifyRowSize(result)\n }\n\n return result\n },\n {\n areas: [],\n columns: [],\n key: 'rows',\n rows: []\n }\n )\n\n return {\n areas: parseGridAreas({\n gap,\n rows: gridTemplate.areas\n }),\n columns: prefixTrackValue({\n gap: gap.column,\n value: gridTemplate.columns.join(' ')\n }),\n rows: prefixTrackValue({\n gap: gap.row,\n value: gridTemplate.rows.join(' ')\n })\n }\n}\n\n// Insert parsed grid areas\n\n/**\n * Get an array of -ms- prefixed props and values\n * @param {Object} [area] area object with column and row data\n * @param {Boolean} [addRowSpan] should we add grid-column-row value?\n * @param {Boolean} [addColumnSpan] should we add grid-column-span value?\n * @return {Array}\n */\nfunction getMSDecls(area, addRowSpan = false, addColumnSpan = false) {\n let result = [\n {\n prop: '-ms-grid-row',\n value: String(area.row.start)\n }\n ]\n if (area.row.span > 1 || addRowSpan) {\n result.push({\n prop: '-ms-grid-row-span',\n value: String(area.row.span)\n })\n }\n result.push({\n prop: '-ms-grid-column',\n value: String(area.column.start)\n })\n if (area.column.span > 1 || addColumnSpan) {\n result.push({\n prop: '-ms-grid-column-span',\n value: String(area.column.span)\n })\n }\n return result\n}\n\nfunction getParentMedia(parent) {\n if (parent.type === 'atrule' && parent.name === 'media') {\n return parent\n }\n if (!parent.parent) {\n return false\n }\n return getParentMedia(parent.parent)\n}\n\n/**\n * change selectors for rules with duplicate grid-areas.\n * @param {Array} rules\n * @param {Array} templateSelectors\n * @return {Array} rules with changed selectors\n */\nfunction changeDuplicateAreaSelectors(ruleSelectors, templateSelectors) {\n ruleSelectors = ruleSelectors.map(selector => {\n let selectorBySpace = list.space(selector)\n let selectorByComma = list.comma(selector)\n\n if (selectorBySpace.length > selectorByComma.length) {\n selector = selectorBySpace.slice(-1).join('')\n }\n return selector\n })\n\n return ruleSelectors.map(ruleSelector => {\n let newSelector = templateSelectors.map((tplSelector, index) => {\n let space = index === 0 ? '' : ' '\n return `${space}${tplSelector} > ${ruleSelector}`\n })\n\n return newSelector\n })\n}\n\n/**\n * check if selector of rules are equal\n * @param {Rule} ruleA\n * @param {Rule} ruleB\n * @return {Boolean}\n */\nfunction selectorsEqual(ruleA, ruleB) {\n return ruleA.selectors.some(sel => {\n return ruleB.selectors.includes(sel)\n })\n}\n\n/**\n * Parse data from all grid-template(-areas) declarations\n * @param {Root} css css root\n * @return {Object} parsed data\n */\nfunction parseGridTemplatesData(css) {\n let parsed = []\n\n // we walk through every grid-template(-areas) declaration and store\n // data with the same area names inside the item\n css.walkDecls(/grid-template(-areas)?$/, d => {\n let rule = d.parent\n let media = getParentMedia(rule)\n let gap = getGridGap(d)\n let inheritedGap = inheritGridGap(d, gap)\n let { areas } = parseTemplate({ decl: d, gap: inheritedGap || gap })\n let areaNames = Object.keys(areas)\n\n // skip node if it doesn't have areas\n if (areaNames.length === 0) {\n return true\n }\n\n // check parsed array for item that include the same area names\n // return index of that item\n let index = parsed.reduce((acc, { allAreas }, idx) => {\n let hasAreas = allAreas && areaNames.some(area => allAreas.includes(area))\n return hasAreas ? idx : acc\n }, null)\n\n if (index !== null) {\n // index is found, add the grid-template data to that item\n let { allAreas, rules } = parsed[index]\n\n // check if rule has no duplicate area names\n let hasNoDuplicates = rules.some(r => {\n return r.hasDuplicates === false && selectorsEqual(r, rule)\n })\n\n let duplicatesFound = false\n\n // check need to gather all duplicate area names\n let duplicateAreaNames = rules.reduce((acc, r) => {\n if (!r.params && selectorsEqual(r, rule)) {\n duplicatesFound = true\n return r.duplicateAreaNames\n }\n if (!duplicatesFound) {\n areaNames.forEach(name => {\n if (r.areas[name]) {\n acc.push(name)\n }\n })\n }\n return uniq(acc)\n }, [])\n\n // update grid-row/column-span values for areas with duplicate\n // area names. @see #1084 and #1146\n rules.forEach(r => {\n areaNames.forEach(name => {\n let area = r.areas[name]\n if (area && area.row.span !== areas[name].row.span) {\n areas[name].row.updateSpan = true\n }\n\n if (area && area.column.span !== areas[name].column.span) {\n areas[name].column.updateSpan = true\n }\n })\n })\n\n parsed[index].allAreas = uniq([...allAreas, ...areaNames])\n parsed[index].rules.push({\n areas,\n duplicateAreaNames,\n hasDuplicates: !hasNoDuplicates,\n node: rule,\n params: media.params,\n selectors: rule.selectors\n })\n } else {\n // index is NOT found, push the new item to the parsed array\n parsed.push({\n allAreas: areaNames,\n areasCount: 0,\n rules: [\n {\n areas,\n duplicateAreaNames: [],\n duplicateRules: [],\n hasDuplicates: false,\n node: rule,\n params: media.params,\n selectors: rule.selectors\n }\n ]\n })\n }\n\n return undefined\n })\n\n return parsed\n}\n\n/**\n * insert prefixed grid-area declarations\n * @param {Root} css css root\n * @param {Function} isDisabled check if the rule is disabled\n * @return {void}\n */\nexports.insertAreas = insertAreas\n\nfunction insertAreas(css, isDisabled) {\n // parse grid-template declarations\n let gridTemplatesData = parseGridTemplatesData(css)\n\n // return undefined if no declarations found\n if (gridTemplatesData.length === 0) {\n return undefined\n }\n\n // we need to store the rules that we will insert later\n let rulesToInsert = {}\n\n css.walkDecls('grid-area', gridArea => {\n let gridAreaRule = gridArea.parent\n let hasPrefixedRow = gridAreaRule.first.prop === '-ms-grid-row'\n let gridAreaMedia = getParentMedia(gridAreaRule)\n\n if (isDisabled(gridArea)) {\n return undefined\n }\n\n let gridAreaRuleIndex = css.index(gridAreaMedia || gridAreaRule)\n\n let value = gridArea.value\n // found the data that matches grid-area identifier\n let data = gridTemplatesData.filter(d => d.allAreas.includes(value))[0]\n\n if (!data) {\n return true\n }\n\n let lastArea = data.allAreas[data.allAreas.length - 1]\n let selectorBySpace = list.space(gridAreaRule.selector)\n let selectorByComma = list.comma(gridAreaRule.selector)\n let selectorIsComplex =\n selectorBySpace.length > 1 &&\n selectorBySpace.length > selectorByComma.length\n\n // prevent doubling of prefixes\n if (hasPrefixedRow) {\n return false\n }\n\n // create the empty object with the key as the last area name\n // e.g if we have templates with \"a b c\" values, \"c\" will be the last area\n if (!rulesToInsert[lastArea]) {\n rulesToInsert[lastArea] = {}\n }\n\n let lastRuleIsSet = false\n\n // walk through every grid-template rule data\n for (let rule of data.rules) {\n let area = rule.areas[value]\n let hasDuplicateName = rule.duplicateAreaNames.includes(value)\n\n // if we can't find the area name, update lastRule and continue\n if (!area) {\n let lastRule = rulesToInsert[lastArea].lastRule\n let lastRuleIndex\n if (lastRule) {\n lastRuleIndex = css.index(lastRule)\n } else {\n /* c8 ignore next 2 */\n lastRuleIndex = -1\n }\n\n if (gridAreaRuleIndex > lastRuleIndex) {\n rulesToInsert[lastArea].lastRule = gridAreaMedia || gridAreaRule\n }\n continue\n }\n\n // for grid-templates inside media rule we need to create empty\n // array to push prefixed grid-area rules later\n if (rule.params && !rulesToInsert[lastArea][rule.params]) {\n rulesToInsert[lastArea][rule.params] = []\n }\n\n if ((!rule.hasDuplicates || !hasDuplicateName) && !rule.params) {\n // grid-template has no duplicates and not inside media rule\n\n getMSDecls(area, false, false)\n .reverse()\n .forEach(i =>\n gridAreaRule.prepend(\n Object.assign(i, {\n raws: {\n between: gridArea.raws.between\n }\n })\n )\n )\n\n rulesToInsert[lastArea].lastRule = gridAreaRule\n lastRuleIsSet = true\n } else if (rule.hasDuplicates && !rule.params && !selectorIsComplex) {\n // grid-template has duplicates and not inside media rule\n let cloned = gridAreaRule.clone()\n cloned.removeAll()\n\n getMSDecls(area, area.row.updateSpan, area.column.updateSpan)\n .reverse()\n .forEach(i =>\n cloned.prepend(\n Object.assign(i, {\n raws: {\n between: gridArea.raws.between\n }\n })\n )\n )\n\n cloned.selectors = changeDuplicateAreaSelectors(\n cloned.selectors,\n rule.selectors\n )\n\n if (rulesToInsert[lastArea].lastRule) {\n rulesToInsert[lastArea].lastRule.after(cloned)\n }\n rulesToInsert[lastArea].lastRule = cloned\n lastRuleIsSet = true\n } else if (\n rule.hasDuplicates &&\n !rule.params &&\n selectorIsComplex &&\n gridAreaRule.selector.includes(rule.selectors[0])\n ) {\n // grid-template has duplicates and not inside media rule\n // and the selector is complex\n gridAreaRule.walkDecls(/-ms-grid-(row|column)/, d => d.remove())\n getMSDecls(area, area.row.updateSpan, area.column.updateSpan)\n .reverse()\n .forEach(i =>\n gridAreaRule.prepend(\n Object.assign(i, {\n raws: {\n between: gridArea.raws.between\n }\n })\n )\n )\n } else if (rule.params) {\n // grid-template is inside media rule\n // if we're inside media rule, we need to store prefixed rules\n // inside rulesToInsert object to be able to preserve the order of media\n // rules and merge them easily\n let cloned = gridAreaRule.clone()\n cloned.removeAll()\n\n getMSDecls(area, area.row.updateSpan, area.column.updateSpan)\n .reverse()\n .forEach(i =>\n cloned.prepend(\n Object.assign(i, {\n raws: {\n between: gridArea.raws.between\n }\n })\n )\n )\n\n if (rule.hasDuplicates && hasDuplicateName) {\n cloned.selectors = changeDuplicateAreaSelectors(\n cloned.selectors,\n rule.selectors\n )\n }\n\n cloned.raws = rule.node.raws\n\n if (css.index(rule.node.parent) > gridAreaRuleIndex) {\n // append the prefixed rules right inside media rule\n // with grid-template\n rule.node.parent.append(cloned)\n } else {\n // store the rule to insert later\n rulesToInsert[lastArea][rule.params].push(cloned)\n }\n\n // set new rule as last rule ONLY if we didn't set lastRule for\n // this grid-area before\n if (!lastRuleIsSet) {\n rulesToInsert[lastArea].lastRule = gridAreaMedia || gridAreaRule\n }\n }\n }\n\n return undefined\n })\n\n // append stored rules inside the media rules\n Object.keys(rulesToInsert).forEach(area => {\n let data = rulesToInsert[area]\n let lastRule = data.lastRule\n Object.keys(data)\n .reverse()\n .filter(p => p !== 'lastRule')\n .forEach(params => {\n if (data[params].length > 0 && lastRule) {\n lastRule.after({ name: 'media', params })\n lastRule.next().append(data[params])\n }\n })\n })\n\n return undefined\n}\n\n/**\n * Warn user if grid area identifiers are not found\n * @param {Object} areas\n * @param {Declaration} decl\n * @param {Result} result\n * @return {void}\n */\nexports.warnMissedAreas = warnMissedAreas\n\nfunction warnMissedAreas(areas, decl, result) {\n let missed = Object.keys(areas)\n\n decl.root().walkDecls('grid-area', gridArea => {\n missed = missed.filter(e => e !== gridArea.value)\n })\n\n if (missed.length > 0) {\n decl.warn(result, 'Can not find grid areas: ' + missed.join(', '))\n }\n\n return undefined\n}\n\n/**\n * compare selectors with grid-area rule and grid-template rule\n * show warning if grid-template selector is not found\n * (this function used for grid-area rule)\n * @param {Declaration} decl\n * @param {Result} result\n * @return {void}\n */\nexports.warnTemplateSelectorNotFound = warnTemplateSelectorNotFound\n\nfunction warnTemplateSelectorNotFound(decl, result) {\n let rule = decl.parent\n let root = decl.root()\n let duplicatesFound = false\n\n // slice selector array. Remove the last part (for comparison)\n let slicedSelectorArr = list\n .space(rule.selector)\n .filter(str => str !== '>')\n .slice(0, -1)\n\n // we need to compare only if selector is complex.\n // e.g '.grid-cell' is simple, but '.parent > .grid-cell' is complex\n if (slicedSelectorArr.length > 0) {\n let gridTemplateFound = false\n let foundAreaSelector = null\n\n root.walkDecls(/grid-template(-areas)?$/, d => {\n let parent = d.parent\n let templateSelectors = parent.selectors\n\n let { areas } = parseTemplate({ decl: d, gap: getGridGap(d) })\n let hasArea = areas[decl.value]\n\n // find the the matching selectors\n for (let tplSelector of templateSelectors) {\n if (gridTemplateFound) {\n break\n }\n let tplSelectorArr = list.space(tplSelector).filter(str => str !== '>')\n\n gridTemplateFound = tplSelectorArr.every(\n (item, idx) => item === slicedSelectorArr[idx]\n )\n }\n\n if (gridTemplateFound || !hasArea) {\n return true\n }\n\n if (!foundAreaSelector) {\n foundAreaSelector = parent.selector\n }\n\n // if we found the duplicate area with different selector\n if (foundAreaSelector && foundAreaSelector !== parent.selector) {\n duplicatesFound = true\n }\n\n return undefined\n })\n\n // warn user if we didn't find template\n if (!gridTemplateFound && duplicatesFound) {\n decl.warn(\n result,\n 'Autoprefixer cannot find a grid-template ' +\n `containing the duplicate grid-area \"${decl.value}\" ` +\n `with full selector matching: ${slicedSelectorArr.join(' ')}`\n )\n }\n }\n}\n\n/**\n * warn user if both grid-area and grid-(row|column)\n * declarations are present in the same rule\n * @param {Declaration} decl\n * @param {Result} result\n * @return {void}\n */\nexports.warnIfGridRowColumnExists = warnIfGridRowColumnExists\n\nfunction warnIfGridRowColumnExists(decl, result) {\n let rule = decl.parent\n let decls = []\n rule.walkDecls(/^grid-(row|column)/, d => {\n if (\n !d.prop.endsWith('-end') &&\n !d.value.startsWith('span') &&\n !d.prop.endsWith('-gap')\n ) {\n decls.push(d)\n }\n })\n if (decls.length > 0) {\n decls.forEach(d => {\n d.warn(\n result,\n 'You already have a grid-area declaration present in the rule. ' +\n `You should use either grid-area or ${d.prop}, not both`\n )\n })\n }\n\n return undefined\n}\n\n// Gap utils\n\nexports.getGridGap = getGridGap\n\nfunction getGridGap(decl) {\n let gap = {}\n\n // try to find gap\n let testGap = /^(grid-)?((row|column)-)?gap$/\n decl.parent.walkDecls(testGap, ({ prop, value }) => {\n if (/^(grid-)?gap$/.test(prop)) {\n let [row, , column] = parser(value).nodes\n\n gap.row = row && parser.stringify(row)\n gap.column = column ? parser.stringify(column) : gap.row\n }\n if (/^(grid-)?row-gap$/.test(prop)) gap.row = value\n if (/^(grid-)?column-gap$/.test(prop)) gap.column = value\n })\n\n return gap\n}\n\n/**\n * parse media parameters (for example 'min-width: 500px')\n * @param {String} params parameter to parse\n * @return {}\n */\nfunction parseMediaParams(params) {\n if (!params) {\n return []\n }\n let parsed = parser(params)\n let prop\n let value\n\n parsed.walk(node => {\n if (node.type === 'word' && /min|max/g.test(node.value)) {\n prop = node.value\n } else if (node.value.includes('px')) {\n value = parseInt(node.value.replace(/\\D/g, ''))\n }\n })\n\n return [prop, value]\n}\n\n/**\n * Compare the selectors and decide if we\n * need to inherit gap from compared selector or not.\n * @type {String} selA\n * @type {String} selB\n * @return {Boolean}\n */\nfunction shouldInheritGap(selA, selB) {\n let result\n\n // get arrays of selector split in 3-deep array\n let splitSelectorArrA = splitSelector(selA)\n let splitSelectorArrB = splitSelector(selB)\n\n if (splitSelectorArrA[0].length < splitSelectorArrB[0].length) {\n // abort if selectorA has lower descendant specificity then selectorB\n // (e.g '.grid' and '.hello .world .grid')\n return false\n } else if (splitSelectorArrA[0].length > splitSelectorArrB[0].length) {\n // if selectorA has higher descendant specificity then selectorB\n // (e.g '.foo .bar .grid' and '.grid')\n\n let idx = splitSelectorArrA[0].reduce((res, [item], index) => {\n let firstSelectorPart = splitSelectorArrB[0][0][0]\n if (item === firstSelectorPart) {\n return index\n }\n return false\n }, false)\n\n if (idx) {\n result = splitSelectorArrB[0].every((arr, index) => {\n return arr.every(\n (part, innerIndex) =>\n // because selectorA has more space elements, we need to slice\n // selectorA array by 'idx' number to compare them\n splitSelectorArrA[0].slice(idx)[index][innerIndex] === part\n )\n })\n }\n } else {\n // if selectorA has the same descendant specificity as selectorB\n // this condition covers cases such as: '.grid.foo.bar' and '.grid'\n result = splitSelectorArrB.some(byCommaArr => {\n return byCommaArr.every((bySpaceArr, index) => {\n return bySpaceArr.every(\n (part, innerIndex) => splitSelectorArrA[0][index][innerIndex] === part\n )\n })\n })\n }\n\n return result\n}\n/**\n * inherit grid gap values from the closest rule above\n * with the same selector\n * @param {Declaration} decl\n * @param {Object} gap gap values\n * @return {Object | Boolean} return gap values or false (if not found)\n */\nexports.inheritGridGap = inheritGridGap\n\nfunction inheritGridGap(decl, gap) {\n let rule = decl.parent\n let mediaRule = getParentMedia(rule)\n let root = rule.root()\n\n // get an array of selector split in 3-deep array\n let splitSelectorArr = splitSelector(rule.selector)\n\n // abort if the rule already has gaps\n if (Object.keys(gap).length > 0) {\n return false\n }\n\n // e.g ['min-width']\n let [prop] = parseMediaParams(mediaRule.params)\n\n let lastBySpace = splitSelectorArr[0]\n\n // get escaped value from the selector\n // if we have '.grid-2.foo.bar' selector, will be '\\.grid\\-2'\n let escaped = escapeRegexp(lastBySpace[lastBySpace.length - 1][0])\n\n let regexp = new RegExp(`(${escaped}$)|(${escaped}[,.])`)\n\n // find the closest rule with the same selector\n let closestRuleGap\n root.walkRules(regexp, r => {\n let gridGap\n\n // abort if are checking the same rule\n if (rule.toString() === r.toString()) {\n return false\n }\n\n // find grid-gap values\n r.walkDecls('grid-gap', d => (gridGap = getGridGap(d)))\n\n // skip rule without gaps\n if (!gridGap || Object.keys(gridGap).length === 0) {\n return true\n }\n\n // skip rules that should not be inherited from\n if (!shouldInheritGap(rule.selector, r.selector)) {\n return true\n }\n\n let media = getParentMedia(r)\n if (media) {\n // if we are inside media, we need to check that media props match\n // e.g ('min-width' === 'min-width')\n let propToCompare = parseMediaParams(media.params)[0]\n if (propToCompare === prop) {\n closestRuleGap = gridGap\n return true\n }\n } else {\n closestRuleGap = gridGap\n return true\n }\n\n return undefined\n })\n\n // if we find the closest gap object\n if (closestRuleGap && Object.keys(closestRuleGap).length > 0) {\n return closestRuleGap\n }\n return false\n}\n\nexports.warnGridGap = warnGridGap\n\nfunction warnGridGap({ decl, gap, hasColumns, result }) {\n let hasBothGaps = gap.row && gap.column\n if (!hasColumns && (hasBothGaps || (gap.column && !gap.row))) {\n delete gap.column\n decl.warn(\n result,\n 'Can not implement grid-gap without grid-template-columns'\n )\n }\n}\n\n/**\n * normalize the grid-template-rows/columns values\n * @param {String} str grid-template-rows/columns value\n * @return {Array} normalized array with values\n * @example\n * let normalized = normalizeRowColumn('1fr repeat(2, 20px 50px) 1fr')\n * normalized // <= ['1fr', '20px', '50px', '20px', '50px', '1fr']\n */\nfunction normalizeRowColumn(str) {\n let normalized = parser(str).nodes.reduce((result, node) => {\n if (node.type === 'function' && node.value === 'repeat') {\n let key = 'count'\n\n let [count, value] = node.nodes.reduce(\n (acc, n) => {\n if (n.type === 'word' && key === 'count') {\n acc[0] = Math.abs(parseInt(n.value))\n return acc\n }\n if (n.type === 'div' && n.value === ',') {\n key = 'value'\n return acc\n }\n if (key === 'value') {\n acc[1] += parser.stringify(n)\n }\n return acc\n },\n [0, '']\n )\n\n if (count) {\n for (let i = 0; i < count; i++) {\n result.push(value)\n }\n }\n\n return result\n }\n if (node.type === 'space') {\n return result\n }\n return result.concat(parser.stringify(node))\n }, [])\n\n return normalized\n}\n\nexports.autoplaceGridItems = autoplaceGridItems\n\n/**\n * Autoplace grid items\n * @param {Declaration} decl\n * @param {Result} result\n * @param {Object} gap gap values\n * @param {String} autoflowValue grid-auto-flow value\n * @return {void}\n * @see https://github.com/postcss/autoprefixer/issues/1148\n */\nfunction autoplaceGridItems(decl, result, gap, autoflowValue = 'row') {\n let { parent } = decl\n\n let rowDecl = parent.nodes.find(i => i.prop === 'grid-template-rows')\n let rows = normalizeRowColumn(rowDecl.value)\n let columns = normalizeRowColumn(decl.value)\n\n // Build array of area names with dummy values. If we have 3 columns and\n // 2 rows, filledRows will be equal to ['1 2 3', '4 5 6']\n let filledRows = rows.map((_, rowIndex) => {\n return Array.from(\n { length: columns.length },\n (v, k) => k + rowIndex * columns.length + 1\n ).join(' ')\n })\n\n let areas = parseGridAreas({ gap, rows: filledRows })\n let keys = Object.keys(areas)\n let items = keys.map(i => areas[i])\n\n // Change the order of cells if grid-auto-flow value is 'column'\n if (autoflowValue.includes('column')) {\n items = items.sort((a, b) => a.column.start - b.column.start)\n }\n\n // Insert new rules\n items.reverse().forEach((item, index) => {\n let { column, row } = item\n let nodeSelector = parent.selectors\n .map(sel => sel + ` > *:nth-child(${keys.length - index})`)\n .join(', ')\n\n // create new rule\n let node = parent.clone().removeAll()\n\n // change rule selector\n node.selector = nodeSelector\n\n // insert prefixed row/column values\n node.append({ prop: '-ms-grid-row', value: row.start })\n node.append({ prop: '-ms-grid-column', value: column.start })\n\n // insert rule\n parent.after(node)\n })\n\n return undefined\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/grid-utils.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/image-rendering.js": -/*!****************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/image-rendering.js ***! - \****************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass ImageRendering extends Declaration {\n /**\n * Add hack only for crisp-edges\n */\n check(decl) {\n return decl.value === 'pixelated'\n }\n\n /**\n * Return property name by spec\n */\n normalize() {\n return 'image-rendering'\n }\n\n /**\n * Change property name for IE\n */\n prefixed(prop, prefix) {\n if (prefix === '-ms-') {\n return '-ms-interpolation-mode'\n }\n return super.prefixed(prop, prefix)\n }\n\n /**\n * Warn on old value\n */\n process(node, result) {\n return super.process(node, result)\n }\n\n /**\n * Change property and value for IE\n */\n set(decl, prefix) {\n if (prefix !== '-ms-') return super.set(decl, prefix)\n decl.prop = '-ms-interpolation-mode'\n decl.value = 'nearest-neighbor'\n return decl\n }\n}\n\nImageRendering.names = ['image-rendering', 'interpolation-mode']\n\nmodule.exports = ImageRendering\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/image-rendering.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/image-set.js": -/*!**********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/image-set.js ***! - \**********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Value = __webpack_require__(/*! ../value */ \"./node_modules/autoprefixer/lib/value.js\")\n\nclass ImageSet extends Value {\n /**\n * Use non-standard name for WebKit and Firefox\n */\n replace(string, prefix) {\n let fixed = super.replace(string, prefix)\n if (prefix === '-webkit-') {\n fixed = fixed.replace(/(\"[^\"]+\"|'[^']+')(\\s+\\d+\\w)/gi, 'url($1)$2')\n }\n return fixed\n }\n}\n\nImageSet.names = ['image-set']\n\nmodule.exports = ImageSet\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/image-set.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/inline-logical.js": -/*!***************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/inline-logical.js ***! - \***************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass InlineLogical extends Declaration {\n /**\n * Return property name by spec\n */\n normalize(prop) {\n return prop.replace(/(margin|padding|border)-(start|end)/, '$1-inline-$2')\n }\n\n /**\n * Use old syntax for -moz- and -webkit-\n */\n prefixed(prop, prefix) {\n return prefix + prop.replace('-inline', '')\n }\n}\n\nInlineLogical.names = [\n 'border-inline-start',\n 'border-inline-end',\n 'margin-inline-start',\n 'margin-inline-end',\n 'padding-inline-start',\n 'padding-inline-end',\n 'border-start',\n 'border-end',\n 'margin-start',\n 'margin-end',\n 'padding-start',\n 'padding-end'\n]\n\nmodule.exports = InlineLogical\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/inline-logical.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/intrinsic.js": -/*!**********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/intrinsic.js ***! - \**********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let OldValue = __webpack_require__(/*! ../old-value */ \"./node_modules/autoprefixer/lib/old-value.js\")\nlet Value = __webpack_require__(/*! ../value */ \"./node_modules/autoprefixer/lib/value.js\")\n\nfunction regexp(name) {\n return new RegExp(`(^|[\\\\s,(])(${name}($|[\\\\s),]))`, 'gi')\n}\n\nclass Intrinsic extends Value {\n add(decl, prefix) {\n if (decl.prop.includes('grid') && prefix !== '-webkit-') {\n return undefined\n }\n return super.add(decl, prefix)\n }\n\n isStretch() {\n return (\n this.name === 'stretch' ||\n this.name === 'fill' ||\n this.name === 'fill-available'\n )\n }\n\n old(prefix) {\n let prefixed = prefix + this.name\n if (this.isStretch()) {\n if (prefix === '-moz-') {\n prefixed = '-moz-available'\n } else if (prefix === '-webkit-') {\n prefixed = '-webkit-fill-available'\n }\n }\n return new OldValue(this.name, prefixed, prefixed, regexp(prefixed))\n }\n\n regexp() {\n if (!this.regexpCache) this.regexpCache = regexp(this.name)\n return this.regexpCache\n }\n\n replace(string, prefix) {\n if (prefix === '-moz-' && this.isStretch()) {\n return string.replace(this.regexp(), '$1-moz-available$3')\n }\n if (prefix === '-webkit-' && this.isStretch()) {\n return string.replace(this.regexp(), '$1-webkit-fill-available$3')\n }\n return super.replace(string, prefix)\n }\n}\n\nIntrinsic.names = [\n 'max-content',\n 'min-content',\n 'fit-content',\n 'fill',\n 'fill-available',\n 'stretch'\n]\n\nmodule.exports = Intrinsic\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/intrinsic.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/justify-content.js": -/*!****************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/justify-content.js ***! - \****************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let flexSpec = __webpack_require__(/*! ./flex-spec */ \"./node_modules/autoprefixer/lib/hacks/flex-spec.js\")\nlet Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass JustifyContent extends Declaration {\n /**\n * Return property name by final spec\n */\n normalize() {\n return 'justify-content'\n }\n\n /**\n * Change property name for 2009 and 2012 specs\n */\n prefixed(prop, prefix) {\n let spec\n ;[spec, prefix] = flexSpec(prefix)\n if (spec === 2009) {\n return prefix + 'box-pack'\n }\n if (spec === 2012) {\n return prefix + 'flex-pack'\n }\n return super.prefixed(prop, prefix)\n }\n\n /**\n * Change value for 2009 and 2012 specs\n */\n set(decl, prefix) {\n let spec = flexSpec(prefix)[0]\n if (spec === 2009 || spec === 2012) {\n let value = JustifyContent.oldValues[decl.value] || decl.value\n decl.value = value\n if (spec !== 2009 || value !== 'distribute') {\n return super.set(decl, prefix)\n }\n } else if (spec === 'final') {\n return super.set(decl, prefix)\n }\n return undefined\n }\n}\n\nJustifyContent.names = ['justify-content', 'flex-pack', 'box-pack']\n\nJustifyContent.oldValues = {\n 'flex-end': 'end',\n 'flex-start': 'start',\n 'space-around': 'distribute',\n 'space-between': 'justify'\n}\n\nmodule.exports = JustifyContent\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/justify-content.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/mask-border.js": -/*!************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/mask-border.js ***! - \************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass MaskBorder extends Declaration {\n /**\n * Return property name by final spec\n */\n normalize() {\n return this.name.replace('box-image', 'border')\n }\n\n /**\n * Return flex property for 2012 spec\n */\n prefixed(prop, prefix) {\n let result = super.prefixed(prop, prefix)\n if (prefix === '-webkit-') {\n result = result.replace('border', 'box-image')\n }\n return result\n }\n}\n\nMaskBorder.names = [\n 'mask-border',\n 'mask-border-source',\n 'mask-border-slice',\n 'mask-border-width',\n 'mask-border-outset',\n 'mask-border-repeat',\n 'mask-box-image',\n 'mask-box-image-source',\n 'mask-box-image-slice',\n 'mask-box-image-width',\n 'mask-box-image-outset',\n 'mask-box-image-repeat'\n]\n\nmodule.exports = MaskBorder\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/mask-border.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/mask-composite.js": -/*!***************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/mask-composite.js ***! - \***************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass MaskComposite extends Declaration {\n /**\n * Prefix mask-composite for webkit\n */\n insert(decl, prefix, prefixes) {\n let isCompositeProp = decl.prop === 'mask-composite'\n\n let compositeValues\n\n if (isCompositeProp) {\n compositeValues = decl.value.split(',')\n } else {\n compositeValues = decl.value.match(MaskComposite.regexp) || []\n }\n\n compositeValues = compositeValues.map(el => el.trim()).filter(el => el)\n let hasCompositeValues = compositeValues.length\n\n let compositeDecl\n\n if (hasCompositeValues) {\n compositeDecl = this.clone(decl)\n compositeDecl.value = compositeValues\n .map(value => MaskComposite.oldValues[value] || value)\n .join(', ')\n\n if (compositeValues.includes('intersect')) {\n compositeDecl.value += ', xor'\n }\n\n compositeDecl.prop = prefix + 'mask-composite'\n }\n\n if (isCompositeProp) {\n if (!hasCompositeValues) {\n return undefined\n }\n\n if (this.needCascade(decl)) {\n compositeDecl.raws.before = this.calcBefore(prefixes, decl, prefix)\n }\n\n return decl.parent.insertBefore(decl, compositeDecl)\n }\n\n let cloned = this.clone(decl)\n cloned.prop = prefix + cloned.prop\n\n if (hasCompositeValues) {\n cloned.value = cloned.value.replace(MaskComposite.regexp, '')\n }\n\n if (this.needCascade(decl)) {\n cloned.raws.before = this.calcBefore(prefixes, decl, prefix)\n }\n\n decl.parent.insertBefore(decl, cloned)\n\n if (!hasCompositeValues) {\n return decl\n }\n\n if (this.needCascade(decl)) {\n compositeDecl.raws.before = this.calcBefore(prefixes, decl, prefix)\n }\n return decl.parent.insertBefore(decl, compositeDecl)\n }\n}\n\nMaskComposite.names = ['mask', 'mask-composite']\n\nMaskComposite.oldValues = {\n add: 'source-over',\n exclude: 'xor',\n intersect: 'source-in',\n subtract: 'source-out'\n}\n\nMaskComposite.regexp = new RegExp(\n `\\\\s+(${Object.keys(MaskComposite.oldValues).join(\n '|'\n )})\\\\b(?!\\\\))\\\\s*(?=[,])`,\n 'ig'\n)\n\nmodule.exports = MaskComposite\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/mask-composite.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/order.js": -/*!******************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/order.js ***! - \******************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let flexSpec = __webpack_require__(/*! ./flex-spec */ \"./node_modules/autoprefixer/lib/hacks/flex-spec.js\")\nlet Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass Order extends Declaration {\n /**\n * Return property name by final spec\n */\n normalize() {\n return 'order'\n }\n\n /**\n * Change property name for 2009 and 2012 specs\n */\n prefixed(prop, prefix) {\n let spec\n ;[spec, prefix] = flexSpec(prefix)\n if (spec === 2009) {\n return prefix + 'box-ordinal-group'\n }\n if (spec === 2012) {\n return prefix + 'flex-order'\n }\n return super.prefixed(prop, prefix)\n }\n\n /**\n * Fix value for 2009 spec\n */\n set(decl, prefix) {\n let spec = flexSpec(prefix)[0]\n if (spec === 2009 && /\\d/.test(decl.value)) {\n decl.value = (parseInt(decl.value) + 1).toString()\n return super.set(decl, prefix)\n }\n return super.set(decl, prefix)\n }\n}\n\nOrder.names = ['order', 'flex-order', 'box-ordinal-group']\n\nmodule.exports = Order\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/order.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/overscroll-behavior.js": -/*!********************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/overscroll-behavior.js ***! - \********************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass OverscrollBehavior extends Declaration {\n /**\n * Return property name by spec\n */\n normalize() {\n return 'overscroll-behavior'\n }\n\n /**\n * Change property name for IE\n */\n prefixed(prop, prefix) {\n return prefix + 'scroll-chaining'\n }\n\n /**\n * Change value for IE\n */\n set(decl, prefix) {\n if (decl.value === 'auto') {\n decl.value = 'chained'\n } else if (decl.value === 'none' || decl.value === 'contain') {\n decl.value = 'none'\n }\n return super.set(decl, prefix)\n }\n}\n\nOverscrollBehavior.names = ['overscroll-behavior', 'scroll-chaining']\n\nmodule.exports = OverscrollBehavior\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/overscroll-behavior.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/pixelated.js": -/*!**********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/pixelated.js ***! - \**********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let OldValue = __webpack_require__(/*! ../old-value */ \"./node_modules/autoprefixer/lib/old-value.js\")\nlet Value = __webpack_require__(/*! ../value */ \"./node_modules/autoprefixer/lib/value.js\")\n\nclass Pixelated extends Value {\n /**\n * Different name for WebKit and Firefox\n */\n old(prefix) {\n if (prefix === '-webkit-') {\n return new OldValue(this.name, '-webkit-optimize-contrast')\n }\n if (prefix === '-moz-') {\n return new OldValue(this.name, '-moz-crisp-edges')\n }\n return super.old(prefix)\n }\n\n /**\n * Use non-standard name for WebKit and Firefox\n */\n replace(string, prefix) {\n if (prefix === '-webkit-') {\n return string.replace(this.regexp(), '$1-webkit-optimize-contrast')\n }\n if (prefix === '-moz-') {\n return string.replace(this.regexp(), '$1-moz-crisp-edges')\n }\n return super.replace(string, prefix)\n }\n}\n\nPixelated.names = ['pixelated']\n\nmodule.exports = Pixelated\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/pixelated.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/place-self.js": -/*!***********************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/place-self.js ***! - \***********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\nlet utils = __webpack_require__(/*! ./grid-utils */ \"./node_modules/autoprefixer/lib/hacks/grid-utils.js\")\n\nclass PlaceSelf extends Declaration {\n /**\n * Translate place-self to separate -ms- prefixed properties\n */\n insert(decl, prefix, prefixes) {\n if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes)\n\n // prevent doubling of prefixes\n if (decl.parent.some(i => i.prop === '-ms-grid-row-align')) {\n return undefined\n }\n\n let [[first, second]] = utils.parse(decl)\n\n if (second) {\n utils.insertDecl(decl, 'grid-row-align', first)\n utils.insertDecl(decl, 'grid-column-align', second)\n } else {\n utils.insertDecl(decl, 'grid-row-align', first)\n utils.insertDecl(decl, 'grid-column-align', first)\n }\n\n return undefined\n }\n}\n\nPlaceSelf.names = ['place-self']\n\nmodule.exports = PlaceSelf\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/place-self.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/placeholder-shown.js": -/*!******************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/placeholder-shown.js ***! - \******************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Selector = __webpack_require__(/*! ../selector */ \"./node_modules/autoprefixer/lib/selector.js\")\n\nclass PlaceholderShown extends Selector {\n /**\n * Return different selectors depend on prefix\n */\n prefixed(prefix) {\n if (prefix === '-ms-') {\n return ':-ms-input-placeholder'\n }\n return `:${prefix}placeholder-shown`\n }\n}\n\nPlaceholderShown.names = [':placeholder-shown']\n\nmodule.exports = PlaceholderShown\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/placeholder-shown.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/placeholder.js": -/*!************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/placeholder.js ***! - \************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Selector = __webpack_require__(/*! ../selector */ \"./node_modules/autoprefixer/lib/selector.js\")\n\nclass Placeholder extends Selector {\n /**\n * Add old mozilla to possible prefixes\n */\n possible() {\n return super.possible().concat(['-moz- old', '-ms- old'])\n }\n\n /**\n * Return different selectors depend on prefix\n */\n prefixed(prefix) {\n if (prefix === '-webkit-') {\n return '::-webkit-input-placeholder'\n }\n if (prefix === '-ms-') {\n return '::-ms-input-placeholder'\n }\n if (prefix === '-ms- old') {\n return ':-ms-input-placeholder'\n }\n if (prefix === '-moz- old') {\n return ':-moz-placeholder'\n }\n return `::${prefix}placeholder`\n }\n}\n\nPlaceholder.names = ['::placeholder']\n\nmodule.exports = Placeholder\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/placeholder.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/print-color-adjust.js": -/*!*******************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/print-color-adjust.js ***! - \*******************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass PrintColorAdjust extends Declaration {\n /**\n * Return property name by spec\n */\n normalize() {\n return 'print-color-adjust'\n }\n\n /**\n * Change property name for WebKit-based browsers\n */\n prefixed(prop, prefix) {\n if (prefix === '-moz-') {\n return 'color-adjust'\n } else {\n return prefix + 'print-color-adjust'\n }\n }\n}\n\nPrintColorAdjust.names = ['print-color-adjust', 'color-adjust']\n\nmodule.exports = PrintColorAdjust\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/print-color-adjust.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/text-decoration-skip-ink.js": -/*!*************************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/text-decoration-skip-ink.js ***! - \*************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass TextDecorationSkipInk extends Declaration {\n /**\n * Change prefix for ink value\n */\n set(decl, prefix) {\n if (decl.prop === 'text-decoration-skip-ink' && decl.value === 'auto') {\n decl.prop = prefix + 'text-decoration-skip'\n decl.value = 'ink'\n return decl\n } else {\n return super.set(decl, prefix)\n }\n }\n}\n\nTextDecorationSkipInk.names = [\n 'text-decoration-skip-ink',\n 'text-decoration-skip'\n]\n\nmodule.exports = TextDecorationSkipInk\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/text-decoration-skip-ink.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/text-decoration.js": -/*!****************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/text-decoration.js ***! - \****************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nconst BASIC = [\n 'none',\n 'underline',\n 'overline',\n 'line-through',\n 'blink',\n 'inherit',\n 'initial',\n 'unset'\n]\n\nclass TextDecoration extends Declaration {\n /**\n * Do not add prefixes for basic values.\n */\n check(decl) {\n return decl.value.split(/\\s+/).some(i => !BASIC.includes(i))\n }\n}\n\nTextDecoration.names = ['text-decoration']\n\nmodule.exports = TextDecoration\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/text-decoration.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/text-emphasis-position.js": -/*!***********************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/text-emphasis-position.js ***! - \***********************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass TextEmphasisPosition extends Declaration {\n set(decl, prefix) {\n if (prefix === '-webkit-') {\n decl.value = decl.value.replace(/\\s*(right|left)\\s*/i, '')\n }\n return super.set(decl, prefix)\n }\n}\n\nTextEmphasisPosition.names = ['text-emphasis-position']\n\nmodule.exports = TextEmphasisPosition\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/text-emphasis-position.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/transform-decl.js": -/*!***************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/transform-decl.js ***! - \***************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass TransformDecl extends Declaration {\n /**\n * Is transform contain 3D commands\n */\n contain3d(decl) {\n if (decl.prop === 'transform-origin') {\n return false\n }\n\n for (let func of TransformDecl.functions3d) {\n if (decl.value.includes(`${func}(`)) {\n return true\n }\n }\n\n return false\n }\n\n /**\n * Don't add prefix for IE in keyframes\n */\n insert(decl, prefix, prefixes) {\n if (prefix === '-ms-') {\n if (!this.contain3d(decl) && !this.keyframeParents(decl)) {\n return super.insert(decl, prefix, prefixes)\n }\n } else if (prefix === '-o-') {\n if (!this.contain3d(decl)) {\n return super.insert(decl, prefix, prefixes)\n }\n } else {\n return super.insert(decl, prefix, prefixes)\n }\n return undefined\n }\n\n /**\n * Recursively check all parents for @keyframes\n */\n keyframeParents(decl) {\n let { parent } = decl\n while (parent) {\n if (parent.type === 'atrule' && parent.name === 'keyframes') {\n return true\n }\n ;({ parent } = parent)\n }\n return false\n }\n\n /**\n * Replace rotateZ to rotate for IE 9\n */\n set(decl, prefix) {\n decl = super.set(decl, prefix)\n if (prefix === '-ms-') {\n decl.value = decl.value.replace(/rotatez/gi, 'rotate')\n }\n return decl\n }\n}\n\nTransformDecl.names = ['transform', 'transform-origin']\n\nTransformDecl.functions3d = [\n 'matrix3d',\n 'translate3d',\n 'translateZ',\n 'scale3d',\n 'scaleZ',\n 'rotate3d',\n 'rotateX',\n 'rotateY',\n 'perspective'\n]\n\nmodule.exports = TransformDecl\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/transform-decl.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/user-select.js": -/*!************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/user-select.js ***! - \************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass UserSelect extends Declaration {\n /**\n * Avoid prefixing all in IE\n */\n insert(decl, prefix, prefixes) {\n if (decl.value === 'all' && prefix === '-ms-') {\n return undefined\n } else {\n return super.insert(decl, prefix, prefixes)\n }\n }\n\n /**\n * Change prefixed value for IE\n */\n set(decl, prefix) {\n if (prefix === '-ms-' && decl.value === 'contain') {\n decl.value = 'element'\n }\n return super.set(decl, prefix)\n }\n}\n\nUserSelect.names = ['user-select']\n\nmodule.exports = UserSelect\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/user-select.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/hacks/writing-mode.js": -/*!*************************************************************!*\ - !*** ./node_modules/autoprefixer/lib/hacks/writing-mode.js ***! - \*************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Declaration = __webpack_require__(/*! ../declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\n\nclass WritingMode extends Declaration {\n insert(decl, prefix, prefixes) {\n if (prefix === '-ms-') {\n let cloned = this.set(this.clone(decl), prefix)\n\n if (this.needCascade(decl)) {\n cloned.raws.before = this.calcBefore(prefixes, decl, prefix)\n }\n let direction = 'ltr'\n\n decl.parent.nodes.forEach(i => {\n if (i.prop === 'direction') {\n if (i.value === 'rtl' || i.value === 'ltr') direction = i.value\n }\n })\n\n cloned.value = WritingMode.msValues[direction][decl.value] || decl.value\n return decl.parent.insertBefore(decl, cloned)\n }\n\n return super.insert(decl, prefix, prefixes)\n }\n}\n\nWritingMode.names = ['writing-mode']\n\nWritingMode.msValues = {\n ltr: {\n 'horizontal-tb': 'lr-tb',\n 'vertical-lr': 'tb-lr',\n 'vertical-rl': 'tb-rl'\n },\n rtl: {\n 'horizontal-tb': 'rl-tb',\n 'vertical-lr': 'bt-lr',\n 'vertical-rl': 'bt-rl'\n }\n}\n\nmodule.exports = WritingMode\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/hacks/writing-mode.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/info.js": -/*!***********************************************!*\ - !*** ./node_modules/autoprefixer/lib/info.js ***! - \***********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let browserslist = __webpack_require__(/*! browserslist */ \"./node_modules/browserslist/index.js\")\n\nfunction capitalize(str) {\n return str.slice(0, 1).toUpperCase() + str.slice(1)\n}\n\nconst NAMES = {\n and_chr: 'Chrome for Android',\n and_ff: 'Firefox for Android',\n and_qq: 'QQ Browser',\n and_uc: 'UC for Android',\n baidu: 'Baidu Browser',\n ie: 'IE',\n ie_mob: 'IE Mobile',\n ios_saf: 'iOS Safari',\n kaios: 'KaiOS Browser',\n op_mini: 'Opera Mini',\n op_mob: 'Opera Mobile',\n samsung: 'Samsung Internet'\n}\n\nfunction prefix(name, prefixes, note) {\n let out = ` ${name}`\n if (note) out += ' *'\n out += ': '\n out += prefixes.map(i => i.replace(/^-(.*)-$/g, '$1')).join(', ')\n out += '\\n'\n return out\n}\n\nmodule.exports = function (prefixes) {\n if (prefixes.browsers.selected.length === 0) {\n return 'No browsers selected'\n }\n\n let versions = {}\n for (let browser of prefixes.browsers.selected) {\n let parts = browser.split(' ')\n let name = parts[0]\n let version = parts[1]\n\n name = NAMES[name] || capitalize(name)\n if (versions[name]) {\n versions[name].push(version)\n } else {\n versions[name] = [version]\n }\n }\n\n let out = 'Browsers:\\n'\n for (let browser in versions) {\n let list = versions[browser]\n list = list.sort((a, b) => parseFloat(b) - parseFloat(a))\n out += ` ${browser}: ${list.join(', ')}\\n`\n }\n\n let coverage = browserslist.coverage(prefixes.browsers.selected)\n let round = Math.round(coverage * 100) / 100.0\n out += `\\nThese browsers account for ${round}% of all users globally\\n`\n\n let atrules = []\n for (let name in prefixes.add) {\n let data = prefixes.add[name]\n if (name[0] === '@' && data.prefixes) {\n atrules.push(prefix(name, data.prefixes))\n }\n }\n if (atrules.length > 0) {\n out += `\\nAt-Rules:\\n${atrules.sort().join('')}`\n }\n\n let selectors = []\n for (let selector of prefixes.add.selectors) {\n if (selector.prefixes) {\n selectors.push(prefix(selector.name, selector.prefixes))\n }\n }\n if (selectors.length > 0) {\n out += `\\nSelectors:\\n${selectors.sort().join('')}`\n }\n\n let values = []\n let props = []\n let hadGrid = false\n for (let name in prefixes.add) {\n let data = prefixes.add[name]\n if (name[0] !== '@' && data.prefixes) {\n let grid = name.indexOf('grid-') === 0\n if (grid) hadGrid = true\n props.push(prefix(name, data.prefixes, grid))\n }\n\n if (!Array.isArray(data.values)) {\n continue\n }\n for (let value of data.values) {\n let grid = value.name.includes('grid')\n if (grid) hadGrid = true\n let string = prefix(value.name, value.prefixes, grid)\n if (!values.includes(string)) {\n values.push(string)\n }\n }\n }\n\n if (props.length > 0) {\n out += `\\nProperties:\\n${props.sort().join('')}`\n }\n if (values.length > 0) {\n out += `\\nValues:\\n${values.sort().join('')}`\n }\n if (hadGrid) {\n out += '\\n* - Prefixes will be added only on grid: true option.\\n'\n }\n\n if (!atrules.length && !selectors.length && !props.length && !values.length) {\n out +=\n \"\\nAwesome! Your browsers don't require any vendor prefixes.\" +\n '\\nNow you can remove Autoprefixer from build steps.'\n }\n\n return out\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/info.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/old-selector.js": -/*!*******************************************************!*\ - !*** ./node_modules/autoprefixer/lib/old-selector.js ***! - \*******************************************************/ -/***/ ((module) => { - -eval("class OldSelector {\n constructor(selector, prefix) {\n this.prefix = prefix\n this.prefixed = selector.prefixed(this.prefix)\n this.regexp = selector.regexp(this.prefix)\n\n this.prefixeds = selector\n .possible()\n .map(x => [selector.prefixed(x), selector.regexp(x)])\n\n this.unprefixed = selector.name\n this.nameRegexp = selector.regexp()\n }\n\n /**\n * Does rule contain an unnecessary prefixed selector\n */\n check(rule) {\n if (!rule.selector.includes(this.prefixed)) {\n return false\n }\n if (!rule.selector.match(this.regexp)) {\n return false\n }\n if (this.isHack(rule)) {\n return false\n }\n return true\n }\n\n /**\n * Is rule a hack without unprefixed version bottom\n */\n isHack(rule) {\n let index = rule.parent.index(rule) + 1\n let rules = rule.parent.nodes\n\n while (index < rules.length) {\n let before = rules[index].selector\n if (!before) {\n return true\n }\n\n if (before.includes(this.unprefixed) && before.match(this.nameRegexp)) {\n return false\n }\n\n let some = false\n for (let [string, regexp] of this.prefixeds) {\n if (before.includes(string) && before.match(regexp)) {\n some = true\n break\n }\n }\n\n if (!some) {\n return true\n }\n\n index += 1\n }\n\n return true\n }\n}\n\nmodule.exports = OldSelector\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/old-selector.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/old-value.js": -/*!****************************************************!*\ - !*** ./node_modules/autoprefixer/lib/old-value.js ***! - \****************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let utils = __webpack_require__(/*! ./utils */ \"./node_modules/autoprefixer/lib/utils.js\")\n\nclass OldValue {\n constructor(unprefixed, prefixed, string, regexp) {\n this.unprefixed = unprefixed\n this.prefixed = prefixed\n this.string = string || prefixed\n this.regexp = regexp || utils.regexp(prefixed)\n }\n\n /**\n * Check, that value contain old value\n */\n check(value) {\n if (value.includes(this.string)) {\n return !!value.match(this.regexp)\n }\n return false\n }\n}\n\nmodule.exports = OldValue\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/old-value.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/prefixer.js": -/*!***************************************************!*\ - !*** ./node_modules/autoprefixer/lib/prefixer.js ***! - \***************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Browsers = __webpack_require__(/*! ./browsers */ \"./node_modules/autoprefixer/lib/browsers.js\")\nlet vendor = __webpack_require__(/*! ./vendor */ \"./node_modules/autoprefixer/lib/vendor.js\")\nlet utils = __webpack_require__(/*! ./utils */ \"./node_modules/autoprefixer/lib/utils.js\")\n\n/**\n * Recursively clone objects\n */\nfunction clone(obj, parent) {\n let cloned = new obj.constructor()\n\n for (let i of Object.keys(obj || {})) {\n let value = obj[i]\n if (i === 'parent' && typeof value === 'object') {\n if (parent) {\n cloned[i] = parent\n }\n } else if (i === 'source' || i === null) {\n cloned[i] = value\n } else if (Array.isArray(value)) {\n cloned[i] = value.map(x => clone(x, cloned))\n } else if (\n i !== '_autoprefixerPrefix' &&\n i !== '_autoprefixerValues' &&\n i !== 'proxyCache'\n ) {\n if (typeof value === 'object' && value !== null) {\n value = clone(value, cloned)\n }\n cloned[i] = value\n }\n }\n\n return cloned\n}\n\nclass Prefixer {\n constructor(name, prefixes, all) {\n this.prefixes = prefixes\n this.name = name\n this.all = all\n }\n\n /**\n * Clone node and clean autprefixer custom caches\n */\n static clone(node, overrides) {\n let cloned = clone(node)\n for (let name in overrides) {\n cloned[name] = overrides[name]\n }\n return cloned\n }\n\n /**\n * Add hack to selected names\n */\n static hack(klass) {\n if (!this.hacks) {\n this.hacks = {}\n }\n return klass.names.map(name => {\n this.hacks[name] = klass\n return this.hacks[name]\n })\n }\n\n /**\n * Load hacks for some names\n */\n static load(name, prefixes, all) {\n let Klass = this.hacks && this.hacks[name]\n if (Klass) {\n return new Klass(name, prefixes, all)\n } else {\n return new this(name, prefixes, all)\n }\n }\n\n /**\n * Shortcut for Prefixer.clone\n */\n clone(node, overrides) {\n return Prefixer.clone(node, overrides)\n }\n\n /**\n * Find prefix in node parents\n */\n parentPrefix(node) {\n let prefix\n\n if (typeof node._autoprefixerPrefix !== 'undefined') {\n prefix = node._autoprefixerPrefix\n } else if (node.type === 'decl' && node.prop[0] === '-') {\n prefix = vendor.prefix(node.prop)\n } else if (node.type === 'root') {\n prefix = false\n } else if (\n node.type === 'rule' &&\n node.selector.includes(':-') &&\n /:(-\\w+-)/.test(node.selector)\n ) {\n prefix = node.selector.match(/:(-\\w+-)/)[1]\n } else if (node.type === 'atrule' && node.name[0] === '-') {\n prefix = vendor.prefix(node.name)\n } else {\n prefix = this.parentPrefix(node.parent)\n }\n\n if (!Browsers.prefixes().includes(prefix)) {\n prefix = false\n }\n\n node._autoprefixerPrefix = prefix\n\n return node._autoprefixerPrefix\n }\n\n /**\n * Clone node with prefixes\n */\n process(node, result) {\n if (!this.check(node)) {\n return undefined\n }\n\n let parent = this.parentPrefix(node)\n\n let prefixes = this.prefixes.filter(\n prefix => !parent || parent === utils.removeNote(prefix)\n )\n\n let added = []\n for (let prefix of prefixes) {\n if (this.add(node, prefix, added.concat([prefix]), result)) {\n added.push(prefix)\n }\n }\n\n return added\n }\n}\n\nmodule.exports = Prefixer\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/prefixer.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/prefixes.js": -/*!***************************************************!*\ - !*** ./node_modules/autoprefixer/lib/prefixes.js ***! - \***************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let vendor = __webpack_require__(/*! ./vendor */ \"./node_modules/autoprefixer/lib/vendor.js\")\nlet Declaration = __webpack_require__(/*! ./declaration */ \"./node_modules/autoprefixer/lib/declaration.js\")\nlet Resolution = __webpack_require__(/*! ./resolution */ \"./node_modules/autoprefixer/lib/resolution.js\")\nlet Transition = __webpack_require__(/*! ./transition */ \"./node_modules/autoprefixer/lib/transition.js\")\nlet Processor = __webpack_require__(/*! ./processor */ \"./node_modules/autoprefixer/lib/processor.js\")\nlet Supports = __webpack_require__(/*! ./supports */ \"./node_modules/autoprefixer/lib/supports.js\")\nlet Browsers = __webpack_require__(/*! ./browsers */ \"./node_modules/autoprefixer/lib/browsers.js\")\nlet Selector = __webpack_require__(/*! ./selector */ \"./node_modules/autoprefixer/lib/selector.js\")\nlet AtRule = __webpack_require__(/*! ./at-rule */ \"./node_modules/autoprefixer/lib/at-rule.js\")\nlet Value = __webpack_require__(/*! ./value */ \"./node_modules/autoprefixer/lib/value.js\")\nlet utils = __webpack_require__(/*! ./utils */ \"./node_modules/autoprefixer/lib/utils.js\")\nlet hackFullscreen = __webpack_require__(/*! ./hacks/fullscreen */ \"./node_modules/autoprefixer/lib/hacks/fullscreen.js\")\nlet hackPlaceholder = __webpack_require__(/*! ./hacks/placeholder */ \"./node_modules/autoprefixer/lib/hacks/placeholder.js\")\nlet hackPlaceholderShown = __webpack_require__(/*! ./hacks/placeholder-shown */ \"./node_modules/autoprefixer/lib/hacks/placeholder-shown.js\")\nlet hackFileSelectorButton = __webpack_require__(/*! ./hacks/file-selector-button */ \"./node_modules/autoprefixer/lib/hacks/file-selector-button.js\")\nlet hackFlex = __webpack_require__(/*! ./hacks/flex */ \"./node_modules/autoprefixer/lib/hacks/flex.js\")\nlet hackOrder = __webpack_require__(/*! ./hacks/order */ \"./node_modules/autoprefixer/lib/hacks/order.js\")\nlet hackFilter = __webpack_require__(/*! ./hacks/filter */ \"./node_modules/autoprefixer/lib/hacks/filter.js\")\nlet hackGridEnd = __webpack_require__(/*! ./hacks/grid-end */ \"./node_modules/autoprefixer/lib/hacks/grid-end.js\")\nlet hackAnimation = __webpack_require__(/*! ./hacks/animation */ \"./node_modules/autoprefixer/lib/hacks/animation.js\")\nlet hackFlexFlow = __webpack_require__(/*! ./hacks/flex-flow */ \"./node_modules/autoprefixer/lib/hacks/flex-flow.js\")\nlet hackFlexGrow = __webpack_require__(/*! ./hacks/flex-grow */ \"./node_modules/autoprefixer/lib/hacks/flex-grow.js\")\nlet hackFlexWrap = __webpack_require__(/*! ./hacks/flex-wrap */ \"./node_modules/autoprefixer/lib/hacks/flex-wrap.js\")\nlet hackGridArea = __webpack_require__(/*! ./hacks/grid-area */ \"./node_modules/autoprefixer/lib/hacks/grid-area.js\")\nlet hackPlaceSelf = __webpack_require__(/*! ./hacks/place-self */ \"./node_modules/autoprefixer/lib/hacks/place-self.js\")\nlet hackGridStart = __webpack_require__(/*! ./hacks/grid-start */ \"./node_modules/autoprefixer/lib/hacks/grid-start.js\")\nlet hackAlignSelf = __webpack_require__(/*! ./hacks/align-self */ \"./node_modules/autoprefixer/lib/hacks/align-self.js\")\nlet hackAppearance = __webpack_require__(/*! ./hacks/appearance */ \"./node_modules/autoprefixer/lib/hacks/appearance.js\")\nlet hackFlexBasis = __webpack_require__(/*! ./hacks/flex-basis */ \"./node_modules/autoprefixer/lib/hacks/flex-basis.js\")\nlet hackMaskBorder = __webpack_require__(/*! ./hacks/mask-border */ \"./node_modules/autoprefixer/lib/hacks/mask-border.js\")\nlet hackMaskComposite = __webpack_require__(/*! ./hacks/mask-composite */ \"./node_modules/autoprefixer/lib/hacks/mask-composite.js\")\nlet hackAlignItems = __webpack_require__(/*! ./hacks/align-items */ \"./node_modules/autoprefixer/lib/hacks/align-items.js\")\nlet hackUserSelect = __webpack_require__(/*! ./hacks/user-select */ \"./node_modules/autoprefixer/lib/hacks/user-select.js\")\nlet hackFlexShrink = __webpack_require__(/*! ./hacks/flex-shrink */ \"./node_modules/autoprefixer/lib/hacks/flex-shrink.js\")\nlet hackBreakProps = __webpack_require__(/*! ./hacks/break-props */ \"./node_modules/autoprefixer/lib/hacks/break-props.js\")\nlet hackWritingMode = __webpack_require__(/*! ./hacks/writing-mode */ \"./node_modules/autoprefixer/lib/hacks/writing-mode.js\")\nlet hackBorderImage = __webpack_require__(/*! ./hacks/border-image */ \"./node_modules/autoprefixer/lib/hacks/border-image.js\")\nlet hackAlignContent = __webpack_require__(/*! ./hacks/align-content */ \"./node_modules/autoprefixer/lib/hacks/align-content.js\")\nlet hackBorderRadius = __webpack_require__(/*! ./hacks/border-radius */ \"./node_modules/autoprefixer/lib/hacks/border-radius.js\")\nlet hackBlockLogical = __webpack_require__(/*! ./hacks/block-logical */ \"./node_modules/autoprefixer/lib/hacks/block-logical.js\")\nlet hackGridTemplate = __webpack_require__(/*! ./hacks/grid-template */ \"./node_modules/autoprefixer/lib/hacks/grid-template.js\")\nlet hackInlineLogical = __webpack_require__(/*! ./hacks/inline-logical */ \"./node_modules/autoprefixer/lib/hacks/inline-logical.js\")\nlet hackGridRowAlign = __webpack_require__(/*! ./hacks/grid-row-align */ \"./node_modules/autoprefixer/lib/hacks/grid-row-align.js\")\nlet hackTransformDecl = __webpack_require__(/*! ./hacks/transform-decl */ \"./node_modules/autoprefixer/lib/hacks/transform-decl.js\")\nlet hackFlexDirection = __webpack_require__(/*! ./hacks/flex-direction */ \"./node_modules/autoprefixer/lib/hacks/flex-direction.js\")\nlet hackImageRendering = __webpack_require__(/*! ./hacks/image-rendering */ \"./node_modules/autoprefixer/lib/hacks/image-rendering.js\")\nlet hackBackdropFilter = __webpack_require__(/*! ./hacks/backdrop-filter */ \"./node_modules/autoprefixer/lib/hacks/backdrop-filter.js\")\nlet hackBackgroundClip = __webpack_require__(/*! ./hacks/background-clip */ \"./node_modules/autoprefixer/lib/hacks/background-clip.js\")\nlet hackTextDecoration = __webpack_require__(/*! ./hacks/text-decoration */ \"./node_modules/autoprefixer/lib/hacks/text-decoration.js\")\nlet hackJustifyContent = __webpack_require__(/*! ./hacks/justify-content */ \"./node_modules/autoprefixer/lib/hacks/justify-content.js\")\nlet hackBackgroundSize = __webpack_require__(/*! ./hacks/background-size */ \"./node_modules/autoprefixer/lib/hacks/background-size.js\")\nlet hackGridRowColumn = __webpack_require__(/*! ./hacks/grid-row-column */ \"./node_modules/autoprefixer/lib/hacks/grid-row-column.js\")\nlet hackGridRowsColumns = __webpack_require__(/*! ./hacks/grid-rows-columns */ \"./node_modules/autoprefixer/lib/hacks/grid-rows-columns.js\")\nlet hackGridColumnAlign = __webpack_require__(/*! ./hacks/grid-column-align */ \"./node_modules/autoprefixer/lib/hacks/grid-column-align.js\")\nlet hackPrintColorAdjust = __webpack_require__(/*! ./hacks/print-color-adjust */ \"./node_modules/autoprefixer/lib/hacks/print-color-adjust.js\")\nlet hackOverscrollBehavior = __webpack_require__(/*! ./hacks/overscroll-behavior */ \"./node_modules/autoprefixer/lib/hacks/overscroll-behavior.js\")\nlet hackGridTemplateAreas = __webpack_require__(/*! ./hacks/grid-template-areas */ \"./node_modules/autoprefixer/lib/hacks/grid-template-areas.js\")\nlet hackTextEmphasisPosition = __webpack_require__(/*! ./hacks/text-emphasis-position */ \"./node_modules/autoprefixer/lib/hacks/text-emphasis-position.js\")\nlet hackTextDecorationSkipInk = __webpack_require__(/*! ./hacks/text-decoration-skip-ink */ \"./node_modules/autoprefixer/lib/hacks/text-decoration-skip-ink.js\")\nlet hackGradient = __webpack_require__(/*! ./hacks/gradient */ \"./node_modules/autoprefixer/lib/hacks/gradient.js\")\nlet hackIntrinsic = __webpack_require__(/*! ./hacks/intrinsic */ \"./node_modules/autoprefixer/lib/hacks/intrinsic.js\")\nlet hackPixelated = __webpack_require__(/*! ./hacks/pixelated */ \"./node_modules/autoprefixer/lib/hacks/pixelated.js\")\nlet hackImageSet = __webpack_require__(/*! ./hacks/image-set */ \"./node_modules/autoprefixer/lib/hacks/image-set.js\")\nlet hackCrossFade = __webpack_require__(/*! ./hacks/cross-fade */ \"./node_modules/autoprefixer/lib/hacks/cross-fade.js\")\nlet hackDisplayFlex = __webpack_require__(/*! ./hacks/display-flex */ \"./node_modules/autoprefixer/lib/hacks/display-flex.js\")\nlet hackDisplayGrid = __webpack_require__(/*! ./hacks/display-grid */ \"./node_modules/autoprefixer/lib/hacks/display-grid.js\")\nlet hackFilterValue = __webpack_require__(/*! ./hacks/filter-value */ \"./node_modules/autoprefixer/lib/hacks/filter-value.js\")\nlet hackAutofill = __webpack_require__(/*! ./hacks/autofill */ \"./node_modules/autoprefixer/lib/hacks/autofill.js\")\n\nSelector.hack(hackAutofill)\nSelector.hack(hackFullscreen)\nSelector.hack(hackPlaceholder)\nSelector.hack(hackPlaceholderShown)\nSelector.hack(hackFileSelectorButton)\nDeclaration.hack(hackFlex)\nDeclaration.hack(hackOrder)\nDeclaration.hack(hackFilter)\nDeclaration.hack(hackGridEnd)\nDeclaration.hack(hackAnimation)\nDeclaration.hack(hackFlexFlow)\nDeclaration.hack(hackFlexGrow)\nDeclaration.hack(hackFlexWrap)\nDeclaration.hack(hackGridArea)\nDeclaration.hack(hackPlaceSelf)\nDeclaration.hack(hackGridStart)\nDeclaration.hack(hackAlignSelf)\nDeclaration.hack(hackAppearance)\nDeclaration.hack(hackFlexBasis)\nDeclaration.hack(hackMaskBorder)\nDeclaration.hack(hackMaskComposite)\nDeclaration.hack(hackAlignItems)\nDeclaration.hack(hackUserSelect)\nDeclaration.hack(hackFlexShrink)\nDeclaration.hack(hackBreakProps)\nDeclaration.hack(hackWritingMode)\nDeclaration.hack(hackBorderImage)\nDeclaration.hack(hackAlignContent)\nDeclaration.hack(hackBorderRadius)\nDeclaration.hack(hackBlockLogical)\nDeclaration.hack(hackGridTemplate)\nDeclaration.hack(hackInlineLogical)\nDeclaration.hack(hackGridRowAlign)\nDeclaration.hack(hackTransformDecl)\nDeclaration.hack(hackFlexDirection)\nDeclaration.hack(hackImageRendering)\nDeclaration.hack(hackBackdropFilter)\nDeclaration.hack(hackBackgroundClip)\nDeclaration.hack(hackTextDecoration)\nDeclaration.hack(hackJustifyContent)\nDeclaration.hack(hackBackgroundSize)\nDeclaration.hack(hackGridRowColumn)\nDeclaration.hack(hackGridRowsColumns)\nDeclaration.hack(hackGridColumnAlign)\nDeclaration.hack(hackOverscrollBehavior)\nDeclaration.hack(hackGridTemplateAreas)\nDeclaration.hack(hackPrintColorAdjust)\nDeclaration.hack(hackTextEmphasisPosition)\nDeclaration.hack(hackTextDecorationSkipInk)\nValue.hack(hackGradient)\nValue.hack(hackIntrinsic)\nValue.hack(hackPixelated)\nValue.hack(hackImageSet)\nValue.hack(hackCrossFade)\nValue.hack(hackDisplayFlex)\nValue.hack(hackDisplayGrid)\nValue.hack(hackFilterValue)\n\nlet declsCache = new Map()\n\nclass Prefixes {\n constructor(data, browsers, options = {}) {\n this.data = data\n this.browsers = browsers\n this.options = options\n ;[this.add, this.remove] = this.preprocess(this.select(this.data))\n this.transition = new Transition(this)\n this.processor = new Processor(this)\n }\n\n /**\n * Return clone instance to remove all prefixes\n */\n cleaner() {\n if (this.cleanerCache) {\n return this.cleanerCache\n }\n\n if (this.browsers.selected.length) {\n let empty = new Browsers(this.browsers.data, [])\n this.cleanerCache = new Prefixes(this.data, empty, this.options)\n } else {\n return this\n }\n\n return this.cleanerCache\n }\n\n /**\n * Declaration loader with caching\n */\n decl(prop) {\n if (!declsCache.has(prop)) {\n declsCache.set(prop, Declaration.load(prop))\n }\n\n return declsCache.get(prop)\n }\n\n /**\n * Group declaration by unprefixed property to check them\n */\n group(decl) {\n let rule = decl.parent\n let index = rule.index(decl)\n let { length } = rule.nodes\n let unprefixed = this.unprefixed(decl.prop)\n\n let checker = (step, callback) => {\n index += step\n while (index >= 0 && index < length) {\n let other = rule.nodes[index]\n if (other.type === 'decl') {\n if (step === -1 && other.prop === unprefixed) {\n if (!Browsers.withPrefix(other.value)) {\n break\n }\n }\n\n if (this.unprefixed(other.prop) !== unprefixed) {\n break\n } else if (callback(other) === true) {\n return true\n }\n\n if (step === +1 && other.prop === unprefixed) {\n if (!Browsers.withPrefix(other.value)) {\n break\n }\n }\n }\n\n index += step\n }\n return false\n }\n\n return {\n down(callback) {\n return checker(+1, callback)\n },\n up(callback) {\n return checker(-1, callback)\n }\n }\n }\n\n /**\n * Normalize prefix for remover\n */\n normalize(prop) {\n return this.decl(prop).normalize(prop)\n }\n\n /**\n * Return prefixed version of property\n */\n prefixed(prop, prefix) {\n prop = vendor.unprefixed(prop)\n return this.decl(prop).prefixed(prop, prefix)\n }\n\n /**\n * Cache prefixes data to fast CSS processing\n */\n preprocess(selected) {\n let add = {\n '@supports': new Supports(Prefixes, this),\n 'selectors': []\n }\n for (let name in selected.add) {\n let prefixes = selected.add[name]\n if (name === '@keyframes' || name === '@viewport') {\n add[name] = new AtRule(name, prefixes, this)\n } else if (name === '@resolution') {\n add[name] = new Resolution(name, prefixes, this)\n } else if (this.data[name].selector) {\n add.selectors.push(Selector.load(name, prefixes, this))\n } else {\n let props = this.data[name].props\n\n if (props) {\n let value = Value.load(name, prefixes, this)\n for (let prop of props) {\n if (!add[prop]) {\n add[prop] = { values: [] }\n }\n add[prop].values.push(value)\n }\n } else {\n let values = (add[name] && add[name].values) || []\n add[name] = Declaration.load(name, prefixes, this)\n add[name].values = values\n }\n }\n }\n\n let remove = { selectors: [] }\n for (let name in selected.remove) {\n let prefixes = selected.remove[name]\n if (this.data[name].selector) {\n let selector = Selector.load(name, prefixes)\n for (let prefix of prefixes) {\n remove.selectors.push(selector.old(prefix))\n }\n } else if (name === '@keyframes' || name === '@viewport') {\n for (let prefix of prefixes) {\n let prefixed = `@${prefix}${name.slice(1)}`\n remove[prefixed] = { remove: true }\n }\n } else if (name === '@resolution') {\n remove[name] = new Resolution(name, prefixes, this)\n } else {\n let props = this.data[name].props\n if (props) {\n let value = Value.load(name, [], this)\n for (let prefix of prefixes) {\n let old = value.old(prefix)\n if (old) {\n for (let prop of props) {\n if (!remove[prop]) {\n remove[prop] = {}\n }\n if (!remove[prop].values) {\n remove[prop].values = []\n }\n remove[prop].values.push(old)\n }\n }\n }\n } else {\n for (let p of prefixes) {\n let olds = this.decl(name).old(name, p)\n if (name === 'align-self') {\n let a = add[name] && add[name].prefixes\n if (a) {\n if (p === '-webkit- 2009' && a.includes('-webkit-')) {\n continue\n } else if (p === '-webkit-' && a.includes('-webkit- 2009')) {\n continue\n }\n }\n }\n for (let prefixed of olds) {\n if (!remove[prefixed]) {\n remove[prefixed] = {}\n }\n remove[prefixed].remove = true\n }\n }\n }\n }\n }\n\n return [add, remove]\n }\n\n /**\n * Select prefixes from data, which is necessary for selected browsers\n */\n select(list) {\n let selected = { add: {}, remove: {} }\n\n for (let name in list) {\n let data = list[name]\n let add = data.browsers.map(i => {\n let params = i.split(' ')\n return {\n browser: `${params[0]} ${params[1]}`,\n note: params[2]\n }\n })\n\n let notes = add\n .filter(i => i.note)\n .map(i => `${this.browsers.prefix(i.browser)} ${i.note}`)\n notes = utils.uniq(notes)\n\n add = add\n .filter(i => this.browsers.isSelected(i.browser))\n .map(i => {\n let prefix = this.browsers.prefix(i.browser)\n if (i.note) {\n return `${prefix} ${i.note}`\n } else {\n return prefix\n }\n })\n add = this.sort(utils.uniq(add))\n\n if (this.options.flexbox === 'no-2009') {\n add = add.filter(i => !i.includes('2009'))\n }\n\n let all = data.browsers.map(i => this.browsers.prefix(i))\n if (data.mistakes) {\n all = all.concat(data.mistakes)\n }\n all = all.concat(notes)\n all = utils.uniq(all)\n\n if (add.length) {\n selected.add[name] = add\n if (add.length < all.length) {\n selected.remove[name] = all.filter(i => !add.includes(i))\n }\n } else {\n selected.remove[name] = all\n }\n }\n\n return selected\n }\n\n /**\n * Sort vendor prefixes\n */\n sort(prefixes) {\n return prefixes.sort((a, b) => {\n let aLength = utils.removeNote(a).length\n let bLength = utils.removeNote(b).length\n\n if (aLength === bLength) {\n return b.length - a.length\n } else {\n return bLength - aLength\n }\n })\n }\n\n /**\n * Return unprefixed version of property\n */\n unprefixed(prop) {\n let value = this.normalize(vendor.unprefixed(prop))\n if (value === 'flex-direction') {\n value = 'flex-flow'\n }\n return value\n }\n\n /**\n * Return values, which must be prefixed in selected property\n */\n values(type, prop) {\n let data = this[type]\n\n let global = data['*'] && data['*'].values\n let values = data[prop] && data[prop].values\n\n if (global && values) {\n return utils.uniq(global.concat(values))\n } else {\n return global || values || []\n }\n }\n}\n\nmodule.exports = Prefixes\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/prefixes.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/processor.js": -/*!****************************************************!*\ - !*** ./node_modules/autoprefixer/lib/processor.js ***! - \****************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let parser = __webpack_require__(/*! postcss-value-parser */ \"./node_modules/postcss-value-parser/lib/index.js\")\n\nlet Value = __webpack_require__(/*! ./value */ \"./node_modules/autoprefixer/lib/value.js\")\nlet insertAreas = (__webpack_require__(/*! ./hacks/grid-utils */ \"./node_modules/autoprefixer/lib/hacks/grid-utils.js\").insertAreas)\n\nconst OLD_LINEAR = /(^|[^-])linear-gradient\\(\\s*(top|left|right|bottom)/i\nconst OLD_RADIAL = /(^|[^-])radial-gradient\\(\\s*\\d+(\\w*|%)\\s+\\d+(\\w*|%)\\s*,/i\nconst IGNORE_NEXT = /(!\\s*)?autoprefixer:\\s*ignore\\s+next/i\nconst GRID_REGEX = /(!\\s*)?autoprefixer\\s*grid:\\s*(on|off|(no-)?autoplace)/i\n\nconst SIZES = [\n 'width',\n 'height',\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height',\n 'inline-size',\n 'min-inline-size',\n 'max-inline-size',\n 'block-size',\n 'min-block-size',\n 'max-block-size'\n]\n\nfunction hasGridTemplate(decl) {\n return decl.parent.some(\n i => i.prop === 'grid-template' || i.prop === 'grid-template-areas'\n )\n}\n\nfunction hasRowsAndColumns(decl) {\n let hasRows = decl.parent.some(i => i.prop === 'grid-template-rows')\n let hasColumns = decl.parent.some(i => i.prop === 'grid-template-columns')\n return hasRows && hasColumns\n}\n\nclass Processor {\n constructor(prefixes) {\n this.prefixes = prefixes\n }\n\n /**\n * Add necessary prefixes\n */\n add(css, result) {\n // At-rules\n let resolution = this.prefixes.add['@resolution']\n let keyframes = this.prefixes.add['@keyframes']\n let viewport = this.prefixes.add['@viewport']\n let supports = this.prefixes.add['@supports']\n\n css.walkAtRules(rule => {\n if (rule.name === 'keyframes') {\n if (!this.disabled(rule, result)) {\n return keyframes && keyframes.process(rule)\n }\n } else if (rule.name === 'viewport') {\n if (!this.disabled(rule, result)) {\n return viewport && viewport.process(rule)\n }\n } else if (rule.name === 'supports') {\n if (\n this.prefixes.options.supports !== false &&\n !this.disabled(rule, result)\n ) {\n return supports.process(rule)\n }\n } else if (rule.name === 'media' && rule.params.includes('-resolution')) {\n if (!this.disabled(rule, result)) {\n return resolution && resolution.process(rule)\n }\n }\n\n return undefined\n })\n\n // Selectors\n css.walkRules(rule => {\n if (this.disabled(rule, result)) return undefined\n\n return this.prefixes.add.selectors.map(selector => {\n return selector.process(rule, result)\n })\n })\n\n function insideGrid(decl) {\n return decl.parent.nodes.some(node => {\n if (node.type !== 'decl') return false\n let displayGrid =\n node.prop === 'display' && /(inline-)?grid/.test(node.value)\n let gridTemplate = node.prop.startsWith('grid-template')\n let gridGap = /^grid-([A-z]+-)?gap/.test(node.prop)\n return displayGrid || gridTemplate || gridGap\n })\n }\n function insideFlex(decl) {\n return decl.parent.some(node => {\n return node.prop === 'display' && /(inline-)?flex/.test(node.value)\n })\n }\n\n let gridPrefixes =\n this.gridStatus(css, result) &&\n this.prefixes.add['grid-area'] &&\n this.prefixes.add['grid-area'].prefixes\n\n css.walkDecls(decl => {\n if (this.disabledDecl(decl, result)) return undefined\n\n let parent = decl.parent\n let prop = decl.prop\n let value = decl.value\n\n if (prop === 'color-adjust') {\n if (parent.every(i => i.prop !== 'print-color-adjust')) {\n result.warn(\n 'Replace color-adjust to print-color-adjust. ' +\n 'The color-adjust shorthand is currently deprecated.',\n { node: decl }\n )\n }\n } else if (prop === 'grid-row-span') {\n result.warn(\n 'grid-row-span is not part of final Grid Layout. Use grid-row.',\n { node: decl }\n )\n return undefined\n } else if (prop === 'grid-column-span') {\n result.warn(\n 'grid-column-span is not part of final Grid Layout. Use grid-column.',\n { node: decl }\n )\n return undefined\n } else if (prop === 'display' && value === 'box') {\n result.warn(\n 'You should write display: flex by final spec ' +\n 'instead of display: box',\n { node: decl }\n )\n return undefined\n } else if (prop === 'text-emphasis-position') {\n if (value === 'under' || value === 'over') {\n result.warn(\n 'You should use 2 values for text-emphasis-position ' +\n 'For example, `under left` instead of just `under`.',\n { node: decl }\n )\n }\n } else if (\n /^(align|justify|place)-(items|content)$/.test(prop) &&\n insideFlex(decl)\n ) {\n if (value === 'start' || value === 'end') {\n result.warn(\n `${value} value has mixed support, consider using ` +\n `flex-${value} instead`,\n { node: decl }\n )\n }\n } else if (prop === 'text-decoration-skip' && value === 'ink') {\n result.warn(\n 'Replace text-decoration-skip: ink to ' +\n 'text-decoration-skip-ink: auto, because spec had been changed',\n { node: decl }\n )\n } else {\n if (gridPrefixes && this.gridStatus(decl, result)) {\n if (decl.value === 'subgrid') {\n result.warn('IE does not support subgrid', { node: decl })\n }\n if (/^(align|justify|place)-items$/.test(prop) && insideGrid(decl)) {\n let fixed = prop.replace('-items', '-self')\n result.warn(\n `IE does not support ${prop} on grid containers. ` +\n `Try using ${fixed} on child elements instead: ` +\n `${decl.parent.selector} > * { ${fixed}: ${decl.value} }`,\n { node: decl }\n )\n } else if (\n /^(align|justify|place)-content$/.test(prop) &&\n insideGrid(decl)\n ) {\n result.warn(`IE does not support ${decl.prop} on grid containers`, {\n node: decl\n })\n } else if (prop === 'display' && decl.value === 'contents') {\n result.warn(\n 'Please do not use display: contents; ' +\n 'if you have grid setting enabled',\n { node: decl }\n )\n return undefined\n } else if (decl.prop === 'grid-gap') {\n let status = this.gridStatus(decl, result)\n if (\n status === 'autoplace' &&\n !hasRowsAndColumns(decl) &&\n !hasGridTemplate(decl)\n ) {\n result.warn(\n 'grid-gap only works if grid-template(-areas) is being ' +\n 'used or both rows and columns have been declared ' +\n 'and cells have not been manually ' +\n 'placed inside the explicit grid',\n { node: decl }\n )\n } else if (\n (status === true || status === 'no-autoplace') &&\n !hasGridTemplate(decl)\n ) {\n result.warn(\n 'grid-gap only works if grid-template(-areas) is being used',\n { node: decl }\n )\n }\n } else if (prop === 'grid-auto-columns') {\n result.warn('grid-auto-columns is not supported by IE', {\n node: decl\n })\n return undefined\n } else if (prop === 'grid-auto-rows') {\n result.warn('grid-auto-rows is not supported by IE', { node: decl })\n return undefined\n } else if (prop === 'grid-auto-flow') {\n let hasRows = parent.some(i => i.prop === 'grid-template-rows')\n let hasCols = parent.some(i => i.prop === 'grid-template-columns')\n\n if (hasGridTemplate(decl)) {\n result.warn('grid-auto-flow is not supported by IE', {\n node: decl\n })\n } else if (value.includes('dense')) {\n result.warn('grid-auto-flow: dense is not supported by IE', {\n node: decl\n })\n } else if (!hasRows && !hasCols) {\n result.warn(\n 'grid-auto-flow works only if grid-template-rows and ' +\n 'grid-template-columns are present in the same rule',\n { node: decl }\n )\n }\n return undefined\n } else if (value.includes('auto-fit')) {\n result.warn('auto-fit value is not supported by IE', {\n node: decl,\n word: 'auto-fit'\n })\n return undefined\n } else if (value.includes('auto-fill')) {\n result.warn('auto-fill value is not supported by IE', {\n node: decl,\n word: 'auto-fill'\n })\n return undefined\n } else if (prop.startsWith('grid-template') && value.includes('[')) {\n result.warn(\n 'Autoprefixer currently does not support line names. ' +\n 'Try using grid-template-areas instead.',\n { node: decl, word: '[' }\n )\n }\n }\n if (value.includes('radial-gradient')) {\n if (OLD_RADIAL.test(decl.value)) {\n result.warn(\n 'Gradient has outdated direction syntax. ' +\n 'New syntax is like `closest-side at 0 0` ' +\n 'instead of `0 0, closest-side`.',\n { node: decl }\n )\n } else {\n let ast = parser(value)\n\n for (let i of ast.nodes) {\n if (i.type === 'function' && i.value === 'radial-gradient') {\n for (let word of i.nodes) {\n if (word.type === 'word') {\n if (word.value === 'cover') {\n result.warn(\n 'Gradient has outdated direction syntax. ' +\n 'Replace `cover` to `farthest-corner`.',\n { node: decl }\n )\n } else if (word.value === 'contain') {\n result.warn(\n 'Gradient has outdated direction syntax. ' +\n 'Replace `contain` to `closest-side`.',\n { node: decl }\n )\n }\n }\n }\n }\n }\n }\n }\n if (value.includes('linear-gradient')) {\n if (OLD_LINEAR.test(value)) {\n result.warn(\n 'Gradient has outdated direction syntax. ' +\n 'New syntax is like `to left` instead of `right`.',\n { node: decl }\n )\n }\n }\n }\n\n if (SIZES.includes(decl.prop)) {\n if (!decl.value.includes('-fill-available')) {\n if (decl.value.includes('fill-available')) {\n result.warn(\n 'Replace fill-available to stretch, ' +\n 'because spec had been changed',\n { node: decl }\n )\n } else if (decl.value.includes('fill')) {\n let ast = parser(value)\n if (ast.nodes.some(i => i.type === 'word' && i.value === 'fill')) {\n result.warn(\n 'Replace fill to stretch, because spec had been changed',\n { node: decl }\n )\n }\n }\n }\n }\n\n let prefixer\n\n if (decl.prop === 'transition' || decl.prop === 'transition-property') {\n // Transition\n return this.prefixes.transition.add(decl, result)\n } else if (decl.prop === 'align-self') {\n // align-self flexbox or grid\n let display = this.displayType(decl)\n if (display !== 'grid' && this.prefixes.options.flexbox !== false) {\n prefixer = this.prefixes.add['align-self']\n if (prefixer && prefixer.prefixes) {\n prefixer.process(decl)\n }\n }\n if (this.gridStatus(decl, result) !== false) {\n prefixer = this.prefixes.add['grid-row-align']\n if (prefixer && prefixer.prefixes) {\n return prefixer.process(decl, result)\n }\n }\n } else if (decl.prop === 'justify-self') {\n // justify-self flexbox or grid\n if (this.gridStatus(decl, result) !== false) {\n prefixer = this.prefixes.add['grid-column-align']\n if (prefixer && prefixer.prefixes) {\n return prefixer.process(decl, result)\n }\n }\n } else if (decl.prop === 'place-self') {\n prefixer = this.prefixes.add['place-self']\n if (\n prefixer &&\n prefixer.prefixes &&\n this.gridStatus(decl, result) !== false\n ) {\n return prefixer.process(decl, result)\n }\n } else {\n // Properties\n prefixer = this.prefixes.add[decl.prop]\n if (prefixer && prefixer.prefixes) {\n return prefixer.process(decl, result)\n }\n }\n\n return undefined\n })\n\n // Insert grid-area prefixes. We need to be able to store the different\n // rules as a data and hack API is not enough for this\n if (this.gridStatus(css, result)) {\n insertAreas(css, this.disabled)\n }\n\n // Values\n return css.walkDecls(decl => {\n if (this.disabledValue(decl, result)) return\n\n let unprefixed = this.prefixes.unprefixed(decl.prop)\n let list = this.prefixes.values('add', unprefixed)\n if (Array.isArray(list)) {\n for (let value of list) {\n if (value.process) value.process(decl, result)\n }\n }\n Value.save(this.prefixes, decl)\n })\n }\n\n /**\n * Check for control comment and global options\n */\n disabled(node, result) {\n if (!node) return false\n\n if (node._autoprefixerDisabled !== undefined) {\n return node._autoprefixerDisabled\n }\n\n if (node.parent) {\n let p = node.prev()\n if (p && p.type === 'comment' && IGNORE_NEXT.test(p.text)) {\n node._autoprefixerDisabled = true\n node._autoprefixerSelfDisabled = true\n return true\n }\n }\n\n let value = null\n if (node.nodes) {\n let status\n node.each(i => {\n if (i.type !== 'comment') return\n if (/(!\\s*)?autoprefixer:\\s*(off|on)/i.test(i.text)) {\n if (typeof status !== 'undefined') {\n result.warn(\n 'Second Autoprefixer control comment ' +\n 'was ignored. Autoprefixer applies control ' +\n 'comment to whole block, not to next rules.',\n { node: i }\n )\n } else {\n status = /on/i.test(i.text)\n }\n }\n })\n\n if (status !== undefined) {\n value = !status\n }\n }\n if (!node.nodes || value === null) {\n if (node.parent) {\n let isParentDisabled = this.disabled(node.parent, result)\n if (node.parent._autoprefixerSelfDisabled === true) {\n value = false\n } else {\n value = isParentDisabled\n }\n } else {\n value = false\n }\n }\n node._autoprefixerDisabled = value\n return value\n }\n\n /**\n * Check for grid/flexbox options.\n */\n disabledDecl(node, result) {\n if (node.type === 'decl' && this.gridStatus(node, result) === false) {\n if (node.prop.includes('grid') || node.prop === 'justify-items') {\n return true\n }\n }\n if (node.type === 'decl' && this.prefixes.options.flexbox === false) {\n let other = ['order', 'justify-content', 'align-items', 'align-content']\n if (node.prop.includes('flex') || other.includes(node.prop)) {\n return true\n }\n }\n\n return this.disabled(node, result)\n }\n\n /**\n * Check for grid/flexbox options.\n */\n disabledValue(node, result) {\n if (this.gridStatus(node, result) === false && node.type === 'decl') {\n if (node.prop === 'display' && node.value.includes('grid')) {\n return true\n }\n }\n if (this.prefixes.options.flexbox === false && node.type === 'decl') {\n if (node.prop === 'display' && node.value.includes('flex')) {\n return true\n }\n }\n if (node.type === 'decl' && node.prop === 'content') {\n return true\n }\n\n return this.disabled(node, result)\n }\n\n /**\n * Is it flebox or grid rule\n */\n displayType(decl) {\n for (let i of decl.parent.nodes) {\n if (i.prop !== 'display') {\n continue\n }\n\n if (i.value.includes('flex')) {\n return 'flex'\n }\n\n if (i.value.includes('grid')) {\n return 'grid'\n }\n }\n\n return false\n }\n\n /**\n * Set grid option via control comment\n */\n gridStatus(node, result) {\n if (!node) return false\n\n if (node._autoprefixerGridStatus !== undefined) {\n return node._autoprefixerGridStatus\n }\n\n let value = null\n if (node.nodes) {\n let status\n node.each(i => {\n if (i.type !== 'comment') return\n if (GRID_REGEX.test(i.text)) {\n let hasAutoplace = /:\\s*autoplace/i.test(i.text)\n let noAutoplace = /no-autoplace/i.test(i.text)\n if (typeof status !== 'undefined') {\n result.warn(\n 'Second Autoprefixer grid control comment was ' +\n 'ignored. Autoprefixer applies control comments to the whole ' +\n 'block, not to the next rules.',\n { node: i }\n )\n } else if (hasAutoplace) {\n status = 'autoplace'\n } else if (noAutoplace) {\n status = true\n } else {\n status = /on/i.test(i.text)\n }\n }\n })\n\n if (status !== undefined) {\n value = status\n }\n }\n\n if (node.type === 'atrule' && node.name === 'supports') {\n let params = node.params\n if (params.includes('grid') && params.includes('auto')) {\n value = false\n }\n }\n\n if (!node.nodes || value === null) {\n if (node.parent) {\n let isParentGrid = this.gridStatus(node.parent, result)\n if (node.parent._autoprefixerSelfDisabled === true) {\n value = false\n } else {\n value = isParentGrid\n }\n } else if (typeof this.prefixes.options.grid !== 'undefined') {\n value = this.prefixes.options.grid\n } else if (typeof process.env.AUTOPREFIXER_GRID !== 'undefined') {\n if (process.env.AUTOPREFIXER_GRID === 'autoplace') {\n value = 'autoplace'\n } else {\n value = true\n }\n } else {\n value = false\n }\n }\n\n node._autoprefixerGridStatus = value\n return value\n }\n\n /**\n * Normalize spaces in cascade declaration group\n */\n reduceSpaces(decl) {\n let stop = false\n this.prefixes.group(decl).up(() => {\n stop = true\n return true\n })\n if (stop) {\n return\n }\n\n let parts = decl.raw('before').split('\\n')\n let prevMin = parts[parts.length - 1].length\n let diff = false\n\n this.prefixes.group(decl).down(other => {\n parts = other.raw('before').split('\\n')\n let last = parts.length - 1\n\n if (parts[last].length > prevMin) {\n if (diff === false) {\n diff = parts[last].length - prevMin\n }\n\n parts[last] = parts[last].slice(0, -diff)\n other.raws.before = parts.join('\\n')\n }\n })\n }\n\n /**\n * Remove unnecessary pefixes\n */\n remove(css, result) {\n // At-rules\n let resolution = this.prefixes.remove['@resolution']\n\n css.walkAtRules((rule, i) => {\n if (this.prefixes.remove[`@${rule.name}`]) {\n if (!this.disabled(rule, result)) {\n rule.parent.removeChild(i)\n }\n } else if (\n rule.name === 'media' &&\n rule.params.includes('-resolution') &&\n resolution\n ) {\n resolution.clean(rule)\n }\n })\n\n // Selectors\n css.walkRules((rule, i) => {\n if (this.disabled(rule, result)) return\n\n for (let checker of this.prefixes.remove.selectors) {\n if (checker.check(rule)) {\n rule.parent.removeChild(i)\n return\n }\n }\n })\n\n return css.walkDecls((decl, i) => {\n if (this.disabled(decl, result)) return\n\n let rule = decl.parent\n let unprefixed = this.prefixes.unprefixed(decl.prop)\n\n // Transition\n if (decl.prop === 'transition' || decl.prop === 'transition-property') {\n this.prefixes.transition.remove(decl)\n }\n\n // Properties\n if (\n this.prefixes.remove[decl.prop] &&\n this.prefixes.remove[decl.prop].remove\n ) {\n let notHack = this.prefixes.group(decl).down(other => {\n return this.prefixes.normalize(other.prop) === unprefixed\n })\n\n if (unprefixed === 'flex-flow') {\n notHack = true\n }\n\n if (decl.prop === '-webkit-box-orient') {\n let hacks = { 'flex-direction': true, 'flex-flow': true }\n if (!decl.parent.some(j => hacks[j.prop])) return\n }\n\n if (notHack && !this.withHackValue(decl)) {\n if (decl.raw('before').includes('\\n')) {\n this.reduceSpaces(decl)\n }\n rule.removeChild(i)\n return\n }\n }\n\n // Values\n for (let checker of this.prefixes.values('remove', unprefixed)) {\n if (!checker.check) continue\n if (!checker.check(decl.value)) continue\n\n unprefixed = checker.unprefixed\n let notHack = this.prefixes.group(decl).down(other => {\n return other.value.includes(unprefixed)\n })\n\n if (notHack) {\n rule.removeChild(i)\n return\n }\n }\n })\n }\n\n /**\n * Some rare old values, which is not in standard\n */\n withHackValue(decl) {\n return decl.prop === '-webkit-background-clip' && decl.value === 'text'\n }\n}\n\nmodule.exports = Processor\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/processor.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/resolution.js": -/*!*****************************************************!*\ - !*** ./node_modules/autoprefixer/lib/resolution.js ***! - \*****************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let FractionJs = __webpack_require__(/*! fraction.js */ \"./node_modules/fraction.js/fraction.cjs\")\n\nlet Prefixer = __webpack_require__(/*! ./prefixer */ \"./node_modules/autoprefixer/lib/prefixer.js\")\nlet utils = __webpack_require__(/*! ./utils */ \"./node_modules/autoprefixer/lib/utils.js\")\n\nconst REGEXP = /(min|max)-resolution\\s*:\\s*\\d*\\.?\\d+(dppx|dpcm|dpi|x)/gi\nconst SPLIT = /(min|max)-resolution(\\s*:\\s*)(\\d*\\.?\\d+)(dppx|dpcm|dpi|x)/i\n\nclass Resolution extends Prefixer {\n /**\n * Remove prefixed queries\n */\n clean(rule) {\n if (!this.bad) {\n this.bad = []\n for (let prefix of this.prefixes) {\n this.bad.push(this.prefixName(prefix, 'min'))\n this.bad.push(this.prefixName(prefix, 'max'))\n }\n }\n\n rule.params = utils.editList(rule.params, queries => {\n return queries.filter(query => this.bad.every(i => !query.includes(i)))\n })\n }\n\n /**\n * Return prefixed query name\n */\n prefixName(prefix, name) {\n if (prefix === '-moz-') {\n return name + '--moz-device-pixel-ratio'\n } else {\n return prefix + name + '-device-pixel-ratio'\n }\n }\n\n /**\n * Return prefixed query\n */\n prefixQuery(prefix, name, colon, value, units) {\n value = new FractionJs(value)\n\n // 1dpcm = 2.54dpi\n // 1dppx = 96dpi\n if (units === 'dpi') {\n value = value.div(96)\n } else if (units === 'dpcm') {\n value = value.mul(2.54).div(96)\n }\n value = value.simplify()\n\n if (prefix === '-o-') {\n value = value.n + '/' + value.d\n }\n return this.prefixName(prefix, name) + colon + value\n }\n\n /**\n * Add prefixed queries\n */\n process(rule) {\n let parent = this.parentPrefix(rule)\n let prefixes = parent ? [parent] : this.prefixes\n\n rule.params = utils.editList(rule.params, (origin, prefixed) => {\n for (let query of origin) {\n if (\n !query.includes('min-resolution') &&\n !query.includes('max-resolution')\n ) {\n prefixed.push(query)\n continue\n }\n\n for (let prefix of prefixes) {\n let processed = query.replace(REGEXP, str => {\n let parts = str.match(SPLIT)\n return this.prefixQuery(\n prefix,\n parts[1],\n parts[2],\n parts[3],\n parts[4]\n )\n })\n prefixed.push(processed)\n }\n prefixed.push(query)\n }\n\n return utils.uniq(prefixed)\n })\n }\n}\n\nmodule.exports = Resolution\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/resolution.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/selector.js": -/*!***************************************************!*\ - !*** ./node_modules/autoprefixer/lib/selector.js ***! - \***************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let { list } = __webpack_require__(/*! postcss */ \"./node_modules/postcss/lib/postcss.js\")\n\nlet OldSelector = __webpack_require__(/*! ./old-selector */ \"./node_modules/autoprefixer/lib/old-selector.js\")\nlet Prefixer = __webpack_require__(/*! ./prefixer */ \"./node_modules/autoprefixer/lib/prefixer.js\")\nlet Browsers = __webpack_require__(/*! ./browsers */ \"./node_modules/autoprefixer/lib/browsers.js\")\nlet utils = __webpack_require__(/*! ./utils */ \"./node_modules/autoprefixer/lib/utils.js\")\n\nclass Selector extends Prefixer {\n constructor(name, prefixes, all) {\n super(name, prefixes, all)\n this.regexpCache = new Map()\n }\n\n /**\n * Clone and add prefixes for at-rule\n */\n add(rule, prefix) {\n let prefixeds = this.prefixeds(rule)\n\n if (this.already(rule, prefixeds, prefix)) {\n return\n }\n\n let cloned = this.clone(rule, { selector: prefixeds[this.name][prefix] })\n rule.parent.insertBefore(rule, cloned)\n }\n\n /**\n * Is rule already prefixed before\n */\n already(rule, prefixeds, prefix) {\n let index = rule.parent.index(rule) - 1\n\n while (index >= 0) {\n let before = rule.parent.nodes[index]\n\n if (before.type !== 'rule') {\n return false\n }\n\n let some = false\n for (let key in prefixeds[this.name]) {\n let prefixed = prefixeds[this.name][key]\n if (before.selector === prefixed) {\n if (prefix === key) {\n return true\n } else {\n some = true\n break\n }\n }\n }\n if (!some) {\n return false\n }\n\n index -= 1\n }\n\n return false\n }\n\n /**\n * Is rule selectors need to be prefixed\n */\n check(rule) {\n if (rule.selector.includes(this.name)) {\n return !!rule.selector.match(this.regexp())\n }\n\n return false\n }\n\n /**\n * Return function to fast find prefixed selector\n */\n old(prefix) {\n return new OldSelector(this, prefix)\n }\n\n /**\n * All possible prefixes\n */\n possible() {\n return Browsers.prefixes()\n }\n\n /**\n * Return prefixed version of selector\n */\n prefixed(prefix) {\n return this.name.replace(/^(\\W*)/, `$1${prefix}`)\n }\n\n /**\n * Return all possible selector prefixes\n */\n prefixeds(rule) {\n if (rule._autoprefixerPrefixeds) {\n if (rule._autoprefixerPrefixeds[this.name]) {\n return rule._autoprefixerPrefixeds\n }\n } else {\n rule._autoprefixerPrefixeds = {}\n }\n\n let prefixeds = {}\n if (rule.selector.includes(',')) {\n let ruleParts = list.comma(rule.selector)\n let toProcess = ruleParts.filter(el => el.includes(this.name))\n\n for (let prefix of this.possible()) {\n prefixeds[prefix] = toProcess\n .map(el => this.replace(el, prefix))\n .join(', ')\n }\n } else {\n for (let prefix of this.possible()) {\n prefixeds[prefix] = this.replace(rule.selector, prefix)\n }\n }\n\n rule._autoprefixerPrefixeds[this.name] = prefixeds\n return rule._autoprefixerPrefixeds\n }\n\n /**\n * Lazy loadRegExp for name\n */\n regexp(prefix) {\n if (!this.regexpCache.has(prefix)) {\n let name = prefix ? this.prefixed(prefix) : this.name\n this.regexpCache.set(\n prefix,\n new RegExp(`(^|[^:\"'=])${utils.escapeRegexp(name)}`, 'gi')\n )\n }\n\n return this.regexpCache.get(prefix)\n }\n\n /**\n * Replace selectors by prefixed one\n */\n replace(selector, prefix) {\n return selector.replace(this.regexp(), `$1${this.prefixed(prefix)}`)\n }\n}\n\nmodule.exports = Selector\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/selector.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/supports.js": -/*!***************************************************!*\ - !*** ./node_modules/autoprefixer/lib/supports.js ***! - \***************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let featureQueries = __webpack_require__(/*! caniuse-lite/data/features/css-featurequeries.js */ \"./node_modules/caniuse-lite/data/features/css-featurequeries.js\")\nlet feature = __webpack_require__(/*! caniuse-lite/dist/unpacker/feature */ \"./node_modules/caniuse-lite/dist/unpacker/feature.js\")\nlet { parse } = __webpack_require__(/*! postcss */ \"./node_modules/postcss/lib/postcss.js\")\n\nlet Browsers = __webpack_require__(/*! ./browsers */ \"./node_modules/autoprefixer/lib/browsers.js\")\nlet brackets = __webpack_require__(/*! ./brackets */ \"./node_modules/autoprefixer/lib/brackets.js\")\nlet Value = __webpack_require__(/*! ./value */ \"./node_modules/autoprefixer/lib/value.js\")\nlet utils = __webpack_require__(/*! ./utils */ \"./node_modules/autoprefixer/lib/utils.js\")\n\nlet data = feature(featureQueries)\n\nlet supported = []\nfor (let browser in data.stats) {\n let versions = data.stats[browser]\n for (let version in versions) {\n let support = versions[version]\n if (/y/.test(support)) {\n supported.push(browser + ' ' + version)\n }\n }\n}\n\nclass Supports {\n constructor(Prefixes, all) {\n this.Prefixes = Prefixes\n this.all = all\n }\n\n /**\n * Add prefixes\n */\n add(nodes, all) {\n return nodes.map(i => {\n if (this.isProp(i)) {\n let prefixed = this.prefixed(i[0])\n if (prefixed.length > 1) {\n return this.convert(prefixed)\n }\n\n return i\n }\n\n if (typeof i === 'object') {\n return this.add(i, all)\n }\n\n return i\n })\n }\n\n /**\n * Clean brackets with one child\n */\n cleanBrackets(nodes) {\n return nodes.map(i => {\n if (typeof i !== 'object') {\n return i\n }\n\n if (i.length === 1 && typeof i[0] === 'object') {\n return this.cleanBrackets(i[0])\n }\n\n return this.cleanBrackets(i)\n })\n }\n\n /**\n * Add \" or \" between properties and convert it to brackets format\n */\n convert(progress) {\n let result = ['']\n for (let i of progress) {\n result.push([`${i.prop}: ${i.value}`])\n result.push(' or ')\n }\n result[result.length - 1] = ''\n return result\n }\n\n /**\n * Check global options\n */\n disabled(node) {\n if (!this.all.options.grid) {\n if (node.prop === 'display' && node.value.includes('grid')) {\n return true\n }\n if (node.prop.includes('grid') || node.prop === 'justify-items') {\n return true\n }\n }\n\n if (this.all.options.flexbox === false) {\n if (node.prop === 'display' && node.value.includes('flex')) {\n return true\n }\n let other = ['order', 'justify-content', 'align-items', 'align-content']\n if (node.prop.includes('flex') || other.includes(node.prop)) {\n return true\n }\n }\n\n return false\n }\n\n /**\n * Return true if prefixed property has no unprefixed\n */\n isHack(all, unprefixed) {\n let check = new RegExp(`(\\\\(|\\\\s)${utils.escapeRegexp(unprefixed)}:`)\n return !check.test(all)\n }\n\n /**\n * Return true if brackets node is \"not\" word\n */\n isNot(node) {\n return typeof node === 'string' && /not\\s*/i.test(node)\n }\n\n /**\n * Return true if brackets node is \"or\" word\n */\n isOr(node) {\n return typeof node === 'string' && /\\s*or\\s*/i.test(node)\n }\n\n /**\n * Return true if brackets node is (prop: value)\n */\n isProp(node) {\n return (\n typeof node === 'object' &&\n node.length === 1 &&\n typeof node[0] === 'string'\n )\n }\n\n /**\n * Compress value functions into a string nodes\n */\n normalize(nodes) {\n if (typeof nodes !== 'object') {\n return nodes\n }\n\n nodes = nodes.filter(i => i !== '')\n\n if (typeof nodes[0] === 'string') {\n let firstNode = nodes[0].trim()\n\n if (\n firstNode.includes(':') ||\n firstNode === 'selector' ||\n firstNode === 'not selector'\n ) {\n return [brackets.stringify(nodes)]\n }\n }\n return nodes.map(i => this.normalize(i))\n }\n\n /**\n * Parse string into declaration property and value\n */\n parse(str) {\n let parts = str.split(':')\n let prop = parts[0]\n let value = parts[1]\n if (!value) value = ''\n return [prop.trim(), value.trim()]\n }\n\n /**\n * Return array of Declaration with all necessary prefixes\n */\n prefixed(str) {\n let rule = this.virtual(str)\n if (this.disabled(rule.first)) {\n return rule.nodes\n }\n\n let result = { warn: () => null }\n\n let prefixer = this.prefixer().add[rule.first.prop]\n prefixer && prefixer.process && prefixer.process(rule.first, result)\n\n for (let decl of rule.nodes) {\n for (let value of this.prefixer().values('add', rule.first.prop)) {\n value.process(decl)\n }\n Value.save(this.all, decl)\n }\n\n return rule.nodes\n }\n\n /**\n * Return prefixer only with @supports supported browsers\n */\n prefixer() {\n if (this.prefixerCache) {\n return this.prefixerCache\n }\n\n let filtered = this.all.browsers.selected.filter(i => {\n return supported.includes(i)\n })\n\n let browsers = new Browsers(\n this.all.browsers.data,\n filtered,\n this.all.options\n )\n this.prefixerCache = new this.Prefixes(\n this.all.data,\n browsers,\n this.all.options\n )\n return this.prefixerCache\n }\n\n /**\n * Add prefixed declaration\n */\n process(rule) {\n let ast = brackets.parse(rule.params)\n ast = this.normalize(ast)\n ast = this.remove(ast, rule.params)\n ast = this.add(ast, rule.params)\n ast = this.cleanBrackets(ast)\n rule.params = brackets.stringify(ast)\n }\n\n /**\n * Remove all unnecessary prefixes\n */\n remove(nodes, all) {\n let i = 0\n while (i < nodes.length) {\n if (\n !this.isNot(nodes[i - 1]) &&\n this.isProp(nodes[i]) &&\n this.isOr(nodes[i + 1])\n ) {\n if (this.toRemove(nodes[i][0], all)) {\n nodes.splice(i, 2)\n continue\n }\n\n i += 2\n continue\n }\n\n if (typeof nodes[i] === 'object') {\n nodes[i] = this.remove(nodes[i], all)\n }\n\n i += 1\n }\n return nodes\n }\n\n /**\n * Return true if we need to remove node\n */\n toRemove(str, all) {\n let [prop, value] = this.parse(str)\n let unprefixed = this.all.unprefixed(prop)\n\n let cleaner = this.all.cleaner()\n\n if (\n cleaner.remove[prop] &&\n cleaner.remove[prop].remove &&\n !this.isHack(all, unprefixed)\n ) {\n return true\n }\n\n for (let checker of cleaner.values('remove', unprefixed)) {\n if (checker.check(value)) {\n return true\n }\n }\n\n return false\n }\n\n /**\n * Create virtual rule to process it by prefixer\n */\n virtual(str) {\n let [prop, value] = this.parse(str)\n let rule = parse('a{}').first\n rule.append({ prop, raws: { before: '' }, value })\n return rule\n }\n}\n\nmodule.exports = Supports\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/supports.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/transition.js": -/*!*****************************************************!*\ - !*** ./node_modules/autoprefixer/lib/transition.js ***! - \*****************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let { list } = __webpack_require__(/*! postcss */ \"./node_modules/postcss/lib/postcss.js\")\nlet parser = __webpack_require__(/*! postcss-value-parser */ \"./node_modules/postcss-value-parser/lib/index.js\")\n\nlet Browsers = __webpack_require__(/*! ./browsers */ \"./node_modules/autoprefixer/lib/browsers.js\")\nlet vendor = __webpack_require__(/*! ./vendor */ \"./node_modules/autoprefixer/lib/vendor.js\")\n\nclass Transition {\n constructor(prefixes) {\n this.props = ['transition', 'transition-property']\n this.prefixes = prefixes\n }\n\n /**\n * Process transition and add prefixes for all necessary properties\n */\n add(decl, result) {\n let prefix, prop\n let add = this.prefixes.add[decl.prop]\n let vendorPrefixes = this.ruleVendorPrefixes(decl)\n let declPrefixes = vendorPrefixes || (add && add.prefixes) || []\n\n let params = this.parse(decl.value)\n let names = params.map(i => this.findProp(i))\n let added = []\n\n if (names.some(i => i[0] === '-')) {\n return\n }\n\n for (let param of params) {\n prop = this.findProp(param)\n if (prop[0] === '-') continue\n\n let prefixer = this.prefixes.add[prop]\n if (!prefixer || !prefixer.prefixes) continue\n\n for (prefix of prefixer.prefixes) {\n if (vendorPrefixes && !vendorPrefixes.some(p => prefix.includes(p))) {\n continue\n }\n\n let prefixed = this.prefixes.prefixed(prop, prefix)\n if (prefixed !== '-ms-transform' && !names.includes(prefixed)) {\n if (!this.disabled(prop, prefix)) {\n added.push(this.clone(prop, prefixed, param))\n }\n }\n }\n }\n\n params = params.concat(added)\n let value = this.stringify(params)\n\n let webkitClean = this.stringify(\n this.cleanFromUnprefixed(params, '-webkit-')\n )\n if (declPrefixes.includes('-webkit-')) {\n this.cloneBefore(decl, `-webkit-${decl.prop}`, webkitClean)\n }\n this.cloneBefore(decl, decl.prop, webkitClean)\n if (declPrefixes.includes('-o-')) {\n let operaClean = this.stringify(this.cleanFromUnprefixed(params, '-o-'))\n this.cloneBefore(decl, `-o-${decl.prop}`, operaClean)\n }\n\n for (prefix of declPrefixes) {\n if (prefix !== '-webkit-' && prefix !== '-o-') {\n let prefixValue = this.stringify(\n this.cleanOtherPrefixes(params, prefix)\n )\n this.cloneBefore(decl, prefix + decl.prop, prefixValue)\n }\n }\n\n if (value !== decl.value && !this.already(decl, decl.prop, value)) {\n this.checkForWarning(result, decl)\n decl.cloneBefore()\n decl.value = value\n }\n }\n\n /**\n * Does we already have this declaration\n */\n already(decl, prop, value) {\n return decl.parent.some(i => i.prop === prop && i.value === value)\n }\n\n /**\n * Show transition-property warning\n */\n checkForWarning(result, decl) {\n if (decl.prop !== 'transition-property') {\n return\n }\n\n let isPrefixed = false\n let hasAssociatedProp = false\n\n decl.parent.each(i => {\n if (i.type !== 'decl') {\n return undefined\n }\n if (i.prop.indexOf('transition-') !== 0) {\n return undefined\n }\n let values = list.comma(i.value)\n // check if current Rule's transition-property comma separated value list needs prefixes\n if (i.prop === 'transition-property') {\n values.forEach(value => {\n let lookup = this.prefixes.add[value]\n if (lookup && lookup.prefixes && lookup.prefixes.length > 0) {\n isPrefixed = true\n }\n })\n return undefined\n }\n // check if another transition-* prop in current Rule has comma separated value list\n hasAssociatedProp = hasAssociatedProp || values.length > 1\n return false\n })\n\n if (isPrefixed && hasAssociatedProp) {\n decl.warn(\n result,\n 'Replace transition-property to transition, ' +\n 'because Autoprefixer could not support ' +\n 'any cases of transition-property ' +\n 'and other transition-*'\n )\n }\n }\n\n /**\n * Remove all non-webkit prefixes and unprefixed params if we have prefixed\n */\n cleanFromUnprefixed(params, prefix) {\n let remove = params\n .map(i => this.findProp(i))\n .filter(i => i.slice(0, prefix.length) === prefix)\n .map(i => this.prefixes.unprefixed(i))\n\n let result = []\n for (let param of params) {\n let prop = this.findProp(param)\n let p = vendor.prefix(prop)\n if (!remove.includes(prop) && (p === prefix || p === '')) {\n result.push(param)\n }\n }\n return result\n }\n\n cleanOtherPrefixes(params, prefix) {\n return params.filter(param => {\n let current = vendor.prefix(this.findProp(param))\n return current === '' || current === prefix\n })\n }\n\n /**\n * Return new param array with different name\n */\n clone(origin, name, param) {\n let result = []\n let changed = false\n for (let i of param) {\n if (!changed && i.type === 'word' && i.value === origin) {\n result.push({ type: 'word', value: name })\n changed = true\n } else {\n result.push(i)\n }\n }\n return result\n }\n\n /**\n * Add declaration if it is not exist\n */\n cloneBefore(decl, prop, value) {\n if (!this.already(decl, prop, value)) {\n decl.cloneBefore({ prop, value })\n }\n }\n\n /**\n * Check property for disabled by option\n */\n disabled(prop, prefix) {\n let other = ['order', 'justify-content', 'align-self', 'align-content']\n if (prop.includes('flex') || other.includes(prop)) {\n if (this.prefixes.options.flexbox === false) {\n return true\n }\n\n if (this.prefixes.options.flexbox === 'no-2009') {\n return prefix.includes('2009')\n }\n }\n return undefined\n }\n\n /**\n * Find or create separator\n */\n div(params) {\n for (let param of params) {\n for (let node of param) {\n if (node.type === 'div' && node.value === ',') {\n return node\n }\n }\n }\n return { after: ' ', type: 'div', value: ',' }\n }\n\n /**\n * Find property name\n */\n findProp(param) {\n let prop = param[0].value\n if (/^\\d/.test(prop)) {\n for (let [i, token] of param.entries()) {\n if (i !== 0 && token.type === 'word') {\n return token.value\n }\n }\n }\n return prop\n }\n\n /**\n * Parse properties list to array\n */\n parse(value) {\n let ast = parser(value)\n let result = []\n let param = []\n for (let node of ast.nodes) {\n param.push(node)\n if (node.type === 'div' && node.value === ',') {\n result.push(param)\n param = []\n }\n }\n result.push(param)\n return result.filter(i => i.length > 0)\n }\n\n /**\n * Process transition and remove all unnecessary properties\n */\n remove(decl) {\n let params = this.parse(decl.value)\n params = params.filter(i => {\n let prop = this.prefixes.remove[this.findProp(i)]\n return !prop || !prop.remove\n })\n let value = this.stringify(params)\n\n if (decl.value === value) {\n return\n }\n\n if (params.length === 0) {\n decl.remove()\n return\n }\n\n let double = decl.parent.some(i => {\n return i.prop === decl.prop && i.value === value\n })\n let smaller = decl.parent.some(i => {\n return i !== decl && i.prop === decl.prop && i.value.length > value.length\n })\n\n if (double || smaller) {\n decl.remove()\n return\n }\n\n decl.value = value\n }\n\n /**\n * Check if transition prop is inside vendor specific rule\n */\n ruleVendorPrefixes(decl) {\n let { parent } = decl\n\n if (parent.type !== 'rule') {\n return false\n } else if (!parent.selector.includes(':-')) {\n return false\n }\n\n let selectors = Browsers.prefixes().filter(s =>\n parent.selector.includes(':' + s)\n )\n\n return selectors.length > 0 ? selectors : false\n }\n\n /**\n * Return properties string from array\n */\n stringify(params) {\n if (params.length === 0) {\n return ''\n }\n let nodes = []\n for (let param of params) {\n if (param[param.length - 1].type !== 'div') {\n param.push(this.div(params))\n }\n nodes = nodes.concat(param)\n }\n if (nodes[0].type === 'div') {\n nodes = nodes.slice(1)\n }\n if (nodes[nodes.length - 1].type === 'div') {\n nodes = nodes.slice(0, +-2 + 1 || 0)\n }\n return parser.stringify({ nodes })\n }\n}\n\nmodule.exports = Transition\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/transition.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/utils.js": -/*!************************************************!*\ - !*** ./node_modules/autoprefixer/lib/utils.js ***! - \************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let { list } = __webpack_require__(/*! postcss */ \"./node_modules/postcss/lib/postcss.js\")\n\n/**\n * Throw special error, to tell beniary,\n * that this error is from Autoprefixer.\n */\nmodule.exports.error = function (text) {\n let err = new Error(text)\n err.autoprefixer = true\n throw err\n}\n\n/**\n * Return array, that doesn’t contain duplicates.\n */\nmodule.exports.uniq = function (array) {\n return [...new Set(array)]\n}\n\n/**\n * Return \"-webkit-\" on \"-webkit- old\"\n */\nmodule.exports.removeNote = function (string) {\n if (!string.includes(' ')) {\n return string\n }\n\n return string.split(' ')[0]\n}\n\n/**\n * Escape RegExp symbols\n */\nmodule.exports.escapeRegexp = function (string) {\n return string.replace(/[$()*+-.?[\\\\\\]^{|}]/g, '\\\\$&')\n}\n\n/**\n * Return regexp to check, that CSS string contain word\n */\nmodule.exports.regexp = function (word, escape = true) {\n if (escape) {\n word = this.escapeRegexp(word)\n }\n return new RegExp(`(^|[\\\\s,(])(${word}($|[\\\\s(,]))`, 'gi')\n}\n\n/**\n * Change comma list\n */\nmodule.exports.editList = function (value, callback) {\n let origin = list.comma(value)\n let changed = callback(origin, [])\n\n if (origin === changed) {\n return value\n }\n\n let join = value.match(/,\\s*/)\n join = join ? join[0] : ', '\n return changed.join(join)\n}\n\n/**\n * Split the selector into parts.\n * It returns 3 level deep array because selectors can be comma\n * separated (1), space separated (2), and combined (3)\n * @param {String} selector selector string\n * @return {Array>} 3 level deep array of split selector\n * @see utils.test.js for examples\n */\nmodule.exports.splitSelector = function (selector) {\n return list.comma(selector).map(i => {\n return list.space(i).map(k => {\n return k.split(/(?=\\.|#)/g)\n })\n })\n}\n\n/**\n * Return true if a given value only contains numbers.\n * @param {*} value\n * @returns {boolean}\n */\nmodule.exports.isPureNumber = function (value) {\n if (typeof value === 'number') {\n return true\n }\n if (typeof value === 'string') {\n return /^[0-9]+$/.test(value)\n }\n return false\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/utils.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/value.js": -/*!************************************************!*\ - !*** ./node_modules/autoprefixer/lib/value.js ***! - \************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("let Prefixer = __webpack_require__(/*! ./prefixer */ \"./node_modules/autoprefixer/lib/prefixer.js\")\nlet OldValue = __webpack_require__(/*! ./old-value */ \"./node_modules/autoprefixer/lib/old-value.js\")\nlet vendor = __webpack_require__(/*! ./vendor */ \"./node_modules/autoprefixer/lib/vendor.js\")\nlet utils = __webpack_require__(/*! ./utils */ \"./node_modules/autoprefixer/lib/utils.js\")\n\nclass Value extends Prefixer {\n /**\n * Clone decl for each prefixed values\n */\n static save(prefixes, decl) {\n let prop = decl.prop\n let result = []\n\n for (let prefix in decl._autoprefixerValues) {\n let value = decl._autoprefixerValues[prefix]\n\n if (value === decl.value) {\n continue\n }\n\n let item\n let propPrefix = vendor.prefix(prop)\n\n if (propPrefix === '-pie-') {\n continue\n }\n\n if (propPrefix === prefix) {\n item = decl.value = value\n result.push(item)\n continue\n }\n\n let prefixed = prefixes.prefixed(prop, prefix)\n let rule = decl.parent\n\n if (!rule.every(i => i.prop !== prefixed)) {\n result.push(item)\n continue\n }\n\n let trimmed = value.replace(/\\s+/, ' ')\n let already = rule.some(\n i => i.prop === decl.prop && i.value.replace(/\\s+/, ' ') === trimmed\n )\n\n if (already) {\n result.push(item)\n continue\n }\n\n let cloned = this.clone(decl, { value })\n item = decl.parent.insertBefore(decl, cloned)\n\n result.push(item)\n }\n\n return result\n }\n\n /**\n * Save values with next prefixed token\n */\n add(decl, prefix) {\n if (!decl._autoprefixerValues) {\n decl._autoprefixerValues = {}\n }\n let value = decl._autoprefixerValues[prefix] || this.value(decl)\n\n let before\n do {\n before = value\n value = this.replace(value, prefix)\n if (value === false) return\n } while (value !== before)\n\n decl._autoprefixerValues[prefix] = value\n }\n\n /**\n * Is declaration need to be prefixed\n */\n check(decl) {\n let value = decl.value\n if (!value.includes(this.name)) {\n return false\n }\n\n return !!value.match(this.regexp())\n }\n\n /**\n * Return function to fast find prefixed value\n */\n old(prefix) {\n return new OldValue(this.name, prefix + this.name)\n }\n\n /**\n * Lazy regexp loading\n */\n regexp() {\n return this.regexpCache || (this.regexpCache = utils.regexp(this.name))\n }\n\n /**\n * Add prefix to values in string\n */\n replace(string, prefix) {\n return string.replace(this.regexp(), `$1${prefix}$2`)\n }\n\n /**\n * Get value with comments if it was not changed\n */\n value(decl) {\n if (decl.raws.value && decl.raws.value.value === decl.value) {\n return decl.raws.value.raw\n } else {\n return decl.value\n }\n }\n}\n\nmodule.exports = Value\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/value.js?"); - -/***/ }), - -/***/ "./node_modules/autoprefixer/lib/vendor.js": -/*!*************************************************!*\ - !*** ./node_modules/autoprefixer/lib/vendor.js ***! - \*************************************************/ -/***/ ((module) => { - -eval("module.exports = {\n prefix(prop) {\n let match = prop.match(/^(-\\w+-)/)\n if (match) {\n return match[0]\n }\n\n return ''\n },\n\n unprefixed(prop) {\n return prop.replace(/^-\\w+-/, '')\n }\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/autoprefixer/lib/vendor.js?"); - -/***/ }), - -/***/ "./node_modules/browserslist/browser.js": -/*!**********************************************!*\ - !*** ./node_modules/browserslist/browser.js ***! - \**********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("var BrowserslistError = __webpack_require__(/*! ./error */ \"./node_modules/browserslist/error.js\")\n\nfunction noop() {}\n\nmodule.exports = {\n loadQueries: function loadQueries() {\n throw new BrowserslistError(\n 'Sharable configs are not supported in client-side build of Browserslist'\n )\n },\n\n getStat: function getStat(opts) {\n return opts.stats\n },\n\n loadConfig: function loadConfig(opts) {\n if (opts.config) {\n throw new BrowserslistError(\n 'Browserslist config are not supported in client-side build'\n )\n }\n },\n\n loadCountry: function loadCountry() {\n throw new BrowserslistError(\n 'Country statistics are not supported ' +\n 'in client-side build of Browserslist'\n )\n },\n\n loadFeature: function loadFeature() {\n throw new BrowserslistError(\n 'Supports queries are not available in client-side build of Browserslist'\n )\n },\n\n currentNode: function currentNode(resolve, context) {\n return resolve(['maintained node versions'], context)[0]\n },\n\n parseConfig: noop,\n\n readConfig: noop,\n\n findConfig: noop,\n\n clearCaches: noop,\n\n oldDataWarning: noop,\n\n env: {}\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/browserslist/browser.js?"); - -/***/ }), - -/***/ "./node_modules/browserslist/error.js": -/*!********************************************!*\ - !*** ./node_modules/browserslist/error.js ***! - \********************************************/ -/***/ ((module) => { - -eval("function BrowserslistError(message) {\n this.name = 'BrowserslistError'\n this.message = message\n this.browserslist = true\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, BrowserslistError)\n }\n}\n\nBrowserslistError.prototype = Error.prototype\n\nmodule.exports = BrowserslistError\n\n\n//# sourceURL=webpack://renderer/./node_modules/browserslist/error.js?"); - -/***/ }), - -/***/ "./node_modules/browserslist/index.js": -/*!********************************************!*\ - !*** ./node_modules/browserslist/index.js ***! - \********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("var jsReleases = __webpack_require__(/*! node-releases/data/processed/envs.json */ \"./node_modules/node-releases/data/processed/envs.json\")\nvar agents = (__webpack_require__(/*! caniuse-lite/dist/unpacker/agents */ \"./node_modules/caniuse-lite/dist/unpacker/agents.js\").agents)\nvar jsEOL = __webpack_require__(/*! node-releases/data/release-schedule/release-schedule.json */ \"./node_modules/node-releases/data/release-schedule/release-schedule.json\")\nvar path = __webpack_require__(/*! path */ \"path\")\nvar e2c = __webpack_require__(/*! electron-to-chromium/versions */ \"./node_modules/electron-to-chromium/versions.js\")\n\nvar BrowserslistError = __webpack_require__(/*! ./error */ \"./node_modules/browserslist/error.js\")\nvar parse = __webpack_require__(/*! ./parse */ \"./node_modules/browserslist/parse.js\")\nvar env = __webpack_require__(/*! ./node */ \"./node_modules/browserslist/browser.js\") // Will load browser.js in webpack\n\nvar YEAR = 365.259641 * 24 * 60 * 60 * 1000\nvar ANDROID_EVERGREEN_FIRST = '37'\nvar OP_MOB_BLINK_FIRST = 14\n\n// Helpers\n\nfunction isVersionsMatch(versionA, versionB) {\n return (versionA + '.').indexOf(versionB + '.') === 0\n}\n\nfunction isEolReleased(name) {\n var version = name.slice(1)\n return browserslist.nodeVersions.some(function (i) {\n return isVersionsMatch(i, version)\n })\n}\n\nfunction normalize(versions) {\n return versions.filter(function (version) {\n return typeof version === 'string'\n })\n}\n\nfunction normalizeElectron(version) {\n var versionToUse = version\n if (version.split('.').length === 3) {\n versionToUse = version.split('.').slice(0, -1).join('.')\n }\n return versionToUse\n}\n\nfunction nameMapper(name) {\n return function mapName(version) {\n return name + ' ' + version\n }\n}\n\nfunction getMajor(version) {\n return parseInt(version.split('.')[0])\n}\n\nfunction getMajorVersions(released, number) {\n if (released.length === 0) return []\n var majorVersions = uniq(released.map(getMajor))\n var minimum = majorVersions[majorVersions.length - number]\n if (!minimum) {\n return released\n }\n var selected = []\n for (var i = released.length - 1; i >= 0; i--) {\n if (minimum > getMajor(released[i])) break\n selected.unshift(released[i])\n }\n return selected\n}\n\nfunction uniq(array) {\n var filtered = []\n for (var i = 0; i < array.length; i++) {\n if (filtered.indexOf(array[i]) === -1) filtered.push(array[i])\n }\n return filtered\n}\n\nfunction fillUsage(result, name, data) {\n for (var i in data) {\n result[name + ' ' + i] = data[i]\n }\n}\n\nfunction generateFilter(sign, version) {\n version = parseFloat(version)\n if (sign === '>') {\n return function (v) {\n return parseFloat(v) > version\n }\n } else if (sign === '>=') {\n return function (v) {\n return parseFloat(v) >= version\n }\n } else if (sign === '<') {\n return function (v) {\n return parseFloat(v) < version\n }\n } else {\n return function (v) {\n return parseFloat(v) <= version\n }\n }\n}\n\nfunction generateSemverFilter(sign, version) {\n version = version.split('.').map(parseSimpleInt)\n version[1] = version[1] || 0\n version[2] = version[2] || 0\n if (sign === '>') {\n return function (v) {\n v = v.split('.').map(parseSimpleInt)\n return compareSemver(v, version) > 0\n }\n } else if (sign === '>=') {\n return function (v) {\n v = v.split('.').map(parseSimpleInt)\n return compareSemver(v, version) >= 0\n }\n } else if (sign === '<') {\n return function (v) {\n v = v.split('.').map(parseSimpleInt)\n return compareSemver(version, v) > 0\n }\n } else {\n return function (v) {\n v = v.split('.').map(parseSimpleInt)\n return compareSemver(version, v) >= 0\n }\n }\n}\n\nfunction parseSimpleInt(x) {\n return parseInt(x)\n}\n\nfunction compare(a, b) {\n if (a < b) return -1\n if (a > b) return +1\n return 0\n}\n\nfunction compareSemver(a, b) {\n return (\n compare(parseInt(a[0]), parseInt(b[0])) ||\n compare(parseInt(a[1] || '0'), parseInt(b[1] || '0')) ||\n compare(parseInt(a[2] || '0'), parseInt(b[2] || '0'))\n )\n}\n\n// this follows the npm-like semver behavior\nfunction semverFilterLoose(operator, range) {\n range = range.split('.').map(parseSimpleInt)\n if (typeof range[1] === 'undefined') {\n range[1] = 'x'\n }\n // ignore any patch version because we only return minor versions\n // range[2] = 'x'\n switch (operator) {\n case '<=':\n return function (version) {\n version = version.split('.').map(parseSimpleInt)\n return compareSemverLoose(version, range) <= 0\n }\n case '>=':\n default:\n return function (version) {\n version = version.split('.').map(parseSimpleInt)\n return compareSemverLoose(version, range) >= 0\n }\n }\n}\n\n// this follows the npm-like semver behavior\nfunction compareSemverLoose(version, range) {\n if (version[0] !== range[0]) {\n return version[0] < range[0] ? -1 : +1\n }\n if (range[1] === 'x') {\n return 0\n }\n if (version[1] !== range[1]) {\n return version[1] < range[1] ? -1 : +1\n }\n return 0\n}\n\nfunction resolveVersion(data, version) {\n if (data.versions.indexOf(version) !== -1) {\n return version\n } else if (browserslist.versionAliases[data.name][version]) {\n return browserslist.versionAliases[data.name][version]\n } else {\n return false\n }\n}\n\nfunction normalizeVersion(data, version) {\n var resolved = resolveVersion(data, version)\n if (resolved) {\n return resolved\n } else if (data.versions.length === 1) {\n return data.versions[0]\n } else {\n return false\n }\n}\n\nfunction filterByYear(since, context) {\n since = since / 1000\n return Object.keys(agents).reduce(function (selected, name) {\n var data = byName(name, context)\n if (!data) return selected\n var versions = Object.keys(data.releaseDate).filter(function (v) {\n var date = data.releaseDate[v]\n return date !== null && date >= since\n })\n return selected.concat(versions.map(nameMapper(data.name)))\n }, [])\n}\n\nfunction cloneData(data) {\n return {\n name: data.name,\n versions: data.versions,\n released: data.released,\n releaseDate: data.releaseDate\n }\n}\n\nfunction byName(name, context) {\n name = name.toLowerCase()\n name = browserslist.aliases[name] || name\n if (context.mobileToDesktop && browserslist.desktopNames[name]) {\n var desktop = browserslist.data[browserslist.desktopNames[name]]\n if (name === 'android') {\n return normalizeAndroidData(cloneData(browserslist.data[name]), desktop)\n } else {\n var cloned = cloneData(desktop)\n cloned.name = name\n return cloned\n }\n }\n return browserslist.data[name]\n}\n\nfunction normalizeAndroidVersions(androidVersions, chromeVersions) {\n var iFirstEvergreen = chromeVersions.indexOf(ANDROID_EVERGREEN_FIRST)\n return androidVersions\n .filter(function (version) {\n return /^(?:[2-4]\\.|[34]$)/.test(version)\n })\n .concat(chromeVersions.slice(iFirstEvergreen))\n}\n\nfunction normalizeAndroidData(android, chrome) {\n android.released = normalizeAndroidVersions(android.released, chrome.released)\n android.versions = normalizeAndroidVersions(android.versions, chrome.versions)\n android.released.forEach(function (v) {\n if (android.releaseDate[v] === undefined) {\n android.releaseDate[v] = chrome.releaseDate[v]\n }\n })\n return android\n}\n\nfunction checkName(name, context) {\n var data = byName(name, context)\n if (!data) throw new BrowserslistError('Unknown browser ' + name)\n return data\n}\n\nfunction unknownQuery(query) {\n return new BrowserslistError(\n 'Unknown browser query `' +\n query +\n '`. ' +\n 'Maybe you are using old Browserslist or made typo in query.'\n )\n}\n\n// Adjusts last X versions queries for some mobile browsers,\n// where caniuse data jumps from a legacy version to the latest\nfunction filterJumps(list, name, nVersions, context) {\n var jump = 1\n switch (name) {\n case 'android':\n if (context.mobileToDesktop) return list\n var released = browserslist.data.chrome.released\n jump = released.length - released.indexOf(ANDROID_EVERGREEN_FIRST)\n break\n case 'op_mob':\n var latest = browserslist.data.op_mob.released.slice(-1)[0]\n jump = getMajor(latest) - OP_MOB_BLINK_FIRST + 1\n break\n default:\n return list\n }\n if (nVersions <= jump) {\n return list.slice(-1)\n }\n return list.slice(jump - 1 - nVersions)\n}\n\nfunction isSupported(flags, withPartial) {\n return (\n typeof flags === 'string' &&\n (flags.indexOf('y') >= 0 || (withPartial && flags.indexOf('a') >= 0))\n )\n}\n\nfunction resolve(queries, context) {\n return parse(QUERIES, queries).reduce(function (result, node, index) {\n if (node.not && index === 0) {\n throw new BrowserslistError(\n 'Write any browsers query (for instance, `defaults`) ' +\n 'before `' +\n node.query +\n '`'\n )\n }\n var type = QUERIES[node.type]\n var array = type.select.call(browserslist, context, node).map(function (j) {\n var parts = j.split(' ')\n if (parts[1] === '0') {\n return parts[0] + ' ' + byName(parts[0], context).versions[0]\n } else {\n return j\n }\n })\n\n if (node.compose === 'and') {\n if (node.not) {\n return result.filter(function (j) {\n return array.indexOf(j) === -1\n })\n } else {\n return result.filter(function (j) {\n return array.indexOf(j) !== -1\n })\n }\n } else {\n if (node.not) {\n var filter = {}\n array.forEach(function (j) {\n filter[j] = true\n })\n return result.filter(function (j) {\n return !filter[j]\n })\n }\n return result.concat(array)\n }\n }, [])\n}\n\nfunction prepareOpts(opts) {\n if (typeof opts === 'undefined') opts = {}\n\n if (typeof opts.path === 'undefined') {\n opts.path = path.resolve ? path.resolve('.') : '.'\n }\n\n return opts\n}\n\nfunction prepareQueries(queries, opts) {\n if (typeof queries === 'undefined' || queries === null) {\n var config = browserslist.loadConfig(opts)\n if (config) {\n queries = config\n } else {\n queries = browserslist.defaults\n }\n }\n\n return queries\n}\n\nfunction checkQueries(queries) {\n if (!(typeof queries === 'string' || Array.isArray(queries))) {\n throw new BrowserslistError(\n 'Browser queries must be an array or string. Got ' + typeof queries + '.'\n )\n }\n}\n\nvar cache = {}\n\nfunction browserslist(queries, opts) {\n opts = prepareOpts(opts)\n queries = prepareQueries(queries, opts)\n checkQueries(queries)\n\n var context = {\n ignoreUnknownVersions: opts.ignoreUnknownVersions,\n dangerousExtend: opts.dangerousExtend,\n mobileToDesktop: opts.mobileToDesktop,\n path: opts.path,\n env: opts.env\n }\n\n env.oldDataWarning(browserslist.data)\n var stats = env.getStat(opts, browserslist.data)\n if (stats) {\n context.customUsage = {}\n for (var browser in stats) {\n fillUsage(context.customUsage, browser, stats[browser])\n }\n }\n\n var cacheKey = JSON.stringify([queries, context])\n if (cache[cacheKey]) return cache[cacheKey]\n\n var result = uniq(resolve(queries, context)).sort(function (name1, name2) {\n name1 = name1.split(' ')\n name2 = name2.split(' ')\n if (name1[0] === name2[0]) {\n // assumptions on caniuse data\n // 1) version ranges never overlaps\n // 2) if version is not a range, it never contains `-`\n var version1 = name1[1].split('-')[0]\n var version2 = name2[1].split('-')[0]\n return compareSemver(version2.split('.'), version1.split('.'))\n } else {\n return compare(name1[0], name2[0])\n }\n })\n if (!env.env.BROWSERSLIST_DISABLE_CACHE) {\n cache[cacheKey] = result\n }\n return result\n}\n\nbrowserslist.parse = function (queries, opts) {\n opts = prepareOpts(opts)\n queries = prepareQueries(queries, opts)\n checkQueries(queries)\n return parse(QUERIES, queries)\n}\n\n// Will be filled by Can I Use data below\nbrowserslist.cache = {}\nbrowserslist.data = {}\nbrowserslist.usage = {\n global: {},\n custom: null\n}\n\n// Default browsers query\nbrowserslist.defaults = ['> 0.5%', 'last 2 versions', 'Firefox ESR', 'not dead']\n\n// Browser names aliases\nbrowserslist.aliases = {\n fx: 'firefox',\n ff: 'firefox',\n ios: 'ios_saf',\n explorer: 'ie',\n blackberry: 'bb',\n explorermobile: 'ie_mob',\n operamini: 'op_mini',\n operamobile: 'op_mob',\n chromeandroid: 'and_chr',\n firefoxandroid: 'and_ff',\n ucandroid: 'and_uc',\n qqandroid: 'and_qq'\n}\n\n// Can I Use only provides a few versions for some browsers (e.g. and_chr).\n// Fallback to a similar browser for unknown versions\n// Note op_mob is not included as its chromium versions are not in sync with Opera desktop\nbrowserslist.desktopNames = {\n and_chr: 'chrome',\n and_ff: 'firefox',\n ie_mob: 'ie',\n android: 'chrome' // has extra processing logic\n}\n\n// Aliases to work with joined versions like `ios_saf 7.0-7.1`\nbrowserslist.versionAliases = {}\n\nbrowserslist.clearCaches = env.clearCaches\nbrowserslist.parseConfig = env.parseConfig\nbrowserslist.readConfig = env.readConfig\nbrowserslist.findConfig = env.findConfig\nbrowserslist.loadConfig = env.loadConfig\n\nbrowserslist.coverage = function (browsers, stats) {\n var data\n if (typeof stats === 'undefined') {\n data = browserslist.usage.global\n } else if (stats === 'my stats') {\n var opts = {}\n opts.path = path.resolve ? path.resolve('.') : '.'\n var customStats = env.getStat(opts)\n if (!customStats) {\n throw new BrowserslistError('Custom usage statistics was not provided')\n }\n data = {}\n for (var browser in customStats) {\n fillUsage(data, browser, customStats[browser])\n }\n } else if (typeof stats === 'string') {\n if (stats.length > 2) {\n stats = stats.toLowerCase()\n } else {\n stats = stats.toUpperCase()\n }\n env.loadCountry(browserslist.usage, stats, browserslist.data)\n data = browserslist.usage[stats]\n } else {\n if ('dataByBrowser' in stats) {\n stats = stats.dataByBrowser\n }\n data = {}\n for (var name in stats) {\n for (var version in stats[name]) {\n data[name + ' ' + version] = stats[name][version]\n }\n }\n }\n\n return browsers.reduce(function (all, i) {\n var usage = data[i]\n if (usage === undefined) {\n usage = data[i.replace(/ \\S+$/, ' 0')]\n }\n return all + (usage || 0)\n }, 0)\n}\n\nfunction nodeQuery(context, node) {\n var matched = browserslist.nodeVersions.filter(function (i) {\n return isVersionsMatch(i, node.version)\n })\n if (matched.length === 0) {\n if (context.ignoreUnknownVersions) {\n return []\n } else {\n throw new BrowserslistError(\n 'Unknown version ' + node.version + ' of Node.js'\n )\n }\n }\n return ['node ' + matched[matched.length - 1]]\n}\n\nfunction sinceQuery(context, node) {\n var year = parseInt(node.year)\n var month = parseInt(node.month || '01') - 1\n var day = parseInt(node.day || '01')\n return filterByYear(Date.UTC(year, month, day, 0, 0, 0), context)\n}\n\nfunction coverQuery(context, node) {\n var coverage = parseFloat(node.coverage)\n var usage = browserslist.usage.global\n if (node.place) {\n if (node.place.match(/^my\\s+stats$/i)) {\n if (!context.customUsage) {\n throw new BrowserslistError('Custom usage statistics was not provided')\n }\n usage = context.customUsage\n } else {\n var place\n if (node.place.length === 2) {\n place = node.place.toUpperCase()\n } else {\n place = node.place.toLowerCase()\n }\n env.loadCountry(browserslist.usage, place, browserslist.data)\n usage = browserslist.usage[place]\n }\n }\n var versions = Object.keys(usage).sort(function (a, b) {\n return usage[b] - usage[a]\n })\n var coveraged = 0\n var result = []\n var version\n for (var i = 0; i < versions.length; i++) {\n version = versions[i]\n if (usage[version] === 0) break\n coveraged += usage[version]\n result.push(version)\n if (coveraged >= coverage) break\n }\n return result\n}\n\nvar QUERIES = {\n last_major_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+major\\s+versions?$/i,\n select: function (context, node) {\n return Object.keys(agents).reduce(function (selected, name) {\n var data = byName(name, context)\n if (!data) return selected\n var list = getMajorVersions(data.released, node.versions)\n list = list.map(nameMapper(data.name))\n list = filterJumps(list, data.name, node.versions, context)\n return selected.concat(list)\n }, [])\n }\n },\n last_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+versions?$/i,\n select: function (context, node) {\n return Object.keys(agents).reduce(function (selected, name) {\n var data = byName(name, context)\n if (!data) return selected\n var list = data.released.slice(-node.versions)\n list = list.map(nameMapper(data.name))\n list = filterJumps(list, data.name, node.versions, context)\n return selected.concat(list)\n }, [])\n }\n },\n last_electron_major_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+electron\\s+major\\s+versions?$/i,\n select: function (context, node) {\n var validVersions = getMajorVersions(Object.keys(e2c), node.versions)\n return validVersions.map(function (i) {\n return 'chrome ' + e2c[i]\n })\n }\n },\n last_node_major_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+node\\s+major\\s+versions?$/i,\n select: function (context, node) {\n return getMajorVersions(browserslist.nodeVersions, node.versions).map(\n function (version) {\n return 'node ' + version\n }\n )\n }\n },\n last_browser_major_versions: {\n matches: ['versions', 'browser'],\n regexp: /^last\\s+(\\d+)\\s+(\\w+)\\s+major\\s+versions?$/i,\n select: function (context, node) {\n var data = checkName(node.browser, context)\n var validVersions = getMajorVersions(data.released, node.versions)\n var list = validVersions.map(nameMapper(data.name))\n list = filterJumps(list, data.name, node.versions, context)\n return list\n }\n },\n last_electron_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+electron\\s+versions?$/i,\n select: function (context, node) {\n return Object.keys(e2c)\n .slice(-node.versions)\n .map(function (i) {\n return 'chrome ' + e2c[i]\n })\n }\n },\n last_node_versions: {\n matches: ['versions'],\n regexp: /^last\\s+(\\d+)\\s+node\\s+versions?$/i,\n select: function (context, node) {\n return browserslist.nodeVersions\n .slice(-node.versions)\n .map(function (version) {\n return 'node ' + version\n })\n }\n },\n last_browser_versions: {\n matches: ['versions', 'browser'],\n regexp: /^last\\s+(\\d+)\\s+(\\w+)\\s+versions?$/i,\n select: function (context, node) {\n var data = checkName(node.browser, context)\n var list = data.released.slice(-node.versions).map(nameMapper(data.name))\n list = filterJumps(list, data.name, node.versions, context)\n return list\n }\n },\n unreleased_versions: {\n matches: [],\n regexp: /^unreleased\\s+versions$/i,\n select: function (context) {\n return Object.keys(agents).reduce(function (selected, name) {\n var data = byName(name, context)\n if (!data) return selected\n var list = data.versions.filter(function (v) {\n return data.released.indexOf(v) === -1\n })\n list = list.map(nameMapper(data.name))\n return selected.concat(list)\n }, [])\n }\n },\n unreleased_electron_versions: {\n matches: [],\n regexp: /^unreleased\\s+electron\\s+versions?$/i,\n select: function () {\n return []\n }\n },\n unreleased_browser_versions: {\n matches: ['browser'],\n regexp: /^unreleased\\s+(\\w+)\\s+versions?$/i,\n select: function (context, node) {\n var data = checkName(node.browser, context)\n return data.versions\n .filter(function (v) {\n return data.released.indexOf(v) === -1\n })\n .map(nameMapper(data.name))\n }\n },\n last_years: {\n matches: ['years'],\n regexp: /^last\\s+(\\d*.?\\d+)\\s+years?$/i,\n select: function (context, node) {\n return filterByYear(Date.now() - YEAR * node.years, context)\n }\n },\n since_y: {\n matches: ['year'],\n regexp: /^since (\\d+)$/i,\n select: sinceQuery\n },\n since_y_m: {\n matches: ['year', 'month'],\n regexp: /^since (\\d+)-(\\d+)$/i,\n select: sinceQuery\n },\n since_y_m_d: {\n matches: ['year', 'month', 'day'],\n regexp: /^since (\\d+)-(\\d+)-(\\d+)$/i,\n select: sinceQuery\n },\n popularity: {\n matches: ['sign', 'popularity'],\n regexp: /^(>=?|<=?)\\s*(\\d+|\\d+\\.\\d+|\\.\\d+)%$/,\n select: function (context, node) {\n var popularity = parseFloat(node.popularity)\n var usage = browserslist.usage.global\n return Object.keys(usage).reduce(function (result, version) {\n if (node.sign === '>') {\n if (usage[version] > popularity) {\n result.push(version)\n }\n } else if (node.sign === '<') {\n if (usage[version] < popularity) {\n result.push(version)\n }\n } else if (node.sign === '<=') {\n if (usage[version] <= popularity) {\n result.push(version)\n }\n } else if (usage[version] >= popularity) {\n result.push(version)\n }\n return result\n }, [])\n }\n },\n popularity_in_my_stats: {\n matches: ['sign', 'popularity'],\n regexp: /^(>=?|<=?)\\s*(\\d+|\\d+\\.\\d+|\\.\\d+)%\\s+in\\s+my\\s+stats$/,\n select: function (context, node) {\n var popularity = parseFloat(node.popularity)\n if (!context.customUsage) {\n throw new BrowserslistError('Custom usage statistics was not provided')\n }\n var usage = context.customUsage\n return Object.keys(usage).reduce(function (result, version) {\n var percentage = usage[version]\n if (percentage == null) {\n return result\n }\n\n if (node.sign === '>') {\n if (percentage > popularity) {\n result.push(version)\n }\n } else if (node.sign === '<') {\n if (percentage < popularity) {\n result.push(version)\n }\n } else if (node.sign === '<=') {\n if (percentage <= popularity) {\n result.push(version)\n }\n } else if (percentage >= popularity) {\n result.push(version)\n }\n return result\n }, [])\n }\n },\n popularity_in_config_stats: {\n matches: ['sign', 'popularity', 'config'],\n regexp: /^(>=?|<=?)\\s*(\\d+|\\d+\\.\\d+|\\.\\d+)%\\s+in\\s+(\\S+)\\s+stats$/,\n select: function (context, node) {\n var popularity = parseFloat(node.popularity)\n var stats = env.loadStat(context, node.config, browserslist.data)\n if (stats) {\n context.customUsage = {}\n for (var browser in stats) {\n fillUsage(context.customUsage, browser, stats[browser])\n }\n }\n if (!context.customUsage) {\n throw new BrowserslistError('Custom usage statistics was not provided')\n }\n var usage = context.customUsage\n return Object.keys(usage).reduce(function (result, version) {\n var percentage = usage[version]\n if (percentage == null) {\n return result\n }\n\n if (node.sign === '>') {\n if (percentage > popularity) {\n result.push(version)\n }\n } else if (node.sign === '<') {\n if (percentage < popularity) {\n result.push(version)\n }\n } else if (node.sign === '<=') {\n if (percentage <= popularity) {\n result.push(version)\n }\n } else if (percentage >= popularity) {\n result.push(version)\n }\n return result\n }, [])\n }\n },\n popularity_in_place: {\n matches: ['sign', 'popularity', 'place'],\n regexp: /^(>=?|<=?)\\s*(\\d+|\\d+\\.\\d+|\\.\\d+)%\\s+in\\s+((alt-)?\\w\\w)$/,\n select: function (context, node) {\n var popularity = parseFloat(node.popularity)\n var place = node.place\n if (place.length === 2) {\n place = place.toUpperCase()\n } else {\n place = place.toLowerCase()\n }\n env.loadCountry(browserslist.usage, place, browserslist.data)\n var usage = browserslist.usage[place]\n return Object.keys(usage).reduce(function (result, version) {\n var percentage = usage[version]\n if (percentage == null) {\n return result\n }\n\n if (node.sign === '>') {\n if (percentage > popularity) {\n result.push(version)\n }\n } else if (node.sign === '<') {\n if (percentage < popularity) {\n result.push(version)\n }\n } else if (node.sign === '<=') {\n if (percentage <= popularity) {\n result.push(version)\n }\n } else if (percentage >= popularity) {\n result.push(version)\n }\n return result\n }, [])\n }\n },\n cover: {\n matches: ['coverage'],\n regexp: /^cover\\s+(\\d+|\\d+\\.\\d+|\\.\\d+)%$/i,\n select: coverQuery\n },\n cover_in: {\n matches: ['coverage', 'place'],\n regexp: /^cover\\s+(\\d+|\\d+\\.\\d+|\\.\\d+)%\\s+in\\s+(my\\s+stats|(alt-)?\\w\\w)$/i,\n select: coverQuery\n },\n supports: {\n matches: ['supportType', 'feature'],\n regexp: /^(?:(fully|partially) )?supports\\s+([\\w-]+)$/,\n select: function (context, node) {\n env.loadFeature(browserslist.cache, node.feature)\n var withPartial = node.supportType !== 'fully'\n var features = browserslist.cache[node.feature]\n var result = []\n for (var name in features) {\n var data = byName(name, context)\n // Only check desktop when latest released mobile has support\n var checkDesktop =\n context.mobileToDesktop &&\n name in browserslist.desktopNames &&\n isSupported(features[name][data.released.slice(-1)[0]], withPartial)\n data.versions.forEach(function (version) {\n var flags = features[name][version]\n if (flags === undefined && checkDesktop) {\n flags = features[browserslist.desktopNames[name]][version]\n }\n if (isSupported(flags, withPartial)) {\n result.push(name + ' ' + version)\n }\n })\n }\n return result\n }\n },\n electron_range: {\n matches: ['from', 'to'],\n regexp: /^electron\\s+([\\d.]+)\\s*-\\s*([\\d.]+)$/i,\n select: function (context, node) {\n var fromToUse = normalizeElectron(node.from)\n var toToUse = normalizeElectron(node.to)\n var from = parseFloat(node.from)\n var to = parseFloat(node.to)\n if (!e2c[fromToUse]) {\n throw new BrowserslistError('Unknown version ' + from + ' of electron')\n }\n if (!e2c[toToUse]) {\n throw new BrowserslistError('Unknown version ' + to + ' of electron')\n }\n return Object.keys(e2c)\n .filter(function (i) {\n var parsed = parseFloat(i)\n return parsed >= from && parsed <= to\n })\n .map(function (i) {\n return 'chrome ' + e2c[i]\n })\n }\n },\n node_range: {\n matches: ['from', 'to'],\n regexp: /^node\\s+([\\d.]+)\\s*-\\s*([\\d.]+)$/i,\n select: function (context, node) {\n return browserslist.nodeVersions\n .filter(semverFilterLoose('>=', node.from))\n .filter(semverFilterLoose('<=', node.to))\n .map(function (v) {\n return 'node ' + v\n })\n }\n },\n browser_range: {\n matches: ['browser', 'from', 'to'],\n regexp: /^(\\w+)\\s+([\\d.]+)\\s*-\\s*([\\d.]+)$/i,\n select: function (context, node) {\n var data = checkName(node.browser, context)\n var from = parseFloat(normalizeVersion(data, node.from) || node.from)\n var to = parseFloat(normalizeVersion(data, node.to) || node.to)\n function filter(v) {\n var parsed = parseFloat(v)\n return parsed >= from && parsed <= to\n }\n return data.released.filter(filter).map(nameMapper(data.name))\n }\n },\n electron_ray: {\n matches: ['sign', 'version'],\n regexp: /^electron\\s*(>=?|<=?)\\s*([\\d.]+)$/i,\n select: function (context, node) {\n var versionToUse = normalizeElectron(node.version)\n return Object.keys(e2c)\n .filter(generateFilter(node.sign, versionToUse))\n .map(function (i) {\n return 'chrome ' + e2c[i]\n })\n }\n },\n node_ray: {\n matches: ['sign', 'version'],\n regexp: /^node\\s*(>=?|<=?)\\s*([\\d.]+)$/i,\n select: function (context, node) {\n return browserslist.nodeVersions\n .filter(generateSemverFilter(node.sign, node.version))\n .map(function (v) {\n return 'node ' + v\n })\n }\n },\n browser_ray: {\n matches: ['browser', 'sign', 'version'],\n regexp: /^(\\w+)\\s*(>=?|<=?)\\s*([\\d.]+)$/,\n select: function (context, node) {\n var version = node.version\n var data = checkName(node.browser, context)\n var alias = browserslist.versionAliases[data.name][version]\n if (alias) version = alias\n return data.released\n .filter(generateFilter(node.sign, version))\n .map(function (v) {\n return data.name + ' ' + v\n })\n }\n },\n firefox_esr: {\n matches: [],\n regexp: /^(firefox|ff|fx)\\s+esr$/i,\n select: function () {\n return ['firefox 115']\n }\n },\n opera_mini_all: {\n matches: [],\n regexp: /(operamini|op_mini)\\s+all/i,\n select: function () {\n return ['op_mini all']\n }\n },\n electron_version: {\n matches: ['version'],\n regexp: /^electron\\s+([\\d.]+)$/i,\n select: function (context, node) {\n var versionToUse = normalizeElectron(node.version)\n var chrome = e2c[versionToUse]\n if (!chrome) {\n throw new BrowserslistError(\n 'Unknown version ' + node.version + ' of electron'\n )\n }\n return ['chrome ' + chrome]\n }\n },\n node_major_version: {\n matches: ['version'],\n regexp: /^node\\s+(\\d+)$/i,\n select: nodeQuery\n },\n node_minor_version: {\n matches: ['version'],\n regexp: /^node\\s+(\\d+\\.\\d+)$/i,\n select: nodeQuery\n },\n node_patch_version: {\n matches: ['version'],\n regexp: /^node\\s+(\\d+\\.\\d+\\.\\d+)$/i,\n select: nodeQuery\n },\n current_node: {\n matches: [],\n regexp: /^current\\s+node$/i,\n select: function (context) {\n return [env.currentNode(resolve, context)]\n }\n },\n maintained_node: {\n matches: [],\n regexp: /^maintained\\s+node\\s+versions$/i,\n select: function (context) {\n var now = Date.now()\n var queries = Object.keys(jsEOL)\n .filter(function (key) {\n return (\n now < Date.parse(jsEOL[key].end) &&\n now > Date.parse(jsEOL[key].start) &&\n isEolReleased(key)\n )\n })\n .map(function (key) {\n return 'node ' + key.slice(1)\n })\n return resolve(queries, context)\n }\n },\n phantomjs_1_9: {\n matches: [],\n regexp: /^phantomjs\\s+1.9$/i,\n select: function () {\n return ['safari 5']\n }\n },\n phantomjs_2_1: {\n matches: [],\n regexp: /^phantomjs\\s+2.1$/i,\n select: function () {\n return ['safari 6']\n }\n },\n browser_version: {\n matches: ['browser', 'version'],\n regexp: /^(\\w+)\\s+(tp|[\\d.]+)$/i,\n select: function (context, node) {\n var version = node.version\n if (/^tp$/i.test(version)) version = 'TP'\n var data = checkName(node.browser, context)\n var alias = normalizeVersion(data, version)\n if (alias) {\n version = alias\n } else {\n if (version.indexOf('.') === -1) {\n alias = version + '.0'\n } else {\n alias = version.replace(/\\.0$/, '')\n }\n alias = normalizeVersion(data, alias)\n if (alias) {\n version = alias\n } else if (context.ignoreUnknownVersions) {\n return []\n } else {\n throw new BrowserslistError(\n 'Unknown version ' + version + ' of ' + node.browser\n )\n }\n }\n return [data.name + ' ' + version]\n }\n },\n browserslist_config: {\n matches: [],\n regexp: /^browserslist config$/i,\n select: function (context) {\n return browserslist(undefined, context)\n }\n },\n extends: {\n matches: ['config'],\n regexp: /^extends (.+)$/i,\n select: function (context, node) {\n return resolve(env.loadQueries(context, node.config), context)\n }\n },\n defaults: {\n matches: [],\n regexp: /^defaults$/i,\n select: function (context) {\n return resolve(browserslist.defaults, context)\n }\n },\n dead: {\n matches: [],\n regexp: /^dead$/i,\n select: function (context) {\n var dead = [\n 'Baidu >= 0',\n 'ie <= 11',\n 'ie_mob <= 11',\n 'bb <= 10',\n 'op_mob <= 12.1',\n 'samsung 4'\n ]\n return resolve(dead, context)\n }\n },\n unknown: {\n matches: [],\n regexp: /^(\\w+)$/i,\n select: function (context, node) {\n if (byName(node.query, context)) {\n throw new BrowserslistError(\n 'Specify versions in Browserslist query for browser ' + node.query\n )\n } else {\n throw unknownQuery(node.query)\n }\n }\n }\n}\n\n// Get and convert Can I Use data\n\n;(function () {\n for (var name in agents) {\n var browser = agents[name]\n browserslist.data[name] = {\n name: name,\n versions: normalize(agents[name].versions),\n released: normalize(agents[name].versions.slice(0, -3)),\n releaseDate: agents[name].release_date\n }\n fillUsage(browserslist.usage.global, name, browser.usage_global)\n\n browserslist.versionAliases[name] = {}\n for (var i = 0; i < browser.versions.length; i++) {\n var full = browser.versions[i]\n if (!full) continue\n\n if (full.indexOf('-') !== -1) {\n var interval = full.split('-')\n for (var j = 0; j < interval.length; j++) {\n browserslist.versionAliases[name][interval[j]] = full\n }\n }\n }\n }\n\n browserslist.nodeVersions = jsReleases.map(function (release) {\n return release.version\n })\n})()\n\nmodule.exports = browserslist\n\n\n//# sourceURL=webpack://renderer/./node_modules/browserslist/index.js?"); - -/***/ }), - -/***/ "./node_modules/browserslist/parse.js": -/*!********************************************!*\ - !*** ./node_modules/browserslist/parse.js ***! - \********************************************/ -/***/ ((module) => { - -eval("var AND_REGEXP = /^\\s+and\\s+(.*)/i\nvar OR_REGEXP = /^(?:,\\s*|\\s+or\\s+)(.*)/i\n\nfunction flatten(array) {\n if (!Array.isArray(array)) return [array]\n return array.reduce(function (a, b) {\n return a.concat(flatten(b))\n }, [])\n}\n\nfunction find(string, predicate) {\n for (var n = 1, max = string.length; n <= max; n++) {\n var parsed = string.substr(-n, n)\n if (predicate(parsed, n, max)) {\n return string.slice(0, -n)\n }\n }\n return ''\n}\n\nfunction matchQuery(all, query) {\n var node = { query: query }\n if (query.indexOf('not ') === 0) {\n node.not = true\n query = query.slice(4)\n }\n\n for (var name in all) {\n var type = all[name]\n var match = query.match(type.regexp)\n if (match) {\n node.type = name\n for (var i = 0; i < type.matches.length; i++) {\n node[type.matches[i]] = match[i + 1]\n }\n return node\n }\n }\n\n node.type = 'unknown'\n return node\n}\n\nfunction matchBlock(all, string, qs) {\n var node\n return find(string, function (parsed, n, max) {\n if (AND_REGEXP.test(parsed)) {\n node = matchQuery(all, parsed.match(AND_REGEXP)[1])\n node.compose = 'and'\n qs.unshift(node)\n return true\n } else if (OR_REGEXP.test(parsed)) {\n node = matchQuery(all, parsed.match(OR_REGEXP)[1])\n node.compose = 'or'\n qs.unshift(node)\n return true\n } else if (n === max) {\n node = matchQuery(all, parsed.trim())\n node.compose = 'or'\n qs.unshift(node)\n return true\n }\n return false\n })\n}\n\nmodule.exports = function parse(all, queries) {\n if (!Array.isArray(queries)) queries = [queries]\n return flatten(\n queries.map(function (block) {\n var qs = []\n do {\n block = matchBlock(all, block, qs)\n } while (block)\n return qs\n })\n )\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/browserslist/parse.js?"); - -/***/ }), - -/***/ "./node_modules/builder-util-runtime/out/CancellationToken.js": -/*!********************************************************************!*\ - !*** ./node_modules/builder-util-runtime/out/CancellationToken.js ***! - \********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CancellationError = exports.CancellationToken = void 0;\nconst events_1 = __webpack_require__(/*! events */ \"events\");\nclass CancellationToken extends events_1.EventEmitter {\n // babel cannot compile ... correctly for super calls\n constructor(parent) {\n super();\n this.parentCancelHandler = null;\n this._parent = null;\n this._cancelled = false;\n if (parent != null) {\n this.parent = parent;\n }\n }\n get cancelled() {\n return this._cancelled || (this._parent != null && this._parent.cancelled);\n }\n set parent(value) {\n this.removeParentCancelHandler();\n this._parent = value;\n this.parentCancelHandler = () => this.cancel();\n this._parent.onCancel(this.parentCancelHandler);\n }\n cancel() {\n this._cancelled = true;\n this.emit(\"cancel\");\n }\n onCancel(handler) {\n if (this.cancelled) {\n handler();\n }\n else {\n this.once(\"cancel\", handler);\n }\n }\n createPromise(callback) {\n if (this.cancelled) {\n return Promise.reject(new CancellationError());\n }\n const finallyHandler = () => {\n if (cancelHandler != null) {\n try {\n this.removeListener(\"cancel\", cancelHandler);\n cancelHandler = null;\n }\n catch (ignore) {\n // ignore\n }\n }\n };\n let cancelHandler = null;\n return new Promise((resolve, reject) => {\n let addedCancelHandler = null;\n cancelHandler = () => {\n try {\n if (addedCancelHandler != null) {\n addedCancelHandler();\n addedCancelHandler = null;\n }\n }\n finally {\n reject(new CancellationError());\n }\n };\n if (this.cancelled) {\n cancelHandler();\n return;\n }\n this.onCancel(cancelHandler);\n callback(resolve, reject, (callback) => {\n addedCancelHandler = callback;\n });\n })\n .then(it => {\n finallyHandler();\n return it;\n })\n .catch((e) => {\n finallyHandler();\n throw e;\n });\n }\n removeParentCancelHandler() {\n const parent = this._parent;\n if (parent != null && this.parentCancelHandler != null) {\n parent.removeListener(\"cancel\", this.parentCancelHandler);\n this.parentCancelHandler = null;\n }\n }\n dispose() {\n try {\n this.removeParentCancelHandler();\n }\n finally {\n this.removeAllListeners();\n this._parent = null;\n }\n }\n}\nexports.CancellationToken = CancellationToken;\nclass CancellationError extends Error {\n constructor() {\n super(\"cancelled\");\n }\n}\nexports.CancellationError = CancellationError;\n//# sourceMappingURL=CancellationToken.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/builder-util-runtime/out/CancellationToken.js?"); - -/***/ }), - -/***/ "./node_modules/builder-util-runtime/out/ProgressCallbackTransform.js": -/*!****************************************************************************!*\ - !*** ./node_modules/builder-util-runtime/out/ProgressCallbackTransform.js ***! - \****************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ProgressCallbackTransform = void 0;\nconst stream_1 = __webpack_require__(/*! stream */ \"stream\");\nclass ProgressCallbackTransform extends stream_1.Transform {\n constructor(total, cancellationToken, onProgress) {\n super();\n this.total = total;\n this.cancellationToken = cancellationToken;\n this.onProgress = onProgress;\n this.start = Date.now();\n this.transferred = 0;\n this.delta = 0;\n this.nextUpdate = this.start + 1000;\n }\n _transform(chunk, encoding, callback) {\n if (this.cancellationToken.cancelled) {\n callback(new Error(\"cancelled\"), null);\n return;\n }\n this.transferred += chunk.length;\n this.delta += chunk.length;\n const now = Date.now();\n if (now >= this.nextUpdate && this.transferred !== this.total /* will be emitted on _flush */) {\n this.nextUpdate = now + 1000;\n this.onProgress({\n total: this.total,\n delta: this.delta,\n transferred: this.transferred,\n percent: (this.transferred / this.total) * 100,\n bytesPerSecond: Math.round(this.transferred / ((now - this.start) / 1000)),\n });\n this.delta = 0;\n }\n callback(null, chunk);\n }\n _flush(callback) {\n if (this.cancellationToken.cancelled) {\n callback(new Error(\"cancelled\"));\n return;\n }\n this.onProgress({\n total: this.total,\n delta: this.delta,\n transferred: this.total,\n percent: 100,\n bytesPerSecond: Math.round(this.transferred / ((Date.now() - this.start) / 1000)),\n });\n this.delta = 0;\n callback(null);\n }\n}\nexports.ProgressCallbackTransform = ProgressCallbackTransform;\n//# sourceMappingURL=ProgressCallbackTransform.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/builder-util-runtime/out/ProgressCallbackTransform.js?"); - -/***/ }), - -/***/ "./node_modules/builder-util-runtime/out/httpExecutor.js": -/*!***************************************************************!*\ - !*** ./node_modules/builder-util-runtime/out/httpExecutor.js ***! - \***************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.safeStringifyJson = exports.configureRequestOptions = exports.safeGetHeader = exports.DigestTransform = exports.configureRequestUrl = exports.configureRequestOptionsFromUrl = exports.HttpExecutor = exports.parseJson = exports.HttpError = exports.createHttpError = void 0;\nconst crypto_1 = __webpack_require__(/*! crypto */ \"crypto\");\nconst debug_1 = __webpack_require__(/*! debug */ \"./node_modules/debug/src/browser.js\");\nconst fs_1 = __webpack_require__(/*! fs */ \"fs\");\nconst stream_1 = __webpack_require__(/*! stream */ \"stream\");\nconst url_1 = __webpack_require__(/*! url */ \"url\");\nconst CancellationToken_1 = __webpack_require__(/*! ./CancellationToken */ \"./node_modules/builder-util-runtime/out/CancellationToken.js\");\nconst index_1 = __webpack_require__(/*! ./index */ \"./node_modules/builder-util-runtime/out/index.js\");\nconst ProgressCallbackTransform_1 = __webpack_require__(/*! ./ProgressCallbackTransform */ \"./node_modules/builder-util-runtime/out/ProgressCallbackTransform.js\");\nconst debug = (0, debug_1.default)(\"electron-builder\");\nfunction createHttpError(response, description = null) {\n return new HttpError(response.statusCode || -1, `${response.statusCode} ${response.statusMessage}` +\n (description == null ? \"\" : \"\\n\" + JSON.stringify(description, null, \" \")) +\n \"\\nHeaders: \" +\n safeStringifyJson(response.headers), description);\n}\nexports.createHttpError = createHttpError;\nconst HTTP_STATUS_CODES = new Map([\n [429, \"Too many requests\"],\n [400, \"Bad request\"],\n [403, \"Forbidden\"],\n [404, \"Not found\"],\n [405, \"Method not allowed\"],\n [406, \"Not acceptable\"],\n [408, \"Request timeout\"],\n [413, \"Request entity too large\"],\n [500, \"Internal server error\"],\n [502, \"Bad gateway\"],\n [503, \"Service unavailable\"],\n [504, \"Gateway timeout\"],\n [505, \"HTTP version not supported\"],\n]);\nclass HttpError extends Error {\n constructor(statusCode, message = `HTTP error: ${HTTP_STATUS_CODES.get(statusCode) || statusCode}`, description = null) {\n super(message);\n this.statusCode = statusCode;\n this.description = description;\n this.name = \"HttpError\";\n this.code = `HTTP_ERROR_${statusCode}`;\n }\n isServerError() {\n return this.statusCode >= 500 && this.statusCode <= 599;\n }\n}\nexports.HttpError = HttpError;\nfunction parseJson(result) {\n return result.then(it => (it == null || it.length === 0 ? null : JSON.parse(it)));\n}\nexports.parseJson = parseJson;\nclass HttpExecutor {\n constructor() {\n this.maxRedirects = 10;\n }\n request(options, cancellationToken = new CancellationToken_1.CancellationToken(), data) {\n configureRequestOptions(options);\n const json = data == null ? undefined : JSON.stringify(data);\n const encodedData = json ? Buffer.from(json) : undefined;\n if (encodedData != null) {\n debug(json);\n const { headers, ...opts } = options;\n options = {\n method: \"post\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Content-Length\": encodedData.length,\n ...headers,\n },\n ...opts,\n };\n }\n return this.doApiRequest(options, cancellationToken, it => it.end(encodedData));\n }\n doApiRequest(options, cancellationToken, requestProcessor, redirectCount = 0) {\n if (debug.enabled) {\n debug(`Request: ${safeStringifyJson(options)}`);\n }\n return cancellationToken.createPromise((resolve, reject, onCancel) => {\n const request = this.createRequest(options, (response) => {\n try {\n this.handleResponse(response, options, cancellationToken, resolve, reject, redirectCount, requestProcessor);\n }\n catch (e) {\n reject(e);\n }\n });\n this.addErrorAndTimeoutHandlers(request, reject, options.timeout);\n this.addRedirectHandlers(request, options, reject, redirectCount, options => {\n this.doApiRequest(options, cancellationToken, requestProcessor, redirectCount).then(resolve).catch(reject);\n });\n requestProcessor(request, reject);\n onCancel(() => request.abort());\n });\n }\n // noinspection JSUnusedLocalSymbols\n // eslint-disable-next-line\n addRedirectHandlers(request, options, reject, redirectCount, handler) {\n // not required for NodeJS\n }\n addErrorAndTimeoutHandlers(request, reject, timeout = 60 * 1000) {\n this.addTimeOutHandler(request, reject, timeout);\n request.on(\"error\", reject);\n request.on(\"aborted\", () => {\n reject(new Error(\"Request has been aborted by the server\"));\n });\n }\n handleResponse(response, options, cancellationToken, resolve, reject, redirectCount, requestProcessor) {\n var _a;\n if (debug.enabled) {\n debug(`Response: ${response.statusCode} ${response.statusMessage}, request options: ${safeStringifyJson(options)}`);\n }\n // we handle any other >= 400 error on request end (read detailed message in the response body)\n if (response.statusCode === 404) {\n // error is clear, we don't need to read detailed error description\n reject(createHttpError(response, `method: ${options.method || \"GET\"} url: ${options.protocol || \"https:\"}//${options.hostname}${options.port ? `:${options.port}` : \"\"}${options.path}\n\nPlease double check that your authentication token is correct. Due to security reasons, actual status maybe not reported, but 404.\n`));\n return;\n }\n else if (response.statusCode === 204) {\n // on DELETE request\n resolve();\n return;\n }\n const code = (_a = response.statusCode) !== null && _a !== void 0 ? _a : 0;\n const shouldRedirect = code >= 300 && code < 400;\n const redirectUrl = safeGetHeader(response, \"location\");\n if (shouldRedirect && redirectUrl != null) {\n if (redirectCount > this.maxRedirects) {\n reject(this.createMaxRedirectError());\n return;\n }\n this.doApiRequest(HttpExecutor.prepareRedirectUrlOptions(redirectUrl, options), cancellationToken, requestProcessor, redirectCount).then(resolve).catch(reject);\n return;\n }\n response.setEncoding(\"utf8\");\n let data = \"\";\n response.on(\"error\", reject);\n response.on(\"data\", (chunk) => (data += chunk));\n response.on(\"end\", () => {\n try {\n if (response.statusCode != null && response.statusCode >= 400) {\n const contentType = safeGetHeader(response, \"content-type\");\n const isJson = contentType != null && (Array.isArray(contentType) ? contentType.find(it => it.includes(\"json\")) != null : contentType.includes(\"json\"));\n reject(createHttpError(response, `method: ${options.method || \"GET\"} url: ${options.protocol || \"https:\"}//${options.hostname}${options.port ? `:${options.port}` : \"\"}${options.path}\n\n Data:\n ${isJson ? JSON.stringify(JSON.parse(data)) : data}\n `));\n }\n else {\n resolve(data.length === 0 ? null : data);\n }\n }\n catch (e) {\n reject(e);\n }\n });\n }\n async downloadToBuffer(url, options) {\n return await options.cancellationToken.createPromise((resolve, reject, onCancel) => {\n const responseChunks = [];\n const requestOptions = {\n headers: options.headers || undefined,\n // because PrivateGitHubProvider requires HttpExecutor.prepareRedirectUrlOptions logic, so, we need to redirect manually\n redirect: \"manual\",\n };\n configureRequestUrl(url, requestOptions);\n configureRequestOptions(requestOptions);\n this.doDownload(requestOptions, {\n destination: null,\n options,\n onCancel,\n callback: error => {\n if (error == null) {\n resolve(Buffer.concat(responseChunks));\n }\n else {\n reject(error);\n }\n },\n responseHandler: (response, callback) => {\n let receivedLength = 0;\n response.on(\"data\", (chunk) => {\n receivedLength += chunk.length;\n if (receivedLength > 524288000) {\n callback(new Error(\"Maximum allowed size is 500 MB\"));\n return;\n }\n responseChunks.push(chunk);\n });\n response.on(\"end\", () => {\n callback(null);\n });\n },\n }, 0);\n });\n }\n doDownload(requestOptions, options, redirectCount) {\n const request = this.createRequest(requestOptions, (response) => {\n if (response.statusCode >= 400) {\n options.callback(new Error(`Cannot download \"${requestOptions.protocol || \"https:\"}//${requestOptions.hostname}${requestOptions.path}\", status ${response.statusCode}: ${response.statusMessage}`));\n return;\n }\n // It is possible for the response stream to fail, e.g. when a network is lost while\n // response stream is in progress. Stop waiting and reject so consumer can catch the error.\n response.on(\"error\", options.callback);\n // this code not relevant for Electron (redirect event instead handled)\n const redirectUrl = safeGetHeader(response, \"location\");\n if (redirectUrl != null) {\n if (redirectCount < this.maxRedirects) {\n this.doDownload(HttpExecutor.prepareRedirectUrlOptions(redirectUrl, requestOptions), options, redirectCount++);\n }\n else {\n options.callback(this.createMaxRedirectError());\n }\n return;\n }\n if (options.responseHandler == null) {\n configurePipes(options, response);\n }\n else {\n options.responseHandler(response, options.callback);\n }\n });\n this.addErrorAndTimeoutHandlers(request, options.callback, requestOptions.timeout);\n this.addRedirectHandlers(request, requestOptions, options.callback, redirectCount, requestOptions => {\n this.doDownload(requestOptions, options, redirectCount++);\n });\n request.end();\n }\n createMaxRedirectError() {\n return new Error(`Too many redirects (> ${this.maxRedirects})`);\n }\n addTimeOutHandler(request, callback, timeout) {\n request.on(\"socket\", (socket) => {\n socket.setTimeout(timeout, () => {\n request.abort();\n callback(new Error(\"Request timed out\"));\n });\n });\n }\n static prepareRedirectUrlOptions(redirectUrl, options) {\n const newOptions = configureRequestOptionsFromUrl(redirectUrl, { ...options });\n const headers = newOptions.headers;\n if (headers === null || headers === void 0 ? void 0 : headers.authorization) {\n const parsedNewUrl = new url_1.URL(redirectUrl);\n if (parsedNewUrl.hostname.endsWith(\".amazonaws.com\") || parsedNewUrl.searchParams.has(\"X-Amz-Credential\")) {\n delete headers.authorization;\n }\n }\n return newOptions;\n }\n static retryOnServerError(task, maxRetries = 3) {\n for (let attemptNumber = 0;; attemptNumber++) {\n try {\n return task();\n }\n catch (e) {\n if (attemptNumber < maxRetries && ((e instanceof HttpError && e.isServerError()) || e.code === \"EPIPE\")) {\n continue;\n }\n throw e;\n }\n }\n }\n}\nexports.HttpExecutor = HttpExecutor;\nfunction configureRequestOptionsFromUrl(url, options) {\n const result = configureRequestOptions(options);\n configureRequestUrl(new url_1.URL(url), result);\n return result;\n}\nexports.configureRequestOptionsFromUrl = configureRequestOptionsFromUrl;\nfunction configureRequestUrl(url, options) {\n options.protocol = url.protocol;\n options.hostname = url.hostname;\n if (url.port) {\n options.port = url.port;\n }\n else if (options.port) {\n delete options.port;\n }\n options.path = url.pathname + url.search;\n}\nexports.configureRequestUrl = configureRequestUrl;\nclass DigestTransform extends stream_1.Transform {\n constructor(expected, algorithm = \"sha512\", encoding = \"base64\") {\n super();\n this.expected = expected;\n this.algorithm = algorithm;\n this.encoding = encoding;\n this._actual = null;\n this.isValidateOnEnd = true;\n this.digester = (0, crypto_1.createHash)(algorithm);\n }\n // noinspection JSUnusedGlobalSymbols\n get actual() {\n return this._actual;\n }\n // noinspection JSUnusedGlobalSymbols\n _transform(chunk, encoding, callback) {\n this.digester.update(chunk);\n callback(null, chunk);\n }\n // noinspection JSUnusedGlobalSymbols\n _flush(callback) {\n this._actual = this.digester.digest(this.encoding);\n if (this.isValidateOnEnd) {\n try {\n this.validate();\n }\n catch (e) {\n callback(e);\n return;\n }\n }\n callback(null);\n }\n validate() {\n if (this._actual == null) {\n throw (0, index_1.newError)(\"Not finished yet\", \"ERR_STREAM_NOT_FINISHED\");\n }\n if (this._actual !== this.expected) {\n throw (0, index_1.newError)(`${this.algorithm} checksum mismatch, expected ${this.expected}, got ${this._actual}`, \"ERR_CHECKSUM_MISMATCH\");\n }\n return null;\n }\n}\nexports.DigestTransform = DigestTransform;\nfunction checkSha2(sha2Header, sha2, callback) {\n if (sha2Header != null && sha2 != null && sha2Header !== sha2) {\n callback(new Error(`checksum mismatch: expected ${sha2} but got ${sha2Header} (X-Checksum-Sha2 header)`));\n return false;\n }\n return true;\n}\nfunction safeGetHeader(response, headerKey) {\n const value = response.headers[headerKey];\n if (value == null) {\n return null;\n }\n else if (Array.isArray(value)) {\n // electron API\n return value.length === 0 ? null : value[value.length - 1];\n }\n else {\n return value;\n }\n}\nexports.safeGetHeader = safeGetHeader;\nfunction configurePipes(options, response) {\n if (!checkSha2(safeGetHeader(response, \"X-Checksum-Sha2\"), options.options.sha2, options.callback)) {\n return;\n }\n const streams = [];\n if (options.options.onProgress != null) {\n const contentLength = safeGetHeader(response, \"content-length\");\n if (contentLength != null) {\n streams.push(new ProgressCallbackTransform_1.ProgressCallbackTransform(parseInt(contentLength, 10), options.options.cancellationToken, options.options.onProgress));\n }\n }\n const sha512 = options.options.sha512;\n if (sha512 != null) {\n streams.push(new DigestTransform(sha512, \"sha512\", sha512.length === 128 && !sha512.includes(\"+\") && !sha512.includes(\"Z\") && !sha512.includes(\"=\") ? \"hex\" : \"base64\"));\n }\n else if (options.options.sha2 != null) {\n streams.push(new DigestTransform(options.options.sha2, \"sha256\", \"hex\"));\n }\n const fileOut = (0, fs_1.createWriteStream)(options.destination);\n streams.push(fileOut);\n let lastStream = response;\n for (const stream of streams) {\n stream.on(\"error\", (error) => {\n fileOut.close();\n if (!options.options.cancellationToken.cancelled) {\n options.callback(error);\n }\n });\n lastStream = lastStream.pipe(stream);\n }\n fileOut.on(\"finish\", () => {\n ;\n fileOut.close(options.callback);\n });\n}\nfunction configureRequestOptions(options, token, method) {\n if (method != null) {\n options.method = method;\n }\n options.headers = { ...options.headers };\n const headers = options.headers;\n if (token != null) {\n ;\n headers.authorization = token.startsWith(\"Basic\") || token.startsWith(\"Bearer\") ? token : `token ${token}`;\n }\n if (headers[\"User-Agent\"] == null) {\n headers[\"User-Agent\"] = \"electron-builder\";\n }\n if (method == null || method === \"GET\" || headers[\"Cache-Control\"] == null) {\n headers[\"Cache-Control\"] = \"no-cache\";\n }\n // do not specify for node (in any case we use https module)\n if (options.protocol == null && process.versions.electron != null) {\n options.protocol = \"https:\";\n }\n return options;\n}\nexports.configureRequestOptions = configureRequestOptions;\nfunction safeStringifyJson(data, skippedNames) {\n return JSON.stringify(data, (name, value) => {\n if (name.endsWith(\"Authorization\") ||\n name.endsWith(\"authorization\") ||\n name.endsWith(\"Password\") ||\n name.endsWith(\"PASSWORD\") ||\n name.endsWith(\"Token\") ||\n name.includes(\"password\") ||\n name.includes(\"token\") ||\n (skippedNames != null && skippedNames.has(name))) {\n return \"\";\n }\n return value;\n }, 2);\n}\nexports.safeStringifyJson = safeStringifyJson;\n//# sourceMappingURL=httpExecutor.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/builder-util-runtime/out/httpExecutor.js?"); - -/***/ }), - -/***/ "./node_modules/builder-util-runtime/out/index.js": -/*!********************************************************!*\ - !*** ./node_modules/builder-util-runtime/out/index.js ***! - \********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.newError = exports.asArray = exports.CURRENT_APP_PACKAGE_FILE_NAME = exports.CURRENT_APP_INSTALLER_FILE_NAME = exports.XElement = exports.parseXml = exports.ProgressCallbackTransform = exports.UUID = exports.parseDn = exports.githubUrl = exports.getS3LikeProviderBaseUrl = exports.configureRequestUrl = exports.parseJson = exports.safeStringifyJson = exports.configureRequestOptionsFromUrl = exports.configureRequestOptions = exports.safeGetHeader = exports.DigestTransform = exports.HttpExecutor = exports.createHttpError = exports.HttpError = exports.CancellationError = exports.CancellationToken = void 0;\nvar CancellationToken_1 = __webpack_require__(/*! ./CancellationToken */ \"./node_modules/builder-util-runtime/out/CancellationToken.js\");\nObject.defineProperty(exports, \"CancellationToken\", ({ enumerable: true, get: function () { return CancellationToken_1.CancellationToken; } }));\nObject.defineProperty(exports, \"CancellationError\", ({ enumerable: true, get: function () { return CancellationToken_1.CancellationError; } }));\nvar httpExecutor_1 = __webpack_require__(/*! ./httpExecutor */ \"./node_modules/builder-util-runtime/out/httpExecutor.js\");\nObject.defineProperty(exports, \"HttpError\", ({ enumerable: true, get: function () { return httpExecutor_1.HttpError; } }));\nObject.defineProperty(exports, \"createHttpError\", ({ enumerable: true, get: function () { return httpExecutor_1.createHttpError; } }));\nObject.defineProperty(exports, \"HttpExecutor\", ({ enumerable: true, get: function () { return httpExecutor_1.HttpExecutor; } }));\nObject.defineProperty(exports, \"DigestTransform\", ({ enumerable: true, get: function () { return httpExecutor_1.DigestTransform; } }));\nObject.defineProperty(exports, \"safeGetHeader\", ({ enumerable: true, get: function () { return httpExecutor_1.safeGetHeader; } }));\nObject.defineProperty(exports, \"configureRequestOptions\", ({ enumerable: true, get: function () { return httpExecutor_1.configureRequestOptions; } }));\nObject.defineProperty(exports, \"configureRequestOptionsFromUrl\", ({ enumerable: true, get: function () { return httpExecutor_1.configureRequestOptionsFromUrl; } }));\nObject.defineProperty(exports, \"safeStringifyJson\", ({ enumerable: true, get: function () { return httpExecutor_1.safeStringifyJson; } }));\nObject.defineProperty(exports, \"parseJson\", ({ enumerable: true, get: function () { return httpExecutor_1.parseJson; } }));\nObject.defineProperty(exports, \"configureRequestUrl\", ({ enumerable: true, get: function () { return httpExecutor_1.configureRequestUrl; } }));\nvar publishOptions_1 = __webpack_require__(/*! ./publishOptions */ \"./node_modules/builder-util-runtime/out/publishOptions.js\");\nObject.defineProperty(exports, \"getS3LikeProviderBaseUrl\", ({ enumerable: true, get: function () { return publishOptions_1.getS3LikeProviderBaseUrl; } }));\nObject.defineProperty(exports, \"githubUrl\", ({ enumerable: true, get: function () { return publishOptions_1.githubUrl; } }));\nvar rfc2253Parser_1 = __webpack_require__(/*! ./rfc2253Parser */ \"./node_modules/builder-util-runtime/out/rfc2253Parser.js\");\nObject.defineProperty(exports, \"parseDn\", ({ enumerable: true, get: function () { return rfc2253Parser_1.parseDn; } }));\nvar uuid_1 = __webpack_require__(/*! ./uuid */ \"./node_modules/builder-util-runtime/out/uuid.js\");\nObject.defineProperty(exports, \"UUID\", ({ enumerable: true, get: function () { return uuid_1.UUID; } }));\nvar ProgressCallbackTransform_1 = __webpack_require__(/*! ./ProgressCallbackTransform */ \"./node_modules/builder-util-runtime/out/ProgressCallbackTransform.js\");\nObject.defineProperty(exports, \"ProgressCallbackTransform\", ({ enumerable: true, get: function () { return ProgressCallbackTransform_1.ProgressCallbackTransform; } }));\nvar xml_1 = __webpack_require__(/*! ./xml */ \"./node_modules/builder-util-runtime/out/xml.js\");\nObject.defineProperty(exports, \"parseXml\", ({ enumerable: true, get: function () { return xml_1.parseXml; } }));\nObject.defineProperty(exports, \"XElement\", ({ enumerable: true, get: function () { return xml_1.XElement; } }));\n// nsis\nexports.CURRENT_APP_INSTALLER_FILE_NAME = \"installer.exe\";\n// nsis-web\nexports.CURRENT_APP_PACKAGE_FILE_NAME = \"package.7z\";\nfunction asArray(v) {\n if (v == null) {\n return [];\n }\n else if (Array.isArray(v)) {\n return v;\n }\n else {\n return [v];\n }\n}\nexports.asArray = asArray;\nfunction newError(message, code) {\n const error = new Error(message);\n error.code = code;\n return error;\n}\nexports.newError = newError;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/builder-util-runtime/out/index.js?"); - -/***/ }), - -/***/ "./node_modules/builder-util-runtime/out/publishOptions.js": -/*!*****************************************************************!*\ - !*** ./node_modules/builder-util-runtime/out/publishOptions.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getS3LikeProviderBaseUrl = exports.githubUrl = void 0;\n/** @private */\nfunction githubUrl(options, defaultHost = \"github.com\") {\n return `${options.protocol || \"https\"}://${options.host || defaultHost}`;\n}\nexports.githubUrl = githubUrl;\nfunction getS3LikeProviderBaseUrl(configuration) {\n const provider = configuration.provider;\n if (provider === \"s3\") {\n return s3Url(configuration);\n }\n if (provider === \"spaces\") {\n return spacesUrl(configuration);\n }\n throw new Error(`Not supported provider: ${provider}`);\n}\nexports.getS3LikeProviderBaseUrl = getS3LikeProviderBaseUrl;\nfunction s3Url(options) {\n let url;\n if (options.accelerate == true) {\n url = `https://${options.bucket}.s3-accelerate.amazonaws.com`;\n }\n else if (options.endpoint != null) {\n url = `${options.endpoint}/${options.bucket}`;\n }\n else if (options.bucket.includes(\".\")) {\n if (options.region == null) {\n throw new Error(`Bucket name \"${options.bucket}\" includes a dot, but S3 region is missing`);\n }\n // special case, see http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro\n if (options.region === \"us-east-1\") {\n url = `https://s3.amazonaws.com/${options.bucket}`;\n }\n else {\n url = `https://s3-${options.region}.amazonaws.com/${options.bucket}`;\n }\n }\n else if (options.region === \"cn-north-1\") {\n url = `https://${options.bucket}.s3.${options.region}.amazonaws.com.cn`;\n }\n else {\n url = `https://${options.bucket}.s3.amazonaws.com`;\n }\n return appendPath(url, options.path);\n}\nfunction appendPath(url, p) {\n if (p != null && p.length > 0) {\n if (!p.startsWith(\"/\")) {\n url += \"/\";\n }\n url += p;\n }\n return url;\n}\nfunction spacesUrl(options) {\n if (options.name == null) {\n throw new Error(`name is missing`);\n }\n if (options.region == null) {\n throw new Error(`region is missing`);\n }\n return appendPath(`https://${options.name}.${options.region}.digitaloceanspaces.com`, options.path);\n}\n//# sourceMappingURL=publishOptions.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/builder-util-runtime/out/publishOptions.js?"); - -/***/ }), - -/***/ "./node_modules/builder-util-runtime/out/rfc2253Parser.js": -/*!****************************************************************!*\ - !*** ./node_modules/builder-util-runtime/out/rfc2253Parser.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseDn = void 0;\nfunction parseDn(seq) {\n let quoted = false;\n let key = null;\n let token = \"\";\n let nextNonSpace = 0;\n seq = seq.trim();\n const result = new Map();\n for (let i = 0; i <= seq.length; i++) {\n if (i === seq.length) {\n if (key !== null) {\n result.set(key, token);\n }\n break;\n }\n const ch = seq[i];\n if (quoted) {\n if (ch === '\"') {\n quoted = false;\n continue;\n }\n }\n else {\n if (ch === '\"') {\n quoted = true;\n continue;\n }\n if (ch === \"\\\\\") {\n i++;\n const ord = parseInt(seq.slice(i, i + 2), 16);\n if (Number.isNaN(ord)) {\n token += seq[i];\n }\n else {\n i++;\n token += String.fromCharCode(ord);\n }\n continue;\n }\n if (key === null && ch === \"=\") {\n key = token;\n token = \"\";\n continue;\n }\n if (ch === \",\" || ch === \";\" || ch === \"+\") {\n if (key !== null) {\n result.set(key, token);\n }\n key = null;\n token = \"\";\n continue;\n }\n }\n if (ch === \" \" && !quoted) {\n if (token.length === 0) {\n continue;\n }\n if (i > nextNonSpace) {\n let j = i;\n while (seq[j] === \" \") {\n j++;\n }\n nextNonSpace = j;\n }\n if (nextNonSpace >= seq.length ||\n seq[nextNonSpace] === \",\" ||\n seq[nextNonSpace] === \";\" ||\n (key === null && seq[nextNonSpace] === \"=\") ||\n (key !== null && seq[nextNonSpace] === \"+\")) {\n i = nextNonSpace - 1;\n continue;\n }\n }\n token += ch;\n }\n return result;\n}\nexports.parseDn = parseDn;\n//# sourceMappingURL=rfc2253Parser.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/builder-util-runtime/out/rfc2253Parser.js?"); - -/***/ }), - -/***/ "./node_modules/builder-util-runtime/out/uuid.js": -/*!*******************************************************!*\ - !*** ./node_modules/builder-util-runtime/out/uuid.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.nil = exports.UUID = void 0;\nconst crypto_1 = __webpack_require__(/*! crypto */ \"crypto\");\nconst index_1 = __webpack_require__(/*! ./index */ \"./node_modules/builder-util-runtime/out/index.js\");\nconst invalidName = \"options.name must be either a string or a Buffer\";\n// Node ID according to rfc4122#section-4.5\nconst randomHost = (0, crypto_1.randomBytes)(16);\nrandomHost[0] = randomHost[0] | 0x01;\n// lookup table hex to byte\nconst hex2byte = {};\n// lookup table byte to hex\nconst byte2hex = [];\n// populate lookup tables\nfor (let i = 0; i < 256; i++) {\n const hex = (i + 0x100).toString(16).substr(1);\n hex2byte[hex] = i;\n byte2hex[i] = hex;\n}\n// UUID class\nclass UUID {\n constructor(uuid) {\n this.ascii = null;\n this.binary = null;\n const check = UUID.check(uuid);\n if (!check) {\n throw new Error(\"not a UUID\");\n }\n this.version = check.version;\n if (check.format === \"ascii\") {\n this.ascii = uuid;\n }\n else {\n this.binary = uuid;\n }\n }\n static v5(name, namespace) {\n return uuidNamed(name, \"sha1\", 0x50, namespace);\n }\n toString() {\n if (this.ascii == null) {\n this.ascii = stringify(this.binary);\n }\n return this.ascii;\n }\n inspect() {\n return `UUID v${this.version} ${this.toString()}`;\n }\n static check(uuid, offset = 0) {\n if (typeof uuid === \"string\") {\n uuid = uuid.toLowerCase();\n if (!/^[a-f0-9]{8}(-[a-f0-9]{4}){3}-([a-f0-9]{12})$/.test(uuid)) {\n return false;\n }\n if (uuid === \"00000000-0000-0000-0000-000000000000\") {\n return { version: undefined, variant: \"nil\", format: \"ascii\" };\n }\n return {\n version: (hex2byte[uuid[14] + uuid[15]] & 0xf0) >> 4,\n variant: getVariant((hex2byte[uuid[19] + uuid[20]] & 0xe0) >> 5),\n format: \"ascii\",\n };\n }\n if (Buffer.isBuffer(uuid)) {\n if (uuid.length < offset + 16) {\n return false;\n }\n let i = 0;\n for (; i < 16; i++) {\n if (uuid[offset + i] !== 0) {\n break;\n }\n }\n if (i === 16) {\n return { version: undefined, variant: \"nil\", format: \"binary\" };\n }\n return {\n version: (uuid[offset + 6] & 0xf0) >> 4,\n variant: getVariant((uuid[offset + 8] & 0xe0) >> 5),\n format: \"binary\",\n };\n }\n throw (0, index_1.newError)(\"Unknown type of uuid\", \"ERR_UNKNOWN_UUID_TYPE\");\n }\n // read stringified uuid into a Buffer\n static parse(input) {\n const buffer = Buffer.allocUnsafe(16);\n let j = 0;\n for (let i = 0; i < 16; i++) {\n buffer[i] = hex2byte[input[j++] + input[j++]];\n if (i === 3 || i === 5 || i === 7 || i === 9) {\n j += 1;\n }\n }\n return buffer;\n }\n}\nexports.UUID = UUID;\n// from rfc4122#appendix-C\nUUID.OID = UUID.parse(\"6ba7b812-9dad-11d1-80b4-00c04fd430c8\");\n// according to rfc4122#section-4.1.1\nfunction getVariant(bits) {\n switch (bits) {\n case 0:\n case 1:\n case 3:\n return \"ncs\";\n case 4:\n case 5:\n return \"rfc4122\";\n case 6:\n return \"microsoft\";\n default:\n return \"future\";\n }\n}\nvar UuidEncoding;\n(function (UuidEncoding) {\n UuidEncoding[UuidEncoding[\"ASCII\"] = 0] = \"ASCII\";\n UuidEncoding[UuidEncoding[\"BINARY\"] = 1] = \"BINARY\";\n UuidEncoding[UuidEncoding[\"OBJECT\"] = 2] = \"OBJECT\";\n})(UuidEncoding || (UuidEncoding = {}));\n// v3 + v5\nfunction uuidNamed(name, hashMethod, version, namespace, encoding = UuidEncoding.ASCII) {\n const hash = (0, crypto_1.createHash)(hashMethod);\n const nameIsNotAString = typeof name !== \"string\";\n if (nameIsNotAString && !Buffer.isBuffer(name)) {\n throw (0, index_1.newError)(invalidName, \"ERR_INVALID_UUID_NAME\");\n }\n hash.update(namespace);\n hash.update(name);\n const buffer = hash.digest();\n let result;\n switch (encoding) {\n case UuidEncoding.BINARY:\n buffer[6] = (buffer[6] & 0x0f) | version;\n buffer[8] = (buffer[8] & 0x3f) | 0x80;\n result = buffer;\n break;\n case UuidEncoding.OBJECT:\n buffer[6] = (buffer[6] & 0x0f) | version;\n buffer[8] = (buffer[8] & 0x3f) | 0x80;\n result = new UUID(buffer);\n break;\n default:\n result =\n byte2hex[buffer[0]] +\n byte2hex[buffer[1]] +\n byte2hex[buffer[2]] +\n byte2hex[buffer[3]] +\n \"-\" +\n byte2hex[buffer[4]] +\n byte2hex[buffer[5]] +\n \"-\" +\n byte2hex[(buffer[6] & 0x0f) | version] +\n byte2hex[buffer[7]] +\n \"-\" +\n byte2hex[(buffer[8] & 0x3f) | 0x80] +\n byte2hex[buffer[9]] +\n \"-\" +\n byte2hex[buffer[10]] +\n byte2hex[buffer[11]] +\n byte2hex[buffer[12]] +\n byte2hex[buffer[13]] +\n byte2hex[buffer[14]] +\n byte2hex[buffer[15]];\n break;\n }\n return result;\n}\nfunction stringify(buffer) {\n return (byte2hex[buffer[0]] +\n byte2hex[buffer[1]] +\n byte2hex[buffer[2]] +\n byte2hex[buffer[3]] +\n \"-\" +\n byte2hex[buffer[4]] +\n byte2hex[buffer[5]] +\n \"-\" +\n byte2hex[buffer[6]] +\n byte2hex[buffer[7]] +\n \"-\" +\n byte2hex[buffer[8]] +\n byte2hex[buffer[9]] +\n \"-\" +\n byte2hex[buffer[10]] +\n byte2hex[buffer[11]] +\n byte2hex[buffer[12]] +\n byte2hex[buffer[13]] +\n byte2hex[buffer[14]] +\n byte2hex[buffer[15]]);\n}\n// according to rfc4122#section-4.1.7\nexports.nil = new UUID(\"00000000-0000-0000-0000-000000000000\");\n// UUID.v4 = uuidRandom\n// UUID.v4fast = uuidRandomFast\n// UUID.v3 = function(options, callback) {\n// return uuidNamed(\"md5\", 0x30, options, callback)\n// }\n//# sourceMappingURL=uuid.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/builder-util-runtime/out/uuid.js?"); - -/***/ }), - -/***/ "./node_modules/builder-util-runtime/out/xml.js": -/*!******************************************************!*\ - !*** ./node_modules/builder-util-runtime/out/xml.js ***! - \******************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseXml = exports.XElement = void 0;\nconst sax = __webpack_require__(/*! sax */ \"./node_modules/sax/lib/sax.js\");\nconst index_1 = __webpack_require__(/*! ./index */ \"./node_modules/builder-util-runtime/out/index.js\");\nclass XElement {\n constructor(name) {\n this.name = name;\n this.value = \"\";\n this.attributes = null;\n this.isCData = false;\n this.elements = null;\n if (!name) {\n throw (0, index_1.newError)(\"Element name cannot be empty\", \"ERR_XML_ELEMENT_NAME_EMPTY\");\n }\n if (!isValidName(name)) {\n throw (0, index_1.newError)(`Invalid element name: ${name}`, \"ERR_XML_ELEMENT_INVALID_NAME\");\n }\n }\n attribute(name) {\n const result = this.attributes === null ? null : this.attributes[name];\n if (result == null) {\n throw (0, index_1.newError)(`No attribute \"${name}\"`, \"ERR_XML_MISSED_ATTRIBUTE\");\n }\n return result;\n }\n removeAttribute(name) {\n if (this.attributes !== null) {\n delete this.attributes[name];\n }\n }\n element(name, ignoreCase = false, errorIfMissed = null) {\n const result = this.elementOrNull(name, ignoreCase);\n if (result === null) {\n throw (0, index_1.newError)(errorIfMissed || `No element \"${name}\"`, \"ERR_XML_MISSED_ELEMENT\");\n }\n return result;\n }\n elementOrNull(name, ignoreCase = false) {\n if (this.elements === null) {\n return null;\n }\n for (const element of this.elements) {\n if (isNameEquals(element, name, ignoreCase)) {\n return element;\n }\n }\n return null;\n }\n getElements(name, ignoreCase = false) {\n if (this.elements === null) {\n return [];\n }\n return this.elements.filter(it => isNameEquals(it, name, ignoreCase));\n }\n elementValueOrEmpty(name, ignoreCase = false) {\n const element = this.elementOrNull(name, ignoreCase);\n return element === null ? \"\" : element.value;\n }\n}\nexports.XElement = XElement;\nconst NAME_REG_EXP = new RegExp(/^[A-Za-z_][:A-Za-z0-9_-]*$/i);\nfunction isValidName(name) {\n return NAME_REG_EXP.test(name);\n}\nfunction isNameEquals(element, name, ignoreCase) {\n const elementName = element.name;\n return elementName === name || (ignoreCase === true && elementName.length === name.length && elementName.toLowerCase() === name.toLowerCase());\n}\nfunction parseXml(data) {\n let rootElement = null;\n const parser = sax.parser(true, {});\n const elements = [];\n parser.onopentag = saxElement => {\n const element = new XElement(saxElement.name);\n element.attributes = saxElement.attributes;\n if (rootElement === null) {\n rootElement = element;\n }\n else {\n const parent = elements[elements.length - 1];\n if (parent.elements == null) {\n parent.elements = [];\n }\n parent.elements.push(element);\n }\n elements.push(element);\n };\n parser.onclosetag = () => {\n elements.pop();\n };\n parser.ontext = text => {\n if (elements.length > 0) {\n elements[elements.length - 1].value = text;\n }\n };\n parser.oncdata = cdata => {\n const element = elements[elements.length - 1];\n element.value = cdata;\n element.isCData = true;\n };\n parser.onerror = err => {\n throw err;\n };\n parser.write(data);\n return rootElement;\n}\nexports.parseXml = parseXml;\n//# sourceMappingURL=xml.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/builder-util-runtime/out/xml.js?"); - -/***/ }), - -/***/ "./node_modules/callsites/index.js": -/*!*****************************************!*\ - !*** ./node_modules/callsites/index.js ***! - \*****************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\nconst callsites = () => {\n\tconst _prepareStackTrace = Error.prepareStackTrace;\n\tError.prepareStackTrace = (_, stack) => stack;\n\tconst stack = new Error().stack.slice(1);\n\tError.prepareStackTrace = _prepareStackTrace;\n\treturn stack;\n};\n\nmodule.exports = callsites;\n// TODO: Remove this for the next major release\nmodule.exports[\"default\"] = callsites;\n\n\n//# sourceURL=webpack://renderer/./node_modules/callsites/index.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/agents.js": -/*!**************************************************!*\ - !*** ./node_modules/caniuse-lite/data/agents.js ***! - \**************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{K:0,D:0,E:0.0239157,F:0.0597892,A:0,B:0.55006,XC:0},B:\"ms\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"XC\",\"K\",\"D\",\"E\",\"F\",\"A\",\"B\",\"\",\"\",\"\"],E:\"IE\",F:{XC:962323200,K:998870400,D:1161129600,E:1237420800,F:1300060800,A:1346716800,B:1381968000}},B:{A:{\"0\":0.007682,\"1\":0.015364,\"2\":0.015364,\"3\":0.007682,\"4\":0.007682,\"5\":0.011523,\"6\":0.011523,\"7\":0.019205,\"8\":0.042251,\"9\":0.042251,C:0,L:0,M:0,G:0,N:0,O:0.003841,P:0.034569,Q:0,H:0,R:0,S:0,T:0,U:0,V:0,W:0,X:0,Y:0,Z:0,a:0,b:0.011523,c:0,d:0,e:0,f:0,g:0,h:0,i:0,j:0,k:0,l:0,m:0,n:0,o:0,p:0,q:0.003841,r:0.007682,s:0.069138,y:0.007682,z:0.007682,AB:0.280393,BB:3.02671,I:1.35587},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"C\",\"L\",\"M\",\"G\",\"N\",\"O\",\"P\",\"Q\",\"H\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"y\",\"z\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"AB\",\"BB\",\"I\",\"\",\"\",\"\"],E:\"Edge\",F:{\"0\":1680825600,\"1\":1683158400,\"2\":1685664000,\"3\":1689897600,\"4\":1692576000,\"5\":1694649600,\"6\":1697155200,\"7\":1698969600,\"8\":1701993600,\"9\":1706227200,C:1438128000,L:1447286400,M:1470096000,G:1491868800,N:1508198400,O:1525046400,P:1542067200,Q:1579046400,H:1581033600,R:1586736000,S:1590019200,T:1594857600,U:1598486400,V:1602201600,W:1605830400,X:1611360000,Y:1614816000,Z:1618358400,a:1622073600,b:1626912000,c:1630627200,d:1632441600,e:1634774400,f:1637539200,g:1641427200,h:1643932800,i:1646265600,j:1649635200,k:1651190400,l:1653955200,m:1655942400,n:1659657600,o:1661990400,p:1664755200,q:1666915200,r:1670198400,s:1673481600,y:1675900800,z:1678665600,AB:1708732800,BB:1711152000,I:1713398400},D:{C:\"ms\",L:\"ms\",M:\"ms\",G:\"ms\",N:\"ms\",O:\"ms\",P:\"ms\"}},C:{A:{\"0\":0,\"1\":0.007682,\"2\":0,\"3\":0.372577,\"4\":0,\"5\":0.007682,\"6\":0.099866,\"7\":0.003841,\"8\":0.011523,\"9\":0.011523,YC:0,AC:0,J:0.007682,CB:0,K:0,D:0,E:0,F:0,A:0,B:0.011523,C:0,L:0,M:0,G:0,N:0,O:0,P:0,DB:0,t:0,u:0,v:0,w:0,x:0,EB:0,FB:0,GB:0,HB:0,IB:0,JB:0,KB:0,LB:0,MB:0,NB:0,OB:0,PB:0,QB:0,RB:0,SB:0,TB:0,UB:0,VB:0,WB:0.007682,XB:0.007682,YB:0.007682,ZB:0,aB:0,bB:0,cB:0,dB:0.007682,eB:0,fB:0.049933,gB:0.007682,hB:0.007682,iB:0,jB:0.019205,kB:0,lB:0,BC:0.003841,mB:0,CC:0,nB:0,oB:0,pB:0,qB:0,rB:0,sB:0,tB:0,uB:0,vB:0,wB:0,xB:0,yB:0,zB:0,\"0B\":0,\"1B\":0,\"2B\":0,\"3B\":0.015364,Q:0,H:0,R:0,DC:0,S:0,T:0,U:0,V:0,W:0,X:0.007682,Y:0,Z:0,a:0,b:0,c:0,d:0.003841,e:0,f:0,g:0,h:0,i:0,j:0,k:0,l:0.026887,m:0.107548,n:0.007682,o:0,p:0,q:0,r:0.003841,s:0.007682,y:0,z:0,AB:0.019205,BB:0.049933,I:1.04475,\"4B\":0.530058,EC:0.003841,FC:0,ZC:0,aC:0,bC:0},B:\"moz\",C:[\"YC\",\"AC\",\"aC\",\"bC\",\"J\",\"CB\",\"K\",\"D\",\"E\",\"F\",\"A\",\"B\",\"C\",\"L\",\"M\",\"G\",\"N\",\"O\",\"P\",\"DB\",\"t\",\"u\",\"v\",\"w\",\"x\",\"EB\",\"FB\",\"GB\",\"HB\",\"IB\",\"JB\",\"KB\",\"LB\",\"MB\",\"NB\",\"OB\",\"PB\",\"QB\",\"RB\",\"SB\",\"TB\",\"UB\",\"VB\",\"WB\",\"XB\",\"YB\",\"ZB\",\"aB\",\"bB\",\"cB\",\"dB\",\"eB\",\"fB\",\"gB\",\"hB\",\"iB\",\"jB\",\"kB\",\"lB\",\"BC\",\"mB\",\"CC\",\"nB\",\"oB\",\"pB\",\"qB\",\"rB\",\"sB\",\"tB\",\"uB\",\"vB\",\"wB\",\"xB\",\"yB\",\"zB\",\"0B\",\"1B\",\"2B\",\"3B\",\"Q\",\"H\",\"R\",\"DC\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"y\",\"z\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"AB\",\"BB\",\"I\",\"4B\",\"EC\",\"FC\",\"ZC\"],E:\"Firefox\",F:{\"0\":1681171200,\"1\":1683590400,\"2\":1686009600,\"3\":1688428800,\"4\":1690848000,\"5\":1693267200,\"6\":1695686400,\"7\":1698105600,\"8\":1700524800,\"9\":1702944000,YC:1161648000,AC:1213660800,aC:1246320000,bC:1264032000,J:1300752000,CB:1308614400,K:1313452800,D:1317081600,E:1317081600,F:1320710400,A:1324339200,B:1327968000,C:1331596800,L:1335225600,M:1338854400,G:1342483200,N:1346112000,O:1349740800,P:1353628800,DB:1357603200,t:1361232000,u:1364860800,v:1368489600,w:1372118400,x:1375747200,EB:1379376000,FB:1386633600,GB:1391472000,HB:1395100800,IB:1398729600,JB:1402358400,KB:1405987200,LB:1409616000,MB:1413244800,NB:1417392000,OB:1421107200,PB:1424736000,QB:1428278400,RB:1431475200,SB:1435881600,TB:1439251200,UB:1442880000,VB:1446508800,WB:1450137600,XB:1453852800,YB:1457395200,ZB:1461628800,aB:1465257600,bB:1470096000,cB:1474329600,dB:1479168000,eB:1485216000,fB:1488844800,gB:1492560000,hB:1497312000,iB:1502150400,jB:1506556800,kB:1510617600,lB:1516665600,BC:1520985600,mB:1525824000,CC:1529971200,nB:1536105600,oB:1540252800,pB:1544486400,qB:1548720000,rB:1552953600,sB:1558396800,tB:1562630400,uB:1567468800,vB:1571788800,wB:1575331200,xB:1578355200,yB:1581379200,zB:1583798400,\"0B\":1586304000,\"1B\":1588636800,\"2B\":1591056000,\"3B\":1593475200,Q:1595894400,H:1598313600,R:1600732800,DC:1603152000,S:1605571200,T:1607990400,U:1611619200,V:1614038400,W:1616457600,X:1618790400,Y:1622505600,Z:1626134400,a:1628553600,b:1630972800,c:1633392000,d:1635811200,e:1638835200,f:1641859200,g:1644364800,h:1646697600,i:1649116800,j:1651536000,k:1653955200,l:1656374400,m:1658793600,n:1661212800,o:1663632000,p:1666051200,q:1668470400,r:1670889600,s:1673913600,y:1676332800,z:1678752000,AB:1705968000,BB:1708387200,I:1710806400,\"4B\":1713225600,EC:null,FC:null,ZC:null}},D:{A:{\"0\":0.03841,\"1\":0.07682,\"2\":0.092184,\"3\":0.053774,\"4\":0.203573,\"5\":0.119071,\"6\":0.103707,\"7\":0.134435,\"8\":0.257347,\"9\":0.472443,J:0,CB:0,K:0,D:0,E:0,F:0,A:0,B:0,C:0,L:0,M:0,G:0,N:0,O:0,P:0,DB:0,t:0,u:0,v:0,w:0,x:0,EB:0,FB:0,GB:0,HB:0,IB:0,JB:0,KB:0,LB:0,MB:0,NB:0.007682,OB:0,PB:0,QB:0,RB:0.019205,SB:0,TB:0,UB:0,VB:0,WB:0,XB:0,YB:0,ZB:0,aB:0.007682,bB:0.023046,cB:0.026887,dB:0.007682,eB:0,fB:0,gB:0.007682,hB:0,iB:0,jB:0.011523,kB:0,lB:0.007682,BC:0,mB:0,CC:0.003841,nB:0,oB:0.003841,pB:0,qB:0,rB:0.026887,sB:0.003841,tB:0,uB:0.030728,vB:0.061456,wB:0.003841,xB:0.003841,yB:0.011523,zB:0.007682,\"0B\":0.007682,\"1B\":0.007682,\"2B\":0.015364,\"3B\":0.015364,Q:0.122912,H:0.011523,R:0.023046,S:0.03841,T:0.007682,U:0.023046,V:0.149799,W:0.072979,X:0.019205,Y:0.011523,Z:0.011523,a:0.042251,b:0.015364,c:0.026887,d:0.042251,e:0.011523,f:0.011523,g:0.015364,h:0.072979,i:0.030728,j:0.145958,k:0.26887,l:0.145958,m:0.284234,n:0.184368,o:0.03841,p:0.03841,q:0.026887,r:0.046092,s:1.52488,y:0.026887,z:0.03841,AB:1.27905,BB:12.1606,I:4.72443,\"4B\":0.030728,EC:0.007682,FC:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"J\",\"CB\",\"K\",\"D\",\"E\",\"F\",\"A\",\"B\",\"C\",\"L\",\"M\",\"G\",\"N\",\"O\",\"P\",\"DB\",\"t\",\"u\",\"v\",\"w\",\"x\",\"EB\",\"FB\",\"GB\",\"HB\",\"IB\",\"JB\",\"KB\",\"LB\",\"MB\",\"NB\",\"OB\",\"PB\",\"QB\",\"RB\",\"SB\",\"TB\",\"UB\",\"VB\",\"WB\",\"XB\",\"YB\",\"ZB\",\"aB\",\"bB\",\"cB\",\"dB\",\"eB\",\"fB\",\"gB\",\"hB\",\"iB\",\"jB\",\"kB\",\"lB\",\"BC\",\"mB\",\"CC\",\"nB\",\"oB\",\"pB\",\"qB\",\"rB\",\"sB\",\"tB\",\"uB\",\"vB\",\"wB\",\"xB\",\"yB\",\"zB\",\"0B\",\"1B\",\"2B\",\"3B\",\"Q\",\"H\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"y\",\"z\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"AB\",\"BB\",\"I\",\"4B\",\"EC\",\"FC\"],E:\"Chrome\",F:{\"0\":1680566400,\"1\":1682985600,\"2\":1685404800,\"3\":1689724800,\"4\":1692057600,\"5\":1694476800,\"6\":1696896000,\"7\":1698710400,\"8\":1701993600,\"9\":1705968000,J:1264377600,CB:1274745600,K:1283385600,D:1287619200,E:1291248000,F:1296777600,A:1299542400,B:1303862400,C:1307404800,L:1312243200,M:1316131200,G:1316131200,N:1319500800,O:1323734400,P:1328659200,DB:1332892800,t:1337040000,u:1340668800,v:1343692800,w:1348531200,x:1352246400,EB:1357862400,FB:1361404800,GB:1364428800,HB:1369094400,IB:1374105600,JB:1376956800,KB:1384214400,LB:1389657600,MB:1392940800,NB:1397001600,OB:1400544000,PB:1405468800,QB:1409011200,RB:1412640000,SB:1416268800,TB:1421798400,UB:1425513600,VB:1429401600,WB:1432080000,XB:1437523200,YB:1441152000,ZB:1444780800,aB:1449014400,bB:1453248000,cB:1456963200,dB:1460592000,eB:1464134400,fB:1469059200,gB:1472601600,hB:1476230400,iB:1480550400,jB:1485302400,kB:1489017600,lB:1492560000,BC:1496707200,mB:1500940800,CC:1504569600,nB:1508198400,oB:1512518400,pB:1516752000,qB:1520294400,rB:1523923200,sB:1527552000,tB:1532390400,uB:1536019200,vB:1539648000,wB:1543968000,xB:1548720000,yB:1552348800,zB:1555977600,\"0B\":1559606400,\"1B\":1564444800,\"2B\":1568073600,\"3B\":1571702400,Q:1575936000,H:1580860800,R:1586304000,S:1589846400,T:1594684800,U:1598313600,V:1601942400,W:1605571200,X:1611014400,Y:1614556800,Z:1618272000,a:1621987200,b:1626739200,c:1630368000,d:1632268800,e:1634601600,f:1637020800,g:1641340800,h:1643673600,i:1646092800,j:1648512000,k:1650931200,l:1653350400,m:1655769600,n:1659398400,o:1661817600,p:1664236800,q:1666656000,r:1669680000,s:1673308800,y:1675728000,z:1678147200,AB:1708387200,BB:1710806400,I:1713225600,\"4B\":null,EC:null,FC:null}},E:{A:{J:0,CB:0,K:0,D:0,E:0.007682,F:0.003841,A:0,B:0,C:0,L:0.007682,M:0.03841,G:0.007682,cC:0,GC:0,dC:0,eC:0,fC:0,gC:0.007682,HC:0,\"5B\":0.007682,\"6B\":0.015364,hC:0.065297,iC:0.096025,jC:0.034569,IC:0.011523,JC:0.026887,\"7B\":0.034569,kC:0.245824,\"8B\":0.030728,KC:0.049933,LC:0.046092,MC:0.107548,NC:0.034569,OC:0.065297,lC:0.361054,\"9B\":0.042251,PC:0.092184,QC:0.142117,RC:0.418669,SC:1.15614,TC:0.007682,UC:0,mC:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"cC\",\"GC\",\"J\",\"CB\",\"dC\",\"K\",\"eC\",\"D\",\"fC\",\"E\",\"F\",\"gC\",\"A\",\"HC\",\"B\",\"5B\",\"C\",\"6B\",\"L\",\"hC\",\"M\",\"iC\",\"G\",\"jC\",\"IC\",\"JC\",\"7B\",\"kC\",\"8B\",\"KC\",\"LC\",\"MC\",\"NC\",\"OC\",\"lC\",\"9B\",\"PC\",\"QC\",\"RC\",\"SC\",\"TC\",\"UC\",\"mC\",\"\"],E:\"Safari\",F:{cC:1205798400,GC:1226534400,J:1244419200,CB:1275868800,dC:1311120000,K:1343174400,eC:1382400000,D:1382400000,fC:1410998400,E:1413417600,F:1443657600,gC:1458518400,A:1474329600,HC:1490572800,B:1505779200,\"5B\":1522281600,C:1537142400,\"6B\":1553472000,L:1568851200,hC:1585008000,M:1600214400,iC:1619395200,G:1632096000,jC:1635292800,IC:1639353600,JC:1647216000,\"7B\":1652745600,kC:1658275200,\"8B\":1662940800,KC:1666569600,LC:1670889600,MC:1674432000,NC:1679875200,OC:1684368000,lC:1690156800,\"9B\":1695686400,PC:1698192000,QC:1702252800,RC:1705881600,SC:1709596800,TC:1715558400,UC:null,mC:null}},F:{A:{F:0,B:0,C:0,G:0,N:0,O:0,P:0,DB:0,t:0,u:0,v:0,w:0,x:0,EB:0,FB:0,GB:0,HB:0,IB:0,JB:0,KB:0,LB:0,MB:0,NB:0,OB:0,PB:0,QB:0,RB:0,SB:0,TB:0.003841,UB:0,VB:0,WB:0,XB:0,YB:0,ZB:0.015364,aB:0,bB:0,cB:0,dB:0,eB:0,fB:0,gB:0,hB:0,iB:0,jB:0,kB:0,lB:0,mB:0,nB:0,oB:0,pB:0,qB:0,rB:0,sB:0,tB:0,uB:0,vB:0,wB:0,xB:0,yB:0,zB:0,\"0B\":0,\"1B\":0,\"2B\":0,\"3B\":0,Q:0,H:0,R:0,DC:0,S:0,T:0,U:0,V:0,W:0,X:0,Y:0,Z:0,a:0,b:0,c:0,d:0,e:0.046092,f:0,g:0,h:0,i:0,j:0,k:0,l:0.03841,m:0,n:0,o:0,p:0.007682,q:0.564627,r:0.291916,s:0.11523,nC:0,oC:0,pC:0,qC:0,\"5B\":0,VC:0,rC:0,\"6B\":0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"F\",\"nC\",\"oC\",\"pC\",\"qC\",\"B\",\"5B\",\"VC\",\"rC\",\"C\",\"6B\",\"G\",\"N\",\"O\",\"P\",\"DB\",\"t\",\"u\",\"v\",\"w\",\"x\",\"EB\",\"FB\",\"GB\",\"HB\",\"IB\",\"JB\",\"KB\",\"LB\",\"MB\",\"NB\",\"OB\",\"PB\",\"QB\",\"RB\",\"SB\",\"TB\",\"UB\",\"VB\",\"WB\",\"XB\",\"YB\",\"ZB\",\"aB\",\"bB\",\"cB\",\"dB\",\"eB\",\"fB\",\"gB\",\"hB\",\"iB\",\"jB\",\"kB\",\"lB\",\"mB\",\"nB\",\"oB\",\"pB\",\"qB\",\"rB\",\"sB\",\"tB\",\"uB\",\"vB\",\"wB\",\"xB\",\"yB\",\"zB\",\"0B\",\"1B\",\"2B\",\"3B\",\"Q\",\"H\",\"R\",\"DC\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"\",\"\",\"\"],E:\"Opera\",F:{F:1150761600,nC:1223424000,oC:1251763200,pC:1267488000,qC:1277942400,B:1292457600,\"5B\":1302566400,VC:1309219200,rC:1323129600,C:1323129600,\"6B\":1352073600,G:1372723200,N:1377561600,O:1381104000,P:1386288000,DB:1390867200,t:1393891200,u:1399334400,v:1401753600,w:1405987200,x:1409616000,EB:1413331200,FB:1417132800,GB:1422316800,HB:1425945600,IB:1430179200,JB:1433808000,KB:1438646400,LB:1442448000,MB:1445904000,NB:1449100800,OB:1454371200,PB:1457308800,QB:1462320000,RB:1465344000,SB:1470096000,TB:1474329600,UB:1477267200,VB:1481587200,WB:1486425600,XB:1490054400,YB:1494374400,ZB:1498003200,aB:1502236800,bB:1506470400,cB:1510099200,dB:1515024000,eB:1517961600,fB:1521676800,gB:1525910400,hB:1530144000,iB:1534982400,jB:1537833600,kB:1543363200,lB:1548201600,mB:1554768000,nB:1561593600,oB:1566259200,pB:1570406400,qB:1573689600,rB:1578441600,sB:1583971200,tB:1587513600,uB:1592956800,vB:1595894400,wB:1600128000,xB:1603238400,yB:1613520000,zB:1612224000,\"0B\":1616544000,\"1B\":1619568000,\"2B\":1623715200,\"3B\":1627948800,Q:1631577600,H:1633392000,R:1635984000,DC:1638403200,S:1642550400,T:1644969600,U:1647993600,V:1650412800,W:1652745600,X:1654646400,Y:1657152000,Z:1660780800,a:1663113600,b:1668816000,c:1668643200,d:1671062400,e:1675209600,f:1677024000,g:1679529600,h:1681948800,i:1684195200,j:1687219200,k:1690329600,l:1692748800,m:1696204800,n:1699920000,o:1699920000,p:1702944000,q:1707264000,r:1710115200,s:1711497600},D:{F:\"o\",B:\"o\",C:\"o\",nC:\"o\",oC:\"o\",pC:\"o\",qC:\"o\",\"5B\":\"o\",VC:\"o\",rC:\"o\",\"6B\":\"o\"}},G:{A:{E:0,GC:0,sC:0,WC:0.00291444,tC:0.00291444,uC:0.0072861,vC:0.0116578,wC:0.00291444,xC:0.0072861,yC:0.0364305,zC:0.0072861,\"0C\":0.0582888,\"1C\":0.0495455,\"2C\":0.0145722,\"3C\":0.0116578,\"4C\":0.237527,\"5C\":0.00437166,\"6C\":0.0480882,\"7C\":0.0116578,\"8C\":0.0451738,\"9C\":0.112206,AD:0.135521,BD:0.0626604,IC:0.0714037,JC:0.0816043,\"7B\":0.102005,CD:0.902019,\"8B\":0.211297,KC:0.44008,LC:0.20984,MC:0.371591,NC:0.0772326,OC:0.161751,DD:1.27652,\"9B\":0.153008,PC:0.282701,QC:0.378877,RC:2.74249,SC:6.17424,TC:0.0568316,UC:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"GC\",\"sC\",\"WC\",\"tC\",\"uC\",\"vC\",\"E\",\"wC\",\"xC\",\"yC\",\"zC\",\"0C\",\"1C\",\"2C\",\"3C\",\"4C\",\"5C\",\"6C\",\"7C\",\"8C\",\"9C\",\"AD\",\"BD\",\"IC\",\"JC\",\"7B\",\"CD\",\"8B\",\"KC\",\"LC\",\"MC\",\"NC\",\"OC\",\"DD\",\"9B\",\"PC\",\"QC\",\"RC\",\"SC\",\"TC\",\"UC\",\"\",\"\"],E:\"Safari on iOS\",F:{GC:1270252800,sC:1283904000,WC:1299628800,tC:1331078400,uC:1359331200,vC:1394409600,E:1410912000,wC:1413763200,xC:1442361600,yC:1458518400,zC:1473724800,\"0C\":1490572800,\"1C\":1505779200,\"2C\":1522281600,\"3C\":1537142400,\"4C\":1553472000,\"5C\":1568851200,\"6C\":1572220800,\"7C\":1580169600,\"8C\":1585008000,\"9C\":1600214400,AD:1619395200,BD:1632096000,IC:1639353600,JC:1647216000,\"7B\":1652659200,CD:1658275200,\"8B\":1662940800,KC:1666569600,LC:1670889600,MC:1674432000,NC:1679875200,OC:1684368000,DD:1690156800,\"9B\":1694995200,PC:1698192000,QC:1702252800,RC:1705881600,SC:1709596800,TC:1715558400,UC:null}},H:{A:{ED:0.09},B:\"o\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"ED\",\"\",\"\",\"\"],E:\"Opera Mini\",F:{ED:1426464000}},I:{A:{AC:0,J:0.0000566628,I:0.564305,FD:0,GD:0,HD:0,ID:0.000113326,WC:0.000339977,JD:0,KD:0.00141657},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"FD\",\"GD\",\"HD\",\"AC\",\"J\",\"ID\",\"WC\",\"JD\",\"KD\",\"I\",\"\",\"\",\"\"],E:\"Android Browser\",F:{FD:1256515200,GD:1274313600,HD:1291593600,AC:1298332800,J:1318896000,ID:1341792000,WC:1374624000,JD:1386547200,KD:1401667200,I:1713225600}},J:{A:{D:0,A:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"D\",\"A\",\"\",\"\",\"\"],E:\"Blackberry Browser\",F:{D:1325376000,A:1359504000}},K:{A:{A:0,B:0,C:0,H:1.23418,\"5B\":0,VC:0,\"6B\":0},B:\"o\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"A\",\"B\",\"5B\",\"VC\",\"C\",\"6B\",\"H\",\"\",\"\",\"\"],E:\"Opera Mobile\",F:{A:1287100800,B:1300752000,\"5B\":1314835200,VC:1318291200,C:1330300800,\"6B\":1349740800,H:1709769600},D:{H:\"webkit\"}},L:{A:{I:41.8185},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"I\",\"\",\"\",\"\"],E:\"Chrome for Android\",F:{I:1713225600}},M:{A:{\"4B\":0.301791},B:\"moz\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"4B\",\"\",\"\",\"\"],E:\"Firefox for Android\",F:{\"4B\":1713225600}},N:{A:{A:0,B:0},B:\"ms\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"A\",\"B\",\"\",\"\",\"\"],E:\"IE Mobile\",F:{A:1340150400,B:1353456000}},O:{A:{\"7B\":0.886896},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"7B\",\"\",\"\",\"\"],E:\"UC Browser for Android\",F:{\"7B\":1710115200},D:{\"7B\":\"webkit\"}},P:{A:{J:0.140685,t:0.0216438,u:0.0649313,v:0.0649313,w:0.216438,x:1.88301,LD:0.0108219,MD:0,ND:0.0432875,OD:0,PD:0,HC:0,QD:0.0108219,RD:0,SD:0.0108219,TD:0,UD:0,\"8B\":0,\"9B\":0.0216438,VD:0.0108219,WD:0.0324657},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"J\",\"LD\",\"MD\",\"ND\",\"OD\",\"PD\",\"HC\",\"QD\",\"RD\",\"SD\",\"TD\",\"UD\",\"8B\",\"9B\",\"VD\",\"WD\",\"t\",\"u\",\"v\",\"w\",\"x\",\"\",\"\",\"\"],E:\"Samsung Internet\",F:{J:1461024000,LD:1481846400,MD:1509408000,ND:1528329600,OD:1546128000,PD:1554163200,HC:1567900800,QD:1582588800,RD:1593475200,SD:1605657600,TD:1618531200,UD:1629072000,\"8B\":1640736000,\"9B\":1651708800,VD:1659657600,WD:1667260800,t:1677369600,u:1684454400,v:1689292800,w:1697587200,x:1711497600}},Q:{A:{XD:0.283314},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"XD\",\"\",\"\",\"\"],E:\"QQ Browser\",F:{XD:1710288000}},R:{A:{YD:0},B:\"webkit\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"YD\",\"\",\"\",\"\"],E:\"Baidu Browser\",F:{YD:1710201600}},S:{A:{ZD:0.073908,aD:0},B:\"moz\",C:[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"ZD\",\"aD\",\"\",\"\",\"\"],E:\"KaiOS Browser\",F:{ZD:1527811200,aD:1631664000}}};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/agents.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/browserVersions.js": -/*!***********************************************************!*\ - !*** ./node_modules/caniuse-lite/data/browserVersions.js ***! - \***********************************************************/ -/***/ ((module) => { - -eval("module.exports={\"0\":\"112\",\"1\":\"113\",\"2\":\"114\",\"3\":\"115\",\"4\":\"116\",\"5\":\"117\",\"6\":\"118\",\"7\":\"119\",\"8\":\"120\",\"9\":\"121\",A:\"10\",B:\"11\",C:\"12\",D:\"7\",E:\"8\",F:\"9\",G:\"15\",H:\"80\",I:\"124\",J:\"4\",K:\"6\",L:\"13\",M:\"14\",N:\"16\",O:\"17\",P:\"18\",Q:\"79\",R:\"81\",S:\"83\",T:\"84\",U:\"85\",V:\"86\",W:\"87\",X:\"88\",Y:\"89\",Z:\"90\",a:\"91\",b:\"92\",c:\"93\",d:\"94\",e:\"95\",f:\"96\",g:\"97\",h:\"98\",i:\"99\",j:\"100\",k:\"101\",l:\"102\",m:\"103\",n:\"104\",o:\"105\",p:\"106\",q:\"107\",r:\"108\",s:\"109\",t:\"20\",u:\"21\",v:\"22\",w:\"23\",x:\"24\",y:\"110\",z:\"111\",AB:\"122\",BB:\"123\",CB:\"5\",DB:\"19\",EB:\"25\",FB:\"26\",GB:\"27\",HB:\"28\",IB:\"29\",JB:\"30\",KB:\"31\",LB:\"32\",MB:\"33\",NB:\"34\",OB:\"35\",PB:\"36\",QB:\"37\",RB:\"38\",SB:\"39\",TB:\"40\",UB:\"41\",VB:\"42\",WB:\"43\",XB:\"44\",YB:\"45\",ZB:\"46\",aB:\"47\",bB:\"48\",cB:\"49\",dB:\"50\",eB:\"51\",fB:\"52\",gB:\"53\",hB:\"54\",iB:\"55\",jB:\"56\",kB:\"57\",lB:\"58\",mB:\"60\",nB:\"62\",oB:\"63\",pB:\"64\",qB:\"65\",rB:\"66\",sB:\"67\",tB:\"68\",uB:\"69\",vB:\"70\",wB:\"71\",xB:\"72\",yB:\"73\",zB:\"74\",\"0B\":\"75\",\"1B\":\"76\",\"2B\":\"77\",\"3B\":\"78\",\"4B\":\"125\",\"5B\":\"11.1\",\"6B\":\"12.1\",\"7B\":\"15.5\",\"8B\":\"16.0\",\"9B\":\"17.0\",AC:\"3\",BC:\"59\",CC:\"61\",DC:\"82\",EC:\"126\",FC:\"127\",GC:\"3.2\",HC:\"10.1\",IC:\"15.2-15.3\",JC:\"15.4\",KC:\"16.1\",LC:\"16.2\",MC:\"16.3\",NC:\"16.4\",OC:\"16.5\",PC:\"17.1\",QC:\"17.2\",RC:\"17.3\",SC:\"17.4\",TC:\"17.5\",UC:\"17.6\",VC:\"11.5\",WC:\"4.2-4.3\",XC:\"5.5\",YC:\"2\",ZC:\"128\",aC:\"3.5\",bC:\"3.6\",cC:\"3.1\",dC:\"5.1\",eC:\"6.1\",fC:\"7.1\",gC:\"9.1\",hC:\"13.1\",iC:\"14.1\",jC:\"15.1\",kC:\"15.6\",lC:\"16.6\",mC:\"TP\",nC:\"9.5-9.6\",oC:\"10.0-10.1\",pC:\"10.5\",qC:\"10.6\",rC:\"11.6\",sC:\"4.0-4.1\",tC:\"5.0-5.1\",uC:\"6.0-6.1\",vC:\"7.0-7.1\",wC:\"8.1-8.4\",xC:\"9.0-9.2\",yC:\"9.3\",zC:\"10.0-10.2\",\"0C\":\"10.3\",\"1C\":\"11.0-11.2\",\"2C\":\"11.3-11.4\",\"3C\":\"12.0-12.1\",\"4C\":\"12.2-12.5\",\"5C\":\"13.0-13.1\",\"6C\":\"13.2\",\"7C\":\"13.3\",\"8C\":\"13.4-13.7\",\"9C\":\"14.0-14.4\",AD:\"14.5-14.8\",BD:\"15.0-15.1\",CD:\"15.6-15.8\",DD:\"16.6-16.7\",ED:\"all\",FD:\"2.1\",GD:\"2.2\",HD:\"2.3\",ID:\"4.1\",JD:\"4.4\",KD:\"4.4.3-4.4.4\",LD:\"5.0-5.4\",MD:\"6.2-6.4\",ND:\"7.2-7.4\",OD:\"8.2\",PD:\"9.2\",QD:\"11.1-11.2\",RD:\"12.0\",SD:\"13.0\",TD:\"14.0\",UD:\"15.0\",VD:\"18.0\",WD:\"19.0\",XD:\"14.9\",YD:\"13.52\",ZD:\"2.5\",aD:\"3.0-3.1\"};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/browserVersions.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/browsers.js": -/*!****************************************************!*\ - !*** ./node_modules/caniuse-lite/data/browsers.js ***! - \****************************************************/ -/***/ ((module) => { - -eval("module.exports={A:\"ie\",B:\"edge\",C:\"firefox\",D:\"chrome\",E:\"safari\",F:\"opera\",G:\"ios_saf\",H:\"op_mini\",I:\"android\",J:\"bb\",K:\"op_mob\",L:\"and_chr\",M:\"and_ff\",N:\"ie_mob\",O:\"and_uc\",P:\"samsung\",Q:\"and_qq\",R:\"baidu\",S:\"kaios\"};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/browsers.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/background-clip-text.js": -/*!*************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/background-clip-text.js ***! - \*************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"G N O P\",\"33\":\"C L M\",\"132\":\"8 9 AB BB I\",\"164\":\"0 1 2 3 4 5 6 7 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB aC bC\"},D:{\"132\":\"8 9 AB BB I 4B EC FC\",\"164\":\"0 1 2 3 4 5 6 7 J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z\"},E:{\"16\":\"cC GC\",\"132\":\"7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"388\":\"M G iC jC IC JC\",\"420\":\"J CB K D E F A B C L dC eC fC gC HC 5B 6B hC\"},F:{\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"132\":\"p q r s\",\"164\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o\"},G:{\"16\":\"GC sC WC tC\",\"132\":\"7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"388\":\"9C AD BD IC JC\",\"420\":\"E uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C\"},H:{\"2\":\"ED\"},I:{\"16\":\"AC FD GD HD\",\"132\":\"I\",\"164\":\"J ID WC JD KD\"},J:{\"164\":\"D A\"},K:{\"16\":\"A B C 5B VC 6B\",\"132\":\"H\"},L:{\"132\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"164\":\"7B\"},P:{\"164\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"164\":\"XD\"},R:{\"164\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:7,C:\"Background-clip: text\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/background-clip-text.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/background-img-opts.js": -/*!************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/background-img-opts.js ***! - \************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"1\":\"F A B\",\"2\":\"K D E XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC aC\",\"36\":\"bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"516\":\"J CB K D E F A B C L M\"},E:{\"1\":\"D E F A B C L M G fC gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"772\":\"J CB K cC GC dC eC\"},F:{\"1\":\"B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s pC qC 5B VC rC 6B\",\"2\":\"F nC\",\"36\":\"oC\"},G:{\"1\":\"E vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"4\":\"GC sC WC uC\",\"516\":\"tC\"},H:{\"132\":\"ED\"},I:{\"1\":\"I JD KD\",\"36\":\"FD\",\"516\":\"AC J ID WC\",\"548\":\"GD HD\"},J:{\"1\":\"D A\"},K:{\"1\":\"A B C H 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"1\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:4,C:\"CSS3 Background-image options\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/background-img-opts.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/border-image.js": -/*!*****************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/border-image.js ***! - \*****************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"1\":\"B\",\"2\":\"K D E F A XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"129\":\"C L\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC\",\"260\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB\",\"804\":\"J CB K D E F A B C L M aC bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"260\":\"eB fB gB hB iB\",\"388\":\"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB\",\"1412\":\"G N O P DB t u v w x EB FB GB HB IB\",\"1956\":\"J CB K D E F A B C L M\"},E:{\"1\":\"JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"129\":\"A B C L M G gC HC 5B 6B hC iC jC IC\",\"1412\":\"K D E F eC fC\",\"1956\":\"J CB cC GC dC\"},F:{\"1\":\"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F nC oC\",\"260\":\"RB SB TB UB VB\",\"388\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB\",\"1796\":\"pC qC\",\"1828\":\"B C 5B VC rC 6B\"},G:{\"1\":\"JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"129\":\"yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC\",\"1412\":\"E uC vC wC xC\",\"1956\":\"GC sC WC tC\"},H:{\"1828\":\"ED\"},I:{\"1\":\"I\",\"388\":\"JD KD\",\"1956\":\"AC J FD GD HD ID WC\"},J:{\"1412\":\"A\",\"1924\":\"D\"},K:{\"1\":\"H\",\"2\":\"A\",\"1828\":\"B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"1\":\"B\",\"2\":\"A\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"260\":\"LD MD\",\"388\":\"J\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"aD\",\"260\":\"ZD\"}},B:4,C:\"CSS3 Border images\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/border-image.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/border-radius.js": -/*!******************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/border-radius.js ***! - \******************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"1\":\"F A B\",\"2\":\"K D E XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"257\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB\",\"289\":\"AC aC bC\",\"292\":\"YC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"33\":\"J\"},E:{\"1\":\"CB D E F A B C L M G fC gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"33\":\"J cC GC\",\"129\":\"K dC eC\"},F:{\"1\":\"B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s pC qC 5B VC rC 6B\",\"2\":\"F nC oC\"},G:{\"1\":\"E sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"33\":\"GC\"},H:{\"2\":\"ED\"},I:{\"1\":\"AC J I GD HD ID WC JD KD\",\"33\":\"FD\"},J:{\"1\":\"D A\"},K:{\"1\":\"B C H 5B VC 6B\",\"2\":\"A\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"1\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"aD\",\"257\":\"ZD\"}},B:4,C:\"CSS3 Border-radius (rounded corners)\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/border-radius.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/calc.js": -/*!*********************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/calc.js ***! - \*********************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E XC\",\"260\":\"F\",\"516\":\"A B\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC aC bC\",\"33\":\"J CB K D E F A B C L M G\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P\",\"33\":\"DB t u v w x EB\"},E:{\"1\":\"D E F A B C L M G eC fC gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB cC GC dC\",\"33\":\"K\"},F:{\"1\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C nC oC pC qC 5B VC rC 6B\"},G:{\"1\":\"E vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC\",\"33\":\"uC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC\",\"132\":\"JD KD\"},J:{\"1\":\"A\",\"2\":\"D\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"1\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:4,C:\"calc() as CSS unit value\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/calc.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-animation.js": -/*!******************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-animation.js ***! - \******************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"1\":\"A B\",\"2\":\"K D E F XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J aC bC\",\"33\":\"CB K D E F A B C L M G\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"33\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB\"},E:{\"1\":\"F A B C L M G gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"cC GC\",\"33\":\"K D E dC eC fC\",\"292\":\"J CB\"},F:{\"1\":\"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s 6B\",\"2\":\"F B nC oC pC qC 5B VC rC\",\"33\":\"C G N O P DB t u v w x EB FB GB HB IB\"},G:{\"1\":\"xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"33\":\"E uC vC wC\",\"164\":\"GC sC WC tC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"33\":\"J ID WC JD KD\",\"164\":\"AC FD GD HD\"},J:{\"33\":\"D A\"},K:{\"1\":\"H 6B\",\"2\":\"A B C 5B VC\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"1\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:5,C:\"CSS Animation\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-animation.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-any-link.js": -/*!*****************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-any-link.js ***! - \*****************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"16\":\"YC\",\"33\":\"AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB aC bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"16\":\"J CB K D E F A B C L M\",\"33\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB\"},E:{\"1\":\"F A B C L M G gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"16\":\"J CB K cC GC dC\",\"33\":\"D E eC fC\"},F:{\"1\":\"fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"33\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB\"},G:{\"1\":\"xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"16\":\"GC sC WC tC\",\"33\":\"E uC vC wC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"16\":\"AC J FD GD HD ID WC\",\"33\":\"JD KD\"},J:{\"16\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x PD HC QD RD SD TD UD 8B 9B VD WD\",\"16\":\"J\",\"33\":\"LD MD ND OD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"aD\",\"33\":\"ZD\"}},B:5,C:\"CSS :any-link selector\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-any-link.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-appearance.js": -/*!*******************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-appearance.js ***! - \*******************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"33\":\"S\",\"164\":\"Q H R\",\"388\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"164\":\"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q\",\"676\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB aC bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"33\":\"S\",\"164\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R\"},E:{\"1\":\"JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"164\":\"J CB K D E F A B C L M G cC GC dC eC fC gC HC 5B 6B hC iC jC IC\"},F:{\"1\":\"yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"33\":\"vB wB xB\",\"164\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB\"},G:{\"1\":\"JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"164\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"164\":\"AC J FD GD HD ID WC JD KD\"},J:{\"164\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A\",\"388\":\"B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x TD UD 8B 9B VD WD\",\"164\":\"J LD MD ND OD PD HC QD RD SD\"},Q:{\"164\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"aD\",\"164\":\"ZD\"}},B:5,C:\"CSS Appearance\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-appearance.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-autofill.js": -/*!*****************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-autofill.js ***! - \*****************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 y z AB BB I 4B EC FC\",\"33\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\"},L:{\"1\":\"I\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 y z AB BB I\",\"2\":\"C L M G N O P\",\"33\":\"Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U aC bC\"},M:{\"1\":\"4B\"},A:{\"2\":\"K D E F A B XC\"},F:{\"1\":\"f g h i j k l m n o p q r s\",\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"33\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},E:{\"1\":\"G jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC\",\"2\":\"mC\",\"33\":\"J CB K D E F A B C L M cC GC dC eC fC gC HC 5B 6B hC iC\"},G:{\"1\":\"BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"33\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD\"},P:{\"1\":\"u v w x\",\"33\":\"J t LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC\",\"33\":\"JD KD\"}},B:6,C:\":autofill CSS pseudo-class\",D:undefined};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-autofill.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-backdrop-filter.js": -/*!************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-backdrop-filter.js ***! - \************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G N\",\"257\":\"O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB aC bC\",\"578\":\"vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB\",\"194\":\"aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B\"},E:{\"2\":\"J CB K D E cC GC dC eC fC\",\"33\":\"F A B C L M G gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\"},F:{\"1\":\"pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB nC oC pC qC 5B VC rC 6B\",\"194\":\"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB\"},G:{\"2\":\"E GC sC WC tC uC vC wC\",\"33\":\"xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"},J:{\"2\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x RD SD TD UD 8B 9B VD WD\",\"2\":\"J\",\"194\":\"LD MD ND OD PD HC QD\"},Q:{\"2\":\"XD\"},R:{\"1\":\"YD\"},S:{\"2\":\"ZD aD\"}},B:7,C:\"CSS Backdrop Filter\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-backdrop-filter.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js": -/*!***************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js ***! - \***************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"2\":\"C L M G N O P\",\"164\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB aC bC\"},D:{\"2\":\"J CB K D E F A B C L M G N O P DB t u\",\"164\":\"0 1 2 3 4 5 6 7 8 9 v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\"},E:{\"2\":\"J CB K cC GC dC\",\"164\":\"D E F A B C L M G eC fC gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\"},F:{\"2\":\"F nC oC pC qC\",\"129\":\"B C 5B VC rC 6B\",\"164\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\"},G:{\"2\":\"GC sC WC tC uC\",\"164\":\"E vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\"},H:{\"132\":\"ED\"},I:{\"2\":\"AC J FD GD HD ID WC\",\"164\":\"I JD KD\"},J:{\"2\":\"D\",\"164\":\"A\"},K:{\"2\":\"A\",\"129\":\"B C 5B VC 6B\",\"164\":\"H\"},L:{\"164\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"164\":\"7B\"},P:{\"164\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"164\":\"XD\"},R:{\"164\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:4,C:\"CSS box-decoration-break\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-boxshadow.js": -/*!******************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-boxshadow.js ***! - \******************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"1\":\"F A B\",\"2\":\"K D E XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC\",\"33\":\"aC bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"33\":\"J CB K D E F\"},E:{\"1\":\"K D E F A B C L M G dC eC fC gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"33\":\"CB\",\"164\":\"J cC GC\"},F:{\"1\":\"B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s pC qC 5B VC rC 6B\",\"2\":\"F nC oC\"},G:{\"1\":\"E tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"33\":\"sC WC\",\"164\":\"GC\"},H:{\"2\":\"ED\"},I:{\"1\":\"J I ID WC JD KD\",\"164\":\"AC FD GD HD\"},J:{\"1\":\"A\",\"33\":\"D\"},K:{\"1\":\"B C H 5B VC 6B\",\"2\":\"A\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"1\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:4,C:\"CSS3 Box-shadow\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-boxshadow.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-clip-path.js": -/*!******************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-clip-path.js ***! - \******************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"2\":\"C L M G N O\",\"260\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"3138\":\"P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC\",\"132\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aC bC\",\"644\":\"aB bB cB dB eB fB gB\"},D:{\"2\":\"J CB K D E F A B C L M G N O P DB t u v w\",\"260\":\"0 1 2 3 4 5 6 7 8 9 iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"292\":\"x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB\"},E:{\"2\":\"J CB K cC GC dC eC\",\"260\":\"M G hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"292\":\"D E F A B C L fC gC HC 5B 6B\"},F:{\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"260\":\"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"292\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB\"},G:{\"2\":\"GC sC WC tC uC\",\"260\":\"5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"292\":\"E vC wC xC yC zC 0C 1C 2C 3C 4C\"},H:{\"2\":\"ED\"},I:{\"2\":\"AC J FD GD HD ID WC\",\"260\":\"I\",\"292\":\"JD KD\"},J:{\"2\":\"D A\"},K:{\"2\":\"A B C 5B VC 6B\",\"260\":\"H\"},L:{\"260\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"260\":\"7B\"},P:{\"260\":\"t u v w x MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"292\":\"J LD\"},Q:{\"260\":\"XD\"},R:{\"260\":\"YD\"},S:{\"1\":\"aD\",\"644\":\"ZD\"}},B:4,C:\"CSS clip-path property (for HTML)\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-clip-path.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-crisp-edges.js": -/*!********************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-crisp-edges.js ***! - \********************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K XC\",\"2340\":\"D E F A B\"},B:{\"2\":\"C L M G N O P\",\"1025\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC aC\",\"513\":\"qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b\",\"545\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB bC\"},D:{\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB\",\"1025\":\"0 1 2 3 4 5 6 7 8 9 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\"},E:{\"1\":\"A B C L M G HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB cC GC dC\",\"164\":\"K\",\"4644\":\"D E F eC fC gC\"},F:{\"2\":\"F B G N O P DB t u v w x EB FB GB nC oC pC qC 5B VC\",\"545\":\"C rC 6B\",\"1025\":\"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\"},G:{\"1\":\"zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC\",\"4260\":\"tC uC\",\"4644\":\"E vC wC xC yC\"},H:{\"2\":\"ED\"},I:{\"2\":\"AC J FD GD HD ID WC JD KD\",\"1025\":\"I\"},J:{\"2\":\"D\",\"4260\":\"A\"},K:{\"2\":\"A B 5B VC\",\"545\":\"C 6B\",\"1025\":\"H\"},L:{\"1025\":\"I\"},M:{\"1\":\"4B\"},N:{\"2340\":\"A B\"},O:{\"1025\":\"7B\"},P:{\"1025\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1025\":\"XD\"},R:{\"1025\":\"YD\"},S:{\"1\":\"aD\",\"4097\":\"ZD\"}},B:4,C:\"Crisp edges/pixelated images\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-crisp-edges.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-cross-fade.js": -/*!*******************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-cross-fade.js ***! - \*******************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"2\":\"C L M G N O P\",\"33\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"2\":\"0 1 2 3 4 5 6 7 8 9 YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC aC bC\"},D:{\"2\":\"J CB K D E F A B C L M G N\",\"33\":\"0 1 2 3 4 5 6 7 8 9 O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\"},E:{\"1\":\"A B C L M G HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB cC GC\",\"33\":\"K D E F dC eC fC gC\"},F:{\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"33\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\"},G:{\"1\":\"zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC\",\"33\":\"E tC uC vC wC xC yC\"},H:{\"2\":\"ED\"},I:{\"2\":\"AC J FD GD HD ID WC\",\"33\":\"I JD KD\"},J:{\"2\":\"D A\"},K:{\"2\":\"A B C 5B VC 6B\",\"33\":\"H\"},L:{\"33\":\"I\"},M:{\"2\":\"4B\"},N:{\"2\":\"A B\"},O:{\"33\":\"7B\"},P:{\"33\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"33\":\"XD\"},R:{\"33\":\"YD\"},S:{\"2\":\"ZD aD\"}},B:4,C:\"CSS Cross-Fade Function\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-cross-fade.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-deviceadaptation.js": -/*!*************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-deviceadaptation.js ***! - \*************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F XC\",\"164\":\"A B\"},B:{\"66\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"164\":\"C L M G N O P\"},C:{\"2\":\"0 1 2 3 4 5 6 7 8 9 YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC aC bC\"},D:{\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB\",\"66\":\"0 1 2 3 4 5 6 7 8 9 IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\"},E:{\"2\":\"J CB K D E F A B C L M G cC GC dC eC fC gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\"},F:{\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB nC oC pC qC 5B VC rC 6B\",\"66\":\"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\"},G:{\"2\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\"},H:{\"292\":\"ED\"},I:{\"2\":\"AC J I FD GD HD ID WC JD KD\"},J:{\"2\":\"D A\"},K:{\"2\":\"A H\",\"292\":\"B C 5B VC 6B\"},L:{\"2\":\"I\"},M:{\"2\":\"4B\"},N:{\"164\":\"A B\"},O:{\"2\":\"7B\"},P:{\"2\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"66\":\"XD\"},R:{\"2\":\"YD\"},S:{\"2\":\"ZD aD\"}},B:5,C:\"CSS Device Adaptation\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-deviceadaptation.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-element-function.js": -/*!*************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-element-function.js ***! - \*************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"2\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"33\":\"0 1 2 3 4 5 6 7 8 9 J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"164\":\"YC AC aC bC\"},D:{\"2\":\"0 1 2 3 4 5 6 7 8 9 J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\"},E:{\"2\":\"J CB K D E F A B C L M G cC GC dC eC fC gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\"},F:{\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s nC oC pC qC 5B VC rC 6B\"},G:{\"2\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\"},H:{\"2\":\"ED\"},I:{\"2\":\"AC J I FD GD HD ID WC JD KD\"},J:{\"2\":\"D A\"},K:{\"2\":\"A B C H 5B VC 6B\"},L:{\"2\":\"I\"},M:{\"33\":\"4B\"},N:{\"2\":\"A B\"},O:{\"2\":\"7B\"},P:{\"2\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"2\":\"XD\"},R:{\"2\":\"YD\"},S:{\"33\":\"ZD aD\"}},B:5,C:\"CSS element() function\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-element-function.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-featurequeries.js": -/*!***********************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-featurequeries.js ***! - \***********************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u aC bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB\"},E:{\"1\":\"F A B C L M G gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB K D E cC GC dC eC fC\"},F:{\"1\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s 6B\",\"2\":\"F B C nC oC pC qC 5B VC rC\"},G:{\"1\":\"xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"E GC sC WC tC uC vC wC\"},H:{\"1\":\"ED\"},I:{\"1\":\"I JD KD\",\"2\":\"AC J FD GD HD ID WC\"},J:{\"2\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:4,C:\"CSS Feature Queries\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-featurequeries.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-file-selector-button.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-file-selector-button.js ***! - \*****************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"33\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X\"},L:{\"1\":\"I\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"33\":\"C L M G N O P Q H R S T U V W X\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R aC bC\"},M:{\"1\":\"4B\"},A:{\"2\":\"K D E F XC\",\"33\":\"A B\"},F:{\"1\":\"0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"33\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},E:{\"1\":\"G iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC\",\"2\":\"mC\",\"33\":\"J CB K D E F A B C L M cC GC dC eC fC gC HC 5B 6B hC\"},G:{\"1\":\"AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"33\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C\"},P:{\"1\":\"t u v w x UD 8B 9B VD WD\",\"33\":\"J LD MD ND OD PD HC QD RD SD TD\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC\",\"33\":\"JD KD\"}},B:6,C:\"::file-selector-button CSS pseudo-element\",D:undefined};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-file-selector-button.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-filter-function.js": -/*!************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-filter-function.js ***! - \************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"2\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"2\":\"0 1 2 3 4 5 6 7 8 9 YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC aC bC\"},D:{\"2\":\"0 1 2 3 4 5 6 7 8 9 J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\"},E:{\"1\":\"A B C L M G gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB K D E cC GC dC eC fC\",\"33\":\"F\"},F:{\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s nC oC pC qC 5B VC rC 6B\"},G:{\"1\":\"zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"E GC sC WC tC uC vC wC\",\"33\":\"xC yC\"},H:{\"2\":\"ED\"},I:{\"2\":\"AC J I FD GD HD ID WC JD KD\"},J:{\"2\":\"D A\"},K:{\"2\":\"A B C H 5B VC 6B\"},L:{\"2\":\"I\"},M:{\"2\":\"4B\"},N:{\"2\":\"A B\"},O:{\"2\":\"7B\"},P:{\"2\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"2\":\"XD\"},R:{\"2\":\"YD\"},S:{\"2\":\"ZD aD\"}},B:5,C:\"CSS filter() function\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-filter-function.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-filters.js": -/*!****************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-filters.js ***! - \****************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"1028\":\"L M G N O P\",\"1346\":\"C\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC aC\",\"196\":\"NB\",\"516\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O\",\"33\":\"P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB\"},E:{\"1\":\"A B C L M G gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB cC GC dC\",\"33\":\"K D E F eC fC\"},F:{\"1\":\"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"33\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB\"},G:{\"1\":\"yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC\",\"33\":\"E uC vC wC xC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC\",\"33\":\"JD KD\"},J:{\"2\":\"D\",\"33\":\"A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"33\":\"J LD MD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:5,C:\"CSS Filter Effects\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-filters.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-gradients.js": -/*!******************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-gradients.js ***! - \******************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"1\":\"A B\",\"2\":\"K D E F XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC aC\",\"260\":\"N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB\",\"292\":\"J CB K D E F A B C L M G bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"33\":\"A B C L M G N O P DB t u v w x EB\",\"548\":\"J CB K D E F\"},E:{\"1\":\"JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"cC GC\",\"260\":\"D E F A B C L M G eC fC gC HC 5B 6B hC iC jC IC\",\"292\":\"K dC\",\"804\":\"J CB\"},F:{\"1\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s 6B\",\"2\":\"F B nC oC pC qC\",\"33\":\"C rC\",\"164\":\"5B VC\"},G:{\"1\":\"JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"260\":\"E vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC\",\"292\":\"tC uC\",\"804\":\"GC sC WC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I JD KD\",\"33\":\"J ID WC\",\"548\":\"AC FD GD HD\"},J:{\"1\":\"A\",\"548\":\"D\"},K:{\"1\":\"H 6B\",\"2\":\"A B\",\"33\":\"C\",\"164\":\"5B VC\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"1\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:4,C:\"CSS Gradients\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-gradients.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-grid.js": -/*!*************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-grid.js ***! - \*************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E XC\",\"8\":\"F\",\"292\":\"A B\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"292\":\"C L M G\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P aC bC\",\"8\":\"DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB\",\"584\":\"TB UB VB WB XB YB ZB aB bB cB dB eB\",\"1025\":\"fB gB\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x\",\"8\":\"EB FB GB HB\",\"200\":\"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB\",\"1025\":\"kB\"},E:{\"1\":\"B C L M G HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB cC GC dC\",\"8\":\"K D E F A eC fC gC\"},F:{\"1\":\"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P DB t u v w x EB FB GB nC oC pC qC 5B VC rC 6B\",\"200\":\"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB\"},G:{\"1\":\"0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC\",\"8\":\"E uC vC wC xC yC zC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID\",\"8\":\"WC JD KD\"},J:{\"2\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"292\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"2\":\"LD\",\"8\":\"J\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:4,C:\"CSS Grid Layout (level 1)\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-grid.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-hyphens.js": -/*!****************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-hyphens.js ***! - \****************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F XC\",\"33\":\"A B\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 o p q r s y z AB BB I\",\"33\":\"C L M G N O P\",\"132\":\"Q H R S T U V W\",\"260\":\"X Y Z a b c d e f g h i j k l m n\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB aC bC\",\"33\":\"K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB\",\"132\":\"iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W\"},E:{\"1\":\"9B PC QC RC SC TC UC mC\",\"2\":\"J CB cC GC\",\"33\":\"K D E F A B C L M G dC eC fC gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC\"},F:{\"1\":\"a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB nC oC pC qC 5B VC rC 6B\",\"132\":\"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z\"},G:{\"1\":\"9B PC QC RC SC TC UC\",\"2\":\"GC sC\",\"33\":\"E WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"},J:{\"2\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"2\":\"J\",\"132\":\"LD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:4,C:\"CSS Hyphenation\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-hyphens.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-image-set.js": -/*!******************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-image-set.js ***! - \******************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"2 3 4 5 6 7 8 9 AB BB I\",\"2\":\"C L M G N O P\",\"164\":\"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z\",\"2049\":\"1\"},C:{\"1\":\"1 2 3 4 5 6 7 8 9 AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U aC bC\",\"66\":\"V W\",\"2305\":\"0 Y Z a b c d e f g h i j k l m n o p q r s y z\",\"2820\":\"X\"},D:{\"1\":\"2 3 4 5 6 7 8 9 AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t\",\"164\":\"0 u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z\",\"2049\":\"1\"},E:{\"1\":\"9B PC QC RC SC TC UC mC\",\"2\":\"J CB cC GC dC\",\"132\":\"A B C L HC 5B 6B hC\",\"164\":\"K D E F eC fC gC\",\"1540\":\"M G iC jC IC JC 7B kC 8B KC LC MC NC OC lC\"},F:{\"1\":\"j k l m n o p q r s\",\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"164\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h\",\"2049\":\"i\"},G:{\"1\":\"9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC\",\"132\":\"zC 0C 1C 2C 3C 4C 5C 6C 7C 8C\",\"164\":\"E uC vC wC xC yC\",\"1540\":\"9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC\",\"164\":\"JD KD\"},J:{\"2\":\"D\",\"164\":\"A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"164\":\"7B\"},P:{\"1\":\"w x\",\"164\":\"J t u v LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"164\":\"XD\"},R:{\"164\":\"YD\"},S:{\"2\":\"ZD aD\"}},B:5,C:\"CSS image-set\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-image-set.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-logical-props.js": -/*!**********************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-logical-props.js ***! - \**********************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G N O P\",\"1028\":\"W X\",\"1540\":\"Q H R S T U V\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC\",\"164\":\"AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB aC bC\",\"1540\":\"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"292\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB\",\"1028\":\"W X\",\"1540\":\"uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V\"},E:{\"1\":\"G jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"292\":\"J CB K D E F A B C cC GC dC eC fC gC HC 5B\",\"1540\":\"L M 6B hC\",\"3076\":\"iC\"},F:{\"1\":\"1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"292\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB\",\"1028\":\"zB 0B\",\"1540\":\"jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB\"},G:{\"1\":\"BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"292\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C\",\"1540\":\"4C 5C 6C 7C 8C 9C\",\"3076\":\"AD\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"292\":\"AC J FD GD HD ID WC JD KD\"},J:{\"292\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x UD 8B 9B VD WD\",\"292\":\"J LD MD ND OD PD\",\"1540\":\"HC QD RD SD TD\"},Q:{\"1540\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"aD\",\"1540\":\"ZD\"}},B:5,C:\"CSS Logical Properties\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-logical-props.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-masks.js": -/*!**************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-masks.js ***! - \**************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"8 9 AB BB I\",\"2\":\"C L M G N\",\"164\":\"0 1 2 3 4 5 6 7 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z\",\"3138\":\"O\",\"12292\":\"P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC\",\"260\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB aC bC\"},D:{\"1\":\"8 9 AB BB I 4B EC FC\",\"164\":\"0 1 2 3 4 5 6 7 J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z\"},E:{\"1\":\"JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"cC GC\",\"164\":\"J CB K D E F A B C L M G dC eC fC gC HC 5B 6B hC iC jC IC\"},F:{\"1\":\"p q r s\",\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"164\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o\"},G:{\"1\":\"JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"164\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"164\":\"JD KD\",\"676\":\"AC J FD GD HD ID WC\"},J:{\"164\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"164\":\"7B\"},P:{\"164\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"164\":\"XD\"},R:{\"164\":\"YD\"},S:{\"1\":\"aD\",\"260\":\"ZD\"}},B:4,C:\"CSS Masks\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-masks.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-media-resolution.js": -/*!*************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-media-resolution.js ***! - \*************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E XC\",\"132\":\"F A B\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"1028\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC\",\"260\":\"J CB K D E F A B C L M G aC bC\",\"1028\":\"N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"548\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB\",\"1028\":\"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB\"},E:{\"1\":\"8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"cC GC\",\"548\":\"J CB K D E F A B C L M G dC eC fC gC HC 5B 6B hC iC jC IC JC 7B kC\"},F:{\"1\":\"iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s 6B\",\"2\":\"F\",\"548\":\"B C nC oC pC qC 5B VC rC\",\"1028\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB\"},G:{\"1\":\"8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"16\":\"GC\",\"548\":\"E sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD\"},H:{\"132\":\"ED\"},I:{\"1\":\"I\",\"16\":\"FD GD\",\"548\":\"AC J HD ID WC\",\"1028\":\"JD KD\"},J:{\"548\":\"D A\"},K:{\"1\":\"H 6B\",\"548\":\"A B C 5B VC\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"132\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x HC QD RD SD TD UD 8B 9B VD WD\",\"1028\":\"J LD MD ND OD PD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:4,C:\"Media Queries: resolution feature\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-media-resolution.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-overscroll-behavior.js": -/*!****************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-overscroll-behavior.js ***! - \****************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F XC\",\"132\":\"A B\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"132\":\"C L M G N O\",\"516\":\"P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB aC bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB\",\"260\":\"oB pB\"},E:{\"1\":\"8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB K D E F A B C L M cC GC dC eC fC gC HC 5B 6B hC\",\"1090\":\"G iC jC IC JC 7B kC\"},F:{\"1\":\"fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB nC oC pC qC 5B VC rC 6B\",\"260\":\"dB eB\"},G:{\"1\":\"8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C\",\"1090\":\"AD BD IC JC 7B CD\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"},J:{\"2\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"132\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"2\":\"J LD MD ND\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"aD\",\"2\":\"ZD\"}},B:5,C:\"CSS overscroll-behavior\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-overscroll-behavior.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-placeholder-shown.js": -/*!**************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-placeholder-shown.js ***! - \**************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F XC\",\"292\":\"A B\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC aC bC\",\"164\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB\"},E:{\"1\":\"F A B C L M G gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB K D E cC GC dC eC fC\"},F:{\"1\":\"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB nC oC pC qC 5B VC rC 6B\"},G:{\"1\":\"xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"E GC sC WC tC uC vC wC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"},J:{\"2\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"2\":\"J\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"aD\",\"164\":\"ZD\"}},B:5,C:\":placeholder-shown CSS pseudo-class\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-placeholder-shown.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-placeholder.js": -/*!********************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-placeholder.js ***! - \********************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"36\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"33\":\"DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB\",\"130\":\"YC AC J CB K D E F A B C L M G N O P aC bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"36\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB\"},E:{\"1\":\"B C L M G HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J cC GC\",\"36\":\"CB K D E F A dC eC fC gC\"},F:{\"1\":\"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"36\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB\"},G:{\"1\":\"0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC\",\"36\":\"E WC tC uC vC wC xC yC zC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"36\":\"AC J FD GD HD ID WC JD KD\"},J:{\"36\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"36\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"36\":\"J LD MD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"aD\",\"33\":\"ZD\"}},B:5,C:\"::placeholder CSS pseudo-element\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-placeholder.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-print-color-adjust.js": -/*!***************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-print-color-adjust.js ***! - \***************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{D:{\"2\":\"J CB K D E F A B C L M G N\",\"33\":\"0 1 2 3 4 5 6 7 8 9 O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\"},L:{\"33\":\"I\"},B:{\"2\":\"C L M G N O P\",\"33\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB aC bC\",\"33\":\"bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f\"},M:{\"1\":\"4B\"},A:{\"2\":\"K D E F A B XC\"},F:{\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"33\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\"},K:{\"2\":\"A B C 5B VC 6B\",\"33\":\"H\"},E:{\"1\":\"JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC\",\"2\":\"J CB cC GC dC mC\",\"33\":\"K D E F A B C L M G eC fC gC HC 5B 6B hC iC jC IC\"},G:{\"1\":\"JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC\",\"33\":\"E uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC\"},P:{\"33\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},I:{\"2\":\"AC J FD GD HD ID WC\",\"33\":\"I JD KD\"}},B:6,C:\"print-color-adjust property\",D:undefined};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-print-color-adjust.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-read-only-write.js": -/*!************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-read-only-write.js ***! - \************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"16\":\"YC\",\"33\":\"AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B aC bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"16\":\"J CB K D E F A B C L M\",\"132\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB\"},E:{\"1\":\"F A B C L M G gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"16\":\"cC GC\",\"132\":\"J CB K D E dC eC fC\"},F:{\"1\":\"w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"16\":\"F B nC oC pC qC 5B\",\"132\":\"C G N O P DB t u v VC rC 6B\"},G:{\"1\":\"xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"16\":\"GC sC\",\"132\":\"E WC tC uC vC wC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"16\":\"FD GD\",\"132\":\"AC J HD ID WC JD KD\"},J:{\"1\":\"A\",\"132\":\"D\"},K:{\"1\":\"H\",\"2\":\"A B 5B\",\"132\":\"C VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"aD\",\"33\":\"ZD\"}},B:1,C:\"CSS :read-only and :read-write selectors\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-read-only-write.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-regions.js": -/*!****************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-regions.js ***! - \****************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F XC\",\"420\":\"A B\"},B:{\"2\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"420\":\"C L M G N O P\"},C:{\"2\":\"0 1 2 3 4 5 6 7 8 9 YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC aC bC\"},D:{\"2\":\"0 1 2 3 4 5 6 7 8 9 J CB K D E F A B C L M OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"36\":\"G N O P\",\"66\":\"DB t u v w x EB FB GB HB IB JB KB LB MB NB\"},E:{\"2\":\"J CB K C L M G cC GC dC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"33\":\"D E F A B eC fC gC HC\"},F:{\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s nC oC pC qC 5B VC rC 6B\"},G:{\"2\":\"GC sC WC tC uC 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"33\":\"E vC wC xC yC zC 0C 1C\"},H:{\"2\":\"ED\"},I:{\"2\":\"AC J I FD GD HD ID WC JD KD\"},J:{\"2\":\"D A\"},K:{\"2\":\"A B C H 5B VC 6B\"},L:{\"2\":\"I\"},M:{\"2\":\"4B\"},N:{\"420\":\"A B\"},O:{\"2\":\"7B\"},P:{\"2\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"2\":\"XD\"},R:{\"2\":\"YD\"},S:{\"2\":\"ZD aD\"}},B:5,C:\"CSS Regions\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-regions.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-selection.js": -/*!******************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-selection.js ***! - \******************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"1\":\"F A B\",\"2\":\"K D E XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"33\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC aC bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\"},E:{\"1\":\"J CB K D E F A B C L M G cC GC dC eC fC gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\"},F:{\"1\":\"B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s nC oC pC qC 5B VC rC 6B\",\"2\":\"F\"},G:{\"2\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I JD KD\",\"2\":\"AC J FD GD HD ID WC\"},J:{\"1\":\"A\",\"2\":\"D\"},K:{\"1\":\"C H VC 6B\",\"16\":\"A B 5B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"1\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"aD\",\"33\":\"ZD\"}},B:5,C:\"::selection CSS pseudo-element\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-selection.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-shapes.js": -/*!***************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-shapes.js ***! - \***************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB aC bC\",\"322\":\"eB fB gB hB iB jB kB lB BC mB CC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB\",\"194\":\"NB OB PB\"},E:{\"1\":\"B C L M G HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB K D cC GC dC eC\",\"33\":\"E F A fC gC\"},F:{\"1\":\"x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P DB t u v w nC oC pC qC 5B VC rC 6B\"},G:{\"1\":\"0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC uC vC\",\"33\":\"E wC xC yC zC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"},J:{\"2\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"aD\",\"2\":\"ZD\"}},B:4,C:\"CSS Shapes Level 1\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-shapes.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-snappoints.js": -/*!*******************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-snappoints.js ***! - \*******************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F XC\",\"6308\":\"A\",\"6436\":\"B\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"6436\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB aC bC\",\"2052\":\"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB\",\"8258\":\"rB sB tB\"},E:{\"1\":\"B C L M G 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB K D E cC GC dC eC fC\",\"3108\":\"F A gC HC\"},F:{\"1\":\"pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB nC oC pC qC 5B VC rC 6B\",\"8258\":\"hB iB jB kB lB mB nB oB\"},G:{\"1\":\"1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"E GC sC WC tC uC vC wC\",\"3108\":\"xC yC zC 0C\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"},J:{\"2\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x HC QD RD SD TD UD 8B 9B VD WD\",\"2\":\"J LD MD ND OD PD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"aD\",\"2052\":\"ZD\"}},B:4,C:\"CSS Scroll Snap\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-snappoints.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-sticky.js": -/*!***************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-sticky.js ***! - \***************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G\",\"1028\":\"Q H R S T U V W X Y Z\",\"4100\":\"N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB aC bC\",\"194\":\"FB GB HB IB JB KB\",\"516\":\"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB\",\"322\":\"w x EB FB GB HB IB JB KB LB MB NB OB PB fB gB hB iB\",\"1028\":\"jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z\"},E:{\"1\":\"L M G hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB K cC GC dC\",\"33\":\"E F A B C fC gC HC 5B 6B\",\"2084\":\"D eC\"},F:{\"1\":\"3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB nC oC pC qC 5B VC rC 6B\",\"322\":\"SB TB UB\",\"1028\":\"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B\"},G:{\"1\":\"5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC\",\"33\":\"E wC xC yC zC 0C 1C 2C 3C 4C\",\"2084\":\"uC vC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"},J:{\"2\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"2\":\"J LD\"},Q:{\"1028\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"aD\",\"516\":\"ZD\"}},B:5,C:\"CSS position:sticky\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-sticky.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-text-align-last.js": -/*!************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-text-align-last.js ***! - \************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"132\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"4\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B aC bC\",\"33\":\"C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB\",\"322\":\"OB PB QB RB SB TB UB VB WB XB YB ZB\"},E:{\"1\":\"8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB K D E F A B C L M G cC GC dC eC fC gC HC 5B 6B hC iC jC IC JC 7B kC\"},F:{\"1\":\"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P DB t u nC oC pC qC 5B VC rC 6B\",\"578\":\"v w x EB FB GB HB IB JB KB LB MB\"},G:{\"1\":\"8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"},J:{\"2\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"132\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"2\":\"J\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"aD\",\"33\":\"ZD\"}},B:4,C:\"CSS3 text-align-last\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-text-align-last.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-text-orientation.js": -/*!*************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-text-orientation.js ***! - \*************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB aC bC\",\"194\":\"RB SB TB\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB\"},E:{\"1\":\"M G iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB K D E F cC GC dC eC fC gC\",\"16\":\"A\",\"33\":\"B C L HC 5B 6B hC\"},F:{\"1\":\"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB nC oC pC qC 5B VC rC 6B\"},G:{\"1\":\"zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"E GC sC WC tC uC vC wC xC yC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"},J:{\"2\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"2\":\"J\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:2,C:\"CSS text-orientation\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-text-orientation.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-text-spacing.js": -/*!*********************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-text-spacing.js ***! - \*********************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D XC\",\"161\":\"E F A B\"},B:{\"2\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"161\":\"C L M G N O P\"},C:{\"2\":\"0 1 2 3 4 5 6 7 8 9 YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC aC bC\"},D:{\"2\":\"0 1 2 3 4 5 6 7 8 9 J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\"},E:{\"2\":\"J CB K D E F A B C L M G cC GC dC eC fC gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\"},F:{\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s nC oC pC qC 5B VC rC 6B\"},G:{\"2\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\"},H:{\"2\":\"ED\"},I:{\"2\":\"AC J I FD GD HD ID WC JD KD\"},J:{\"2\":\"D A\"},K:{\"2\":\"A B C H 5B VC 6B\"},L:{\"2\":\"I\"},M:{\"2\":\"4B\"},N:{\"16\":\"A B\"},O:{\"2\":\"7B\"},P:{\"2\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"2\":\"XD\"},R:{\"2\":\"YD\"},S:{\"2\":\"ZD aD\"}},B:5,C:\"CSS Text 4 text-spacing\",D:false};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-text-spacing.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-transitions.js": -/*!********************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-transitions.js ***! - \********************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"1\":\"A B\",\"2\":\"K D E F XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC aC bC\",\"33\":\"CB K D E F A B C L M G\",\"164\":\"J\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"33\":\"J CB K D E F A B C L M G N O P DB t u v w x EB\"},E:{\"1\":\"D E F A B C L M G eC fC gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"33\":\"K dC\",\"164\":\"J CB cC GC\"},F:{\"1\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s 6B\",\"2\":\"F nC oC\",\"33\":\"C\",\"164\":\"B pC qC 5B VC rC\"},G:{\"1\":\"E vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"33\":\"uC\",\"164\":\"GC sC WC tC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I JD KD\",\"33\":\"AC J FD GD HD ID WC\"},J:{\"1\":\"A\",\"33\":\"D\"},K:{\"1\":\"H 6B\",\"33\":\"C\",\"164\":\"A B 5B VC\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"1\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:5,C:\"CSS3 Transitions\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-transitions.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-width-stretch.js": -/*!**********************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-width-stretch.js ***! - \**********************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{D:{\"2\":\"J CB K D E F A B C L M G N O P DB t u\",\"33\":\"0 1 2 3 4 5 6 7 8 9 v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\"},L:{\"33\":\"I\"},B:{\"2\":\"C L M G N O P\",\"33\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"2\":\"YC\",\"33\":\"0 1 2 3 4 5 6 7 8 9 AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC aC bC\"},M:{\"33\":\"4B\"},A:{\"2\":\"K D E F A B XC\"},F:{\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"33\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\"},K:{\"2\":\"A B C 5B VC 6B\",\"33\":\"H\"},E:{\"2\":\"J CB K cC GC dC eC mC\",\"33\":\"D E F A B C L M G fC gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC\"},G:{\"2\":\"GC sC WC tC uC\",\"33\":\"E vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\"},P:{\"2\":\"J\",\"33\":\"t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},I:{\"2\":\"AC J FD GD HD ID WC\",\"33\":\"I JD KD\"}},B:6,C:\"width: stretch property\",D:undefined};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-width-stretch.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css-writing-mode.js": -/*!*********************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css-writing-mode.js ***! - \*********************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"132\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB aC bC\",\"322\":\"PB QB RB SB TB\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K\",\"16\":\"D\",\"33\":\"E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB\"},E:{\"1\":\"B C L M G 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J cC GC\",\"16\":\"CB\",\"33\":\"K D E F A dC eC fC gC HC\"},F:{\"1\":\"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"33\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB\"},G:{\"1\":\"1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"16\":\"GC sC WC\",\"33\":\"E tC uC vC wC xC yC zC 0C\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"FD GD HD\",\"33\":\"AC J ID WC JD KD\"},J:{\"33\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"36\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"33\":\"J\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:2,C:\"CSS writing-mode property\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css-writing-mode.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css3-boxsizing.js": -/*!*******************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css3-boxsizing.js ***! - \*******************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"1\":\"E F A B\",\"8\":\"K D XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"33\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB aC bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"33\":\"J CB K D E F\"},E:{\"1\":\"K D E F A B C L M G dC eC fC gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"33\":\"J CB cC GC\"},F:{\"1\":\"B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s nC oC pC qC 5B VC rC 6B\",\"2\":\"F\"},G:{\"1\":\"E tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"33\":\"GC sC WC\"},H:{\"1\":\"ED\"},I:{\"1\":\"J I ID WC JD KD\",\"33\":\"AC FD GD HD\"},J:{\"1\":\"A\",\"33\":\"D\"},K:{\"1\":\"A B C H 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"1\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:5,C:\"CSS3 Box-sizing\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css3-boxsizing.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css3-cursors-grab.js": -/*!**********************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css3-cursors-grab.js ***! - \**********************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"33\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB aC bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"33\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB\"},E:{\"1\":\"B C L M G 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"33\":\"J CB K D E F A cC GC dC eC fC gC HC\"},F:{\"1\":\"C iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s rC 6B\",\"2\":\"F B nC oC pC qC 5B VC\",\"33\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB\"},G:{\"2\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"},J:{\"33\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"2\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"2\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"2\":\"ZD aD\"}},B:2,C:\"CSS grab & grabbing cursors\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css3-cursors-grab.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css3-cursors-newer.js": -/*!***********************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css3-cursors-newer.js ***! - \***********************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"33\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w aC bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"33\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB\"},E:{\"1\":\"F A B C L M G gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"33\":\"J CB K D E cC GC dC eC fC\"},F:{\"1\":\"C x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s rC 6B\",\"2\":\"F B nC oC pC qC 5B VC\",\"33\":\"G N O P DB t u v w\"},G:{\"2\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"},J:{\"33\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"2\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"2\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"2\":\"ZD aD\"}},B:2,C:\"CSS3 Cursors: zoom-in & zoom-out\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css3-cursors-newer.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/css3-tabsize.js": -/*!*****************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/css3-tabsize.js ***! - \*****************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC aC bC\",\"33\":\"gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z\",\"164\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t\",\"132\":\"u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB\"},E:{\"1\":\"M G hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB K cC GC dC\",\"132\":\"D E F A B C L eC fC gC HC 5B 6B\"},F:{\"1\":\"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F nC oC pC\",\"132\":\"G N O P DB t u v w x EB FB GB HB\",\"164\":\"B C qC 5B VC rC 6B\"},G:{\"1\":\"8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC uC\",\"132\":\"E vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C\"},H:{\"164\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC\",\"132\":\"JD KD\"},J:{\"132\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A\",\"164\":\"B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"164\":\"ZD aD\"}},B:4,C:\"CSS3 tab-size\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/css3-tabsize.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/flexbox.js": -/*!************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/flexbox.js ***! - \************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F XC\",\"1028\":\"B\",\"1316\":\"A\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"164\":\"YC AC J CB K D E F A B C L M G N O P DB t u aC bC\",\"516\":\"v w x EB FB GB\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"33\":\"u v w x EB FB GB HB\",\"164\":\"J CB K D E F A B C L M G N O P DB t\"},E:{\"1\":\"F A B C L M G gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"33\":\"D E eC fC\",\"164\":\"J CB K cC GC dC\"},F:{\"1\":\"O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s 6B\",\"2\":\"F B C nC oC pC qC 5B VC rC\",\"33\":\"G N\"},G:{\"1\":\"xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"33\":\"E vC wC\",\"164\":\"GC sC WC tC uC\"},H:{\"1\":\"ED\"},I:{\"1\":\"I JD KD\",\"164\":\"AC J FD GD HD ID WC\"},J:{\"1\":\"A\",\"164\":\"D\"},K:{\"1\":\"H 6B\",\"2\":\"A B C 5B VC\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"1\":\"B\",\"292\":\"A\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:4,C:\"CSS Flexible Box Layout Module\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/flexbox.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/font-feature.js": -/*!*****************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/font-feature.js ***! - \*****************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"1\":\"A B\",\"2\":\"K D E F XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC aC bC\",\"33\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB\",\"164\":\"J CB K D E F A B C L M\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G\",\"33\":\"u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB\",\"292\":\"N O P DB t\"},E:{\"1\":\"A B C L M G gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"D E F cC GC eC fC\",\"4\":\"J CB K dC\"},F:{\"1\":\"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"33\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB\"},G:{\"1\":\"yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"E vC wC xC\",\"4\":\"GC sC WC tC uC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC\",\"33\":\"JD KD\"},J:{\"2\":\"D\",\"33\":\"A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"33\":\"J\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:2,C:\"CSS font-feature-settings\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/font-feature.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/font-kerning.js": -/*!*****************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/font-kerning.js ***! - \*****************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w aC bC\",\"194\":\"x EB FB GB HB IB JB KB LB MB\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB\",\"33\":\"IB JB KB LB\"},E:{\"1\":\"A B C L M G gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB K cC GC dC eC\",\"33\":\"D E F fC\"},F:{\"1\":\"t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G nC oC pC qC 5B VC rC 6B\",\"33\":\"N O P DB\"},G:{\"1\":\"3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC uC vC\",\"33\":\"E wC xC yC zC 0C 1C 2C\"},H:{\"2\":\"ED\"},I:{\"1\":\"I KD\",\"2\":\"AC J FD GD HD ID WC\",\"33\":\"JD\"},J:{\"2\":\"D\",\"33\":\"A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:4,C:\"CSS3 font-kerning\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/font-kerning.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/fullscreen.js": -/*!***************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/fullscreen.js ***! - \***************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A XC\",\"548\":\"B\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"516\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F aC bC\",\"676\":\"A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB\",\"1700\":\"aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M\",\"676\":\"G N O P DB\",\"804\":\"t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB\"},E:{\"1\":\"NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB cC GC\",\"548\":\"JC 7B kC 8B KC LC MC\",\"676\":\"dC\",\"804\":\"K D E F A B C L M G eC fC gC HC 5B 6B hC iC jC IC\"},F:{\"1\":\"pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s 6B\",\"2\":\"F B C nC oC pC qC 5B VC rC\",\"804\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB\"},G:{\"2\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C\",\"2052\":\"3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\"},H:{\"2\":\"ED\"},I:{\"2\":\"AC J I FD GD HD ID WC JD KD\"},J:{\"2\":\"D\",\"292\":\"A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A\",\"548\":\"B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x HC QD RD SD TD UD 8B 9B VD WD\",\"804\":\"J LD MD ND OD PD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:1,C:\"Fullscreen API\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/fullscreen.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/intrinsic-width.js": -/*!********************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/intrinsic-width.js ***! - \********************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"2\":\"C L M G N O P\",\"1025\":\"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s y z AB BB I\",\"1537\":\"Q H R S T U V W X Y Z a b c\"},C:{\"2\":\"YC\",\"932\":\"AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB aC bC\",\"2308\":\"0 1 2 3 4 5 6 7 8 9 rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\"},D:{\"2\":\"J CB K D E F A B C L M G N O P DB t u\",\"545\":\"v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB\",\"1025\":\"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"1537\":\"ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c\"},E:{\"1\":\"8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB K cC GC dC\",\"516\":\"B C L M G 5B 6B hC iC jC IC JC 7B kC\",\"548\":\"F A gC HC\",\"676\":\"D E eC fC\"},F:{\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"513\":\"NB\",\"545\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB\",\"1025\":\"e f g h i j k l m n o p q r s\",\"1537\":\"MB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d\"},G:{\"1\":\"8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC uC\",\"516\":\"9C AD BD IC JC 7B CD\",\"548\":\"xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C\",\"676\":\"E vC wC\"},H:{\"2\":\"ED\"},I:{\"2\":\"AC J FD GD HD ID WC\",\"545\":\"JD KD\",\"1025\":\"I\"},J:{\"2\":\"D\",\"545\":\"A\"},K:{\"2\":\"A B C 5B VC 6B\",\"1025\":\"H\"},L:{\"1025\":\"I\"},M:{\"2308\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1537\":\"7B\"},P:{\"545\":\"J\",\"1025\":\"t u v w x 9B VD WD\",\"1537\":\"LD MD ND OD PD HC QD RD SD TD UD 8B\"},Q:{\"1537\":\"XD\"},R:{\"1537\":\"YD\"},S:{\"932\":\"ZD\",\"2308\":\"aD\"}},B:5,C:\"Intrinsic & Extrinsic Sizing\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/intrinsic-width.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js": -/*!************************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js ***! - \************************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB\",\"33\":\"LB MB NB OB PB\"},L:{\"1\":\"I\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"33\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aC bC\"},M:{\"1\":\"4B\"},A:{\"2\":\"K D E F A XC\",\"33\":\"B\"},F:{\"1\":\"x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P nC oC pC qC 5B VC rC 6B\",\"33\":\"DB t u v w\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},E:{\"1\":\"JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC\",\"2\":\"J CB K D E F A B C L M G cC GC dC eC fC gC HC 5B 6B hC iC jC IC mC\"},G:{\"1\":\"JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC\",\"33\":\"JD KD\"}},B:6,C:\"CSS ::backdrop pseudo-element\",D:undefined};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js": -/*!******************************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js ***! - \******************************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB\"},L:{\"1\":\"I\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N aC bC\",\"33\":\"O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB\"},M:{\"1\":\"4B\"},A:{\"2\":\"K D E F A B XC\"},F:{\"1\":\"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB nC oC pC qC 5B VC rC 6B\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},E:{\"1\":\"B C L M G 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC\",\"2\":\"J CB K cC GC dC eC mC\",\"33\":\"D E F A fC gC HC\"},G:{\"1\":\"1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC uC\",\"33\":\"E vC wC xC yC zC 0C\"},P:{\"1\":\"t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"2\":\"J\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"}},B:6,C:\"isolate-override from unicode-bidi\",D:undefined};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js ***! - \*********************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G\",\"33\":\"N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB\"},L:{\"1\":\"I\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F aC bC\",\"33\":\"A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB\"},M:{\"1\":\"4B\"},A:{\"2\":\"K D E F A B XC\"},F:{\"1\":\"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"33\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},E:{\"1\":\"B C L M G 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC\",\"2\":\"J CB cC GC dC mC\",\"33\":\"K D E F A eC fC gC HC\"},G:{\"1\":\"1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC\",\"33\":\"E uC vC wC xC yC zC 0C\"},P:{\"1\":\"t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"2\":\"J\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"}},B:6,C:\"isolate from unicode-bidi\",D:undefined};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js ***! - \***********************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB\"},L:{\"1\":\"I\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F aC bC\",\"33\":\"A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB\"},M:{\"1\":\"4B\"},A:{\"2\":\"K D E F A B XC\"},F:{\"1\":\"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB nC oC pC qC 5B VC rC 6B\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},E:{\"1\":\"B C L M G 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC\",\"2\":\"J CB cC GC dC mC\",\"33\":\"K D E F A eC fC gC HC\"},G:{\"1\":\"1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC\",\"33\":\"E uC vC wC xC yC zC 0C\"},P:{\"1\":\"t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"2\":\"J\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"}},B:6,C:\"plaintext from unicode-bidi\",D:undefined};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js": -/*!******************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js ***! - \******************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB\"},L:{\"1\":\"I\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB aC bC\",\"33\":\"K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB\"},M:{\"1\":\"4B\"},A:{\"2\":\"K D E F A B XC\"},F:{\"1\":\"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB nC oC pC qC 5B VC rC 6B\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},E:{\"1\":\"L M G 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC\",\"2\":\"J CB K D cC GC dC eC fC mC\",\"33\":\"E F A B C gC HC 5B\"},G:{\"1\":\"4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC uC vC\",\"33\":\"E wC xC yC zC 0C 1C 2C 3C\"},P:{\"1\":\"t u v w x ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"2\":\"J LD MD\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"}},B:6,C:\"text-decoration-color property\",D:undefined};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js ***! - \*****************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB\"},L:{\"1\":\"I\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB aC bC\",\"33\":\"K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB\"},M:{\"1\":\"4B\"},A:{\"2\":\"K D E F A B XC\"},F:{\"1\":\"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB nC oC pC qC 5B VC rC 6B\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},E:{\"1\":\"L M G 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC\",\"2\":\"J CB K D cC GC dC eC fC mC\",\"33\":\"E F A B C gC HC 5B\"},G:{\"1\":\"4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC uC vC\",\"33\":\"E wC xC yC zC 0C 1C 2C 3C\"},P:{\"1\":\"t u v w x ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"2\":\"J LD MD\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"}},B:6,C:\"text-decoration-line property\",D:undefined};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js ***! - \**********************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB\"},L:{\"1\":\"I\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB aC bC\"},M:{\"1\":\"4B\"},A:{\"2\":\"K D E F A B XC\"},F:{\"1\":\"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB nC oC pC qC 5B VC rC 6B\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},E:{\"2\":\"J CB K D cC GC dC eC fC mC\",\"33\":\"E F A B C L M G gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC\"},G:{\"2\":\"GC sC WC tC uC vC\",\"33\":\"E wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\"},P:{\"1\":\"t u v w x ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"2\":\"J LD MD\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"}},B:6,C:\"text-decoration shorthand property\",D:undefined};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js": -/*!******************************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js ***! - \******************************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB\"},L:{\"1\":\"I\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB aC bC\",\"33\":\"K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB\"},M:{\"1\":\"4B\"},A:{\"2\":\"K D E F A B XC\"},F:{\"1\":\"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB nC oC pC qC 5B VC rC 6B\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},E:{\"1\":\"L M G 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC\",\"2\":\"J CB K D cC GC dC eC fC mC\",\"33\":\"E F A B C gC HC 5B\"},G:{\"1\":\"4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC uC vC\",\"33\":\"E wC xC yC zC 0C 1C 2C 3C\"},P:{\"1\":\"t u v w x ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"2\":\"J LD MD\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"}},B:6,C:\"text-decoration-style property\",D:undefined};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/multicolumn.js": -/*!****************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/multicolumn.js ***! - \****************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"1\":\"A B\",\"2\":\"K D E F XC\"},B:{\"1\":\"C L M G N O P\",\"516\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"132\":\"fB gB hB iB jB kB lB BC mB CC nB oB pB\",\"164\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB aC bC\",\"516\":\"qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a\",\"1028\":\"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\"},D:{\"420\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB\",\"516\":\"0 1 2 3 4 5 6 7 8 9 dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\"},E:{\"1\":\"A B C L M G HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"132\":\"F gC\",\"164\":\"D E fC\",\"420\":\"J CB K cC GC dC eC\"},F:{\"1\":\"C 5B VC rC 6B\",\"2\":\"F B nC oC pC qC\",\"420\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB\",\"516\":\"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\"},G:{\"1\":\"zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"132\":\"xC yC\",\"164\":\"E vC wC\",\"420\":\"GC sC WC tC uC\"},H:{\"1\":\"ED\"},I:{\"420\":\"AC J FD GD HD ID WC JD KD\",\"516\":\"I\"},J:{\"420\":\"D A\"},K:{\"1\":\"C 5B VC 6B\",\"2\":\"A B\",\"516\":\"H\"},L:{\"516\":\"I\"},M:{\"1028\":\"4B\"},N:{\"1\":\"A B\"},O:{\"516\":\"7B\"},P:{\"420\":\"J\",\"516\":\"t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"516\":\"XD\"},R:{\"516\":\"YD\"},S:{\"164\":\"ZD aD\"}},B:4,C:\"CSS3 Multiple column layout\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/multicolumn.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/object-fit.js": -/*!***************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/object-fit.js ***! - \***************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G\",\"260\":\"N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB aC bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB\"},E:{\"1\":\"A B C L M G HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB K D cC GC dC eC\",\"132\":\"E F fC gC\"},F:{\"1\":\"DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F G N O P nC oC pC\",\"33\":\"B C qC 5B VC rC 6B\"},G:{\"1\":\"zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC uC vC\",\"132\":\"E wC xC yC\"},H:{\"33\":\"ED\"},I:{\"1\":\"I KD\",\"2\":\"AC J FD GD HD ID WC JD\"},J:{\"2\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A\",\"33\":\"B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:4,C:\"CSS3 object-fit/object-position\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/object-fit.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/pointer.js": -/*!************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/pointer.js ***! - \************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"1\":\"B\",\"2\":\"K D E F XC\",\"164\":\"A\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB aC bC\",\"8\":\"K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB\",\"328\":\"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u\",\"8\":\"v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB\",\"584\":\"fB gB hB\"},E:{\"1\":\"L M G hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB K cC GC dC\",\"8\":\"D E F A B C eC fC gC HC 5B\",\"1096\":\"6B\"},F:{\"1\":\"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"8\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB\",\"584\":\"SB TB UB\"},G:{\"1\":\"6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"8\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C\",\"6148\":\"5C\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"8\":\"AC J FD GD HD ID WC JD KD\"},J:{\"8\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A\",\"8\":\"B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"1\":\"B\",\"36\":\"A\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"2\":\"LD\",\"8\":\"J\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"aD\",\"328\":\"ZD\"}},B:2,C:\"Pointer events\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/pointer.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/text-decoration.js": -/*!********************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/text-decoration.js ***! - \********************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"2\":\"C L M G N O P\",\"2052\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"2\":\"YC AC J CB aC bC\",\"1028\":\"0 1 2 3 4 5 6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"1060\":\"K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB\"},D:{\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB\",\"226\":\"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB\",\"2052\":\"0 1 2 3 4 5 6 7 8 9 kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\"},E:{\"2\":\"J CB K D cC GC dC eC\",\"772\":\"L M G 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"804\":\"E F A B C gC HC 5B\",\"1316\":\"fC\"},F:{\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB nC oC pC qC 5B VC rC 6B\",\"226\":\"OB PB QB RB SB TB UB VB WB\",\"2052\":\"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\"},G:{\"2\":\"GC sC WC tC uC vC\",\"292\":\"E wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"},J:{\"2\":\"D A\"},K:{\"2\":\"A B C 5B VC 6B\",\"2052\":\"H\"},L:{\"2052\":\"I\"},M:{\"1028\":\"4B\"},N:{\"2\":\"A B\"},O:{\"2052\":\"7B\"},P:{\"2\":\"J LD MD\",\"2052\":\"t u v w x ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"2052\":\"XD\"},R:{\"2052\":\"YD\"},S:{\"1028\":\"ZD aD\"}},B:4,C:\"text-decoration styling\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/text-decoration.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/text-emphasis.js": -/*!******************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/text-emphasis.js ***! - \******************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s y z AB BB I\",\"2\":\"C L M G N O P\",\"164\":\"Q H R S T U V W X Y Z a b c d e f g h\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB aC bC\",\"322\":\"YB\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x\",\"164\":\"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h\"},E:{\"1\":\"E F A B C L M G fC gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"J CB K cC GC dC\",\"164\":\"D eC\"},F:{\"1\":\"V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"164\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U\"},G:{\"1\":\"E vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"2\":\"GC sC WC tC uC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC\",\"164\":\"JD KD\"},J:{\"2\":\"D\",\"164\":\"A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"2\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x VD WD\",\"164\":\"J LD MD ND OD PD HC QD RD SD TD UD 8B 9B\"},Q:{\"164\":\"XD\"},R:{\"164\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:4,C:\"text-emphasis styling\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/text-emphasis.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/text-overflow.js": -/*!******************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/text-overflow.js ***! - \******************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"1\":\"K D E F A B\",\"2\":\"XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"8\":\"YC AC J CB K aC bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\"},E:{\"1\":\"J CB K D E F A B C L M G cC GC dC eC fC gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\"},F:{\"1\":\"B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s 5B VC rC 6B\",\"33\":\"F nC oC pC qC\"},G:{\"1\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\"},H:{\"1\":\"ED\"},I:{\"1\":\"AC J I FD GD HD ID WC JD KD\"},J:{\"1\":\"D A\"},K:{\"1\":\"H 6B\",\"33\":\"A B C 5B VC\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"1\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:2,C:\"CSS3 Text-overflow\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/text-overflow.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/text-size-adjust.js": -/*!*********************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/text-size-adjust.js ***! - \*********************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F A B XC\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"33\":\"C L M G N O P\"},C:{\"2\":\"0 1 2 3 4 5 6 7 8 9 YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC aC bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B C L M G N O P DB t u v w x EB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB\",\"258\":\"FB\"},E:{\"2\":\"J CB K D E F A B C L M G cC GC eC fC gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"258\":\"dC\"},F:{\"1\":\"WB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB XB nC oC pC qC 5B VC rC 6B\"},G:{\"2\":\"GC sC WC\",\"33\":\"E tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"AC J FD GD HD ID WC JD KD\"},J:{\"2\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"33\":\"4B\"},N:{\"161\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"2\":\"J\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"2\":\"ZD aD\"}},B:7,C:\"CSS text-size-adjust\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/text-size-adjust.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/transforms2d.js": -/*!*****************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/transforms2d.js ***! - \*****************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"XC\",\"8\":\"K D E\",\"129\":\"A B\",\"161\":\"F\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"129\":\"C L M G N\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC\",\"33\":\"J CB K D E F A B C L M G aC bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"33\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB\"},E:{\"1\":\"F A B C L M G gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"33\":\"J CB K D E cC GC dC eC fC\"},F:{\"1\":\"w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s 6B\",\"2\":\"F nC oC\",\"33\":\"B C G N O P DB t u v pC qC 5B VC rC\"},G:{\"1\":\"xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"33\":\"E GC sC WC tC uC vC wC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"33\":\"AC J FD GD HD ID WC JD KD\"},J:{\"33\":\"D A\"},K:{\"1\":\"B C H 5B VC 6B\",\"2\":\"A\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"1\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:4,C:\"CSS3 2D Transforms\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/transforms2d.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/transforms3d.js": -/*!*****************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/transforms3d.js ***! - \*****************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F XC\",\"132\":\"A B\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"2\":\"YC AC J CB K D E F aC bC\",\"33\":\"A B C L M G\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"2\":\"J CB K D E F A B\",\"33\":\"C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB\"},E:{\"1\":\"JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC mC\",\"2\":\"cC GC\",\"33\":\"J CB K D E dC eC fC\",\"257\":\"F A B C L M G gC HC 5B 6B hC iC jC IC\"},F:{\"1\":\"w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"33\":\"G N O P DB t u v\"},G:{\"1\":\"JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\",\"33\":\"E GC sC WC tC uC vC wC\",\"257\":\"xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"2\":\"FD GD HD\",\"33\":\"AC J ID WC JD KD\"},J:{\"33\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"132\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"J t u v w x LD MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"ZD aD\"}},B:5,C:\"CSS3 3D Transforms\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/transforms3d.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/data/features/user-select-none.js": -/*!*********************************************************************!*\ - !*** ./node_modules/caniuse-lite/data/features/user-select-none.js ***! - \*********************************************************************/ -/***/ ((module) => { - -eval("module.exports={A:{A:{\"2\":\"K D E F XC\",\"33\":\"A B\"},B:{\"1\":\"0 1 2 3 4 5 6 7 8 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I\",\"33\":\"C L M G N O P\"},C:{\"1\":\"0 1 2 3 4 5 6 7 8 9 uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC ZC\",\"33\":\"YC AC J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB aC bC\"},D:{\"1\":\"0 1 2 3 4 5 6 7 8 9 hB iB jB kB lB BC mB CC nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s y z AB BB I 4B EC FC\",\"33\":\"J CB K D E F A B C L M G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB\"},E:{\"1\":\"mC\",\"33\":\"J CB K D E F A B C L M G cC GC dC eC fC gC HC 5B 6B hC iC jC IC JC 7B kC 8B KC LC MC NC OC lC 9B PC QC RC SC TC UC\"},F:{\"1\":\"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B Q H R DC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s\",\"2\":\"F B C nC oC pC qC 5B VC rC 6B\",\"33\":\"G N O P DB t u v w x EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB\"},G:{\"33\":\"E GC sC WC tC uC vC wC xC yC zC 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C AD BD IC JC 7B CD 8B KC LC MC NC OC DD 9B PC QC RC SC TC UC\"},H:{\"2\":\"ED\"},I:{\"1\":\"I\",\"33\":\"AC J FD GD HD ID WC JD KD\"},J:{\"33\":\"D A\"},K:{\"1\":\"H\",\"2\":\"A B C 5B VC 6B\"},L:{\"1\":\"I\"},M:{\"1\":\"4B\"},N:{\"33\":\"A B\"},O:{\"1\":\"7B\"},P:{\"1\":\"t u v w x MD ND OD PD HC QD RD SD TD UD 8B 9B VD WD\",\"33\":\"J LD\"},Q:{\"1\":\"XD\"},R:{\"1\":\"YD\"},S:{\"1\":\"aD\",\"33\":\"ZD\"}},B:5,C:\"CSS user-select: none\",D:true};\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/data/features/user-select-none.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/dist/lib/statuses.js": -/*!********************************************************!*\ - !*** ./node_modules/caniuse-lite/dist/lib/statuses.js ***! - \********************************************************/ -/***/ ((module) => { - -eval("module.exports = {\n 1: 'ls', // WHATWG Living Standard\n 2: 'rec', // W3C Recommendation\n 3: 'pr', // W3C Proposed Recommendation\n 4: 'cr', // W3C Candidate Recommendation\n 5: 'wd', // W3C Working Draft\n 6: 'other', // Non-W3C, but reputable\n 7: 'unoff' // Unofficial, Editor's Draft or W3C \"Note\"\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/dist/lib/statuses.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/dist/lib/supported.js": -/*!*********************************************************!*\ - !*** ./node_modules/caniuse-lite/dist/lib/supported.js ***! - \*********************************************************/ -/***/ ((module) => { - -eval("module.exports = {\n y: 1 << 0,\n n: 1 << 1,\n a: 1 << 2,\n p: 1 << 3,\n u: 1 << 4,\n x: 1 << 5,\n d: 1 << 6\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/dist/lib/supported.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/dist/unpacker/agents.js": -/*!***********************************************************!*\ - !*** ./node_modules/caniuse-lite/dist/unpacker/agents.js ***! - \***********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst browsers = (__webpack_require__(/*! ./browsers */ \"./node_modules/caniuse-lite/dist/unpacker/browsers.js\").browsers)\nconst versions = (__webpack_require__(/*! ./browserVersions */ \"./node_modules/caniuse-lite/dist/unpacker/browserVersions.js\").browserVersions)\nconst agentsData = __webpack_require__(/*! ../../data/agents */ \"./node_modules/caniuse-lite/data/agents.js\")\n\nfunction unpackBrowserVersions(versionsData) {\n return Object.keys(versionsData).reduce((usage, version) => {\n usage[versions[version]] = versionsData[version]\n return usage\n }, {})\n}\n\nmodule.exports.agents = Object.keys(agentsData).reduce((map, key) => {\n let versionsData = agentsData[key]\n map[browsers[key]] = Object.keys(versionsData).reduce((data, entry) => {\n if (entry === 'A') {\n data.usage_global = unpackBrowserVersions(versionsData[entry])\n } else if (entry === 'C') {\n data.versions = versionsData[entry].reduce((list, version) => {\n if (version === '') {\n list.push(null)\n } else {\n list.push(versions[version])\n }\n return list\n }, [])\n } else if (entry === 'D') {\n data.prefix_exceptions = unpackBrowserVersions(versionsData[entry])\n } else if (entry === 'E') {\n data.browser = versionsData[entry]\n } else if (entry === 'F') {\n data.release_date = Object.keys(versionsData[entry]).reduce(\n (map2, key2) => {\n map2[versions[key2]] = versionsData[entry][key2]\n return map2\n },\n {}\n )\n } else {\n // entry is B\n data.prefix = versionsData[entry]\n }\n return data\n }, {})\n return map\n}, {})\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/dist/unpacker/agents.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/dist/unpacker/browserVersions.js": -/*!********************************************************************!*\ - !*** ./node_modules/caniuse-lite/dist/unpacker/browserVersions.js ***! - \********************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("module.exports.browserVersions = __webpack_require__(/*! ../../data/browserVersions */ \"./node_modules/caniuse-lite/data/browserVersions.js\")\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/dist/unpacker/browserVersions.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/dist/unpacker/browsers.js": -/*!*************************************************************!*\ - !*** ./node_modules/caniuse-lite/dist/unpacker/browsers.js ***! - \*************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("module.exports.browsers = __webpack_require__(/*! ../../data/browsers */ \"./node_modules/caniuse-lite/data/browsers.js\")\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/dist/unpacker/browsers.js?"); - -/***/ }), - -/***/ "./node_modules/caniuse-lite/dist/unpacker/feature.js": -/*!************************************************************!*\ - !*** ./node_modules/caniuse-lite/dist/unpacker/feature.js ***! - \************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst statuses = __webpack_require__(/*! ../lib/statuses */ \"./node_modules/caniuse-lite/dist/lib/statuses.js\")\nconst supported = __webpack_require__(/*! ../lib/supported */ \"./node_modules/caniuse-lite/dist/lib/supported.js\")\nconst browsers = (__webpack_require__(/*! ./browsers */ \"./node_modules/caniuse-lite/dist/unpacker/browsers.js\").browsers)\nconst versions = (__webpack_require__(/*! ./browserVersions */ \"./node_modules/caniuse-lite/dist/unpacker/browserVersions.js\").browserVersions)\n\nconst MATH2LOG = Math.log(2)\n\nfunction unpackSupport(cipher) {\n // bit flags\n let stats = Object.keys(supported).reduce((list, support) => {\n if (cipher & supported[support]) list.push(support)\n return list\n }, [])\n\n // notes\n let notes = cipher >> 7\n let notesArray = []\n while (notes) {\n let note = Math.floor(Math.log(notes) / MATH2LOG) + 1\n notesArray.unshift(`#${note}`)\n notes -= Math.pow(2, note - 1)\n }\n\n return stats.concat(notesArray).join(' ')\n}\n\nfunction unpackFeature(packed) {\n let unpacked = {\n status: statuses[packed.B],\n title: packed.C,\n shown: packed.D\n }\n unpacked.stats = Object.keys(packed.A).reduce((browserStats, key) => {\n let browser = packed.A[key]\n browserStats[browsers[key]] = Object.keys(browser).reduce(\n (stats, support) => {\n let packedVersions = browser[support].split(' ')\n let unpacked2 = unpackSupport(support)\n packedVersions.forEach(v => (stats[versions[v]] = unpacked2))\n return stats\n },\n {}\n )\n return browserStats\n }, {})\n return unpacked\n}\n\nmodule.exports = unpackFeature\nmodule.exports[\"default\"] = unpackFeature\n\n\n//# sourceURL=webpack://renderer/./node_modules/caniuse-lite/dist/unpacker/feature.js?"); - -/***/ }), - -/***/ "./node_modules/conf/dist/source/index.js": -/*!************************************************!*\ - !*** ./node_modules/conf/dist/source/index.js ***! - \************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("/* module decorator */ module = __webpack_require__.nmd(module);\n\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _a, _b;\nvar _Conf_validator, _Conf_encryptionKey, _Conf_options, _Conf_defaultValues;\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst util_1 = __webpack_require__(/*! util */ \"util\");\nconst fs = __webpack_require__(/*! fs */ \"fs\");\nconst path = __webpack_require__(/*! path */ \"path\");\nconst crypto = __webpack_require__(/*! crypto */ \"crypto\");\nconst assert = __webpack_require__(/*! assert */ \"assert\");\nconst events_1 = __webpack_require__(/*! events */ \"events\");\nconst dotProp = __webpack_require__(/*! dot-prop */ \"./node_modules/dot-prop/index.js\");\nconst pkgUp = __webpack_require__(/*! pkg-up */ \"./node_modules/pkg-up/index.js\");\nconst envPaths = __webpack_require__(/*! env-paths */ \"./node_modules/env-paths/index.js\");\nconst atomically = __webpack_require__(/*! atomically */ \"./node_modules/atomically/dist/index.js\");\nconst ajv_1 = __webpack_require__(/*! ajv */ \"./node_modules/conf/node_modules/ajv/dist/ajv.js\");\nconst ajv_formats_1 = __webpack_require__(/*! ajv-formats */ \"./node_modules/ajv-formats/dist/index.js\");\nconst debounceFn = __webpack_require__(/*! debounce-fn */ \"./node_modules/debounce-fn/index.js\");\nconst semver = __webpack_require__(/*! semver */ \"./node_modules/semver/index.js\");\nconst onetime = __webpack_require__(/*! onetime */ \"./node_modules/onetime/index.js\");\nconst encryptionAlgorithm = 'aes-256-cbc';\nconst createPlainObject = () => {\n return Object.create(null);\n};\nconst isExist = (data) => {\n return data !== undefined && data !== null;\n};\nlet parentDir = '';\ntry {\n // Prevent caching of this module so module.parent is always accurate.\n // Note: This trick won't work with ESM or inside a webworker\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete __webpack_require__.c[__filename];\n parentDir = path.dirname((_b = (_a = module.parent) === null || _a === void 0 ? void 0 : _a.filename) !== null && _b !== void 0 ? _b : '.');\n}\ncatch (_c) { }\nconst checkValueType = (key, value) => {\n const nonJsonTypes = new Set([\n 'undefined',\n 'symbol',\n 'function'\n ]);\n const type = typeof value;\n if (nonJsonTypes.has(type)) {\n throw new TypeError(`Setting a value of type \\`${type}\\` for key \\`${key}\\` is not allowed as it's not supported by JSON`);\n }\n};\nconst INTERNAL_KEY = '__internal__';\nconst MIGRATION_KEY = `${INTERNAL_KEY}.migrations.version`;\nclass Conf {\n constructor(partialOptions = {}) {\n var _a;\n _Conf_validator.set(this, void 0);\n _Conf_encryptionKey.set(this, void 0);\n _Conf_options.set(this, void 0);\n _Conf_defaultValues.set(this, {});\n this._deserialize = value => JSON.parse(value);\n this._serialize = value => JSON.stringify(value, undefined, '\\t');\n const options = {\n configName: 'config',\n fileExtension: 'json',\n projectSuffix: 'nodejs',\n clearInvalidConfig: false,\n accessPropertiesByDotNotation: true,\n configFileMode: 0o666,\n ...partialOptions\n };\n const getPackageData = onetime(() => {\n const packagePath = pkgUp.sync({ cwd: parentDir });\n // Can't use `require` because of Webpack being annoying:\n // https://github.com/webpack/webpack/issues/196\n const packageData = packagePath && JSON.parse(fs.readFileSync(packagePath, 'utf8'));\n return packageData !== null && packageData !== void 0 ? packageData : {};\n });\n if (!options.cwd) {\n if (!options.projectName) {\n options.projectName = getPackageData().name;\n }\n if (!options.projectName) {\n throw new Error('Project name could not be inferred. Please specify the `projectName` option.');\n }\n options.cwd = envPaths(options.projectName, { suffix: options.projectSuffix }).config;\n }\n __classPrivateFieldSet(this, _Conf_options, options, \"f\");\n if (options.schema) {\n if (typeof options.schema !== 'object') {\n throw new TypeError('The `schema` option must be an object.');\n }\n const ajv = new ajv_1.default({\n allErrors: true,\n useDefaults: true\n });\n (0, ajv_formats_1.default)(ajv);\n const schema = {\n type: 'object',\n properties: options.schema\n };\n __classPrivateFieldSet(this, _Conf_validator, ajv.compile(schema), \"f\");\n for (const [key, value] of Object.entries(options.schema)) {\n if (value === null || value === void 0 ? void 0 : value.default) {\n __classPrivateFieldGet(this, _Conf_defaultValues, \"f\")[key] = value.default;\n }\n }\n }\n if (options.defaults) {\n __classPrivateFieldSet(this, _Conf_defaultValues, {\n ...__classPrivateFieldGet(this, _Conf_defaultValues, \"f\"),\n ...options.defaults\n }, \"f\");\n }\n if (options.serialize) {\n this._serialize = options.serialize;\n }\n if (options.deserialize) {\n this._deserialize = options.deserialize;\n }\n this.events = new events_1.EventEmitter();\n __classPrivateFieldSet(this, _Conf_encryptionKey, options.encryptionKey, \"f\");\n const fileExtension = options.fileExtension ? `.${options.fileExtension}` : '';\n this.path = path.resolve(options.cwd, `${(_a = options.configName) !== null && _a !== void 0 ? _a : 'config'}${fileExtension}`);\n const fileStore = this.store;\n const store = Object.assign(createPlainObject(), options.defaults, fileStore);\n this._validate(store);\n try {\n assert.deepEqual(fileStore, store);\n }\n catch (_b) {\n this.store = store;\n }\n if (options.watch) {\n this._watch();\n }\n if (options.migrations) {\n if (!options.projectVersion) {\n options.projectVersion = getPackageData().version;\n }\n if (!options.projectVersion) {\n throw new Error('Project version could not be inferred. Please specify the `projectVersion` option.');\n }\n this._migrate(options.migrations, options.projectVersion, options.beforeEachMigration);\n }\n }\n get(key, defaultValue) {\n if (__classPrivateFieldGet(this, _Conf_options, \"f\").accessPropertiesByDotNotation) {\n return this._get(key, defaultValue);\n }\n const { store } = this;\n return key in store ? store[key] : defaultValue;\n }\n set(key, value) {\n if (typeof key !== 'string' && typeof key !== 'object') {\n throw new TypeError(`Expected \\`key\\` to be of type \\`string\\` or \\`object\\`, got ${typeof key}`);\n }\n if (typeof key !== 'object' && value === undefined) {\n throw new TypeError('Use `delete()` to clear values');\n }\n if (this._containsReservedKey(key)) {\n throw new TypeError(`Please don't use the ${INTERNAL_KEY} key, as it's used to manage this module internal operations.`);\n }\n const { store } = this;\n const set = (key, value) => {\n checkValueType(key, value);\n if (__classPrivateFieldGet(this, _Conf_options, \"f\").accessPropertiesByDotNotation) {\n dotProp.set(store, key, value);\n }\n else {\n store[key] = value;\n }\n };\n if (typeof key === 'object') {\n const object = key;\n for (const [key, value] of Object.entries(object)) {\n set(key, value);\n }\n }\n else {\n set(key, value);\n }\n this.store = store;\n }\n /**\n Check if an item exists.\n\n @param key - The key of the item to check.\n */\n has(key) {\n if (__classPrivateFieldGet(this, _Conf_options, \"f\").accessPropertiesByDotNotation) {\n return dotProp.has(this.store, key);\n }\n return key in this.store;\n }\n /**\n Reset items to their default values, as defined by the `defaults` or `schema` option.\n\n @see `clear()` to reset all items.\n\n @param keys - The keys of the items to reset.\n */\n reset(...keys) {\n for (const key of keys) {\n if (isExist(__classPrivateFieldGet(this, _Conf_defaultValues, \"f\")[key])) {\n this.set(key, __classPrivateFieldGet(this, _Conf_defaultValues, \"f\")[key]);\n }\n }\n }\n /**\n Delete an item.\n\n @param key - The key of the item to delete.\n */\n delete(key) {\n const { store } = this;\n if (__classPrivateFieldGet(this, _Conf_options, \"f\").accessPropertiesByDotNotation) {\n dotProp.delete(store, key);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete store[key];\n }\n this.store = store;\n }\n /**\n Delete all items.\n\n This resets known items to their default values, if defined by the `defaults` or `schema` option.\n */\n clear() {\n this.store = createPlainObject();\n for (const key of Object.keys(__classPrivateFieldGet(this, _Conf_defaultValues, \"f\"))) {\n this.reset(key);\n }\n }\n /**\n Watches the given `key`, calling `callback` on any changes.\n\n @param key - The key wo watch.\n @param callback - A callback function that is called on any changes. When a `key` is first set `oldValue` will be `undefined`, and when a key is deleted `newValue` will be `undefined`.\n @returns A function, that when called, will unsubscribe.\n */\n onDidChange(key, callback) {\n if (typeof key !== 'string') {\n throw new TypeError(`Expected \\`key\\` to be of type \\`string\\`, got ${typeof key}`);\n }\n if (typeof callback !== 'function') {\n throw new TypeError(`Expected \\`callback\\` to be of type \\`function\\`, got ${typeof callback}`);\n }\n return this._handleChange(() => this.get(key), callback);\n }\n /**\n Watches the whole config object, calling `callback` on any changes.\n\n @param callback - A callback function that is called on any changes. When a `key` is first set `oldValue` will be `undefined`, and when a key is deleted `newValue` will be `undefined`.\n @returns A function, that when called, will unsubscribe.\n */\n onDidAnyChange(callback) {\n if (typeof callback !== 'function') {\n throw new TypeError(`Expected \\`callback\\` to be of type \\`function\\`, got ${typeof callback}`);\n }\n return this._handleChange(() => this.store, callback);\n }\n get size() {\n return Object.keys(this.store).length;\n }\n get store() {\n try {\n const data = fs.readFileSync(this.path, __classPrivateFieldGet(this, _Conf_encryptionKey, \"f\") ? null : 'utf8');\n const dataString = this._encryptData(data);\n const deserializedData = this._deserialize(dataString);\n this._validate(deserializedData);\n return Object.assign(createPlainObject(), deserializedData);\n }\n catch (error) {\n if ((error === null || error === void 0 ? void 0 : error.code) === 'ENOENT') {\n this._ensureDirectory();\n return createPlainObject();\n }\n if (__classPrivateFieldGet(this, _Conf_options, \"f\").clearInvalidConfig && error.name === 'SyntaxError') {\n return createPlainObject();\n }\n throw error;\n }\n }\n set store(value) {\n this._ensureDirectory();\n this._validate(value);\n this._write(value);\n this.events.emit('change');\n }\n *[(_Conf_validator = new WeakMap(), _Conf_encryptionKey = new WeakMap(), _Conf_options = new WeakMap(), _Conf_defaultValues = new WeakMap(), Symbol.iterator)]() {\n for (const [key, value] of Object.entries(this.store)) {\n yield [key, value];\n }\n }\n _encryptData(data) {\n if (!__classPrivateFieldGet(this, _Conf_encryptionKey, \"f\")) {\n return data.toString();\n }\n try {\n // Check if an initialization vector has been used to encrypt the data\n if (__classPrivateFieldGet(this, _Conf_encryptionKey, \"f\")) {\n try {\n if (data.slice(16, 17).toString() === ':') {\n const initializationVector = data.slice(0, 16);\n const password = crypto.pbkdf2Sync(__classPrivateFieldGet(this, _Conf_encryptionKey, \"f\"), initializationVector.toString(), 10000, 32, 'sha512');\n const decipher = crypto.createDecipheriv(encryptionAlgorithm, password, initializationVector);\n data = Buffer.concat([decipher.update(Buffer.from(data.slice(17))), decipher.final()]).toString('utf8');\n }\n else {\n // TODO: Remove this in the next major version.\n const decipher = crypto.createDecipher(encryptionAlgorithm, __classPrivateFieldGet(this, _Conf_encryptionKey, \"f\"));\n data = Buffer.concat([decipher.update(Buffer.from(data)), decipher.final()]).toString('utf8');\n }\n }\n catch (_a) { }\n }\n }\n catch (_b) { }\n return data.toString();\n }\n _handleChange(getter, callback) {\n let currentValue = getter();\n const onChange = () => {\n const oldValue = currentValue;\n const newValue = getter();\n if ((0, util_1.isDeepStrictEqual)(newValue, oldValue)) {\n return;\n }\n currentValue = newValue;\n callback.call(this, newValue, oldValue);\n };\n this.events.on('change', onChange);\n return () => this.events.removeListener('change', onChange);\n }\n _validate(data) {\n if (!__classPrivateFieldGet(this, _Conf_validator, \"f\")) {\n return;\n }\n const valid = __classPrivateFieldGet(this, _Conf_validator, \"f\").call(this, data);\n if (valid || !__classPrivateFieldGet(this, _Conf_validator, \"f\").errors) {\n return;\n }\n const errors = __classPrivateFieldGet(this, _Conf_validator, \"f\").errors\n .map(({ instancePath, message = '' }) => `\\`${instancePath.slice(1)}\\` ${message}`);\n throw new Error('Config schema violation: ' + errors.join('; '));\n }\n _ensureDirectory() {\n // Ensure the directory exists as it could have been deleted in the meantime.\n fs.mkdirSync(path.dirname(this.path), { recursive: true });\n }\n _write(value) {\n let data = this._serialize(value);\n if (__classPrivateFieldGet(this, _Conf_encryptionKey, \"f\")) {\n const initializationVector = crypto.randomBytes(16);\n const password = crypto.pbkdf2Sync(__classPrivateFieldGet(this, _Conf_encryptionKey, \"f\"), initializationVector.toString(), 10000, 32, 'sha512');\n const cipher = crypto.createCipheriv(encryptionAlgorithm, password, initializationVector);\n data = Buffer.concat([initializationVector, Buffer.from(':'), cipher.update(Buffer.from(data)), cipher.final()]);\n }\n // Temporary workaround for Conf being packaged in a Ubuntu Snap app.\n // See https://github.com/sindresorhus/conf/pull/82\n if (process.env.SNAP) {\n fs.writeFileSync(this.path, data, { mode: __classPrivateFieldGet(this, _Conf_options, \"f\").configFileMode });\n }\n else {\n try {\n atomically.writeFileSync(this.path, data, { mode: __classPrivateFieldGet(this, _Conf_options, \"f\").configFileMode });\n }\n catch (error) {\n // Fix for https://github.com/sindresorhus/electron-store/issues/106\n // Sometimes on Windows, we will get an EXDEV error when atomic writing\n // (even though to the same directory), so we fall back to non atomic write\n if ((error === null || error === void 0 ? void 0 : error.code) === 'EXDEV') {\n fs.writeFileSync(this.path, data, { mode: __classPrivateFieldGet(this, _Conf_options, \"f\").configFileMode });\n return;\n }\n throw error;\n }\n }\n }\n _watch() {\n this._ensureDirectory();\n if (!fs.existsSync(this.path)) {\n this._write(createPlainObject());\n }\n if (process.platform === 'win32') {\n fs.watch(this.path, { persistent: false }, debounceFn(() => {\n // On Linux and Windows, writing to the config file emits a `rename` event, so we skip checking the event type.\n this.events.emit('change');\n }, { wait: 100 }));\n }\n else {\n fs.watchFile(this.path, { persistent: false }, debounceFn(() => {\n this.events.emit('change');\n }, { wait: 5000 }));\n }\n }\n _migrate(migrations, versionToMigrate, beforeEachMigration) {\n let previousMigratedVersion = this._get(MIGRATION_KEY, '0.0.0');\n const newerVersions = Object.keys(migrations)\n .filter(candidateVersion => this._shouldPerformMigration(candidateVersion, previousMigratedVersion, versionToMigrate));\n let storeBackup = { ...this.store };\n for (const version of newerVersions) {\n try {\n if (beforeEachMigration) {\n beforeEachMigration(this, {\n fromVersion: previousMigratedVersion,\n toVersion: version,\n finalVersion: versionToMigrate,\n versions: newerVersions\n });\n }\n const migration = migrations[version];\n migration(this);\n this._set(MIGRATION_KEY, version);\n previousMigratedVersion = version;\n storeBackup = { ...this.store };\n }\n catch (error) {\n this.store = storeBackup;\n throw new Error(`Something went wrong during the migration! Changes applied to the store until this failed migration will be restored. ${error}`);\n }\n }\n if (this._isVersionInRangeFormat(previousMigratedVersion) || !semver.eq(previousMigratedVersion, versionToMigrate)) {\n this._set(MIGRATION_KEY, versionToMigrate);\n }\n }\n _containsReservedKey(key) {\n if (typeof key === 'object') {\n const firsKey = Object.keys(key)[0];\n if (firsKey === INTERNAL_KEY) {\n return true;\n }\n }\n if (typeof key !== 'string') {\n return false;\n }\n if (__classPrivateFieldGet(this, _Conf_options, \"f\").accessPropertiesByDotNotation) {\n if (key.startsWith(`${INTERNAL_KEY}.`)) {\n return true;\n }\n return false;\n }\n return false;\n }\n _isVersionInRangeFormat(version) {\n return semver.clean(version) === null;\n }\n _shouldPerformMigration(candidateVersion, previousMigratedVersion, versionToMigrate) {\n if (this._isVersionInRangeFormat(candidateVersion)) {\n if (previousMigratedVersion !== '0.0.0' && semver.satisfies(previousMigratedVersion, candidateVersion)) {\n return false;\n }\n return semver.satisfies(versionToMigrate, candidateVersion);\n }\n if (semver.lte(candidateVersion, previousMigratedVersion)) {\n return false;\n }\n if (semver.gt(candidateVersion, versionToMigrate)) {\n return false;\n }\n return true;\n }\n _get(key, defaultValue) {\n return dotProp.get(this.store, key, defaultValue);\n }\n _set(key, value) {\n const { store } = this;\n dotProp.set(store, key, value);\n this.store = store;\n }\n}\nexports[\"default\"] = Conf;\n// For CommonJS default export support\nmodule.exports = Conf;\nmodule.exports[\"default\"] = Conf;\n\n\n//# sourceURL=webpack://renderer/./node_modules/conf/dist/source/index.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/ajv.js": -/*!********************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/ajv.js ***! - \********************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MissingRefError = exports.ValidationError = exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0;\nconst core_1 = __webpack_require__(/*! ./core */ \"./node_modules/conf/node_modules/ajv/dist/core.js\");\nconst draft7_1 = __webpack_require__(/*! ./vocabularies/draft7 */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/draft7.js\");\nconst discriminator_1 = __webpack_require__(/*! ./vocabularies/discriminator */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/discriminator/index.js\");\nconst draft7MetaSchema = __webpack_require__(/*! ./refs/json-schema-draft-07.json */ \"./node_modules/conf/node_modules/ajv/dist/refs/json-schema-draft-07.json\");\nconst META_SUPPORT_DATA = [\"/properties\"];\nconst META_SCHEMA_ID = \"http://json-schema.org/draft-07/schema\";\nclass Ajv extends core_1.default {\n _addVocabularies() {\n super._addVocabularies();\n draft7_1.default.forEach((v) => this.addVocabulary(v));\n if (this.opts.discriminator)\n this.addKeyword(discriminator_1.default);\n }\n _addDefaultMetaSchema() {\n super._addDefaultMetaSchema();\n if (!this.opts.meta)\n return;\n const metaSchema = this.opts.$data\n ? this.$dataMetaSchema(draft7MetaSchema, META_SUPPORT_DATA)\n : draft7MetaSchema;\n this.addMetaSchema(metaSchema, META_SCHEMA_ID, false);\n this.refs[\"http://json-schema.org/schema\"] = META_SCHEMA_ID;\n }\n defaultMeta() {\n return (this.opts.defaultMeta =\n super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : undefined));\n }\n}\nmodule.exports = exports = Ajv;\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports[\"default\"] = Ajv;\nvar validate_1 = __webpack_require__(/*! ./compile/validate */ \"./node_modules/conf/node_modules/ajv/dist/compile/validate/index.js\");\nObject.defineProperty(exports, \"KeywordCxt\", ({ enumerable: true, get: function () { return validate_1.KeywordCxt; } }));\nvar codegen_1 = __webpack_require__(/*! ./compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nObject.defineProperty(exports, \"_\", ({ enumerable: true, get: function () { return codegen_1._; } }));\nObject.defineProperty(exports, \"str\", ({ enumerable: true, get: function () { return codegen_1.str; } }));\nObject.defineProperty(exports, \"stringify\", ({ enumerable: true, get: function () { return codegen_1.stringify; } }));\nObject.defineProperty(exports, \"nil\", ({ enumerable: true, get: function () { return codegen_1.nil; } }));\nObject.defineProperty(exports, \"Name\", ({ enumerable: true, get: function () { return codegen_1.Name; } }));\nObject.defineProperty(exports, \"CodeGen\", ({ enumerable: true, get: function () { return codegen_1.CodeGen; } }));\nvar validation_error_1 = __webpack_require__(/*! ./runtime/validation_error */ \"./node_modules/conf/node_modules/ajv/dist/runtime/validation_error.js\");\nObject.defineProperty(exports, \"ValidationError\", ({ enumerable: true, get: function () { return validation_error_1.default; } }));\nvar ref_error_1 = __webpack_require__(/*! ./compile/ref_error */ \"./node_modules/conf/node_modules/ajv/dist/compile/ref_error.js\");\nObject.defineProperty(exports, \"MissingRefError\", ({ enumerable: true, get: function () { return ref_error_1.default; } }));\n//# sourceMappingURL=ajv.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/ajv.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/compile/codegen/code.js": -/*!*************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/compile/codegen/code.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.regexpCode = exports.getEsmExportName = exports.getProperty = exports.safeStringify = exports.stringify = exports.strConcat = exports.addCodeArg = exports.str = exports._ = exports.nil = exports._Code = exports.Name = exports.IDENTIFIER = exports._CodeOrName = void 0;\nclass _CodeOrName {\n}\nexports._CodeOrName = _CodeOrName;\nexports.IDENTIFIER = /^[a-z$_][a-z$_0-9]*$/i;\nclass Name extends _CodeOrName {\n constructor(s) {\n super();\n if (!exports.IDENTIFIER.test(s))\n throw new Error(\"CodeGen: name must be a valid identifier\");\n this.str = s;\n }\n toString() {\n return this.str;\n }\n emptyStr() {\n return false;\n }\n get names() {\n return { [this.str]: 1 };\n }\n}\nexports.Name = Name;\nclass _Code extends _CodeOrName {\n constructor(code) {\n super();\n this._items = typeof code === \"string\" ? [code] : code;\n }\n toString() {\n return this.str;\n }\n emptyStr() {\n if (this._items.length > 1)\n return false;\n const item = this._items[0];\n return item === \"\" || item === '\"\"';\n }\n get str() {\n var _a;\n return ((_a = this._str) !== null && _a !== void 0 ? _a : (this._str = this._items.reduce((s, c) => `${s}${c}`, \"\")));\n }\n get names() {\n var _a;\n return ((_a = this._names) !== null && _a !== void 0 ? _a : (this._names = this._items.reduce((names, c) => {\n if (c instanceof Name)\n names[c.str] = (names[c.str] || 0) + 1;\n return names;\n }, {})));\n }\n}\nexports._Code = _Code;\nexports.nil = new _Code(\"\");\nfunction _(strs, ...args) {\n const code = [strs[0]];\n let i = 0;\n while (i < args.length) {\n addCodeArg(code, args[i]);\n code.push(strs[++i]);\n }\n return new _Code(code);\n}\nexports._ = _;\nconst plus = new _Code(\"+\");\nfunction str(strs, ...args) {\n const expr = [safeStringify(strs[0])];\n let i = 0;\n while (i < args.length) {\n expr.push(plus);\n addCodeArg(expr, args[i]);\n expr.push(plus, safeStringify(strs[++i]));\n }\n optimize(expr);\n return new _Code(expr);\n}\nexports.str = str;\nfunction addCodeArg(code, arg) {\n if (arg instanceof _Code)\n code.push(...arg._items);\n else if (arg instanceof Name)\n code.push(arg);\n else\n code.push(interpolate(arg));\n}\nexports.addCodeArg = addCodeArg;\nfunction optimize(expr) {\n let i = 1;\n while (i < expr.length - 1) {\n if (expr[i] === plus) {\n const res = mergeExprItems(expr[i - 1], expr[i + 1]);\n if (res !== undefined) {\n expr.splice(i - 1, 3, res);\n continue;\n }\n expr[i++] = \"+\";\n }\n i++;\n }\n}\nfunction mergeExprItems(a, b) {\n if (b === '\"\"')\n return a;\n if (a === '\"\"')\n return b;\n if (typeof a == \"string\") {\n if (b instanceof Name || a[a.length - 1] !== '\"')\n return;\n if (typeof b != \"string\")\n return `${a.slice(0, -1)}${b}\"`;\n if (b[0] === '\"')\n return a.slice(0, -1) + b.slice(1);\n return;\n }\n if (typeof b == \"string\" && b[0] === '\"' && !(a instanceof Name))\n return `\"${a}${b.slice(1)}`;\n return;\n}\nfunction strConcat(c1, c2) {\n return c2.emptyStr() ? c1 : c1.emptyStr() ? c2 : str `${c1}${c2}`;\n}\nexports.strConcat = strConcat;\n// TODO do not allow arrays here\nfunction interpolate(x) {\n return typeof x == \"number\" || typeof x == \"boolean\" || x === null\n ? x\n : safeStringify(Array.isArray(x) ? x.join(\",\") : x);\n}\nfunction stringify(x) {\n return new _Code(safeStringify(x));\n}\nexports.stringify = stringify;\nfunction safeStringify(x) {\n return JSON.stringify(x)\n .replace(/\\u2028/g, \"\\\\u2028\")\n .replace(/\\u2029/g, \"\\\\u2029\");\n}\nexports.safeStringify = safeStringify;\nfunction getProperty(key) {\n return typeof key == \"string\" && exports.IDENTIFIER.test(key) ? new _Code(`.${key}`) : _ `[${key}]`;\n}\nexports.getProperty = getProperty;\n//Does best effort to format the name properly\nfunction getEsmExportName(key) {\n if (typeof key == \"string\" && exports.IDENTIFIER.test(key)) {\n return new _Code(`${key}`);\n }\n throw new Error(`CodeGen: invalid export name: ${key}, use explicit $id name mapping`);\n}\nexports.getEsmExportName = getEsmExportName;\nfunction regexpCode(rx) {\n return new _Code(rx.toString());\n}\nexports.regexpCode = regexpCode;\n//# sourceMappingURL=code.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/compile/codegen/code.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js": -/*!**************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js ***! - \**************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.or = exports.and = exports.not = exports.CodeGen = exports.operators = exports.varKinds = exports.ValueScopeName = exports.ValueScope = exports.Scope = exports.Name = exports.regexpCode = exports.stringify = exports.getProperty = exports.nil = exports.strConcat = exports.str = exports._ = void 0;\nconst code_1 = __webpack_require__(/*! ./code */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/code.js\");\nconst scope_1 = __webpack_require__(/*! ./scope */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/scope.js\");\nvar code_2 = __webpack_require__(/*! ./code */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/code.js\");\nObject.defineProperty(exports, \"_\", ({ enumerable: true, get: function () { return code_2._; } }));\nObject.defineProperty(exports, \"str\", ({ enumerable: true, get: function () { return code_2.str; } }));\nObject.defineProperty(exports, \"strConcat\", ({ enumerable: true, get: function () { return code_2.strConcat; } }));\nObject.defineProperty(exports, \"nil\", ({ enumerable: true, get: function () { return code_2.nil; } }));\nObject.defineProperty(exports, \"getProperty\", ({ enumerable: true, get: function () { return code_2.getProperty; } }));\nObject.defineProperty(exports, \"stringify\", ({ enumerable: true, get: function () { return code_2.stringify; } }));\nObject.defineProperty(exports, \"regexpCode\", ({ enumerable: true, get: function () { return code_2.regexpCode; } }));\nObject.defineProperty(exports, \"Name\", ({ enumerable: true, get: function () { return code_2.Name; } }));\nvar scope_2 = __webpack_require__(/*! ./scope */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/scope.js\");\nObject.defineProperty(exports, \"Scope\", ({ enumerable: true, get: function () { return scope_2.Scope; } }));\nObject.defineProperty(exports, \"ValueScope\", ({ enumerable: true, get: function () { return scope_2.ValueScope; } }));\nObject.defineProperty(exports, \"ValueScopeName\", ({ enumerable: true, get: function () { return scope_2.ValueScopeName; } }));\nObject.defineProperty(exports, \"varKinds\", ({ enumerable: true, get: function () { return scope_2.varKinds; } }));\nexports.operators = {\n GT: new code_1._Code(\">\"),\n GTE: new code_1._Code(\">=\"),\n LT: new code_1._Code(\"<\"),\n LTE: new code_1._Code(\"<=\"),\n EQ: new code_1._Code(\"===\"),\n NEQ: new code_1._Code(\"!==\"),\n NOT: new code_1._Code(\"!\"),\n OR: new code_1._Code(\"||\"),\n AND: new code_1._Code(\"&&\"),\n ADD: new code_1._Code(\"+\"),\n};\nclass Node {\n optimizeNodes() {\n return this;\n }\n optimizeNames(_names, _constants) {\n return this;\n }\n}\nclass Def extends Node {\n constructor(varKind, name, rhs) {\n super();\n this.varKind = varKind;\n this.name = name;\n this.rhs = rhs;\n }\n render({ es5, _n }) {\n const varKind = es5 ? scope_1.varKinds.var : this.varKind;\n const rhs = this.rhs === undefined ? \"\" : ` = ${this.rhs}`;\n return `${varKind} ${this.name}${rhs};` + _n;\n }\n optimizeNames(names, constants) {\n if (!names[this.name.str])\n return;\n if (this.rhs)\n this.rhs = optimizeExpr(this.rhs, names, constants);\n return this;\n }\n get names() {\n return this.rhs instanceof code_1._CodeOrName ? this.rhs.names : {};\n }\n}\nclass Assign extends Node {\n constructor(lhs, rhs, sideEffects) {\n super();\n this.lhs = lhs;\n this.rhs = rhs;\n this.sideEffects = sideEffects;\n }\n render({ _n }) {\n return `${this.lhs} = ${this.rhs};` + _n;\n }\n optimizeNames(names, constants) {\n if (this.lhs instanceof code_1.Name && !names[this.lhs.str] && !this.sideEffects)\n return;\n this.rhs = optimizeExpr(this.rhs, names, constants);\n return this;\n }\n get names() {\n const names = this.lhs instanceof code_1.Name ? {} : { ...this.lhs.names };\n return addExprNames(names, this.rhs);\n }\n}\nclass AssignOp extends Assign {\n constructor(lhs, op, rhs, sideEffects) {\n super(lhs, rhs, sideEffects);\n this.op = op;\n }\n render({ _n }) {\n return `${this.lhs} ${this.op}= ${this.rhs};` + _n;\n }\n}\nclass Label extends Node {\n constructor(label) {\n super();\n this.label = label;\n this.names = {};\n }\n render({ _n }) {\n return `${this.label}:` + _n;\n }\n}\nclass Break extends Node {\n constructor(label) {\n super();\n this.label = label;\n this.names = {};\n }\n render({ _n }) {\n const label = this.label ? ` ${this.label}` : \"\";\n return `break${label};` + _n;\n }\n}\nclass Throw extends Node {\n constructor(error) {\n super();\n this.error = error;\n }\n render({ _n }) {\n return `throw ${this.error};` + _n;\n }\n get names() {\n return this.error.names;\n }\n}\nclass AnyCode extends Node {\n constructor(code) {\n super();\n this.code = code;\n }\n render({ _n }) {\n return `${this.code};` + _n;\n }\n optimizeNodes() {\n return `${this.code}` ? this : undefined;\n }\n optimizeNames(names, constants) {\n this.code = optimizeExpr(this.code, names, constants);\n return this;\n }\n get names() {\n return this.code instanceof code_1._CodeOrName ? this.code.names : {};\n }\n}\nclass ParentNode extends Node {\n constructor(nodes = []) {\n super();\n this.nodes = nodes;\n }\n render(opts) {\n return this.nodes.reduce((code, n) => code + n.render(opts), \"\");\n }\n optimizeNodes() {\n const { nodes } = this;\n let i = nodes.length;\n while (i--) {\n const n = nodes[i].optimizeNodes();\n if (Array.isArray(n))\n nodes.splice(i, 1, ...n);\n else if (n)\n nodes[i] = n;\n else\n nodes.splice(i, 1);\n }\n return nodes.length > 0 ? this : undefined;\n }\n optimizeNames(names, constants) {\n const { nodes } = this;\n let i = nodes.length;\n while (i--) {\n // iterating backwards improves 1-pass optimization\n const n = nodes[i];\n if (n.optimizeNames(names, constants))\n continue;\n subtractNames(names, n.names);\n nodes.splice(i, 1);\n }\n return nodes.length > 0 ? this : undefined;\n }\n get names() {\n return this.nodes.reduce((names, n) => addNames(names, n.names), {});\n }\n}\nclass BlockNode extends ParentNode {\n render(opts) {\n return \"{\" + opts._n + super.render(opts) + \"}\" + opts._n;\n }\n}\nclass Root extends ParentNode {\n}\nclass Else extends BlockNode {\n}\nElse.kind = \"else\";\nclass If extends BlockNode {\n constructor(condition, nodes) {\n super(nodes);\n this.condition = condition;\n }\n render(opts) {\n let code = `if(${this.condition})` + super.render(opts);\n if (this.else)\n code += \"else \" + this.else.render(opts);\n return code;\n }\n optimizeNodes() {\n super.optimizeNodes();\n const cond = this.condition;\n if (cond === true)\n return this.nodes; // else is ignored here\n let e = this.else;\n if (e) {\n const ns = e.optimizeNodes();\n e = this.else = Array.isArray(ns) ? new Else(ns) : ns;\n }\n if (e) {\n if (cond === false)\n return e instanceof If ? e : e.nodes;\n if (this.nodes.length)\n return this;\n return new If(not(cond), e instanceof If ? [e] : e.nodes);\n }\n if (cond === false || !this.nodes.length)\n return undefined;\n return this;\n }\n optimizeNames(names, constants) {\n var _a;\n this.else = (_a = this.else) === null || _a === void 0 ? void 0 : _a.optimizeNames(names, constants);\n if (!(super.optimizeNames(names, constants) || this.else))\n return;\n this.condition = optimizeExpr(this.condition, names, constants);\n return this;\n }\n get names() {\n const names = super.names;\n addExprNames(names, this.condition);\n if (this.else)\n addNames(names, this.else.names);\n return names;\n }\n}\nIf.kind = \"if\";\nclass For extends BlockNode {\n}\nFor.kind = \"for\";\nclass ForLoop extends For {\n constructor(iteration) {\n super();\n this.iteration = iteration;\n }\n render(opts) {\n return `for(${this.iteration})` + super.render(opts);\n }\n optimizeNames(names, constants) {\n if (!super.optimizeNames(names, constants))\n return;\n this.iteration = optimizeExpr(this.iteration, names, constants);\n return this;\n }\n get names() {\n return addNames(super.names, this.iteration.names);\n }\n}\nclass ForRange extends For {\n constructor(varKind, name, from, to) {\n super();\n this.varKind = varKind;\n this.name = name;\n this.from = from;\n this.to = to;\n }\n render(opts) {\n const varKind = opts.es5 ? scope_1.varKinds.var : this.varKind;\n const { name, from, to } = this;\n return `for(${varKind} ${name}=${from}; ${name}<${to}; ${name}++)` + super.render(opts);\n }\n get names() {\n const names = addExprNames(super.names, this.from);\n return addExprNames(names, this.to);\n }\n}\nclass ForIter extends For {\n constructor(loop, varKind, name, iterable) {\n super();\n this.loop = loop;\n this.varKind = varKind;\n this.name = name;\n this.iterable = iterable;\n }\n render(opts) {\n return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})` + super.render(opts);\n }\n optimizeNames(names, constants) {\n if (!super.optimizeNames(names, constants))\n return;\n this.iterable = optimizeExpr(this.iterable, names, constants);\n return this;\n }\n get names() {\n return addNames(super.names, this.iterable.names);\n }\n}\nclass Func extends BlockNode {\n constructor(name, args, async) {\n super();\n this.name = name;\n this.args = args;\n this.async = async;\n }\n render(opts) {\n const _async = this.async ? \"async \" : \"\";\n return `${_async}function ${this.name}(${this.args})` + super.render(opts);\n }\n}\nFunc.kind = \"func\";\nclass Return extends ParentNode {\n render(opts) {\n return \"return \" + super.render(opts);\n }\n}\nReturn.kind = \"return\";\nclass Try extends BlockNode {\n render(opts) {\n let code = \"try\" + super.render(opts);\n if (this.catch)\n code += this.catch.render(opts);\n if (this.finally)\n code += this.finally.render(opts);\n return code;\n }\n optimizeNodes() {\n var _a, _b;\n super.optimizeNodes();\n (_a = this.catch) === null || _a === void 0 ? void 0 : _a.optimizeNodes();\n (_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNodes();\n return this;\n }\n optimizeNames(names, constants) {\n var _a, _b;\n super.optimizeNames(names, constants);\n (_a = this.catch) === null || _a === void 0 ? void 0 : _a.optimizeNames(names, constants);\n (_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNames(names, constants);\n return this;\n }\n get names() {\n const names = super.names;\n if (this.catch)\n addNames(names, this.catch.names);\n if (this.finally)\n addNames(names, this.finally.names);\n return names;\n }\n}\nclass Catch extends BlockNode {\n constructor(error) {\n super();\n this.error = error;\n }\n render(opts) {\n return `catch(${this.error})` + super.render(opts);\n }\n}\nCatch.kind = \"catch\";\nclass Finally extends BlockNode {\n render(opts) {\n return \"finally\" + super.render(opts);\n }\n}\nFinally.kind = \"finally\";\nclass CodeGen {\n constructor(extScope, opts = {}) {\n this._values = {};\n this._blockStarts = [];\n this._constants = {};\n this.opts = { ...opts, _n: opts.lines ? \"\\n\" : \"\" };\n this._extScope = extScope;\n this._scope = new scope_1.Scope({ parent: extScope });\n this._nodes = [new Root()];\n }\n toString() {\n return this._root.render(this.opts);\n }\n // returns unique name in the internal scope\n name(prefix) {\n return this._scope.name(prefix);\n }\n // reserves unique name in the external scope\n scopeName(prefix) {\n return this._extScope.name(prefix);\n }\n // reserves unique name in the external scope and assigns value to it\n scopeValue(prefixOrName, value) {\n const name = this._extScope.value(prefixOrName, value);\n const vs = this._values[name.prefix] || (this._values[name.prefix] = new Set());\n vs.add(name);\n return name;\n }\n getScopeValue(prefix, keyOrRef) {\n return this._extScope.getValue(prefix, keyOrRef);\n }\n // return code that assigns values in the external scope to the names that are used internally\n // (same names that were returned by gen.scopeName or gen.scopeValue)\n scopeRefs(scopeName) {\n return this._extScope.scopeRefs(scopeName, this._values);\n }\n scopeCode() {\n return this._extScope.scopeCode(this._values);\n }\n _def(varKind, nameOrPrefix, rhs, constant) {\n const name = this._scope.toName(nameOrPrefix);\n if (rhs !== undefined && constant)\n this._constants[name.str] = rhs;\n this._leafNode(new Def(varKind, name, rhs));\n return name;\n }\n // `const` declaration (`var` in es5 mode)\n const(nameOrPrefix, rhs, _constant) {\n return this._def(scope_1.varKinds.const, nameOrPrefix, rhs, _constant);\n }\n // `let` declaration with optional assignment (`var` in es5 mode)\n let(nameOrPrefix, rhs, _constant) {\n return this._def(scope_1.varKinds.let, nameOrPrefix, rhs, _constant);\n }\n // `var` declaration with optional assignment\n var(nameOrPrefix, rhs, _constant) {\n return this._def(scope_1.varKinds.var, nameOrPrefix, rhs, _constant);\n }\n // assignment code\n assign(lhs, rhs, sideEffects) {\n return this._leafNode(new Assign(lhs, rhs, sideEffects));\n }\n // `+=` code\n add(lhs, rhs) {\n return this._leafNode(new AssignOp(lhs, exports.operators.ADD, rhs));\n }\n // appends passed SafeExpr to code or executes Block\n code(c) {\n if (typeof c == \"function\")\n c();\n else if (c !== code_1.nil)\n this._leafNode(new AnyCode(c));\n return this;\n }\n // returns code for object literal for the passed argument list of key-value pairs\n object(...keyValues) {\n const code = [\"{\"];\n for (const [key, value] of keyValues) {\n if (code.length > 1)\n code.push(\",\");\n code.push(key);\n if (key !== value || this.opts.es5) {\n code.push(\":\");\n (0, code_1.addCodeArg)(code, value);\n }\n }\n code.push(\"}\");\n return new code_1._Code(code);\n }\n // `if` clause (or statement if `thenBody` and, optionally, `elseBody` are passed)\n if(condition, thenBody, elseBody) {\n this._blockNode(new If(condition));\n if (thenBody && elseBody) {\n this.code(thenBody).else().code(elseBody).endIf();\n }\n else if (thenBody) {\n this.code(thenBody).endIf();\n }\n else if (elseBody) {\n throw new Error('CodeGen: \"else\" body without \"then\" body');\n }\n return this;\n }\n // `else if` clause - invalid without `if` or after `else` clauses\n elseIf(condition) {\n return this._elseNode(new If(condition));\n }\n // `else` clause - only valid after `if` or `else if` clauses\n else() {\n return this._elseNode(new Else());\n }\n // end `if` statement (needed if gen.if was used only with condition)\n endIf() {\n return this._endBlockNode(If, Else);\n }\n _for(node, forBody) {\n this._blockNode(node);\n if (forBody)\n this.code(forBody).endFor();\n return this;\n }\n // a generic `for` clause (or statement if `forBody` is passed)\n for(iteration, forBody) {\n return this._for(new ForLoop(iteration), forBody);\n }\n // `for` statement for a range of values\n forRange(nameOrPrefix, from, to, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.let) {\n const name = this._scope.toName(nameOrPrefix);\n return this._for(new ForRange(varKind, name, from, to), () => forBody(name));\n }\n // `for-of` statement (in es5 mode replace with a normal for loop)\n forOf(nameOrPrefix, iterable, forBody, varKind = scope_1.varKinds.const) {\n const name = this._scope.toName(nameOrPrefix);\n if (this.opts.es5) {\n const arr = iterable instanceof code_1.Name ? iterable : this.var(\"_arr\", iterable);\n return this.forRange(\"_i\", 0, (0, code_1._) `${arr}.length`, (i) => {\n this.var(name, (0, code_1._) `${arr}[${i}]`);\n forBody(name);\n });\n }\n return this._for(new ForIter(\"of\", varKind, name, iterable), () => forBody(name));\n }\n // `for-in` statement.\n // With option `ownProperties` replaced with a `for-of` loop for object keys\n forIn(nameOrPrefix, obj, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.const) {\n if (this.opts.ownProperties) {\n return this.forOf(nameOrPrefix, (0, code_1._) `Object.keys(${obj})`, forBody);\n }\n const name = this._scope.toName(nameOrPrefix);\n return this._for(new ForIter(\"in\", varKind, name, obj), () => forBody(name));\n }\n // end `for` loop\n endFor() {\n return this._endBlockNode(For);\n }\n // `label` statement\n label(label) {\n return this._leafNode(new Label(label));\n }\n // `break` statement\n break(label) {\n return this._leafNode(new Break(label));\n }\n // `return` statement\n return(value) {\n const node = new Return();\n this._blockNode(node);\n this.code(value);\n if (node.nodes.length !== 1)\n throw new Error('CodeGen: \"return\" should have one node');\n return this._endBlockNode(Return);\n }\n // `try` statement\n try(tryBody, catchCode, finallyCode) {\n if (!catchCode && !finallyCode)\n throw new Error('CodeGen: \"try\" without \"catch\" and \"finally\"');\n const node = new Try();\n this._blockNode(node);\n this.code(tryBody);\n if (catchCode) {\n const error = this.name(\"e\");\n this._currNode = node.catch = new Catch(error);\n catchCode(error);\n }\n if (finallyCode) {\n this._currNode = node.finally = new Finally();\n this.code(finallyCode);\n }\n return this._endBlockNode(Catch, Finally);\n }\n // `throw` statement\n throw(error) {\n return this._leafNode(new Throw(error));\n }\n // start self-balancing block\n block(body, nodeCount) {\n this._blockStarts.push(this._nodes.length);\n if (body)\n this.code(body).endBlock(nodeCount);\n return this;\n }\n // end the current self-balancing block\n endBlock(nodeCount) {\n const len = this._blockStarts.pop();\n if (len === undefined)\n throw new Error(\"CodeGen: not in self-balancing block\");\n const toClose = this._nodes.length - len;\n if (toClose < 0 || (nodeCount !== undefined && toClose !== nodeCount)) {\n throw new Error(`CodeGen: wrong number of nodes: ${toClose} vs ${nodeCount} expected`);\n }\n this._nodes.length = len;\n return this;\n }\n // `function` heading (or definition if funcBody is passed)\n func(name, args = code_1.nil, async, funcBody) {\n this._blockNode(new Func(name, args, async));\n if (funcBody)\n this.code(funcBody).endFunc();\n return this;\n }\n // end function definition\n endFunc() {\n return this._endBlockNode(Func);\n }\n optimize(n = 1) {\n while (n-- > 0) {\n this._root.optimizeNodes();\n this._root.optimizeNames(this._root.names, this._constants);\n }\n }\n _leafNode(node) {\n this._currNode.nodes.push(node);\n return this;\n }\n _blockNode(node) {\n this._currNode.nodes.push(node);\n this._nodes.push(node);\n }\n _endBlockNode(N1, N2) {\n const n = this._currNode;\n if (n instanceof N1 || (N2 && n instanceof N2)) {\n this._nodes.pop();\n return this;\n }\n throw new Error(`CodeGen: not in block \"${N2 ? `${N1.kind}/${N2.kind}` : N1.kind}\"`);\n }\n _elseNode(node) {\n const n = this._currNode;\n if (!(n instanceof If)) {\n throw new Error('CodeGen: \"else\" without \"if\"');\n }\n this._currNode = n.else = node;\n return this;\n }\n get _root() {\n return this._nodes[0];\n }\n get _currNode() {\n const ns = this._nodes;\n return ns[ns.length - 1];\n }\n set _currNode(node) {\n const ns = this._nodes;\n ns[ns.length - 1] = node;\n }\n}\nexports.CodeGen = CodeGen;\nfunction addNames(names, from) {\n for (const n in from)\n names[n] = (names[n] || 0) + (from[n] || 0);\n return names;\n}\nfunction addExprNames(names, from) {\n return from instanceof code_1._CodeOrName ? addNames(names, from.names) : names;\n}\nfunction optimizeExpr(expr, names, constants) {\n if (expr instanceof code_1.Name)\n return replaceName(expr);\n if (!canOptimize(expr))\n return expr;\n return new code_1._Code(expr._items.reduce((items, c) => {\n if (c instanceof code_1.Name)\n c = replaceName(c);\n if (c instanceof code_1._Code)\n items.push(...c._items);\n else\n items.push(c);\n return items;\n }, []));\n function replaceName(n) {\n const c = constants[n.str];\n if (c === undefined || names[n.str] !== 1)\n return n;\n delete names[n.str];\n return c;\n }\n function canOptimize(e) {\n return (e instanceof code_1._Code &&\n e._items.some((c) => c instanceof code_1.Name && names[c.str] === 1 && constants[c.str] !== undefined));\n }\n}\nfunction subtractNames(names, from) {\n for (const n in from)\n names[n] = (names[n] || 0) - (from[n] || 0);\n}\nfunction not(x) {\n return typeof x == \"boolean\" || typeof x == \"number\" || x === null ? !x : (0, code_1._) `!${par(x)}`;\n}\nexports.not = not;\nconst andCode = mappend(exports.operators.AND);\n// boolean AND (&&) expression with the passed arguments\nfunction and(...args) {\n return args.reduce(andCode);\n}\nexports.and = and;\nconst orCode = mappend(exports.operators.OR);\n// boolean OR (||) expression with the passed arguments\nfunction or(...args) {\n return args.reduce(orCode);\n}\nexports.or = or;\nfunction mappend(op) {\n return (x, y) => (x === code_1.nil ? y : y === code_1.nil ? x : (0, code_1._) `${par(x)} ${op} ${par(y)}`);\n}\nfunction par(x) {\n return x instanceof code_1.Name ? x : (0, code_1._) `(${x})`;\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/compile/codegen/scope.js": -/*!**************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/compile/codegen/scope.js ***! - \**************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ValueScope = exports.ValueScopeName = exports.Scope = exports.varKinds = exports.UsedValueState = void 0;\nconst code_1 = __webpack_require__(/*! ./code */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/code.js\");\nclass ValueError extends Error {\n constructor(name) {\n super(`CodeGen: \"code\" for ${name} not defined`);\n this.value = name.value;\n }\n}\nvar UsedValueState;\n(function (UsedValueState) {\n UsedValueState[UsedValueState[\"Started\"] = 0] = \"Started\";\n UsedValueState[UsedValueState[\"Completed\"] = 1] = \"Completed\";\n})(UsedValueState = exports.UsedValueState || (exports.UsedValueState = {}));\nexports.varKinds = {\n const: new code_1.Name(\"const\"),\n let: new code_1.Name(\"let\"),\n var: new code_1.Name(\"var\"),\n};\nclass Scope {\n constructor({ prefixes, parent } = {}) {\n this._names = {};\n this._prefixes = prefixes;\n this._parent = parent;\n }\n toName(nameOrPrefix) {\n return nameOrPrefix instanceof code_1.Name ? nameOrPrefix : this.name(nameOrPrefix);\n }\n name(prefix) {\n return new code_1.Name(this._newName(prefix));\n }\n _newName(prefix) {\n const ng = this._names[prefix] || this._nameGroup(prefix);\n return `${prefix}${ng.index++}`;\n }\n _nameGroup(prefix) {\n var _a, _b;\n if (((_b = (_a = this._parent) === null || _a === void 0 ? void 0 : _a._prefixes) === null || _b === void 0 ? void 0 : _b.has(prefix)) || (this._prefixes && !this._prefixes.has(prefix))) {\n throw new Error(`CodeGen: prefix \"${prefix}\" is not allowed in this scope`);\n }\n return (this._names[prefix] = { prefix, index: 0 });\n }\n}\nexports.Scope = Scope;\nclass ValueScopeName extends code_1.Name {\n constructor(prefix, nameStr) {\n super(nameStr);\n this.prefix = prefix;\n }\n setValue(value, { property, itemIndex }) {\n this.value = value;\n this.scopePath = (0, code_1._) `.${new code_1.Name(property)}[${itemIndex}]`;\n }\n}\nexports.ValueScopeName = ValueScopeName;\nconst line = (0, code_1._) `\\n`;\nclass ValueScope extends Scope {\n constructor(opts) {\n super(opts);\n this._values = {};\n this._scope = opts.scope;\n this.opts = { ...opts, _n: opts.lines ? line : code_1.nil };\n }\n get() {\n return this._scope;\n }\n name(prefix) {\n return new ValueScopeName(prefix, this._newName(prefix));\n }\n value(nameOrPrefix, value) {\n var _a;\n if (value.ref === undefined)\n throw new Error(\"CodeGen: ref must be passed in value\");\n const name = this.toName(nameOrPrefix);\n const { prefix } = name;\n const valueKey = (_a = value.key) !== null && _a !== void 0 ? _a : value.ref;\n let vs = this._values[prefix];\n if (vs) {\n const _name = vs.get(valueKey);\n if (_name)\n return _name;\n }\n else {\n vs = this._values[prefix] = new Map();\n }\n vs.set(valueKey, name);\n const s = this._scope[prefix] || (this._scope[prefix] = []);\n const itemIndex = s.length;\n s[itemIndex] = value.ref;\n name.setValue(value, { property: prefix, itemIndex });\n return name;\n }\n getValue(prefix, keyOrRef) {\n const vs = this._values[prefix];\n if (!vs)\n return;\n return vs.get(keyOrRef);\n }\n scopeRefs(scopeName, values = this._values) {\n return this._reduceValues(values, (name) => {\n if (name.scopePath === undefined)\n throw new Error(`CodeGen: name \"${name}\" has no value`);\n return (0, code_1._) `${scopeName}${name.scopePath}`;\n });\n }\n scopeCode(values = this._values, usedValues, getCode) {\n return this._reduceValues(values, (name) => {\n if (name.value === undefined)\n throw new Error(`CodeGen: name \"${name}\" has no value`);\n return name.value.code;\n }, usedValues, getCode);\n }\n _reduceValues(values, valueCode, usedValues = {}, getCode) {\n let code = code_1.nil;\n for (const prefix in values) {\n const vs = values[prefix];\n if (!vs)\n continue;\n const nameSet = (usedValues[prefix] = usedValues[prefix] || new Map());\n vs.forEach((name) => {\n if (nameSet.has(name))\n return;\n nameSet.set(name, UsedValueState.Started);\n let c = valueCode(name);\n if (c) {\n const def = this.opts.es5 ? exports.varKinds.var : exports.varKinds.const;\n code = (0, code_1._) `${code}${def} ${name} = ${c};${this.opts._n}`;\n }\n else if ((c = getCode === null || getCode === void 0 ? void 0 : getCode(name))) {\n code = (0, code_1._) `${code}${c}${this.opts._n}`;\n }\n else {\n throw new ValueError(name);\n }\n nameSet.set(name, UsedValueState.Completed);\n });\n }\n return code;\n }\n}\nexports.ValueScope = ValueScope;\n//# sourceMappingURL=scope.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/compile/codegen/scope.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/compile/errors.js": -/*!*******************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/compile/errors.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.extendErrors = exports.resetErrorsCount = exports.reportExtraError = exports.reportError = exports.keyword$DataError = exports.keywordError = void 0;\nconst codegen_1 = __webpack_require__(/*! ./codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ./util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst names_1 = __webpack_require__(/*! ./names */ \"./node_modules/conf/node_modules/ajv/dist/compile/names.js\");\nexports.keywordError = {\n message: ({ keyword }) => (0, codegen_1.str) `must pass \"${keyword}\" keyword validation`,\n};\nexports.keyword$DataError = {\n message: ({ keyword, schemaType }) => schemaType\n ? (0, codegen_1.str) `\"${keyword}\" keyword must be ${schemaType} ($data)`\n : (0, codegen_1.str) `\"${keyword}\" keyword is invalid ($data)`,\n};\nfunction reportError(cxt, error = exports.keywordError, errorPaths, overrideAllErrors) {\n const { it } = cxt;\n const { gen, compositeRule, allErrors } = it;\n const errObj = errorObjectCode(cxt, error, errorPaths);\n if (overrideAllErrors !== null && overrideAllErrors !== void 0 ? overrideAllErrors : (compositeRule || allErrors)) {\n addError(gen, errObj);\n }\n else {\n returnErrors(it, (0, codegen_1._) `[${errObj}]`);\n }\n}\nexports.reportError = reportError;\nfunction reportExtraError(cxt, error = exports.keywordError, errorPaths) {\n const { it } = cxt;\n const { gen, compositeRule, allErrors } = it;\n const errObj = errorObjectCode(cxt, error, errorPaths);\n addError(gen, errObj);\n if (!(compositeRule || allErrors)) {\n returnErrors(it, names_1.default.vErrors);\n }\n}\nexports.reportExtraError = reportExtraError;\nfunction resetErrorsCount(gen, errsCount) {\n gen.assign(names_1.default.errors, errsCount);\n gen.if((0, codegen_1._) `${names_1.default.vErrors} !== null`, () => gen.if(errsCount, () => gen.assign((0, codegen_1._) `${names_1.default.vErrors}.length`, errsCount), () => gen.assign(names_1.default.vErrors, null)));\n}\nexports.resetErrorsCount = resetErrorsCount;\nfunction extendErrors({ gen, keyword, schemaValue, data, errsCount, it, }) {\n /* istanbul ignore if */\n if (errsCount === undefined)\n throw new Error(\"ajv implementation error\");\n const err = gen.name(\"err\");\n gen.forRange(\"i\", errsCount, names_1.default.errors, (i) => {\n gen.const(err, (0, codegen_1._) `${names_1.default.vErrors}[${i}]`);\n gen.if((0, codegen_1._) `${err}.instancePath === undefined`, () => gen.assign((0, codegen_1._) `${err}.instancePath`, (0, codegen_1.strConcat)(names_1.default.instancePath, it.errorPath)));\n gen.assign((0, codegen_1._) `${err}.schemaPath`, (0, codegen_1.str) `${it.errSchemaPath}/${keyword}`);\n if (it.opts.verbose) {\n gen.assign((0, codegen_1._) `${err}.schema`, schemaValue);\n gen.assign((0, codegen_1._) `${err}.data`, data);\n }\n });\n}\nexports.extendErrors = extendErrors;\nfunction addError(gen, errObj) {\n const err = gen.const(\"err\", errObj);\n gen.if((0, codegen_1._) `${names_1.default.vErrors} === null`, () => gen.assign(names_1.default.vErrors, (0, codegen_1._) `[${err}]`), (0, codegen_1._) `${names_1.default.vErrors}.push(${err})`);\n gen.code((0, codegen_1._) `${names_1.default.errors}++`);\n}\nfunction returnErrors(it, errs) {\n const { gen, validateName, schemaEnv } = it;\n if (schemaEnv.$async) {\n gen.throw((0, codegen_1._) `new ${it.ValidationError}(${errs})`);\n }\n else {\n gen.assign((0, codegen_1._) `${validateName}.errors`, errs);\n gen.return(false);\n }\n}\nconst E = {\n keyword: new codegen_1.Name(\"keyword\"),\n schemaPath: new codegen_1.Name(\"schemaPath\"),\n params: new codegen_1.Name(\"params\"),\n propertyName: new codegen_1.Name(\"propertyName\"),\n message: new codegen_1.Name(\"message\"),\n schema: new codegen_1.Name(\"schema\"),\n parentSchema: new codegen_1.Name(\"parentSchema\"),\n};\nfunction errorObjectCode(cxt, error, errorPaths) {\n const { createErrors } = cxt.it;\n if (createErrors === false)\n return (0, codegen_1._) `{}`;\n return errorObject(cxt, error, errorPaths);\n}\nfunction errorObject(cxt, error, errorPaths = {}) {\n const { gen, it } = cxt;\n const keyValues = [\n errorInstancePath(it, errorPaths),\n errorSchemaPath(cxt, errorPaths),\n ];\n extraErrorProps(cxt, error, keyValues);\n return gen.object(...keyValues);\n}\nfunction errorInstancePath({ errorPath }, { instancePath }) {\n const instPath = instancePath\n ? (0, codegen_1.str) `${errorPath}${(0, util_1.getErrorPath)(instancePath, util_1.Type.Str)}`\n : errorPath;\n return [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, instPath)];\n}\nfunction errorSchemaPath({ keyword, it: { errSchemaPath } }, { schemaPath, parentSchema }) {\n let schPath = parentSchema ? errSchemaPath : (0, codegen_1.str) `${errSchemaPath}/${keyword}`;\n if (schemaPath) {\n schPath = (0, codegen_1.str) `${schPath}${(0, util_1.getErrorPath)(schemaPath, util_1.Type.Str)}`;\n }\n return [E.schemaPath, schPath];\n}\nfunction extraErrorProps(cxt, { params, message }, keyValues) {\n const { keyword, data, schemaValue, it } = cxt;\n const { opts, propertyName, topSchemaRef, schemaPath } = it;\n keyValues.push([E.keyword, keyword], [E.params, typeof params == \"function\" ? params(cxt) : params || (0, codegen_1._) `{}`]);\n if (opts.messages) {\n keyValues.push([E.message, typeof message == \"function\" ? message(cxt) : message]);\n }\n if (opts.verbose) {\n keyValues.push([E.schema, schemaValue], [E.parentSchema, (0, codegen_1._) `${topSchemaRef}${schemaPath}`], [names_1.default.data, data]);\n }\n if (propertyName)\n keyValues.push([E.propertyName, propertyName]);\n}\n//# sourceMappingURL=errors.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/compile/errors.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/compile/index.js": -/*!******************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/compile/index.js ***! - \******************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.resolveSchema = exports.getCompilingSchema = exports.resolveRef = exports.compileSchema = exports.SchemaEnv = void 0;\nconst codegen_1 = __webpack_require__(/*! ./codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst validation_error_1 = __webpack_require__(/*! ../runtime/validation_error */ \"./node_modules/conf/node_modules/ajv/dist/runtime/validation_error.js\");\nconst names_1 = __webpack_require__(/*! ./names */ \"./node_modules/conf/node_modules/ajv/dist/compile/names.js\");\nconst resolve_1 = __webpack_require__(/*! ./resolve */ \"./node_modules/conf/node_modules/ajv/dist/compile/resolve.js\");\nconst util_1 = __webpack_require__(/*! ./util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst validate_1 = __webpack_require__(/*! ./validate */ \"./node_modules/conf/node_modules/ajv/dist/compile/validate/index.js\");\nclass SchemaEnv {\n constructor(env) {\n var _a;\n this.refs = {};\n this.dynamicAnchors = {};\n let schema;\n if (typeof env.schema == \"object\")\n schema = env.schema;\n this.schema = env.schema;\n this.schemaId = env.schemaId;\n this.root = env.root || this;\n this.baseId = (_a = env.baseId) !== null && _a !== void 0 ? _a : (0, resolve_1.normalizeId)(schema === null || schema === void 0 ? void 0 : schema[env.schemaId || \"$id\"]);\n this.schemaPath = env.schemaPath;\n this.localRefs = env.localRefs;\n this.meta = env.meta;\n this.$async = schema === null || schema === void 0 ? void 0 : schema.$async;\n this.refs = {};\n }\n}\nexports.SchemaEnv = SchemaEnv;\n// let codeSize = 0\n// let nodeCount = 0\n// Compiles schema in SchemaEnv\nfunction compileSchema(sch) {\n // TODO refactor - remove compilations\n const _sch = getCompilingSchema.call(this, sch);\n if (_sch)\n return _sch;\n const rootId = (0, resolve_1.getFullPath)(this.opts.uriResolver, sch.root.baseId); // TODO if getFullPath removed 1 tests fails\n const { es5, lines } = this.opts.code;\n const { ownProperties } = this.opts;\n const gen = new codegen_1.CodeGen(this.scope, { es5, lines, ownProperties });\n let _ValidationError;\n if (sch.$async) {\n _ValidationError = gen.scopeValue(\"Error\", {\n ref: validation_error_1.default,\n code: (0, codegen_1._) `require(\"ajv/dist/runtime/validation_error\").default`,\n });\n }\n const validateName = gen.scopeName(\"validate\");\n sch.validateName = validateName;\n const schemaCxt = {\n gen,\n allErrors: this.opts.allErrors,\n data: names_1.default.data,\n parentData: names_1.default.parentData,\n parentDataProperty: names_1.default.parentDataProperty,\n dataNames: [names_1.default.data],\n dataPathArr: [codegen_1.nil],\n dataLevel: 0,\n dataTypes: [],\n definedProperties: new Set(),\n topSchemaRef: gen.scopeValue(\"schema\", this.opts.code.source === true\n ? { ref: sch.schema, code: (0, codegen_1.stringify)(sch.schema) }\n : { ref: sch.schema }),\n validateName,\n ValidationError: _ValidationError,\n schema: sch.schema,\n schemaEnv: sch,\n rootId,\n baseId: sch.baseId || rootId,\n schemaPath: codegen_1.nil,\n errSchemaPath: sch.schemaPath || (this.opts.jtd ? \"\" : \"#\"),\n errorPath: (0, codegen_1._) `\"\"`,\n opts: this.opts,\n self: this,\n };\n let sourceCode;\n try {\n this._compilations.add(sch);\n (0, validate_1.validateFunctionCode)(schemaCxt);\n gen.optimize(this.opts.code.optimize);\n // gen.optimize(1)\n const validateCode = gen.toString();\n sourceCode = `${gen.scopeRefs(names_1.default.scope)}return ${validateCode}`;\n // console.log((codeSize += sourceCode.length), (nodeCount += gen.nodeCount))\n if (this.opts.code.process)\n sourceCode = this.opts.code.process(sourceCode, sch);\n // console.log(\"\\n\\n\\n *** \\n\", sourceCode)\n const makeValidate = new Function(`${names_1.default.self}`, `${names_1.default.scope}`, sourceCode);\n const validate = makeValidate(this, this.scope.get());\n this.scope.value(validateName, { ref: validate });\n validate.errors = null;\n validate.schema = sch.schema;\n validate.schemaEnv = sch;\n if (sch.$async)\n validate.$async = true;\n if (this.opts.code.source === true) {\n validate.source = { validateName, validateCode, scopeValues: gen._values };\n }\n if (this.opts.unevaluated) {\n const { props, items } = schemaCxt;\n validate.evaluated = {\n props: props instanceof codegen_1.Name ? undefined : props,\n items: items instanceof codegen_1.Name ? undefined : items,\n dynamicProps: props instanceof codegen_1.Name,\n dynamicItems: items instanceof codegen_1.Name,\n };\n if (validate.source)\n validate.source.evaluated = (0, codegen_1.stringify)(validate.evaluated);\n }\n sch.validate = validate;\n return sch;\n }\n catch (e) {\n delete sch.validate;\n delete sch.validateName;\n if (sourceCode)\n this.logger.error(\"Error compiling schema, function code:\", sourceCode);\n // console.log(\"\\n\\n\\n *** \\n\", sourceCode, this.opts)\n throw e;\n }\n finally {\n this._compilations.delete(sch);\n }\n}\nexports.compileSchema = compileSchema;\nfunction resolveRef(root, baseId, ref) {\n var _a;\n ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, ref);\n const schOrFunc = root.refs[ref];\n if (schOrFunc)\n return schOrFunc;\n let _sch = resolve.call(this, root, ref);\n if (_sch === undefined) {\n const schema = (_a = root.localRefs) === null || _a === void 0 ? void 0 : _a[ref]; // TODO maybe localRefs should hold SchemaEnv\n const { schemaId } = this.opts;\n if (schema)\n _sch = new SchemaEnv({ schema, schemaId, root, baseId });\n }\n if (_sch === undefined)\n return;\n return (root.refs[ref] = inlineOrCompile.call(this, _sch));\n}\nexports.resolveRef = resolveRef;\nfunction inlineOrCompile(sch) {\n if ((0, resolve_1.inlineRef)(sch.schema, this.opts.inlineRefs))\n return sch.schema;\n return sch.validate ? sch : compileSchema.call(this, sch);\n}\n// Index of schema compilation in the currently compiled list\nfunction getCompilingSchema(schEnv) {\n for (const sch of this._compilations) {\n if (sameSchemaEnv(sch, schEnv))\n return sch;\n }\n}\nexports.getCompilingSchema = getCompilingSchema;\nfunction sameSchemaEnv(s1, s2) {\n return s1.schema === s2.schema && s1.root === s2.root && s1.baseId === s2.baseId;\n}\n// resolve and compile the references ($ref)\n// TODO returns AnySchemaObject (if the schema can be inlined) or validation function\nfunction resolve(root, // information about the root schema for the current schema\nref // reference to resolve\n) {\n let sch;\n while (typeof (sch = this.refs[ref]) == \"string\")\n ref = sch;\n return sch || this.schemas[ref] || resolveSchema.call(this, root, ref);\n}\n// Resolve schema, its root and baseId\nfunction resolveSchema(root, // root object with properties schema, refs TODO below SchemaEnv is assigned to it\nref // reference to resolve\n) {\n const p = this.opts.uriResolver.parse(ref);\n const refPath = (0, resolve_1._getFullPath)(this.opts.uriResolver, p);\n let baseId = (0, resolve_1.getFullPath)(this.opts.uriResolver, root.baseId, undefined);\n // TODO `Object.keys(root.schema).length > 0` should not be needed - but removing breaks 2 tests\n if (Object.keys(root.schema).length > 0 && refPath === baseId) {\n return getJsonPointer.call(this, p, root);\n }\n const id = (0, resolve_1.normalizeId)(refPath);\n const schOrRef = this.refs[id] || this.schemas[id];\n if (typeof schOrRef == \"string\") {\n const sch = resolveSchema.call(this, root, schOrRef);\n if (typeof (sch === null || sch === void 0 ? void 0 : sch.schema) !== \"object\")\n return;\n return getJsonPointer.call(this, p, sch);\n }\n if (typeof (schOrRef === null || schOrRef === void 0 ? void 0 : schOrRef.schema) !== \"object\")\n return;\n if (!schOrRef.validate)\n compileSchema.call(this, schOrRef);\n if (id === (0, resolve_1.normalizeId)(ref)) {\n const { schema } = schOrRef;\n const { schemaId } = this.opts;\n const schId = schema[schemaId];\n if (schId)\n baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId);\n return new SchemaEnv({ schema, schemaId, root, baseId });\n }\n return getJsonPointer.call(this, p, schOrRef);\n}\nexports.resolveSchema = resolveSchema;\nconst PREVENT_SCOPE_CHANGE = new Set([\n \"properties\",\n \"patternProperties\",\n \"enum\",\n \"dependencies\",\n \"definitions\",\n]);\nfunction getJsonPointer(parsedRef, { baseId, schema, root }) {\n var _a;\n if (((_a = parsedRef.fragment) === null || _a === void 0 ? void 0 : _a[0]) !== \"/\")\n return;\n for (const part of parsedRef.fragment.slice(1).split(\"/\")) {\n if (typeof schema === \"boolean\")\n return;\n const partSchema = schema[(0, util_1.unescapeFragment)(part)];\n if (partSchema === undefined)\n return;\n schema = partSchema;\n // TODO PREVENT_SCOPE_CHANGE could be defined in keyword def?\n const schId = typeof schema === \"object\" && schema[this.opts.schemaId];\n if (!PREVENT_SCOPE_CHANGE.has(part) && schId) {\n baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId);\n }\n }\n let env;\n if (typeof schema != \"boolean\" && schema.$ref && !(0, util_1.schemaHasRulesButRef)(schema, this.RULES)) {\n const $ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schema.$ref);\n env = resolveSchema.call(this, root, $ref);\n }\n // even though resolution failed we need to return SchemaEnv to throw exception\n // so that compileAsync loads missing schema.\n const { schemaId } = this.opts;\n env = env || new SchemaEnv({ schema, schemaId, root, baseId });\n if (env.schema !== env.root.schema)\n return env;\n return undefined;\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/compile/index.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/compile/names.js": -/*!******************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/compile/names.js ***! - \******************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ./codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst names = {\n // validation function arguments\n data: new codegen_1.Name(\"data\"),\n // args passed from referencing schema\n valCxt: new codegen_1.Name(\"valCxt\"),\n instancePath: new codegen_1.Name(\"instancePath\"),\n parentData: new codegen_1.Name(\"parentData\"),\n parentDataProperty: new codegen_1.Name(\"parentDataProperty\"),\n rootData: new codegen_1.Name(\"rootData\"),\n dynamicAnchors: new codegen_1.Name(\"dynamicAnchors\"),\n // function scoped variables\n vErrors: new codegen_1.Name(\"vErrors\"),\n errors: new codegen_1.Name(\"errors\"),\n this: new codegen_1.Name(\"this\"),\n // \"globals\"\n self: new codegen_1.Name(\"self\"),\n scope: new codegen_1.Name(\"scope\"),\n // JTD serialize/parse name for JSON string and position\n json: new codegen_1.Name(\"json\"),\n jsonPos: new codegen_1.Name(\"jsonPos\"),\n jsonLen: new codegen_1.Name(\"jsonLen\"),\n jsonPart: new codegen_1.Name(\"jsonPart\"),\n};\nexports[\"default\"] = names;\n//# sourceMappingURL=names.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/compile/names.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/compile/ref_error.js": -/*!**********************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/compile/ref_error.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst resolve_1 = __webpack_require__(/*! ./resolve */ \"./node_modules/conf/node_modules/ajv/dist/compile/resolve.js\");\nclass MissingRefError extends Error {\n constructor(resolver, baseId, ref, msg) {\n super(msg || `can't resolve reference ${ref} from id ${baseId}`);\n this.missingRef = (0, resolve_1.resolveUrl)(resolver, baseId, ref);\n this.missingSchema = (0, resolve_1.normalizeId)((0, resolve_1.getFullPath)(resolver, this.missingRef));\n }\n}\nexports[\"default\"] = MissingRefError;\n//# sourceMappingURL=ref_error.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/compile/ref_error.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/compile/resolve.js": -/*!********************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/compile/resolve.js ***! - \********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getSchemaRefs = exports.resolveUrl = exports.normalizeId = exports._getFullPath = exports.getFullPath = exports.inlineRef = void 0;\nconst util_1 = __webpack_require__(/*! ./util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst equal = __webpack_require__(/*! fast-deep-equal */ \"./node_modules/fast-deep-equal/index.js\");\nconst traverse = __webpack_require__(/*! json-schema-traverse */ \"./node_modules/conf/node_modules/json-schema-traverse/index.js\");\n// TODO refactor to use keyword definitions\nconst SIMPLE_INLINED = new Set([\n \"type\",\n \"format\",\n \"pattern\",\n \"maxLength\",\n \"minLength\",\n \"maxProperties\",\n \"minProperties\",\n \"maxItems\",\n \"minItems\",\n \"maximum\",\n \"minimum\",\n \"uniqueItems\",\n \"multipleOf\",\n \"required\",\n \"enum\",\n \"const\",\n]);\nfunction inlineRef(schema, limit = true) {\n if (typeof schema == \"boolean\")\n return true;\n if (limit === true)\n return !hasRef(schema);\n if (!limit)\n return false;\n return countKeys(schema) <= limit;\n}\nexports.inlineRef = inlineRef;\nconst REF_KEYWORDS = new Set([\n \"$ref\",\n \"$recursiveRef\",\n \"$recursiveAnchor\",\n \"$dynamicRef\",\n \"$dynamicAnchor\",\n]);\nfunction hasRef(schema) {\n for (const key in schema) {\n if (REF_KEYWORDS.has(key))\n return true;\n const sch = schema[key];\n if (Array.isArray(sch) && sch.some(hasRef))\n return true;\n if (typeof sch == \"object\" && hasRef(sch))\n return true;\n }\n return false;\n}\nfunction countKeys(schema) {\n let count = 0;\n for (const key in schema) {\n if (key === \"$ref\")\n return Infinity;\n count++;\n if (SIMPLE_INLINED.has(key))\n continue;\n if (typeof schema[key] == \"object\") {\n (0, util_1.eachItem)(schema[key], (sch) => (count += countKeys(sch)));\n }\n if (count === Infinity)\n return Infinity;\n }\n return count;\n}\nfunction getFullPath(resolver, id = \"\", normalize) {\n if (normalize !== false)\n id = normalizeId(id);\n const p = resolver.parse(id);\n return _getFullPath(resolver, p);\n}\nexports.getFullPath = getFullPath;\nfunction _getFullPath(resolver, p) {\n const serialized = resolver.serialize(p);\n return serialized.split(\"#\")[0] + \"#\";\n}\nexports._getFullPath = _getFullPath;\nconst TRAILING_SLASH_HASH = /#\\/?$/;\nfunction normalizeId(id) {\n return id ? id.replace(TRAILING_SLASH_HASH, \"\") : \"\";\n}\nexports.normalizeId = normalizeId;\nfunction resolveUrl(resolver, baseId, id) {\n id = normalizeId(id);\n return resolver.resolve(baseId, id);\n}\nexports.resolveUrl = resolveUrl;\nconst ANCHOR = /^[a-z_][-a-z0-9._]*$/i;\nfunction getSchemaRefs(schema, baseId) {\n if (typeof schema == \"boolean\")\n return {};\n const { schemaId, uriResolver } = this.opts;\n const schId = normalizeId(schema[schemaId] || baseId);\n const baseIds = { \"\": schId };\n const pathPrefix = getFullPath(uriResolver, schId, false);\n const localRefs = {};\n const schemaRefs = new Set();\n traverse(schema, { allKeys: true }, (sch, jsonPtr, _, parentJsonPtr) => {\n if (parentJsonPtr === undefined)\n return;\n const fullPath = pathPrefix + jsonPtr;\n let baseId = baseIds[parentJsonPtr];\n if (typeof sch[schemaId] == \"string\")\n baseId = addRef.call(this, sch[schemaId]);\n addAnchor.call(this, sch.$anchor);\n addAnchor.call(this, sch.$dynamicAnchor);\n baseIds[jsonPtr] = baseId;\n function addRef(ref) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const _resolve = this.opts.uriResolver.resolve;\n ref = normalizeId(baseId ? _resolve(baseId, ref) : ref);\n if (schemaRefs.has(ref))\n throw ambiguos(ref);\n schemaRefs.add(ref);\n let schOrRef = this.refs[ref];\n if (typeof schOrRef == \"string\")\n schOrRef = this.refs[schOrRef];\n if (typeof schOrRef == \"object\") {\n checkAmbiguosRef(sch, schOrRef.schema, ref);\n }\n else if (ref !== normalizeId(fullPath)) {\n if (ref[0] === \"#\") {\n checkAmbiguosRef(sch, localRefs[ref], ref);\n localRefs[ref] = sch;\n }\n else {\n this.refs[ref] = fullPath;\n }\n }\n return ref;\n }\n function addAnchor(anchor) {\n if (typeof anchor == \"string\") {\n if (!ANCHOR.test(anchor))\n throw new Error(`invalid anchor \"${anchor}\"`);\n addRef.call(this, `#${anchor}`);\n }\n }\n });\n return localRefs;\n function checkAmbiguosRef(sch1, sch2, ref) {\n if (sch2 !== undefined && !equal(sch1, sch2))\n throw ambiguos(ref);\n }\n function ambiguos(ref) {\n return new Error(`reference \"${ref}\" resolves to more than one schema`);\n }\n}\nexports.getSchemaRefs = getSchemaRefs;\n//# sourceMappingURL=resolve.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/compile/resolve.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/compile/rules.js": -/*!******************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/compile/rules.js ***! - \******************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getRules = exports.isJSONType = void 0;\nconst _jsonTypes = [\"string\", \"number\", \"integer\", \"boolean\", \"null\", \"object\", \"array\"];\nconst jsonTypes = new Set(_jsonTypes);\nfunction isJSONType(x) {\n return typeof x == \"string\" && jsonTypes.has(x);\n}\nexports.isJSONType = isJSONType;\nfunction getRules() {\n const groups = {\n number: { type: \"number\", rules: [] },\n string: { type: \"string\", rules: [] },\n array: { type: \"array\", rules: [] },\n object: { type: \"object\", rules: [] },\n };\n return {\n types: { ...groups, integer: true, boolean: true, null: true },\n rules: [{ rules: [] }, groups.number, groups.string, groups.array, groups.object],\n post: { rules: [] },\n all: {},\n keywords: {},\n };\n}\nexports.getRules = getRules;\n//# sourceMappingURL=rules.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/compile/rules.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/compile/util.js": -/*!*****************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/compile/util.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.checkStrictMode = exports.getErrorPath = exports.Type = exports.useFunc = exports.setEvaluated = exports.evaluatedPropsToName = exports.mergeEvaluated = exports.eachItem = exports.unescapeJsonPointer = exports.escapeJsonPointer = exports.escapeFragment = exports.unescapeFragment = exports.schemaRefOrVal = exports.schemaHasRulesButRef = exports.schemaHasRules = exports.checkUnknownRules = exports.alwaysValidSchema = exports.toHash = void 0;\nconst codegen_1 = __webpack_require__(/*! ./codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst code_1 = __webpack_require__(/*! ./codegen/code */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/code.js\");\n// TODO refactor to use Set\nfunction toHash(arr) {\n const hash = {};\n for (const item of arr)\n hash[item] = true;\n return hash;\n}\nexports.toHash = toHash;\nfunction alwaysValidSchema(it, schema) {\n if (typeof schema == \"boolean\")\n return schema;\n if (Object.keys(schema).length === 0)\n return true;\n checkUnknownRules(it, schema);\n return !schemaHasRules(schema, it.self.RULES.all);\n}\nexports.alwaysValidSchema = alwaysValidSchema;\nfunction checkUnknownRules(it, schema = it.schema) {\n const { opts, self } = it;\n if (!opts.strictSchema)\n return;\n if (typeof schema === \"boolean\")\n return;\n const rules = self.RULES.keywords;\n for (const key in schema) {\n if (!rules[key])\n checkStrictMode(it, `unknown keyword: \"${key}\"`);\n }\n}\nexports.checkUnknownRules = checkUnknownRules;\nfunction schemaHasRules(schema, rules) {\n if (typeof schema == \"boolean\")\n return !schema;\n for (const key in schema)\n if (rules[key])\n return true;\n return false;\n}\nexports.schemaHasRules = schemaHasRules;\nfunction schemaHasRulesButRef(schema, RULES) {\n if (typeof schema == \"boolean\")\n return !schema;\n for (const key in schema)\n if (key !== \"$ref\" && RULES.all[key])\n return true;\n return false;\n}\nexports.schemaHasRulesButRef = schemaHasRulesButRef;\nfunction schemaRefOrVal({ topSchemaRef, schemaPath }, schema, keyword, $data) {\n if (!$data) {\n if (typeof schema == \"number\" || typeof schema == \"boolean\")\n return schema;\n if (typeof schema == \"string\")\n return (0, codegen_1._) `${schema}`;\n }\n return (0, codegen_1._) `${topSchemaRef}${schemaPath}${(0, codegen_1.getProperty)(keyword)}`;\n}\nexports.schemaRefOrVal = schemaRefOrVal;\nfunction unescapeFragment(str) {\n return unescapeJsonPointer(decodeURIComponent(str));\n}\nexports.unescapeFragment = unescapeFragment;\nfunction escapeFragment(str) {\n return encodeURIComponent(escapeJsonPointer(str));\n}\nexports.escapeFragment = escapeFragment;\nfunction escapeJsonPointer(str) {\n if (typeof str == \"number\")\n return `${str}`;\n return str.replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\n}\nexports.escapeJsonPointer = escapeJsonPointer;\nfunction unescapeJsonPointer(str) {\n return str.replace(/~1/g, \"/\").replace(/~0/g, \"~\");\n}\nexports.unescapeJsonPointer = unescapeJsonPointer;\nfunction eachItem(xs, f) {\n if (Array.isArray(xs)) {\n for (const x of xs)\n f(x);\n }\n else {\n f(xs);\n }\n}\nexports.eachItem = eachItem;\nfunction makeMergeEvaluated({ mergeNames, mergeToName, mergeValues, resultToName, }) {\n return (gen, from, to, toName) => {\n const res = to === undefined\n ? from\n : to instanceof codegen_1.Name\n ? (from instanceof codegen_1.Name ? mergeNames(gen, from, to) : mergeToName(gen, from, to), to)\n : from instanceof codegen_1.Name\n ? (mergeToName(gen, to, from), from)\n : mergeValues(from, to);\n return toName === codegen_1.Name && !(res instanceof codegen_1.Name) ? resultToName(gen, res) : res;\n };\n}\nexports.mergeEvaluated = {\n props: makeMergeEvaluated({\n mergeNames: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true && ${from} !== undefined`, () => {\n gen.if((0, codegen_1._) `${from} === true`, () => gen.assign(to, true), () => gen.assign(to, (0, codegen_1._) `${to} || {}`).code((0, codegen_1._) `Object.assign(${to}, ${from})`));\n }),\n mergeToName: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true`, () => {\n if (from === true) {\n gen.assign(to, true);\n }\n else {\n gen.assign(to, (0, codegen_1._) `${to} || {}`);\n setEvaluated(gen, to, from);\n }\n }),\n mergeValues: (from, to) => (from === true ? true : { ...from, ...to }),\n resultToName: evaluatedPropsToName,\n }),\n items: makeMergeEvaluated({\n mergeNames: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true && ${from} !== undefined`, () => gen.assign(to, (0, codegen_1._) `${from} === true ? true : ${to} > ${from} ? ${to} : ${from}`)),\n mergeToName: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true`, () => gen.assign(to, from === true ? true : (0, codegen_1._) `${to} > ${from} ? ${to} : ${from}`)),\n mergeValues: (from, to) => (from === true ? true : Math.max(from, to)),\n resultToName: (gen, items) => gen.var(\"items\", items),\n }),\n};\nfunction evaluatedPropsToName(gen, ps) {\n if (ps === true)\n return gen.var(\"props\", true);\n const props = gen.var(\"props\", (0, codegen_1._) `{}`);\n if (ps !== undefined)\n setEvaluated(gen, props, ps);\n return props;\n}\nexports.evaluatedPropsToName = evaluatedPropsToName;\nfunction setEvaluated(gen, props, ps) {\n Object.keys(ps).forEach((p) => gen.assign((0, codegen_1._) `${props}${(0, codegen_1.getProperty)(p)}`, true));\n}\nexports.setEvaluated = setEvaluated;\nconst snippets = {};\nfunction useFunc(gen, f) {\n return gen.scopeValue(\"func\", {\n ref: f,\n code: snippets[f.code] || (snippets[f.code] = new code_1._Code(f.code)),\n });\n}\nexports.useFunc = useFunc;\nvar Type;\n(function (Type) {\n Type[Type[\"Num\"] = 0] = \"Num\";\n Type[Type[\"Str\"] = 1] = \"Str\";\n})(Type = exports.Type || (exports.Type = {}));\nfunction getErrorPath(dataProp, dataPropType, jsPropertySyntax) {\n // let path\n if (dataProp instanceof codegen_1.Name) {\n const isNumber = dataPropType === Type.Num;\n return jsPropertySyntax\n ? isNumber\n ? (0, codegen_1._) `\"[\" + ${dataProp} + \"]\"`\n : (0, codegen_1._) `\"['\" + ${dataProp} + \"']\"`\n : isNumber\n ? (0, codegen_1._) `\"/\" + ${dataProp}`\n : (0, codegen_1._) `\"/\" + ${dataProp}.replace(/~/g, \"~0\").replace(/\\\\//g, \"~1\")`; // TODO maybe use global escapePointer\n }\n return jsPropertySyntax ? (0, codegen_1.getProperty)(dataProp).toString() : \"/\" + escapeJsonPointer(dataProp);\n}\nexports.getErrorPath = getErrorPath;\nfunction checkStrictMode(it, msg, mode = it.opts.strictSchema) {\n if (!mode)\n return;\n msg = `strict mode: ${msg}`;\n if (mode === true)\n throw new Error(msg);\n it.self.logger.warn(msg);\n}\nexports.checkStrictMode = checkStrictMode;\n//# sourceMappingURL=util.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/compile/util.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/compile/validate/applicability.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/compile/validate/applicability.js ***! - \***********************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.shouldUseRule = exports.shouldUseGroup = exports.schemaHasRulesForType = void 0;\nfunction schemaHasRulesForType({ schema, self }, type) {\n const group = self.RULES.types[type];\n return group && group !== true && shouldUseGroup(schema, group);\n}\nexports.schemaHasRulesForType = schemaHasRulesForType;\nfunction shouldUseGroup(schema, group) {\n return group.rules.some((rule) => shouldUseRule(schema, rule));\n}\nexports.shouldUseGroup = shouldUseGroup;\nfunction shouldUseRule(schema, rule) {\n var _a;\n return (schema[rule.keyword] !== undefined ||\n ((_a = rule.definition.implements) === null || _a === void 0 ? void 0 : _a.some((kwd) => schema[kwd] !== undefined)));\n}\nexports.shouldUseRule = shouldUseRule;\n//# sourceMappingURL=applicability.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/compile/validate/applicability.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/compile/validate/boolSchema.js": -/*!********************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/compile/validate/boolSchema.js ***! - \********************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.boolOrEmptySchema = exports.topBoolOrEmptySchema = void 0;\nconst errors_1 = __webpack_require__(/*! ../errors */ \"./node_modules/conf/node_modules/ajv/dist/compile/errors.js\");\nconst codegen_1 = __webpack_require__(/*! ../codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst names_1 = __webpack_require__(/*! ../names */ \"./node_modules/conf/node_modules/ajv/dist/compile/names.js\");\nconst boolError = {\n message: \"boolean schema is false\",\n};\nfunction topBoolOrEmptySchema(it) {\n const { gen, schema, validateName } = it;\n if (schema === false) {\n falseSchemaError(it, false);\n }\n else if (typeof schema == \"object\" && schema.$async === true) {\n gen.return(names_1.default.data);\n }\n else {\n gen.assign((0, codegen_1._) `${validateName}.errors`, null);\n gen.return(true);\n }\n}\nexports.topBoolOrEmptySchema = topBoolOrEmptySchema;\nfunction boolOrEmptySchema(it, valid) {\n const { gen, schema } = it;\n if (schema === false) {\n gen.var(valid, false); // TODO var\n falseSchemaError(it);\n }\n else {\n gen.var(valid, true); // TODO var\n }\n}\nexports.boolOrEmptySchema = boolOrEmptySchema;\nfunction falseSchemaError(it, overrideAllErrors) {\n const { gen, data } = it;\n // TODO maybe some other interface should be used for non-keyword validation errors...\n const cxt = {\n gen,\n keyword: \"false schema\",\n data,\n schema: false,\n schemaCode: false,\n schemaValue: false,\n params: {},\n it,\n };\n (0, errors_1.reportError)(cxt, boolError, undefined, overrideAllErrors);\n}\n//# sourceMappingURL=boolSchema.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/compile/validate/boolSchema.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/compile/validate/dataType.js": -/*!******************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/compile/validate/dataType.js ***! - \******************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.reportTypeError = exports.checkDataTypes = exports.checkDataType = exports.coerceAndCheckDataType = exports.getJSONTypes = exports.getSchemaTypes = exports.DataType = void 0;\nconst rules_1 = __webpack_require__(/*! ../rules */ \"./node_modules/conf/node_modules/ajv/dist/compile/rules.js\");\nconst applicability_1 = __webpack_require__(/*! ./applicability */ \"./node_modules/conf/node_modules/ajv/dist/compile/validate/applicability.js\");\nconst errors_1 = __webpack_require__(/*! ../errors */ \"./node_modules/conf/node_modules/ajv/dist/compile/errors.js\");\nconst codegen_1 = __webpack_require__(/*! ../codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nvar DataType;\n(function (DataType) {\n DataType[DataType[\"Correct\"] = 0] = \"Correct\";\n DataType[DataType[\"Wrong\"] = 1] = \"Wrong\";\n})(DataType = exports.DataType || (exports.DataType = {}));\nfunction getSchemaTypes(schema) {\n const types = getJSONTypes(schema.type);\n const hasNull = types.includes(\"null\");\n if (hasNull) {\n if (schema.nullable === false)\n throw new Error(\"type: null contradicts nullable: false\");\n }\n else {\n if (!types.length && schema.nullable !== undefined) {\n throw new Error('\"nullable\" cannot be used without \"type\"');\n }\n if (schema.nullable === true)\n types.push(\"null\");\n }\n return types;\n}\nexports.getSchemaTypes = getSchemaTypes;\nfunction getJSONTypes(ts) {\n const types = Array.isArray(ts) ? ts : ts ? [ts] : [];\n if (types.every(rules_1.isJSONType))\n return types;\n throw new Error(\"type must be JSONType or JSONType[]: \" + types.join(\",\"));\n}\nexports.getJSONTypes = getJSONTypes;\nfunction coerceAndCheckDataType(it, types) {\n const { gen, data, opts } = it;\n const coerceTo = coerceToTypes(types, opts.coerceTypes);\n const checkTypes = types.length > 0 &&\n !(coerceTo.length === 0 && types.length === 1 && (0, applicability_1.schemaHasRulesForType)(it, types[0]));\n if (checkTypes) {\n const wrongType = checkDataTypes(types, data, opts.strictNumbers, DataType.Wrong);\n gen.if(wrongType, () => {\n if (coerceTo.length)\n coerceData(it, types, coerceTo);\n else\n reportTypeError(it);\n });\n }\n return checkTypes;\n}\nexports.coerceAndCheckDataType = coerceAndCheckDataType;\nconst COERCIBLE = new Set([\"string\", \"number\", \"integer\", \"boolean\", \"null\"]);\nfunction coerceToTypes(types, coerceTypes) {\n return coerceTypes\n ? types.filter((t) => COERCIBLE.has(t) || (coerceTypes === \"array\" && t === \"array\"))\n : [];\n}\nfunction coerceData(it, types, coerceTo) {\n const { gen, data, opts } = it;\n const dataType = gen.let(\"dataType\", (0, codegen_1._) `typeof ${data}`);\n const coerced = gen.let(\"coerced\", (0, codegen_1._) `undefined`);\n if (opts.coerceTypes === \"array\") {\n gen.if((0, codegen_1._) `${dataType} == 'object' && Array.isArray(${data}) && ${data}.length == 1`, () => gen\n .assign(data, (0, codegen_1._) `${data}[0]`)\n .assign(dataType, (0, codegen_1._) `typeof ${data}`)\n .if(checkDataTypes(types, data, opts.strictNumbers), () => gen.assign(coerced, data)));\n }\n gen.if((0, codegen_1._) `${coerced} !== undefined`);\n for (const t of coerceTo) {\n if (COERCIBLE.has(t) || (t === \"array\" && opts.coerceTypes === \"array\")) {\n coerceSpecificType(t);\n }\n }\n gen.else();\n reportTypeError(it);\n gen.endIf();\n gen.if((0, codegen_1._) `${coerced} !== undefined`, () => {\n gen.assign(data, coerced);\n assignParentData(it, coerced);\n });\n function coerceSpecificType(t) {\n switch (t) {\n case \"string\":\n gen\n .elseIf((0, codegen_1._) `${dataType} == \"number\" || ${dataType} == \"boolean\"`)\n .assign(coerced, (0, codegen_1._) `\"\" + ${data}`)\n .elseIf((0, codegen_1._) `${data} === null`)\n .assign(coerced, (0, codegen_1._) `\"\"`);\n return;\n case \"number\":\n gen\n .elseIf((0, codegen_1._) `${dataType} == \"boolean\" || ${data} === null\n || (${dataType} == \"string\" && ${data} && ${data} == +${data})`)\n .assign(coerced, (0, codegen_1._) `+${data}`);\n return;\n case \"integer\":\n gen\n .elseIf((0, codegen_1._) `${dataType} === \"boolean\" || ${data} === null\n || (${dataType} === \"string\" && ${data} && ${data} == +${data} && !(${data} % 1))`)\n .assign(coerced, (0, codegen_1._) `+${data}`);\n return;\n case \"boolean\":\n gen\n .elseIf((0, codegen_1._) `${data} === \"false\" || ${data} === 0 || ${data} === null`)\n .assign(coerced, false)\n .elseIf((0, codegen_1._) `${data} === \"true\" || ${data} === 1`)\n .assign(coerced, true);\n return;\n case \"null\":\n gen.elseIf((0, codegen_1._) `${data} === \"\" || ${data} === 0 || ${data} === false`);\n gen.assign(coerced, null);\n return;\n case \"array\":\n gen\n .elseIf((0, codegen_1._) `${dataType} === \"string\" || ${dataType} === \"number\"\n || ${dataType} === \"boolean\" || ${data} === null`)\n .assign(coerced, (0, codegen_1._) `[${data}]`);\n }\n }\n}\nfunction assignParentData({ gen, parentData, parentDataProperty }, expr) {\n // TODO use gen.property\n gen.if((0, codegen_1._) `${parentData} !== undefined`, () => gen.assign((0, codegen_1._) `${parentData}[${parentDataProperty}]`, expr));\n}\nfunction checkDataType(dataType, data, strictNums, correct = DataType.Correct) {\n const EQ = correct === DataType.Correct ? codegen_1.operators.EQ : codegen_1.operators.NEQ;\n let cond;\n switch (dataType) {\n case \"null\":\n return (0, codegen_1._) `${data} ${EQ} null`;\n case \"array\":\n cond = (0, codegen_1._) `Array.isArray(${data})`;\n break;\n case \"object\":\n cond = (0, codegen_1._) `${data} && typeof ${data} == \"object\" && !Array.isArray(${data})`;\n break;\n case \"integer\":\n cond = numCond((0, codegen_1._) `!(${data} % 1) && !isNaN(${data})`);\n break;\n case \"number\":\n cond = numCond();\n break;\n default:\n return (0, codegen_1._) `typeof ${data} ${EQ} ${dataType}`;\n }\n return correct === DataType.Correct ? cond : (0, codegen_1.not)(cond);\n function numCond(_cond = codegen_1.nil) {\n return (0, codegen_1.and)((0, codegen_1._) `typeof ${data} == \"number\"`, _cond, strictNums ? (0, codegen_1._) `isFinite(${data})` : codegen_1.nil);\n }\n}\nexports.checkDataType = checkDataType;\nfunction checkDataTypes(dataTypes, data, strictNums, correct) {\n if (dataTypes.length === 1) {\n return checkDataType(dataTypes[0], data, strictNums, correct);\n }\n let cond;\n const types = (0, util_1.toHash)(dataTypes);\n if (types.array && types.object) {\n const notObj = (0, codegen_1._) `typeof ${data} != \"object\"`;\n cond = types.null ? notObj : (0, codegen_1._) `!${data} || ${notObj}`;\n delete types.null;\n delete types.array;\n delete types.object;\n }\n else {\n cond = codegen_1.nil;\n }\n if (types.number)\n delete types.integer;\n for (const t in types)\n cond = (0, codegen_1.and)(cond, checkDataType(t, data, strictNums, correct));\n return cond;\n}\nexports.checkDataTypes = checkDataTypes;\nconst typeError = {\n message: ({ schema }) => `must be ${schema}`,\n params: ({ schema, schemaValue }) => typeof schema == \"string\" ? (0, codegen_1._) `{type: ${schema}}` : (0, codegen_1._) `{type: ${schemaValue}}`,\n};\nfunction reportTypeError(it) {\n const cxt = getTypeErrorContext(it);\n (0, errors_1.reportError)(cxt, typeError);\n}\nexports.reportTypeError = reportTypeError;\nfunction getTypeErrorContext(it) {\n const { gen, data, schema } = it;\n const schemaCode = (0, util_1.schemaRefOrVal)(it, schema, \"type\");\n return {\n gen,\n keyword: \"type\",\n data,\n schema: schema.type,\n schemaCode,\n schemaValue: schemaCode,\n parentSchema: schema,\n params: {},\n it,\n };\n}\n//# sourceMappingURL=dataType.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/compile/validate/dataType.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/compile/validate/defaults.js": -/*!******************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/compile/validate/defaults.js ***! - \******************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.assignDefaults = void 0;\nconst codegen_1 = __webpack_require__(/*! ../codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nfunction assignDefaults(it, ty) {\n const { properties, items } = it.schema;\n if (ty === \"object\" && properties) {\n for (const key in properties) {\n assignDefault(it, key, properties[key].default);\n }\n }\n else if (ty === \"array\" && Array.isArray(items)) {\n items.forEach((sch, i) => assignDefault(it, i, sch.default));\n }\n}\nexports.assignDefaults = assignDefaults;\nfunction assignDefault(it, prop, defaultValue) {\n const { gen, compositeRule, data, opts } = it;\n if (defaultValue === undefined)\n return;\n const childData = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(prop)}`;\n if (compositeRule) {\n (0, util_1.checkStrictMode)(it, `default is ignored for: ${childData}`);\n return;\n }\n let condition = (0, codegen_1._) `${childData} === undefined`;\n if (opts.useDefaults === \"empty\") {\n condition = (0, codegen_1._) `${condition} || ${childData} === null || ${childData} === \"\"`;\n }\n // `${childData} === undefined` +\n // (opts.useDefaults === \"empty\" ? ` || ${childData} === null || ${childData} === \"\"` : \"\")\n gen.if(condition, (0, codegen_1._) `${childData} = ${(0, codegen_1.stringify)(defaultValue)}`);\n}\n//# sourceMappingURL=defaults.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/compile/validate/defaults.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/compile/validate/index.js": -/*!***************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/compile/validate/index.js ***! - \***************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getData = exports.KeywordCxt = exports.validateFunctionCode = void 0;\nconst boolSchema_1 = __webpack_require__(/*! ./boolSchema */ \"./node_modules/conf/node_modules/ajv/dist/compile/validate/boolSchema.js\");\nconst dataType_1 = __webpack_require__(/*! ./dataType */ \"./node_modules/conf/node_modules/ajv/dist/compile/validate/dataType.js\");\nconst applicability_1 = __webpack_require__(/*! ./applicability */ \"./node_modules/conf/node_modules/ajv/dist/compile/validate/applicability.js\");\nconst dataType_2 = __webpack_require__(/*! ./dataType */ \"./node_modules/conf/node_modules/ajv/dist/compile/validate/dataType.js\");\nconst defaults_1 = __webpack_require__(/*! ./defaults */ \"./node_modules/conf/node_modules/ajv/dist/compile/validate/defaults.js\");\nconst keyword_1 = __webpack_require__(/*! ./keyword */ \"./node_modules/conf/node_modules/ajv/dist/compile/validate/keyword.js\");\nconst subschema_1 = __webpack_require__(/*! ./subschema */ \"./node_modules/conf/node_modules/ajv/dist/compile/validate/subschema.js\");\nconst codegen_1 = __webpack_require__(/*! ../codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst names_1 = __webpack_require__(/*! ../names */ \"./node_modules/conf/node_modules/ajv/dist/compile/names.js\");\nconst resolve_1 = __webpack_require__(/*! ../resolve */ \"./node_modules/conf/node_modules/ajv/dist/compile/resolve.js\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst errors_1 = __webpack_require__(/*! ../errors */ \"./node_modules/conf/node_modules/ajv/dist/compile/errors.js\");\n// schema compilation - generates validation function, subschemaCode (below) is used for subschemas\nfunction validateFunctionCode(it) {\n if (isSchemaObj(it)) {\n checkKeywords(it);\n if (schemaCxtHasRules(it)) {\n topSchemaObjCode(it);\n return;\n }\n }\n validateFunction(it, () => (0, boolSchema_1.topBoolOrEmptySchema)(it));\n}\nexports.validateFunctionCode = validateFunctionCode;\nfunction validateFunction({ gen, validateName, schema, schemaEnv, opts }, body) {\n if (opts.code.es5) {\n gen.func(validateName, (0, codegen_1._) `${names_1.default.data}, ${names_1.default.valCxt}`, schemaEnv.$async, () => {\n gen.code((0, codegen_1._) `\"use strict\"; ${funcSourceUrl(schema, opts)}`);\n destructureValCxtES5(gen, opts);\n gen.code(body);\n });\n }\n else {\n gen.func(validateName, (0, codegen_1._) `${names_1.default.data}, ${destructureValCxt(opts)}`, schemaEnv.$async, () => gen.code(funcSourceUrl(schema, opts)).code(body));\n }\n}\nfunction destructureValCxt(opts) {\n return (0, codegen_1._) `{${names_1.default.instancePath}=\"\", ${names_1.default.parentData}, ${names_1.default.parentDataProperty}, ${names_1.default.rootData}=${names_1.default.data}${opts.dynamicRef ? (0, codegen_1._) `, ${names_1.default.dynamicAnchors}={}` : codegen_1.nil}}={}`;\n}\nfunction destructureValCxtES5(gen, opts) {\n gen.if(names_1.default.valCxt, () => {\n gen.var(names_1.default.instancePath, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.instancePath}`);\n gen.var(names_1.default.parentData, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.parentData}`);\n gen.var(names_1.default.parentDataProperty, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.parentDataProperty}`);\n gen.var(names_1.default.rootData, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.rootData}`);\n if (opts.dynamicRef)\n gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.dynamicAnchors}`);\n }, () => {\n gen.var(names_1.default.instancePath, (0, codegen_1._) `\"\"`);\n gen.var(names_1.default.parentData, (0, codegen_1._) `undefined`);\n gen.var(names_1.default.parentDataProperty, (0, codegen_1._) `undefined`);\n gen.var(names_1.default.rootData, names_1.default.data);\n if (opts.dynamicRef)\n gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `{}`);\n });\n}\nfunction topSchemaObjCode(it) {\n const { schema, opts, gen } = it;\n validateFunction(it, () => {\n if (opts.$comment && schema.$comment)\n commentKeyword(it);\n checkNoDefault(it);\n gen.let(names_1.default.vErrors, null);\n gen.let(names_1.default.errors, 0);\n if (opts.unevaluated)\n resetEvaluated(it);\n typeAndKeywords(it);\n returnResults(it);\n });\n return;\n}\nfunction resetEvaluated(it) {\n // TODO maybe some hook to execute it in the end to check whether props/items are Name, as in assignEvaluated\n const { gen, validateName } = it;\n it.evaluated = gen.const(\"evaluated\", (0, codegen_1._) `${validateName}.evaluated`);\n gen.if((0, codegen_1._) `${it.evaluated}.dynamicProps`, () => gen.assign((0, codegen_1._) `${it.evaluated}.props`, (0, codegen_1._) `undefined`));\n gen.if((0, codegen_1._) `${it.evaluated}.dynamicItems`, () => gen.assign((0, codegen_1._) `${it.evaluated}.items`, (0, codegen_1._) `undefined`));\n}\nfunction funcSourceUrl(schema, opts) {\n const schId = typeof schema == \"object\" && schema[opts.schemaId];\n return schId && (opts.code.source || opts.code.process) ? (0, codegen_1._) `/*# sourceURL=${schId} */` : codegen_1.nil;\n}\n// schema compilation - this function is used recursively to generate code for sub-schemas\nfunction subschemaCode(it, valid) {\n if (isSchemaObj(it)) {\n checkKeywords(it);\n if (schemaCxtHasRules(it)) {\n subSchemaObjCode(it, valid);\n return;\n }\n }\n (0, boolSchema_1.boolOrEmptySchema)(it, valid);\n}\nfunction schemaCxtHasRules({ schema, self }) {\n if (typeof schema == \"boolean\")\n return !schema;\n for (const key in schema)\n if (self.RULES.all[key])\n return true;\n return false;\n}\nfunction isSchemaObj(it) {\n return typeof it.schema != \"boolean\";\n}\nfunction subSchemaObjCode(it, valid) {\n const { schema, gen, opts } = it;\n if (opts.$comment && schema.$comment)\n commentKeyword(it);\n updateContext(it);\n checkAsyncSchema(it);\n const errsCount = gen.const(\"_errs\", names_1.default.errors);\n typeAndKeywords(it, errsCount);\n // TODO var\n gen.var(valid, (0, codegen_1._) `${errsCount} === ${names_1.default.errors}`);\n}\nfunction checkKeywords(it) {\n (0, util_1.checkUnknownRules)(it);\n checkRefsAndKeywords(it);\n}\nfunction typeAndKeywords(it, errsCount) {\n if (it.opts.jtd)\n return schemaKeywords(it, [], false, errsCount);\n const types = (0, dataType_1.getSchemaTypes)(it.schema);\n const checkedTypes = (0, dataType_1.coerceAndCheckDataType)(it, types);\n schemaKeywords(it, types, !checkedTypes, errsCount);\n}\nfunction checkRefsAndKeywords(it) {\n const { schema, errSchemaPath, opts, self } = it;\n if (schema.$ref && opts.ignoreKeywordsWithRef && (0, util_1.schemaHasRulesButRef)(schema, self.RULES)) {\n self.logger.warn(`$ref: keywords ignored in schema at path \"${errSchemaPath}\"`);\n }\n}\nfunction checkNoDefault(it) {\n const { schema, opts } = it;\n if (schema.default !== undefined && opts.useDefaults && opts.strictSchema) {\n (0, util_1.checkStrictMode)(it, \"default is ignored in the schema root\");\n }\n}\nfunction updateContext(it) {\n const schId = it.schema[it.opts.schemaId];\n if (schId)\n it.baseId = (0, resolve_1.resolveUrl)(it.opts.uriResolver, it.baseId, schId);\n}\nfunction checkAsyncSchema(it) {\n if (it.schema.$async && !it.schemaEnv.$async)\n throw new Error(\"async schema in sync schema\");\n}\nfunction commentKeyword({ gen, schemaEnv, schema, errSchemaPath, opts }) {\n const msg = schema.$comment;\n if (opts.$comment === true) {\n gen.code((0, codegen_1._) `${names_1.default.self}.logger.log(${msg})`);\n }\n else if (typeof opts.$comment == \"function\") {\n const schemaPath = (0, codegen_1.str) `${errSchemaPath}/$comment`;\n const rootName = gen.scopeValue(\"root\", { ref: schemaEnv.root });\n gen.code((0, codegen_1._) `${names_1.default.self}.opts.$comment(${msg}, ${schemaPath}, ${rootName}.schema)`);\n }\n}\nfunction returnResults(it) {\n const { gen, schemaEnv, validateName, ValidationError, opts } = it;\n if (schemaEnv.$async) {\n // TODO assign unevaluated\n gen.if((0, codegen_1._) `${names_1.default.errors} === 0`, () => gen.return(names_1.default.data), () => gen.throw((0, codegen_1._) `new ${ValidationError}(${names_1.default.vErrors})`));\n }\n else {\n gen.assign((0, codegen_1._) `${validateName}.errors`, names_1.default.vErrors);\n if (opts.unevaluated)\n assignEvaluated(it);\n gen.return((0, codegen_1._) `${names_1.default.errors} === 0`);\n }\n}\nfunction assignEvaluated({ gen, evaluated, props, items }) {\n if (props instanceof codegen_1.Name)\n gen.assign((0, codegen_1._) `${evaluated}.props`, props);\n if (items instanceof codegen_1.Name)\n gen.assign((0, codegen_1._) `${evaluated}.items`, items);\n}\nfunction schemaKeywords(it, types, typeErrors, errsCount) {\n const { gen, schema, data, allErrors, opts, self } = it;\n const { RULES } = self;\n if (schema.$ref && (opts.ignoreKeywordsWithRef || !(0, util_1.schemaHasRulesButRef)(schema, RULES))) {\n gen.block(() => keywordCode(it, \"$ref\", RULES.all.$ref.definition)); // TODO typecast\n return;\n }\n if (!opts.jtd)\n checkStrictTypes(it, types);\n gen.block(() => {\n for (const group of RULES.rules)\n groupKeywords(group);\n groupKeywords(RULES.post);\n });\n function groupKeywords(group) {\n if (!(0, applicability_1.shouldUseGroup)(schema, group))\n return;\n if (group.type) {\n gen.if((0, dataType_2.checkDataType)(group.type, data, opts.strictNumbers));\n iterateKeywords(it, group);\n if (types.length === 1 && types[0] === group.type && typeErrors) {\n gen.else();\n (0, dataType_2.reportTypeError)(it);\n }\n gen.endIf();\n }\n else {\n iterateKeywords(it, group);\n }\n // TODO make it \"ok\" call?\n if (!allErrors)\n gen.if((0, codegen_1._) `${names_1.default.errors} === ${errsCount || 0}`);\n }\n}\nfunction iterateKeywords(it, group) {\n const { gen, schema, opts: { useDefaults }, } = it;\n if (useDefaults)\n (0, defaults_1.assignDefaults)(it, group.type);\n gen.block(() => {\n for (const rule of group.rules) {\n if ((0, applicability_1.shouldUseRule)(schema, rule)) {\n keywordCode(it, rule.keyword, rule.definition, group.type);\n }\n }\n });\n}\nfunction checkStrictTypes(it, types) {\n if (it.schemaEnv.meta || !it.opts.strictTypes)\n return;\n checkContextTypes(it, types);\n if (!it.opts.allowUnionTypes)\n checkMultipleTypes(it, types);\n checkKeywordTypes(it, it.dataTypes);\n}\nfunction checkContextTypes(it, types) {\n if (!types.length)\n return;\n if (!it.dataTypes.length) {\n it.dataTypes = types;\n return;\n }\n types.forEach((t) => {\n if (!includesType(it.dataTypes, t)) {\n strictTypesError(it, `type \"${t}\" not allowed by context \"${it.dataTypes.join(\",\")}\"`);\n }\n });\n narrowSchemaTypes(it, types);\n}\nfunction checkMultipleTypes(it, ts) {\n if (ts.length > 1 && !(ts.length === 2 && ts.includes(\"null\"))) {\n strictTypesError(it, \"use allowUnionTypes to allow union type keyword\");\n }\n}\nfunction checkKeywordTypes(it, ts) {\n const rules = it.self.RULES.all;\n for (const keyword in rules) {\n const rule = rules[keyword];\n if (typeof rule == \"object\" && (0, applicability_1.shouldUseRule)(it.schema, rule)) {\n const { type } = rule.definition;\n if (type.length && !type.some((t) => hasApplicableType(ts, t))) {\n strictTypesError(it, `missing type \"${type.join(\",\")}\" for keyword \"${keyword}\"`);\n }\n }\n }\n}\nfunction hasApplicableType(schTs, kwdT) {\n return schTs.includes(kwdT) || (kwdT === \"number\" && schTs.includes(\"integer\"));\n}\nfunction includesType(ts, t) {\n return ts.includes(t) || (t === \"integer\" && ts.includes(\"number\"));\n}\nfunction narrowSchemaTypes(it, withTypes) {\n const ts = [];\n for (const t of it.dataTypes) {\n if (includesType(withTypes, t))\n ts.push(t);\n else if (withTypes.includes(\"integer\") && t === \"number\")\n ts.push(\"integer\");\n }\n it.dataTypes = ts;\n}\nfunction strictTypesError(it, msg) {\n const schemaPath = it.schemaEnv.baseId + it.errSchemaPath;\n msg += ` at \"${schemaPath}\" (strictTypes)`;\n (0, util_1.checkStrictMode)(it, msg, it.opts.strictTypes);\n}\nclass KeywordCxt {\n constructor(it, def, keyword) {\n (0, keyword_1.validateKeywordUsage)(it, def, keyword);\n this.gen = it.gen;\n this.allErrors = it.allErrors;\n this.keyword = keyword;\n this.data = it.data;\n this.schema = it.schema[keyword];\n this.$data = def.$data && it.opts.$data && this.schema && this.schema.$data;\n this.schemaValue = (0, util_1.schemaRefOrVal)(it, this.schema, keyword, this.$data);\n this.schemaType = def.schemaType;\n this.parentSchema = it.schema;\n this.params = {};\n this.it = it;\n this.def = def;\n if (this.$data) {\n this.schemaCode = it.gen.const(\"vSchema\", getData(this.$data, it));\n }\n else {\n this.schemaCode = this.schemaValue;\n if (!(0, keyword_1.validSchemaType)(this.schema, def.schemaType, def.allowUndefined)) {\n throw new Error(`${keyword} value must be ${JSON.stringify(def.schemaType)}`);\n }\n }\n if (\"code\" in def ? def.trackErrors : def.errors !== false) {\n this.errsCount = it.gen.const(\"_errs\", names_1.default.errors);\n }\n }\n result(condition, successAction, failAction) {\n this.failResult((0, codegen_1.not)(condition), successAction, failAction);\n }\n failResult(condition, successAction, failAction) {\n this.gen.if(condition);\n if (failAction)\n failAction();\n else\n this.error();\n if (successAction) {\n this.gen.else();\n successAction();\n if (this.allErrors)\n this.gen.endIf();\n }\n else {\n if (this.allErrors)\n this.gen.endIf();\n else\n this.gen.else();\n }\n }\n pass(condition, failAction) {\n this.failResult((0, codegen_1.not)(condition), undefined, failAction);\n }\n fail(condition) {\n if (condition === undefined) {\n this.error();\n if (!this.allErrors)\n this.gen.if(false); // this branch will be removed by gen.optimize\n return;\n }\n this.gen.if(condition);\n this.error();\n if (this.allErrors)\n this.gen.endIf();\n else\n this.gen.else();\n }\n fail$data(condition) {\n if (!this.$data)\n return this.fail(condition);\n const { schemaCode } = this;\n this.fail((0, codegen_1._) `${schemaCode} !== undefined && (${(0, codegen_1.or)(this.invalid$data(), condition)})`);\n }\n error(append, errorParams, errorPaths) {\n if (errorParams) {\n this.setParams(errorParams);\n this._error(append, errorPaths);\n this.setParams({});\n return;\n }\n this._error(append, errorPaths);\n }\n _error(append, errorPaths) {\n ;\n (append ? errors_1.reportExtraError : errors_1.reportError)(this, this.def.error, errorPaths);\n }\n $dataError() {\n (0, errors_1.reportError)(this, this.def.$dataError || errors_1.keyword$DataError);\n }\n reset() {\n if (this.errsCount === undefined)\n throw new Error('add \"trackErrors\" to keyword definition');\n (0, errors_1.resetErrorsCount)(this.gen, this.errsCount);\n }\n ok(cond) {\n if (!this.allErrors)\n this.gen.if(cond);\n }\n setParams(obj, assign) {\n if (assign)\n Object.assign(this.params, obj);\n else\n this.params = obj;\n }\n block$data(valid, codeBlock, $dataValid = codegen_1.nil) {\n this.gen.block(() => {\n this.check$data(valid, $dataValid);\n codeBlock();\n });\n }\n check$data(valid = codegen_1.nil, $dataValid = codegen_1.nil) {\n if (!this.$data)\n return;\n const { gen, schemaCode, schemaType, def } = this;\n gen.if((0, codegen_1.or)((0, codegen_1._) `${schemaCode} === undefined`, $dataValid));\n if (valid !== codegen_1.nil)\n gen.assign(valid, true);\n if (schemaType.length || def.validateSchema) {\n gen.elseIf(this.invalid$data());\n this.$dataError();\n if (valid !== codegen_1.nil)\n gen.assign(valid, false);\n }\n gen.else();\n }\n invalid$data() {\n const { gen, schemaCode, schemaType, def, it } = this;\n return (0, codegen_1.or)(wrong$DataType(), invalid$DataSchema());\n function wrong$DataType() {\n if (schemaType.length) {\n /* istanbul ignore if */\n if (!(schemaCode instanceof codegen_1.Name))\n throw new Error(\"ajv implementation error\");\n const st = Array.isArray(schemaType) ? schemaType : [schemaType];\n return (0, codegen_1._) `${(0, dataType_2.checkDataTypes)(st, schemaCode, it.opts.strictNumbers, dataType_2.DataType.Wrong)}`;\n }\n return codegen_1.nil;\n }\n function invalid$DataSchema() {\n if (def.validateSchema) {\n const validateSchemaRef = gen.scopeValue(\"validate$data\", { ref: def.validateSchema }); // TODO value.code for standalone\n return (0, codegen_1._) `!${validateSchemaRef}(${schemaCode})`;\n }\n return codegen_1.nil;\n }\n }\n subschema(appl, valid) {\n const subschema = (0, subschema_1.getSubschema)(this.it, appl);\n (0, subschema_1.extendSubschemaData)(subschema, this.it, appl);\n (0, subschema_1.extendSubschemaMode)(subschema, appl);\n const nextContext = { ...this.it, ...subschema, items: undefined, props: undefined };\n subschemaCode(nextContext, valid);\n return nextContext;\n }\n mergeEvaluated(schemaCxt, toName) {\n const { it, gen } = this;\n if (!it.opts.unevaluated)\n return;\n if (it.props !== true && schemaCxt.props !== undefined) {\n it.props = util_1.mergeEvaluated.props(gen, schemaCxt.props, it.props, toName);\n }\n if (it.items !== true && schemaCxt.items !== undefined) {\n it.items = util_1.mergeEvaluated.items(gen, schemaCxt.items, it.items, toName);\n }\n }\n mergeValidEvaluated(schemaCxt, valid) {\n const { it, gen } = this;\n if (it.opts.unevaluated && (it.props !== true || it.items !== true)) {\n gen.if(valid, () => this.mergeEvaluated(schemaCxt, codegen_1.Name));\n return true;\n }\n }\n}\nexports.KeywordCxt = KeywordCxt;\nfunction keywordCode(it, keyword, def, ruleType) {\n const cxt = new KeywordCxt(it, def, keyword);\n if (\"code\" in def) {\n def.code(cxt, ruleType);\n }\n else if (cxt.$data && def.validate) {\n (0, keyword_1.funcKeywordCode)(cxt, def);\n }\n else if (\"macro\" in def) {\n (0, keyword_1.macroKeywordCode)(cxt, def);\n }\n else if (def.compile || def.validate) {\n (0, keyword_1.funcKeywordCode)(cxt, def);\n }\n}\nconst JSON_POINTER = /^\\/(?:[^~]|~0|~1)*$/;\nconst RELATIVE_JSON_POINTER = /^([0-9]+)(#|\\/(?:[^~]|~0|~1)*)?$/;\nfunction getData($data, { dataLevel, dataNames, dataPathArr }) {\n let jsonPointer;\n let data;\n if ($data === \"\")\n return names_1.default.rootData;\n if ($data[0] === \"/\") {\n if (!JSON_POINTER.test($data))\n throw new Error(`Invalid JSON-pointer: ${$data}`);\n jsonPointer = $data;\n data = names_1.default.rootData;\n }\n else {\n const matches = RELATIVE_JSON_POINTER.exec($data);\n if (!matches)\n throw new Error(`Invalid JSON-pointer: ${$data}`);\n const up = +matches[1];\n jsonPointer = matches[2];\n if (jsonPointer === \"#\") {\n if (up >= dataLevel)\n throw new Error(errorMsg(\"property/index\", up));\n return dataPathArr[dataLevel - up];\n }\n if (up > dataLevel)\n throw new Error(errorMsg(\"data\", up));\n data = dataNames[dataLevel - up];\n if (!jsonPointer)\n return data;\n }\n let expr = data;\n const segments = jsonPointer.split(\"/\");\n for (const segment of segments) {\n if (segment) {\n data = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)((0, util_1.unescapeJsonPointer)(segment))}`;\n expr = (0, codegen_1._) `${expr} && ${data}`;\n }\n }\n return expr;\n function errorMsg(pointerType, up) {\n return `Cannot access ${pointerType} ${up} levels up, current level is ${dataLevel}`;\n }\n}\nexports.getData = getData;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/compile/validate/index.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/compile/validate/keyword.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/compile/validate/keyword.js ***! - \*****************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.validateKeywordUsage = exports.validSchemaType = exports.funcKeywordCode = exports.macroKeywordCode = void 0;\nconst codegen_1 = __webpack_require__(/*! ../codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst names_1 = __webpack_require__(/*! ../names */ \"./node_modules/conf/node_modules/ajv/dist/compile/names.js\");\nconst code_1 = __webpack_require__(/*! ../../vocabularies/code */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/code.js\");\nconst errors_1 = __webpack_require__(/*! ../errors */ \"./node_modules/conf/node_modules/ajv/dist/compile/errors.js\");\nfunction macroKeywordCode(cxt, def) {\n const { gen, keyword, schema, parentSchema, it } = cxt;\n const macroSchema = def.macro.call(it.self, schema, parentSchema, it);\n const schemaRef = useKeyword(gen, keyword, macroSchema);\n if (it.opts.validateSchema !== false)\n it.self.validateSchema(macroSchema, true);\n const valid = gen.name(\"valid\");\n cxt.subschema({\n schema: macroSchema,\n schemaPath: codegen_1.nil,\n errSchemaPath: `${it.errSchemaPath}/${keyword}`,\n topSchemaRef: schemaRef,\n compositeRule: true,\n }, valid);\n cxt.pass(valid, () => cxt.error(true));\n}\nexports.macroKeywordCode = macroKeywordCode;\nfunction funcKeywordCode(cxt, def) {\n var _a;\n const { gen, keyword, schema, parentSchema, $data, it } = cxt;\n checkAsyncKeyword(it, def);\n const validate = !$data && def.compile ? def.compile.call(it.self, schema, parentSchema, it) : def.validate;\n const validateRef = useKeyword(gen, keyword, validate);\n const valid = gen.let(\"valid\");\n cxt.block$data(valid, validateKeyword);\n cxt.ok((_a = def.valid) !== null && _a !== void 0 ? _a : valid);\n function validateKeyword() {\n if (def.errors === false) {\n assignValid();\n if (def.modifying)\n modifyData(cxt);\n reportErrs(() => cxt.error());\n }\n else {\n const ruleErrs = def.async ? validateAsync() : validateSync();\n if (def.modifying)\n modifyData(cxt);\n reportErrs(() => addErrs(cxt, ruleErrs));\n }\n }\n function validateAsync() {\n const ruleErrs = gen.let(\"ruleErrs\", null);\n gen.try(() => assignValid((0, codegen_1._) `await `), (e) => gen.assign(valid, false).if((0, codegen_1._) `${e} instanceof ${it.ValidationError}`, () => gen.assign(ruleErrs, (0, codegen_1._) `${e}.errors`), () => gen.throw(e)));\n return ruleErrs;\n }\n function validateSync() {\n const validateErrs = (0, codegen_1._) `${validateRef}.errors`;\n gen.assign(validateErrs, null);\n assignValid(codegen_1.nil);\n return validateErrs;\n }\n function assignValid(_await = def.async ? (0, codegen_1._) `await ` : codegen_1.nil) {\n const passCxt = it.opts.passContext ? names_1.default.this : names_1.default.self;\n const passSchema = !((\"compile\" in def && !$data) || def.schema === false);\n gen.assign(valid, (0, codegen_1._) `${_await}${(0, code_1.callValidateCode)(cxt, validateRef, passCxt, passSchema)}`, def.modifying);\n }\n function reportErrs(errors) {\n var _a;\n gen.if((0, codegen_1.not)((_a = def.valid) !== null && _a !== void 0 ? _a : valid), errors);\n }\n}\nexports.funcKeywordCode = funcKeywordCode;\nfunction modifyData(cxt) {\n const { gen, data, it } = cxt;\n gen.if(it.parentData, () => gen.assign(data, (0, codegen_1._) `${it.parentData}[${it.parentDataProperty}]`));\n}\nfunction addErrs(cxt, errs) {\n const { gen } = cxt;\n gen.if((0, codegen_1._) `Array.isArray(${errs})`, () => {\n gen\n .assign(names_1.default.vErrors, (0, codegen_1._) `${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`)\n .assign(names_1.default.errors, (0, codegen_1._) `${names_1.default.vErrors}.length`);\n (0, errors_1.extendErrors)(cxt);\n }, () => cxt.error());\n}\nfunction checkAsyncKeyword({ schemaEnv }, def) {\n if (def.async && !schemaEnv.$async)\n throw new Error(\"async keyword in sync schema\");\n}\nfunction useKeyword(gen, keyword, result) {\n if (result === undefined)\n throw new Error(`keyword \"${keyword}\" failed to compile`);\n return gen.scopeValue(\"keyword\", typeof result == \"function\" ? { ref: result } : { ref: result, code: (0, codegen_1.stringify)(result) });\n}\nfunction validSchemaType(schema, schemaType, allowUndefined = false) {\n // TODO add tests\n return (!schemaType.length ||\n schemaType.some((st) => st === \"array\"\n ? Array.isArray(schema)\n : st === \"object\"\n ? schema && typeof schema == \"object\" && !Array.isArray(schema)\n : typeof schema == st || (allowUndefined && typeof schema == \"undefined\")));\n}\nexports.validSchemaType = validSchemaType;\nfunction validateKeywordUsage({ schema, opts, self, errSchemaPath }, def, keyword) {\n /* istanbul ignore if */\n if (Array.isArray(def.keyword) ? !def.keyword.includes(keyword) : def.keyword !== keyword) {\n throw new Error(\"ajv implementation error\");\n }\n const deps = def.dependencies;\n if (deps === null || deps === void 0 ? void 0 : deps.some((kwd) => !Object.prototype.hasOwnProperty.call(schema, kwd))) {\n throw new Error(`parent schema must have dependencies of ${keyword}: ${deps.join(\",\")}`);\n }\n if (def.validateSchema) {\n const valid = def.validateSchema(schema[keyword]);\n if (!valid) {\n const msg = `keyword \"${keyword}\" value is invalid at path \"${errSchemaPath}\": ` +\n self.errorsText(def.validateSchema.errors);\n if (opts.validateSchema === \"log\")\n self.logger.error(msg);\n else\n throw new Error(msg);\n }\n }\n}\nexports.validateKeywordUsage = validateKeywordUsage;\n//# sourceMappingURL=keyword.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/compile/validate/keyword.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/compile/validate/subschema.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/compile/validate/subschema.js ***! - \*******************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.extendSubschemaMode = exports.extendSubschemaData = exports.getSubschema = void 0;\nconst codegen_1 = __webpack_require__(/*! ../codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nfunction getSubschema(it, { keyword, schemaProp, schema, schemaPath, errSchemaPath, topSchemaRef }) {\n if (keyword !== undefined && schema !== undefined) {\n throw new Error('both \"keyword\" and \"schema\" passed, only one allowed');\n }\n if (keyword !== undefined) {\n const sch = it.schema[keyword];\n return schemaProp === undefined\n ? {\n schema: sch,\n schemaPath: (0, codegen_1._) `${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}`,\n errSchemaPath: `${it.errSchemaPath}/${keyword}`,\n }\n : {\n schema: sch[schemaProp],\n schemaPath: (0, codegen_1._) `${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}${(0, codegen_1.getProperty)(schemaProp)}`,\n errSchemaPath: `${it.errSchemaPath}/${keyword}/${(0, util_1.escapeFragment)(schemaProp)}`,\n };\n }\n if (schema !== undefined) {\n if (schemaPath === undefined || errSchemaPath === undefined || topSchemaRef === undefined) {\n throw new Error('\"schemaPath\", \"errSchemaPath\" and \"topSchemaRef\" are required with \"schema\"');\n }\n return {\n schema,\n schemaPath,\n topSchemaRef,\n errSchemaPath,\n };\n }\n throw new Error('either \"keyword\" or \"schema\" must be passed');\n}\nexports.getSubschema = getSubschema;\nfunction extendSubschemaData(subschema, it, { dataProp, dataPropType: dpType, data, dataTypes, propertyName }) {\n if (data !== undefined && dataProp !== undefined) {\n throw new Error('both \"data\" and \"dataProp\" passed, only one allowed');\n }\n const { gen } = it;\n if (dataProp !== undefined) {\n const { errorPath, dataPathArr, opts } = it;\n const nextData = gen.let(\"data\", (0, codegen_1._) `${it.data}${(0, codegen_1.getProperty)(dataProp)}`, true);\n dataContextProps(nextData);\n subschema.errorPath = (0, codegen_1.str) `${errorPath}${(0, util_1.getErrorPath)(dataProp, dpType, opts.jsPropertySyntax)}`;\n subschema.parentDataProperty = (0, codegen_1._) `${dataProp}`;\n subschema.dataPathArr = [...dataPathArr, subschema.parentDataProperty];\n }\n if (data !== undefined) {\n const nextData = data instanceof codegen_1.Name ? data : gen.let(\"data\", data, true); // replaceable if used once?\n dataContextProps(nextData);\n if (propertyName !== undefined)\n subschema.propertyName = propertyName;\n // TODO something is possibly wrong here with not changing parentDataProperty and not appending dataPathArr\n }\n if (dataTypes)\n subschema.dataTypes = dataTypes;\n function dataContextProps(_nextData) {\n subschema.data = _nextData;\n subschema.dataLevel = it.dataLevel + 1;\n subschema.dataTypes = [];\n it.definedProperties = new Set();\n subschema.parentData = it.data;\n subschema.dataNames = [...it.dataNames, _nextData];\n }\n}\nexports.extendSubschemaData = extendSubschemaData;\nfunction extendSubschemaMode(subschema, { jtdDiscriminator, jtdMetadata, compositeRule, createErrors, allErrors }) {\n if (compositeRule !== undefined)\n subschema.compositeRule = compositeRule;\n if (createErrors !== undefined)\n subschema.createErrors = createErrors;\n if (allErrors !== undefined)\n subschema.allErrors = allErrors;\n subschema.jtdDiscriminator = jtdDiscriminator; // not inherited\n subschema.jtdMetadata = jtdMetadata; // not inherited\n}\nexports.extendSubschemaMode = extendSubschemaMode;\n//# sourceMappingURL=subschema.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/compile/validate/subschema.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/core.js": -/*!*********************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/core.js ***! - \*********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0;\nvar validate_1 = __webpack_require__(/*! ./compile/validate */ \"./node_modules/conf/node_modules/ajv/dist/compile/validate/index.js\");\nObject.defineProperty(exports, \"KeywordCxt\", ({ enumerable: true, get: function () { return validate_1.KeywordCxt; } }));\nvar codegen_1 = __webpack_require__(/*! ./compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nObject.defineProperty(exports, \"_\", ({ enumerable: true, get: function () { return codegen_1._; } }));\nObject.defineProperty(exports, \"str\", ({ enumerable: true, get: function () { return codegen_1.str; } }));\nObject.defineProperty(exports, \"stringify\", ({ enumerable: true, get: function () { return codegen_1.stringify; } }));\nObject.defineProperty(exports, \"nil\", ({ enumerable: true, get: function () { return codegen_1.nil; } }));\nObject.defineProperty(exports, \"Name\", ({ enumerable: true, get: function () { return codegen_1.Name; } }));\nObject.defineProperty(exports, \"CodeGen\", ({ enumerable: true, get: function () { return codegen_1.CodeGen; } }));\nconst validation_error_1 = __webpack_require__(/*! ./runtime/validation_error */ \"./node_modules/conf/node_modules/ajv/dist/runtime/validation_error.js\");\nconst ref_error_1 = __webpack_require__(/*! ./compile/ref_error */ \"./node_modules/conf/node_modules/ajv/dist/compile/ref_error.js\");\nconst rules_1 = __webpack_require__(/*! ./compile/rules */ \"./node_modules/conf/node_modules/ajv/dist/compile/rules.js\");\nconst compile_1 = __webpack_require__(/*! ./compile */ \"./node_modules/conf/node_modules/ajv/dist/compile/index.js\");\nconst codegen_2 = __webpack_require__(/*! ./compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst resolve_1 = __webpack_require__(/*! ./compile/resolve */ \"./node_modules/conf/node_modules/ajv/dist/compile/resolve.js\");\nconst dataType_1 = __webpack_require__(/*! ./compile/validate/dataType */ \"./node_modules/conf/node_modules/ajv/dist/compile/validate/dataType.js\");\nconst util_1 = __webpack_require__(/*! ./compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst $dataRefSchema = __webpack_require__(/*! ./refs/data.json */ \"./node_modules/conf/node_modules/ajv/dist/refs/data.json\");\nconst uri_1 = __webpack_require__(/*! ./runtime/uri */ \"./node_modules/conf/node_modules/ajv/dist/runtime/uri.js\");\nconst defaultRegExp = (str, flags) => new RegExp(str, flags);\ndefaultRegExp.code = \"new RegExp\";\nconst META_IGNORE_OPTIONS = [\"removeAdditional\", \"useDefaults\", \"coerceTypes\"];\nconst EXT_SCOPE_NAMES = new Set([\n \"validate\",\n \"serialize\",\n \"parse\",\n \"wrapper\",\n \"root\",\n \"schema\",\n \"keyword\",\n \"pattern\",\n \"formats\",\n \"validate$data\",\n \"func\",\n \"obj\",\n \"Error\",\n]);\nconst removedOptions = {\n errorDataPath: \"\",\n format: \"`validateFormats: false` can be used instead.\",\n nullable: '\"nullable\" keyword is supported by default.',\n jsonPointers: \"Deprecated jsPropertySyntax can be used instead.\",\n extendRefs: \"Deprecated ignoreKeywordsWithRef can be used instead.\",\n missingRefs: \"Pass empty schema with $id that should be ignored to ajv.addSchema.\",\n processCode: \"Use option `code: {process: (code, schemaEnv: object) => string}`\",\n sourceCode: \"Use option `code: {source: true}`\",\n strictDefaults: \"It is default now, see option `strict`.\",\n strictKeywords: \"It is default now, see option `strict`.\",\n uniqueItems: '\"uniqueItems\" keyword is always validated.',\n unknownFormats: \"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).\",\n cache: \"Map is used as cache, schema object as key.\",\n serialize: \"Map is used as cache, schema object as key.\",\n ajvErrors: \"It is default now.\",\n};\nconst deprecatedOptions = {\n ignoreKeywordsWithRef: \"\",\n jsPropertySyntax: \"\",\n unicode: '\"minLength\"/\"maxLength\" account for unicode characters by default.',\n};\nconst MAX_EXPRESSION = 200;\n// eslint-disable-next-line complexity\nfunction requiredOptions(o) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;\n const s = o.strict;\n const _optz = (_a = o.code) === null || _a === void 0 ? void 0 : _a.optimize;\n const optimize = _optz === true || _optz === undefined ? 1 : _optz || 0;\n const regExp = (_c = (_b = o.code) === null || _b === void 0 ? void 0 : _b.regExp) !== null && _c !== void 0 ? _c : defaultRegExp;\n const uriResolver = (_d = o.uriResolver) !== null && _d !== void 0 ? _d : uri_1.default;\n return {\n strictSchema: (_f = (_e = o.strictSchema) !== null && _e !== void 0 ? _e : s) !== null && _f !== void 0 ? _f : true,\n strictNumbers: (_h = (_g = o.strictNumbers) !== null && _g !== void 0 ? _g : s) !== null && _h !== void 0 ? _h : true,\n strictTypes: (_k = (_j = o.strictTypes) !== null && _j !== void 0 ? _j : s) !== null && _k !== void 0 ? _k : \"log\",\n strictTuples: (_m = (_l = o.strictTuples) !== null && _l !== void 0 ? _l : s) !== null && _m !== void 0 ? _m : \"log\",\n strictRequired: (_p = (_o = o.strictRequired) !== null && _o !== void 0 ? _o : s) !== null && _p !== void 0 ? _p : false,\n code: o.code ? { ...o.code, optimize, regExp } : { optimize, regExp },\n loopRequired: (_q = o.loopRequired) !== null && _q !== void 0 ? _q : MAX_EXPRESSION,\n loopEnum: (_r = o.loopEnum) !== null && _r !== void 0 ? _r : MAX_EXPRESSION,\n meta: (_s = o.meta) !== null && _s !== void 0 ? _s : true,\n messages: (_t = o.messages) !== null && _t !== void 0 ? _t : true,\n inlineRefs: (_u = o.inlineRefs) !== null && _u !== void 0 ? _u : true,\n schemaId: (_v = o.schemaId) !== null && _v !== void 0 ? _v : \"$id\",\n addUsedSchema: (_w = o.addUsedSchema) !== null && _w !== void 0 ? _w : true,\n validateSchema: (_x = o.validateSchema) !== null && _x !== void 0 ? _x : true,\n validateFormats: (_y = o.validateFormats) !== null && _y !== void 0 ? _y : true,\n unicodeRegExp: (_z = o.unicodeRegExp) !== null && _z !== void 0 ? _z : true,\n int32range: (_0 = o.int32range) !== null && _0 !== void 0 ? _0 : true,\n uriResolver: uriResolver,\n };\n}\nclass Ajv {\n constructor(opts = {}) {\n this.schemas = {};\n this.refs = {};\n this.formats = {};\n this._compilations = new Set();\n this._loading = {};\n this._cache = new Map();\n opts = this.opts = { ...opts, ...requiredOptions(opts) };\n const { es5, lines } = this.opts.code;\n this.scope = new codegen_2.ValueScope({ scope: {}, prefixes: EXT_SCOPE_NAMES, es5, lines });\n this.logger = getLogger(opts.logger);\n const formatOpt = opts.validateFormats;\n opts.validateFormats = false;\n this.RULES = (0, rules_1.getRules)();\n checkOptions.call(this, removedOptions, opts, \"NOT SUPPORTED\");\n checkOptions.call(this, deprecatedOptions, opts, \"DEPRECATED\", \"warn\");\n this._metaOpts = getMetaSchemaOptions.call(this);\n if (opts.formats)\n addInitialFormats.call(this);\n this._addVocabularies();\n this._addDefaultMetaSchema();\n if (opts.keywords)\n addInitialKeywords.call(this, opts.keywords);\n if (typeof opts.meta == \"object\")\n this.addMetaSchema(opts.meta);\n addInitialSchemas.call(this);\n opts.validateFormats = formatOpt;\n }\n _addVocabularies() {\n this.addKeyword(\"$async\");\n }\n _addDefaultMetaSchema() {\n const { $data, meta, schemaId } = this.opts;\n let _dataRefSchema = $dataRefSchema;\n if (schemaId === \"id\") {\n _dataRefSchema = { ...$dataRefSchema };\n _dataRefSchema.id = _dataRefSchema.$id;\n delete _dataRefSchema.$id;\n }\n if (meta && $data)\n this.addMetaSchema(_dataRefSchema, _dataRefSchema[schemaId], false);\n }\n defaultMeta() {\n const { meta, schemaId } = this.opts;\n return (this.opts.defaultMeta = typeof meta == \"object\" ? meta[schemaId] || meta : undefined);\n }\n validate(schemaKeyRef, // key, ref or schema object\n data // to be validated\n ) {\n let v;\n if (typeof schemaKeyRef == \"string\") {\n v = this.getSchema(schemaKeyRef);\n if (!v)\n throw new Error(`no schema with key or ref \"${schemaKeyRef}\"`);\n }\n else {\n v = this.compile(schemaKeyRef);\n }\n const valid = v(data);\n if (!(\"$async\" in v))\n this.errors = v.errors;\n return valid;\n }\n compile(schema, _meta) {\n const sch = this._addSchema(schema, _meta);\n return (sch.validate || this._compileSchemaEnv(sch));\n }\n compileAsync(schema, meta) {\n if (typeof this.opts.loadSchema != \"function\") {\n throw new Error(\"options.loadSchema should be a function\");\n }\n const { loadSchema } = this.opts;\n return runCompileAsync.call(this, schema, meta);\n async function runCompileAsync(_schema, _meta) {\n await loadMetaSchema.call(this, _schema.$schema);\n const sch = this._addSchema(_schema, _meta);\n return sch.validate || _compileAsync.call(this, sch);\n }\n async function loadMetaSchema($ref) {\n if ($ref && !this.getSchema($ref)) {\n await runCompileAsync.call(this, { $ref }, true);\n }\n }\n async function _compileAsync(sch) {\n try {\n return this._compileSchemaEnv(sch);\n }\n catch (e) {\n if (!(e instanceof ref_error_1.default))\n throw e;\n checkLoaded.call(this, e);\n await loadMissingSchema.call(this, e.missingSchema);\n return _compileAsync.call(this, sch);\n }\n }\n function checkLoaded({ missingSchema: ref, missingRef }) {\n if (this.refs[ref]) {\n throw new Error(`AnySchema ${ref} is loaded but ${missingRef} cannot be resolved`);\n }\n }\n async function loadMissingSchema(ref) {\n const _schema = await _loadSchema.call(this, ref);\n if (!this.refs[ref])\n await loadMetaSchema.call(this, _schema.$schema);\n if (!this.refs[ref])\n this.addSchema(_schema, ref, meta);\n }\n async function _loadSchema(ref) {\n const p = this._loading[ref];\n if (p)\n return p;\n try {\n return await (this._loading[ref] = loadSchema(ref));\n }\n finally {\n delete this._loading[ref];\n }\n }\n }\n // Adds schema to the instance\n addSchema(schema, // If array is passed, `key` will be ignored\n key, // Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`.\n _meta, // true if schema is a meta-schema. Used internally, addMetaSchema should be used instead.\n _validateSchema = this.opts.validateSchema // false to skip schema validation. Used internally, option validateSchema should be used instead.\n ) {\n if (Array.isArray(schema)) {\n for (const sch of schema)\n this.addSchema(sch, undefined, _meta, _validateSchema);\n return this;\n }\n let id;\n if (typeof schema === \"object\") {\n const { schemaId } = this.opts;\n id = schema[schemaId];\n if (id !== undefined && typeof id != \"string\") {\n throw new Error(`schema ${schemaId} must be string`);\n }\n }\n key = (0, resolve_1.normalizeId)(key || id);\n this._checkUnique(key);\n this.schemas[key] = this._addSchema(schema, _meta, key, _validateSchema, true);\n return this;\n }\n // Add schema that will be used to validate other schemas\n // options in META_IGNORE_OPTIONS are alway set to false\n addMetaSchema(schema, key, // schema key\n _validateSchema = this.opts.validateSchema // false to skip schema validation, can be used to override validateSchema option for meta-schema\n ) {\n this.addSchema(schema, key, true, _validateSchema);\n return this;\n }\n // Validate schema against its meta-schema\n validateSchema(schema, throwOrLogError) {\n if (typeof schema == \"boolean\")\n return true;\n let $schema;\n $schema = schema.$schema;\n if ($schema !== undefined && typeof $schema != \"string\") {\n throw new Error(\"$schema must be a string\");\n }\n $schema = $schema || this.opts.defaultMeta || this.defaultMeta();\n if (!$schema) {\n this.logger.warn(\"meta-schema not available\");\n this.errors = null;\n return true;\n }\n const valid = this.validate($schema, schema);\n if (!valid && throwOrLogError) {\n const message = \"schema is invalid: \" + this.errorsText();\n if (this.opts.validateSchema === \"log\")\n this.logger.error(message);\n else\n throw new Error(message);\n }\n return valid;\n }\n // Get compiled schema by `key` or `ref`.\n // (`key` that was passed to `addSchema` or full schema reference - `schema.$id` or resolved id)\n getSchema(keyRef) {\n let sch;\n while (typeof (sch = getSchEnv.call(this, keyRef)) == \"string\")\n keyRef = sch;\n if (sch === undefined) {\n const { schemaId } = this.opts;\n const root = new compile_1.SchemaEnv({ schema: {}, schemaId });\n sch = compile_1.resolveSchema.call(this, root, keyRef);\n if (!sch)\n return;\n this.refs[keyRef] = sch;\n }\n return (sch.validate || this._compileSchemaEnv(sch));\n }\n // Remove cached schema(s).\n // If no parameter is passed all schemas but meta-schemas are removed.\n // If RegExp is passed all schemas with key/id matching pattern but meta-schemas are removed.\n // Even if schema is referenced by other schemas it still can be removed as other schemas have local references.\n removeSchema(schemaKeyRef) {\n if (schemaKeyRef instanceof RegExp) {\n this._removeAllSchemas(this.schemas, schemaKeyRef);\n this._removeAllSchemas(this.refs, schemaKeyRef);\n return this;\n }\n switch (typeof schemaKeyRef) {\n case \"undefined\":\n this._removeAllSchemas(this.schemas);\n this._removeAllSchemas(this.refs);\n this._cache.clear();\n return this;\n case \"string\": {\n const sch = getSchEnv.call(this, schemaKeyRef);\n if (typeof sch == \"object\")\n this._cache.delete(sch.schema);\n delete this.schemas[schemaKeyRef];\n delete this.refs[schemaKeyRef];\n return this;\n }\n case \"object\": {\n const cacheKey = schemaKeyRef;\n this._cache.delete(cacheKey);\n let id = schemaKeyRef[this.opts.schemaId];\n if (id) {\n id = (0, resolve_1.normalizeId)(id);\n delete this.schemas[id];\n delete this.refs[id];\n }\n return this;\n }\n default:\n throw new Error(\"ajv.removeSchema: invalid parameter\");\n }\n }\n // add \"vocabulary\" - a collection of keywords\n addVocabulary(definitions) {\n for (const def of definitions)\n this.addKeyword(def);\n return this;\n }\n addKeyword(kwdOrDef, def // deprecated\n ) {\n let keyword;\n if (typeof kwdOrDef == \"string\") {\n keyword = kwdOrDef;\n if (typeof def == \"object\") {\n this.logger.warn(\"these parameters are deprecated, see docs for addKeyword\");\n def.keyword = keyword;\n }\n }\n else if (typeof kwdOrDef == \"object\" && def === undefined) {\n def = kwdOrDef;\n keyword = def.keyword;\n if (Array.isArray(keyword) && !keyword.length) {\n throw new Error(\"addKeywords: keyword must be string or non-empty array\");\n }\n }\n else {\n throw new Error(\"invalid addKeywords parameters\");\n }\n checkKeyword.call(this, keyword, def);\n if (!def) {\n (0, util_1.eachItem)(keyword, (kwd) => addRule.call(this, kwd));\n return this;\n }\n keywordMetaschema.call(this, def);\n const definition = {\n ...def,\n type: (0, dataType_1.getJSONTypes)(def.type),\n schemaType: (0, dataType_1.getJSONTypes)(def.schemaType),\n };\n (0, util_1.eachItem)(keyword, definition.type.length === 0\n ? (k) => addRule.call(this, k, definition)\n : (k) => definition.type.forEach((t) => addRule.call(this, k, definition, t)));\n return this;\n }\n getKeyword(keyword) {\n const rule = this.RULES.all[keyword];\n return typeof rule == \"object\" ? rule.definition : !!rule;\n }\n // Remove keyword\n removeKeyword(keyword) {\n // TODO return type should be Ajv\n const { RULES } = this;\n delete RULES.keywords[keyword];\n delete RULES.all[keyword];\n for (const group of RULES.rules) {\n const i = group.rules.findIndex((rule) => rule.keyword === keyword);\n if (i >= 0)\n group.rules.splice(i, 1);\n }\n return this;\n }\n // Add format\n addFormat(name, format) {\n if (typeof format == \"string\")\n format = new RegExp(format);\n this.formats[name] = format;\n return this;\n }\n errorsText(errors = this.errors, // optional array of validation errors\n { separator = \", \", dataVar = \"data\" } = {} // optional options with properties `separator` and `dataVar`\n ) {\n if (!errors || errors.length === 0)\n return \"No errors\";\n return errors\n .map((e) => `${dataVar}${e.instancePath} ${e.message}`)\n .reduce((text, msg) => text + separator + msg);\n }\n $dataMetaSchema(metaSchema, keywordsJsonPointers) {\n const rules = this.RULES.all;\n metaSchema = JSON.parse(JSON.stringify(metaSchema));\n for (const jsonPointer of keywordsJsonPointers) {\n const segments = jsonPointer.split(\"/\").slice(1); // first segment is an empty string\n let keywords = metaSchema;\n for (const seg of segments)\n keywords = keywords[seg];\n for (const key in rules) {\n const rule = rules[key];\n if (typeof rule != \"object\")\n continue;\n const { $data } = rule.definition;\n const schema = keywords[key];\n if ($data && schema)\n keywords[key] = schemaOrData(schema);\n }\n }\n return metaSchema;\n }\n _removeAllSchemas(schemas, regex) {\n for (const keyRef in schemas) {\n const sch = schemas[keyRef];\n if (!regex || regex.test(keyRef)) {\n if (typeof sch == \"string\") {\n delete schemas[keyRef];\n }\n else if (sch && !sch.meta) {\n this._cache.delete(sch.schema);\n delete schemas[keyRef];\n }\n }\n }\n }\n _addSchema(schema, meta, baseId, validateSchema = this.opts.validateSchema, addSchema = this.opts.addUsedSchema) {\n let id;\n const { schemaId } = this.opts;\n if (typeof schema == \"object\") {\n id = schema[schemaId];\n }\n else {\n if (this.opts.jtd)\n throw new Error(\"schema must be object\");\n else if (typeof schema != \"boolean\")\n throw new Error(\"schema must be object or boolean\");\n }\n let sch = this._cache.get(schema);\n if (sch !== undefined)\n return sch;\n baseId = (0, resolve_1.normalizeId)(id || baseId);\n const localRefs = resolve_1.getSchemaRefs.call(this, schema, baseId);\n sch = new compile_1.SchemaEnv({ schema, schemaId, meta, baseId, localRefs });\n this._cache.set(sch.schema, sch);\n if (addSchema && !baseId.startsWith(\"#\")) {\n // TODO atm it is allowed to overwrite schemas without id (instead of not adding them)\n if (baseId)\n this._checkUnique(baseId);\n this.refs[baseId] = sch;\n }\n if (validateSchema)\n this.validateSchema(schema, true);\n return sch;\n }\n _checkUnique(id) {\n if (this.schemas[id] || this.refs[id]) {\n throw new Error(`schema with key or id \"${id}\" already exists`);\n }\n }\n _compileSchemaEnv(sch) {\n if (sch.meta)\n this._compileMetaSchema(sch);\n else\n compile_1.compileSchema.call(this, sch);\n /* istanbul ignore if */\n if (!sch.validate)\n throw new Error(\"ajv implementation error\");\n return sch.validate;\n }\n _compileMetaSchema(sch) {\n const currentOpts = this.opts;\n this.opts = this._metaOpts;\n try {\n compile_1.compileSchema.call(this, sch);\n }\n finally {\n this.opts = currentOpts;\n }\n }\n}\nexports[\"default\"] = Ajv;\nAjv.ValidationError = validation_error_1.default;\nAjv.MissingRefError = ref_error_1.default;\nfunction checkOptions(checkOpts, options, msg, log = \"error\") {\n for (const key in checkOpts) {\n const opt = key;\n if (opt in options)\n this.logger[log](`${msg}: option ${key}. ${checkOpts[opt]}`);\n }\n}\nfunction getSchEnv(keyRef) {\n keyRef = (0, resolve_1.normalizeId)(keyRef); // TODO tests fail without this line\n return this.schemas[keyRef] || this.refs[keyRef];\n}\nfunction addInitialSchemas() {\n const optsSchemas = this.opts.schemas;\n if (!optsSchemas)\n return;\n if (Array.isArray(optsSchemas))\n this.addSchema(optsSchemas);\n else\n for (const key in optsSchemas)\n this.addSchema(optsSchemas[key], key);\n}\nfunction addInitialFormats() {\n for (const name in this.opts.formats) {\n const format = this.opts.formats[name];\n if (format)\n this.addFormat(name, format);\n }\n}\nfunction addInitialKeywords(defs) {\n if (Array.isArray(defs)) {\n this.addVocabulary(defs);\n return;\n }\n this.logger.warn(\"keywords option as map is deprecated, pass array\");\n for (const keyword in defs) {\n const def = defs[keyword];\n if (!def.keyword)\n def.keyword = keyword;\n this.addKeyword(def);\n }\n}\nfunction getMetaSchemaOptions() {\n const metaOpts = { ...this.opts };\n for (const opt of META_IGNORE_OPTIONS)\n delete metaOpts[opt];\n return metaOpts;\n}\nconst noLogs = { log() { }, warn() { }, error() { } };\nfunction getLogger(logger) {\n if (logger === false)\n return noLogs;\n if (logger === undefined)\n return console;\n if (logger.log && logger.warn && logger.error)\n return logger;\n throw new Error(\"logger must implement log, warn and error methods\");\n}\nconst KEYWORD_NAME = /^[a-z_$][a-z0-9_$:-]*$/i;\nfunction checkKeyword(keyword, def) {\n const { RULES } = this;\n (0, util_1.eachItem)(keyword, (kwd) => {\n if (RULES.keywords[kwd])\n throw new Error(`Keyword ${kwd} is already defined`);\n if (!KEYWORD_NAME.test(kwd))\n throw new Error(`Keyword ${kwd} has invalid name`);\n });\n if (!def)\n return;\n if (def.$data && !(\"code\" in def || \"validate\" in def)) {\n throw new Error('$data keyword must have \"code\" or \"validate\" function');\n }\n}\nfunction addRule(keyword, definition, dataType) {\n var _a;\n const post = definition === null || definition === void 0 ? void 0 : definition.post;\n if (dataType && post)\n throw new Error('keyword with \"post\" flag cannot have \"type\"');\n const { RULES } = this;\n let ruleGroup = post ? RULES.post : RULES.rules.find(({ type: t }) => t === dataType);\n if (!ruleGroup) {\n ruleGroup = { type: dataType, rules: [] };\n RULES.rules.push(ruleGroup);\n }\n RULES.keywords[keyword] = true;\n if (!definition)\n return;\n const rule = {\n keyword,\n definition: {\n ...definition,\n type: (0, dataType_1.getJSONTypes)(definition.type),\n schemaType: (0, dataType_1.getJSONTypes)(definition.schemaType),\n },\n };\n if (definition.before)\n addBeforeRule.call(this, ruleGroup, rule, definition.before);\n else\n ruleGroup.rules.push(rule);\n RULES.all[keyword] = rule;\n (_a = definition.implements) === null || _a === void 0 ? void 0 : _a.forEach((kwd) => this.addKeyword(kwd));\n}\nfunction addBeforeRule(ruleGroup, rule, before) {\n const i = ruleGroup.rules.findIndex((_rule) => _rule.keyword === before);\n if (i >= 0) {\n ruleGroup.rules.splice(i, 0, rule);\n }\n else {\n ruleGroup.rules.push(rule);\n this.logger.warn(`rule ${before} is not defined`);\n }\n}\nfunction keywordMetaschema(def) {\n let { metaSchema } = def;\n if (metaSchema === undefined)\n return;\n if (def.$data && this.opts.$data)\n metaSchema = schemaOrData(metaSchema);\n def.validateSchema = this.compile(metaSchema, true);\n}\nconst $dataRef = {\n $ref: \"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#\",\n};\nfunction schemaOrData(schema) {\n return { anyOf: [schema, $dataRef] };\n}\n//# sourceMappingURL=core.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/core.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/runtime/equal.js": -/*!******************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/runtime/equal.js ***! - \******************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n// https://github.com/ajv-validator/ajv/issues/889\nconst equal = __webpack_require__(/*! fast-deep-equal */ \"./node_modules/fast-deep-equal/index.js\");\nequal.code = 'require(\"ajv/dist/runtime/equal\").default';\nexports[\"default\"] = equal;\n//# sourceMappingURL=equal.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/runtime/equal.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/runtime/ucs2length.js": -/*!***********************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/runtime/ucs2length.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n// https://mathiasbynens.be/notes/javascript-encoding\n// https://github.com/bestiejs/punycode.js - punycode.ucs2.decode\nfunction ucs2length(str) {\n const len = str.length;\n let length = 0;\n let pos = 0;\n let value;\n while (pos < len) {\n length++;\n value = str.charCodeAt(pos++);\n if (value >= 0xd800 && value <= 0xdbff && pos < len) {\n // high surrogate, and there is a next character\n value = str.charCodeAt(pos);\n if ((value & 0xfc00) === 0xdc00)\n pos++; // low surrogate\n }\n }\n return length;\n}\nexports[\"default\"] = ucs2length;\nucs2length.code = 'require(\"ajv/dist/runtime/ucs2length\").default';\n//# sourceMappingURL=ucs2length.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/runtime/ucs2length.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/runtime/uri.js": -/*!****************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/runtime/uri.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst uri = __webpack_require__(/*! uri-js */ \"./node_modules/uri-js/dist/es5/uri.all.js\");\nuri.code = 'require(\"ajv/dist/runtime/uri\").default';\nexports[\"default\"] = uri;\n//# sourceMappingURL=uri.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/runtime/uri.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/runtime/validation_error.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/runtime/validation_error.js ***! - \*****************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nclass ValidationError extends Error {\n constructor(errors) {\n super(\"validation failed\");\n this.errors = errors;\n this.ajv = this.validation = true;\n }\n}\nexports[\"default\"] = ValidationError;\n//# sourceMappingURL=validation_error.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/runtime/validation_error.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js ***! - \********************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.validateAdditionalItems = void 0;\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst error = {\n message: ({ params: { len } }) => (0, codegen_1.str) `must NOT have more than ${len} items`,\n params: ({ params: { len } }) => (0, codegen_1._) `{limit: ${len}}`,\n};\nconst def = {\n keyword: \"additionalItems\",\n type: \"array\",\n schemaType: [\"boolean\", \"object\"],\n before: \"uniqueItems\",\n error,\n code(cxt) {\n const { parentSchema, it } = cxt;\n const { items } = parentSchema;\n if (!Array.isArray(items)) {\n (0, util_1.checkStrictMode)(it, '\"additionalItems\" is ignored when \"items\" is not an array of schemas');\n return;\n }\n validateAdditionalItems(cxt, items);\n },\n};\nfunction validateAdditionalItems(cxt, items) {\n const { gen, schema, data, keyword, it } = cxt;\n it.items = true;\n const len = gen.const(\"len\", (0, codegen_1._) `${data}.length`);\n if (schema === false) {\n cxt.setParams({ len: items.length });\n cxt.pass((0, codegen_1._) `${len} <= ${items.length}`);\n }\n else if (typeof schema == \"object\" && !(0, util_1.alwaysValidSchema)(it, schema)) {\n const valid = gen.var(\"valid\", (0, codegen_1._) `${len} <= ${items.length}`); // TODO var\n gen.if((0, codegen_1.not)(valid), () => validateItems(valid));\n cxt.ok(valid);\n }\n function validateItems(valid) {\n gen.forRange(\"i\", items.length, len, (i) => {\n cxt.subschema({ keyword, dataProp: i, dataPropType: util_1.Type.Num }, valid);\n if (!it.allErrors)\n gen.if((0, codegen_1.not)(valid), () => gen.break());\n });\n }\n}\nexports.validateAdditionalItems = validateAdditionalItems;\nexports[\"default\"] = def;\n//# sourceMappingURL=additionalItems.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js": -/*!*************************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js ***! - \*************************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/code.js\");\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst names_1 = __webpack_require__(/*! ../../compile/names */ \"./node_modules/conf/node_modules/ajv/dist/compile/names.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst error = {\n message: \"must NOT have additional properties\",\n params: ({ params }) => (0, codegen_1._) `{additionalProperty: ${params.additionalProperty}}`,\n};\nconst def = {\n keyword: \"additionalProperties\",\n type: [\"object\"],\n schemaType: [\"boolean\", \"object\"],\n allowUndefined: true,\n trackErrors: true,\n error,\n code(cxt) {\n const { gen, schema, parentSchema, data, errsCount, it } = cxt;\n /* istanbul ignore if */\n if (!errsCount)\n throw new Error(\"ajv implementation error\");\n const { allErrors, opts } = it;\n it.props = true;\n if (opts.removeAdditional !== \"all\" && (0, util_1.alwaysValidSchema)(it, schema))\n return;\n const props = (0, code_1.allSchemaProperties)(parentSchema.properties);\n const patProps = (0, code_1.allSchemaProperties)(parentSchema.patternProperties);\n checkAdditionalProperties();\n cxt.ok((0, codegen_1._) `${errsCount} === ${names_1.default.errors}`);\n function checkAdditionalProperties() {\n gen.forIn(\"key\", data, (key) => {\n if (!props.length && !patProps.length)\n additionalPropertyCode(key);\n else\n gen.if(isAdditional(key), () => additionalPropertyCode(key));\n });\n }\n function isAdditional(key) {\n let definedProp;\n if (props.length > 8) {\n // TODO maybe an option instead of hard-coded 8?\n const propsSchema = (0, util_1.schemaRefOrVal)(it, parentSchema.properties, \"properties\");\n definedProp = (0, code_1.isOwnProperty)(gen, propsSchema, key);\n }\n else if (props.length) {\n definedProp = (0, codegen_1.or)(...props.map((p) => (0, codegen_1._) `${key} === ${p}`));\n }\n else {\n definedProp = codegen_1.nil;\n }\n if (patProps.length) {\n definedProp = (0, codegen_1.or)(definedProp, ...patProps.map((p) => (0, codegen_1._) `${(0, code_1.usePattern)(cxt, p)}.test(${key})`));\n }\n return (0, codegen_1.not)(definedProp);\n }\n function deleteAdditional(key) {\n gen.code((0, codegen_1._) `delete ${data}[${key}]`);\n }\n function additionalPropertyCode(key) {\n if (opts.removeAdditional === \"all\" || (opts.removeAdditional && schema === false)) {\n deleteAdditional(key);\n return;\n }\n if (schema === false) {\n cxt.setParams({ additionalProperty: key });\n cxt.error();\n if (!allErrors)\n gen.break();\n return;\n }\n if (typeof schema == \"object\" && !(0, util_1.alwaysValidSchema)(it, schema)) {\n const valid = gen.name(\"valid\");\n if (opts.removeAdditional === \"failing\") {\n applyAdditionalSchema(key, valid, false);\n gen.if((0, codegen_1.not)(valid), () => {\n cxt.reset();\n deleteAdditional(key);\n });\n }\n else {\n applyAdditionalSchema(key, valid);\n if (!allErrors)\n gen.if((0, codegen_1.not)(valid), () => gen.break());\n }\n }\n }\n function applyAdditionalSchema(key, valid, errors) {\n const subschema = {\n keyword: \"additionalProperties\",\n dataProp: key,\n dataPropType: util_1.Type.Str,\n };\n if (errors === false) {\n Object.assign(subschema, {\n compositeRule: true,\n createErrors: false,\n allErrors: false,\n });\n }\n cxt.subschema(subschema, valid);\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=additionalProperties.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/allOf.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/allOf.js ***! - \**********************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst def = {\n keyword: \"allOf\",\n schemaType: \"array\",\n code(cxt) {\n const { gen, schema, it } = cxt;\n /* istanbul ignore if */\n if (!Array.isArray(schema))\n throw new Error(\"ajv implementation error\");\n const valid = gen.name(\"valid\");\n schema.forEach((sch, i) => {\n if ((0, util_1.alwaysValidSchema)(it, sch))\n return;\n const schCxt = cxt.subschema({ keyword: \"allOf\", schemaProp: i }, valid);\n cxt.ok(valid);\n cxt.mergeEvaluated(schCxt);\n });\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=allOf.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/allOf.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/anyOf.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/anyOf.js ***! - \**********************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/code.js\");\nconst def = {\n keyword: \"anyOf\",\n schemaType: \"array\",\n trackErrors: true,\n code: code_1.validateUnion,\n error: { message: \"must match a schema in anyOf\" },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=anyOf.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/anyOf.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/contains.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/contains.js ***! - \*************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst error = {\n message: ({ params: { min, max } }) => max === undefined\n ? (0, codegen_1.str) `must contain at least ${min} valid item(s)`\n : (0, codegen_1.str) `must contain at least ${min} and no more than ${max} valid item(s)`,\n params: ({ params: { min, max } }) => max === undefined ? (0, codegen_1._) `{minContains: ${min}}` : (0, codegen_1._) `{minContains: ${min}, maxContains: ${max}}`,\n};\nconst def = {\n keyword: \"contains\",\n type: \"array\",\n schemaType: [\"object\", \"boolean\"],\n before: \"uniqueItems\",\n trackErrors: true,\n error,\n code(cxt) {\n const { gen, schema, parentSchema, data, it } = cxt;\n let min;\n let max;\n const { minContains, maxContains } = parentSchema;\n if (it.opts.next) {\n min = minContains === undefined ? 1 : minContains;\n max = maxContains;\n }\n else {\n min = 1;\n }\n const len = gen.const(\"len\", (0, codegen_1._) `${data}.length`);\n cxt.setParams({ min, max });\n if (max === undefined && min === 0) {\n (0, util_1.checkStrictMode)(it, `\"minContains\" == 0 without \"maxContains\": \"contains\" keyword ignored`);\n return;\n }\n if (max !== undefined && min > max) {\n (0, util_1.checkStrictMode)(it, `\"minContains\" > \"maxContains\" is always invalid`);\n cxt.fail();\n return;\n }\n if ((0, util_1.alwaysValidSchema)(it, schema)) {\n let cond = (0, codegen_1._) `${len} >= ${min}`;\n if (max !== undefined)\n cond = (0, codegen_1._) `${cond} && ${len} <= ${max}`;\n cxt.pass(cond);\n return;\n }\n it.items = true;\n const valid = gen.name(\"valid\");\n if (max === undefined && min === 1) {\n validateItems(valid, () => gen.if(valid, () => gen.break()));\n }\n else if (min === 0) {\n gen.let(valid, true);\n if (max !== undefined)\n gen.if((0, codegen_1._) `${data}.length > 0`, validateItemsWithCount);\n }\n else {\n gen.let(valid, false);\n validateItemsWithCount();\n }\n cxt.result(valid, () => cxt.reset());\n function validateItemsWithCount() {\n const schValid = gen.name(\"_valid\");\n const count = gen.let(\"count\", 0);\n validateItems(schValid, () => gen.if(schValid, () => checkLimits(count)));\n }\n function validateItems(_valid, block) {\n gen.forRange(\"i\", 0, len, (i) => {\n cxt.subschema({\n keyword: \"contains\",\n dataProp: i,\n dataPropType: util_1.Type.Num,\n compositeRule: true,\n }, _valid);\n block();\n });\n }\n function checkLimits(count) {\n gen.code((0, codegen_1._) `${count}++`);\n if (max === undefined) {\n gen.if((0, codegen_1._) `${count} >= ${min}`, () => gen.assign(valid, true).break());\n }\n else {\n gen.if((0, codegen_1._) `${count} > ${max}`, () => gen.assign(valid, false).break());\n if (min === 1)\n gen.assign(valid, true);\n else\n gen.if((0, codegen_1._) `${count} >= ${min}`, () => gen.assign(valid, true));\n }\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=contains.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/contains.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/dependencies.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/dependencies.js ***! - \*****************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.validateSchemaDeps = exports.validatePropertyDeps = exports.error = void 0;\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/code.js\");\nexports.error = {\n message: ({ params: { property, depsCount, deps } }) => {\n const property_ies = depsCount === 1 ? \"property\" : \"properties\";\n return (0, codegen_1.str) `must have ${property_ies} ${deps} when property ${property} is present`;\n },\n params: ({ params: { property, depsCount, deps, missingProperty } }) => (0, codegen_1._) `{property: ${property},\n missingProperty: ${missingProperty},\n depsCount: ${depsCount},\n deps: ${deps}}`, // TODO change to reference\n};\nconst def = {\n keyword: \"dependencies\",\n type: \"object\",\n schemaType: \"object\",\n error: exports.error,\n code(cxt) {\n const [propDeps, schDeps] = splitDependencies(cxt);\n validatePropertyDeps(cxt, propDeps);\n validateSchemaDeps(cxt, schDeps);\n },\n};\nfunction splitDependencies({ schema }) {\n const propertyDeps = {};\n const schemaDeps = {};\n for (const key in schema) {\n if (key === \"__proto__\")\n continue;\n const deps = Array.isArray(schema[key]) ? propertyDeps : schemaDeps;\n deps[key] = schema[key];\n }\n return [propertyDeps, schemaDeps];\n}\nfunction validatePropertyDeps(cxt, propertyDeps = cxt.schema) {\n const { gen, data, it } = cxt;\n if (Object.keys(propertyDeps).length === 0)\n return;\n const missing = gen.let(\"missing\");\n for (const prop in propertyDeps) {\n const deps = propertyDeps[prop];\n if (deps.length === 0)\n continue;\n const hasProperty = (0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties);\n cxt.setParams({\n property: prop,\n depsCount: deps.length,\n deps: deps.join(\", \"),\n });\n if (it.allErrors) {\n gen.if(hasProperty, () => {\n for (const depProp of deps) {\n (0, code_1.checkReportMissingProp)(cxt, depProp);\n }\n });\n }\n else {\n gen.if((0, codegen_1._) `${hasProperty} && (${(0, code_1.checkMissingProp)(cxt, deps, missing)})`);\n (0, code_1.reportMissingProp)(cxt, missing);\n gen.else();\n }\n }\n}\nexports.validatePropertyDeps = validatePropertyDeps;\nfunction validateSchemaDeps(cxt, schemaDeps = cxt.schema) {\n const { gen, data, keyword, it } = cxt;\n const valid = gen.name(\"valid\");\n for (const prop in schemaDeps) {\n if ((0, util_1.alwaysValidSchema)(it, schemaDeps[prop]))\n continue;\n gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties), () => {\n const schCxt = cxt.subschema({ keyword, schemaProp: prop }, valid);\n cxt.mergeValidEvaluated(schCxt, valid);\n }, () => gen.var(valid, true) // TODO var\n );\n cxt.ok(valid);\n }\n}\nexports.validateSchemaDeps = validateSchemaDeps;\nexports[\"default\"] = def;\n//# sourceMappingURL=dependencies.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/dependencies.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/if.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/if.js ***! - \*******************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst error = {\n message: ({ params }) => (0, codegen_1.str) `must match \"${params.ifClause}\" schema`,\n params: ({ params }) => (0, codegen_1._) `{failingKeyword: ${params.ifClause}}`,\n};\nconst def = {\n keyword: \"if\",\n schemaType: [\"object\", \"boolean\"],\n trackErrors: true,\n error,\n code(cxt) {\n const { gen, parentSchema, it } = cxt;\n if (parentSchema.then === undefined && parentSchema.else === undefined) {\n (0, util_1.checkStrictMode)(it, '\"if\" without \"then\" and \"else\" is ignored');\n }\n const hasThen = hasSchema(it, \"then\");\n const hasElse = hasSchema(it, \"else\");\n if (!hasThen && !hasElse)\n return;\n const valid = gen.let(\"valid\", true);\n const schValid = gen.name(\"_valid\");\n validateIf();\n cxt.reset();\n if (hasThen && hasElse) {\n const ifClause = gen.let(\"ifClause\");\n cxt.setParams({ ifClause });\n gen.if(schValid, validateClause(\"then\", ifClause), validateClause(\"else\", ifClause));\n }\n else if (hasThen) {\n gen.if(schValid, validateClause(\"then\"));\n }\n else {\n gen.if((0, codegen_1.not)(schValid), validateClause(\"else\"));\n }\n cxt.pass(valid, () => cxt.error(true));\n function validateIf() {\n const schCxt = cxt.subschema({\n keyword: \"if\",\n compositeRule: true,\n createErrors: false,\n allErrors: false,\n }, schValid);\n cxt.mergeEvaluated(schCxt);\n }\n function validateClause(keyword, ifClause) {\n return () => {\n const schCxt = cxt.subschema({ keyword }, schValid);\n gen.assign(valid, schValid);\n cxt.mergeValidEvaluated(schCxt, valid);\n if (ifClause)\n gen.assign(ifClause, (0, codegen_1._) `${keyword}`);\n else\n cxt.setParams({ ifClause: keyword });\n };\n }\n },\n};\nfunction hasSchema(it, keyword) {\n const schema = it.schema[keyword];\n return schema !== undefined && !(0, util_1.alwaysValidSchema)(it, schema);\n}\nexports[\"default\"] = def;\n//# sourceMappingURL=if.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/if.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/index.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/index.js ***! - \**********************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst additionalItems_1 = __webpack_require__(/*! ./additionalItems */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js\");\nconst prefixItems_1 = __webpack_require__(/*! ./prefixItems */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js\");\nconst items_1 = __webpack_require__(/*! ./items */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/items.js\");\nconst items2020_1 = __webpack_require__(/*! ./items2020 */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/items2020.js\");\nconst contains_1 = __webpack_require__(/*! ./contains */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/contains.js\");\nconst dependencies_1 = __webpack_require__(/*! ./dependencies */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/dependencies.js\");\nconst propertyNames_1 = __webpack_require__(/*! ./propertyNames */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js\");\nconst additionalProperties_1 = __webpack_require__(/*! ./additionalProperties */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js\");\nconst properties_1 = __webpack_require__(/*! ./properties */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/properties.js\");\nconst patternProperties_1 = __webpack_require__(/*! ./patternProperties */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js\");\nconst not_1 = __webpack_require__(/*! ./not */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/not.js\");\nconst anyOf_1 = __webpack_require__(/*! ./anyOf */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/anyOf.js\");\nconst oneOf_1 = __webpack_require__(/*! ./oneOf */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/oneOf.js\");\nconst allOf_1 = __webpack_require__(/*! ./allOf */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/allOf.js\");\nconst if_1 = __webpack_require__(/*! ./if */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/if.js\");\nconst thenElse_1 = __webpack_require__(/*! ./thenElse */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/thenElse.js\");\nfunction getApplicator(draft2020 = false) {\n const applicator = [\n // any\n not_1.default,\n anyOf_1.default,\n oneOf_1.default,\n allOf_1.default,\n if_1.default,\n thenElse_1.default,\n // object\n propertyNames_1.default,\n additionalProperties_1.default,\n dependencies_1.default,\n properties_1.default,\n patternProperties_1.default,\n ];\n // array\n if (draft2020)\n applicator.push(prefixItems_1.default, items2020_1.default);\n else\n applicator.push(additionalItems_1.default, items_1.default);\n applicator.push(contains_1.default);\n return applicator;\n}\nexports[\"default\"] = getApplicator;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/index.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/items.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/items.js ***! - \**********************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.validateTuple = void 0;\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/code.js\");\nconst def = {\n keyword: \"items\",\n type: \"array\",\n schemaType: [\"object\", \"array\", \"boolean\"],\n before: \"uniqueItems\",\n code(cxt) {\n const { schema, it } = cxt;\n if (Array.isArray(schema))\n return validateTuple(cxt, \"additionalItems\", schema);\n it.items = true;\n if ((0, util_1.alwaysValidSchema)(it, schema))\n return;\n cxt.ok((0, code_1.validateArray)(cxt));\n },\n};\nfunction validateTuple(cxt, extraItems, schArr = cxt.schema) {\n const { gen, parentSchema, data, keyword, it } = cxt;\n checkStrictTuple(parentSchema);\n if (it.opts.unevaluated && schArr.length && it.items !== true) {\n it.items = util_1.mergeEvaluated.items(gen, schArr.length, it.items);\n }\n const valid = gen.name(\"valid\");\n const len = gen.const(\"len\", (0, codegen_1._) `${data}.length`);\n schArr.forEach((sch, i) => {\n if ((0, util_1.alwaysValidSchema)(it, sch))\n return;\n gen.if((0, codegen_1._) `${len} > ${i}`, () => cxt.subschema({\n keyword,\n schemaProp: i,\n dataProp: i,\n }, valid));\n cxt.ok(valid);\n });\n function checkStrictTuple(sch) {\n const { opts, errSchemaPath } = it;\n const l = schArr.length;\n const fullTuple = l === sch.minItems && (l === sch.maxItems || sch[extraItems] === false);\n if (opts.strictTuples && !fullTuple) {\n const msg = `\"${keyword}\" is ${l}-tuple, but minItems or maxItems/${extraItems} are not specified or different at path \"${errSchemaPath}\"`;\n (0, util_1.checkStrictMode)(it, msg, opts.strictTuples);\n }\n }\n}\nexports.validateTuple = validateTuple;\nexports[\"default\"] = def;\n//# sourceMappingURL=items.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/items.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/items2020.js": -/*!**************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/items2020.js ***! - \**************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/code.js\");\nconst additionalItems_1 = __webpack_require__(/*! ./additionalItems */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js\");\nconst error = {\n message: ({ params: { len } }) => (0, codegen_1.str) `must NOT have more than ${len} items`,\n params: ({ params: { len } }) => (0, codegen_1._) `{limit: ${len}}`,\n};\nconst def = {\n keyword: \"items\",\n type: \"array\",\n schemaType: [\"object\", \"boolean\"],\n before: \"uniqueItems\",\n error,\n code(cxt) {\n const { schema, parentSchema, it } = cxt;\n const { prefixItems } = parentSchema;\n it.items = true;\n if ((0, util_1.alwaysValidSchema)(it, schema))\n return;\n if (prefixItems)\n (0, additionalItems_1.validateAdditionalItems)(cxt, prefixItems);\n else\n cxt.ok((0, code_1.validateArray)(cxt));\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=items2020.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/items2020.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/not.js": -/*!********************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/not.js ***! - \********************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst def = {\n keyword: \"not\",\n schemaType: [\"object\", \"boolean\"],\n trackErrors: true,\n code(cxt) {\n const { gen, schema, it } = cxt;\n if ((0, util_1.alwaysValidSchema)(it, schema)) {\n cxt.fail();\n return;\n }\n const valid = gen.name(\"valid\");\n cxt.subschema({\n keyword: \"not\",\n compositeRule: true,\n createErrors: false,\n allErrors: false,\n }, valid);\n cxt.failResult(valid, () => cxt.reset(), () => cxt.error());\n },\n error: { message: \"must NOT be valid\" },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=not.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/not.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/oneOf.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/oneOf.js ***! - \**********************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst error = {\n message: \"must match exactly one schema in oneOf\",\n params: ({ params }) => (0, codegen_1._) `{passingSchemas: ${params.passing}}`,\n};\nconst def = {\n keyword: \"oneOf\",\n schemaType: \"array\",\n trackErrors: true,\n error,\n code(cxt) {\n const { gen, schema, parentSchema, it } = cxt;\n /* istanbul ignore if */\n if (!Array.isArray(schema))\n throw new Error(\"ajv implementation error\");\n if (it.opts.discriminator && parentSchema.discriminator)\n return;\n const schArr = schema;\n const valid = gen.let(\"valid\", false);\n const passing = gen.let(\"passing\", null);\n const schValid = gen.name(\"_valid\");\n cxt.setParams({ passing });\n // TODO possibly fail straight away (with warning or exception) if there are two empty always valid schemas\n gen.block(validateOneOf);\n cxt.result(valid, () => cxt.reset(), () => cxt.error(true));\n function validateOneOf() {\n schArr.forEach((sch, i) => {\n let schCxt;\n if ((0, util_1.alwaysValidSchema)(it, sch)) {\n gen.var(schValid, true);\n }\n else {\n schCxt = cxt.subschema({\n keyword: \"oneOf\",\n schemaProp: i,\n compositeRule: true,\n }, schValid);\n }\n if (i > 0) {\n gen\n .if((0, codegen_1._) `${schValid} && ${valid}`)\n .assign(valid, false)\n .assign(passing, (0, codegen_1._) `[${passing}, ${i}]`)\n .else();\n }\n gen.if(schValid, () => {\n gen.assign(valid, true);\n gen.assign(passing, i);\n if (schCxt)\n cxt.mergeEvaluated(schCxt, codegen_1.Name);\n });\n });\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=oneOf.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/oneOf.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js": -/*!**********************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js ***! - \**********************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/code.js\");\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst util_2 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst def = {\n keyword: \"patternProperties\",\n type: \"object\",\n schemaType: \"object\",\n code(cxt) {\n const { gen, schema, data, parentSchema, it } = cxt;\n const { opts } = it;\n const patterns = (0, code_1.allSchemaProperties)(schema);\n const alwaysValidPatterns = patterns.filter((p) => (0, util_1.alwaysValidSchema)(it, schema[p]));\n if (patterns.length === 0 ||\n (alwaysValidPatterns.length === patterns.length &&\n (!it.opts.unevaluated || it.props === true))) {\n return;\n }\n const checkProperties = opts.strictSchema && !opts.allowMatchingProperties && parentSchema.properties;\n const valid = gen.name(\"valid\");\n if (it.props !== true && !(it.props instanceof codegen_1.Name)) {\n it.props = (0, util_2.evaluatedPropsToName)(gen, it.props);\n }\n const { props } = it;\n validatePatternProperties();\n function validatePatternProperties() {\n for (const pat of patterns) {\n if (checkProperties)\n checkMatchingProperties(pat);\n if (it.allErrors) {\n validateProperties(pat);\n }\n else {\n gen.var(valid, true); // TODO var\n validateProperties(pat);\n gen.if(valid);\n }\n }\n }\n function checkMatchingProperties(pat) {\n for (const prop in checkProperties) {\n if (new RegExp(pat).test(prop)) {\n (0, util_1.checkStrictMode)(it, `property ${prop} matches pattern ${pat} (use allowMatchingProperties)`);\n }\n }\n }\n function validateProperties(pat) {\n gen.forIn(\"key\", data, (key) => {\n gen.if((0, codegen_1._) `${(0, code_1.usePattern)(cxt, pat)}.test(${key})`, () => {\n const alwaysValid = alwaysValidPatterns.includes(pat);\n if (!alwaysValid) {\n cxt.subschema({\n keyword: \"patternProperties\",\n schemaProp: pat,\n dataProp: key,\n dataPropType: util_2.Type.Str,\n }, valid);\n }\n if (it.opts.unevaluated && props !== true) {\n gen.assign((0, codegen_1._) `${props}[${key}]`, true);\n }\n else if (!alwaysValid && !it.allErrors) {\n // can short-circuit if `unevaluatedProperties` is not supported (opts.next === false)\n // or if all properties were evaluated (props === true)\n gen.if((0, codegen_1.not)(valid), () => gen.break());\n }\n });\n });\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=patternProperties.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js ***! - \****************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst items_1 = __webpack_require__(/*! ./items */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/items.js\");\nconst def = {\n keyword: \"prefixItems\",\n type: \"array\",\n schemaType: [\"array\"],\n before: \"uniqueItems\",\n code: (cxt) => (0, items_1.validateTuple)(cxt, \"items\"),\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=prefixItems.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/properties.js": -/*!***************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/properties.js ***! - \***************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst validate_1 = __webpack_require__(/*! ../../compile/validate */ \"./node_modules/conf/node_modules/ajv/dist/compile/validate/index.js\");\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/code.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst additionalProperties_1 = __webpack_require__(/*! ./additionalProperties */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js\");\nconst def = {\n keyword: \"properties\",\n type: \"object\",\n schemaType: \"object\",\n code(cxt) {\n const { gen, schema, parentSchema, data, it } = cxt;\n if (it.opts.removeAdditional === \"all\" && parentSchema.additionalProperties === undefined) {\n additionalProperties_1.default.code(new validate_1.KeywordCxt(it, additionalProperties_1.default, \"additionalProperties\"));\n }\n const allProps = (0, code_1.allSchemaProperties)(schema);\n for (const prop of allProps) {\n it.definedProperties.add(prop);\n }\n if (it.opts.unevaluated && allProps.length && it.props !== true) {\n it.props = util_1.mergeEvaluated.props(gen, (0, util_1.toHash)(allProps), it.props);\n }\n const properties = allProps.filter((p) => !(0, util_1.alwaysValidSchema)(it, schema[p]));\n if (properties.length === 0)\n return;\n const valid = gen.name(\"valid\");\n for (const prop of properties) {\n if (hasDefault(prop)) {\n applyPropertySchema(prop);\n }\n else {\n gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties));\n applyPropertySchema(prop);\n if (!it.allErrors)\n gen.else().var(valid, true);\n gen.endIf();\n }\n cxt.it.definedProperties.add(prop);\n cxt.ok(valid);\n }\n function hasDefault(prop) {\n return it.opts.useDefaults && !it.compositeRule && schema[prop].default !== undefined;\n }\n function applyPropertySchema(prop) {\n cxt.subschema({\n keyword: \"properties\",\n schemaProp: prop,\n dataProp: prop,\n }, valid);\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=properties.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/properties.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js": -/*!******************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js ***! - \******************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst error = {\n message: \"property name must be valid\",\n params: ({ params }) => (0, codegen_1._) `{propertyName: ${params.propertyName}}`,\n};\nconst def = {\n keyword: \"propertyNames\",\n type: \"object\",\n schemaType: [\"object\", \"boolean\"],\n error,\n code(cxt) {\n const { gen, schema, data, it } = cxt;\n if ((0, util_1.alwaysValidSchema)(it, schema))\n return;\n const valid = gen.name(\"valid\");\n gen.forIn(\"key\", data, (key) => {\n cxt.setParams({ propertyName: key });\n cxt.subschema({\n keyword: \"propertyNames\",\n data: key,\n dataTypes: [\"string\"],\n propertyName: key,\n compositeRule: true,\n }, valid);\n gen.if((0, codegen_1.not)(valid), () => {\n cxt.error(true);\n if (!it.allErrors)\n gen.break();\n });\n });\n cxt.ok(valid);\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=propertyNames.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/thenElse.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/thenElse.js ***! - \*************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst def = {\n keyword: [\"then\", \"else\"],\n schemaType: [\"object\", \"boolean\"],\n code({ keyword, parentSchema, it }) {\n if (parentSchema.if === undefined)\n (0, util_1.checkStrictMode)(it, `\"${keyword}\" without \"if\" is ignored`);\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=thenElse.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/thenElse.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/code.js": -/*!**********************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/code.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.validateUnion = exports.validateArray = exports.usePattern = exports.callValidateCode = exports.schemaProperties = exports.allSchemaProperties = exports.noPropertyInData = exports.propertyInData = exports.isOwnProperty = exports.hasPropFunc = exports.reportMissingProp = exports.checkMissingProp = exports.checkReportMissingProp = void 0;\nconst codegen_1 = __webpack_require__(/*! ../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst names_1 = __webpack_require__(/*! ../compile/names */ \"./node_modules/conf/node_modules/ajv/dist/compile/names.js\");\nconst util_2 = __webpack_require__(/*! ../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nfunction checkReportMissingProp(cxt, prop) {\n const { gen, data, it } = cxt;\n gen.if(noPropertyInData(gen, data, prop, it.opts.ownProperties), () => {\n cxt.setParams({ missingProperty: (0, codegen_1._) `${prop}` }, true);\n cxt.error();\n });\n}\nexports.checkReportMissingProp = checkReportMissingProp;\nfunction checkMissingProp({ gen, data, it: { opts } }, properties, missing) {\n return (0, codegen_1.or)(...properties.map((prop) => (0, codegen_1.and)(noPropertyInData(gen, data, prop, opts.ownProperties), (0, codegen_1._) `${missing} = ${prop}`)));\n}\nexports.checkMissingProp = checkMissingProp;\nfunction reportMissingProp(cxt, missing) {\n cxt.setParams({ missingProperty: missing }, true);\n cxt.error();\n}\nexports.reportMissingProp = reportMissingProp;\nfunction hasPropFunc(gen) {\n return gen.scopeValue(\"func\", {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n ref: Object.prototype.hasOwnProperty,\n code: (0, codegen_1._) `Object.prototype.hasOwnProperty`,\n });\n}\nexports.hasPropFunc = hasPropFunc;\nfunction isOwnProperty(gen, data, property) {\n return (0, codegen_1._) `${hasPropFunc(gen)}.call(${data}, ${property})`;\n}\nexports.isOwnProperty = isOwnProperty;\nfunction propertyInData(gen, data, property, ownProperties) {\n const cond = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(property)} !== undefined`;\n return ownProperties ? (0, codegen_1._) `${cond} && ${isOwnProperty(gen, data, property)}` : cond;\n}\nexports.propertyInData = propertyInData;\nfunction noPropertyInData(gen, data, property, ownProperties) {\n const cond = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(property)} === undefined`;\n return ownProperties ? (0, codegen_1.or)(cond, (0, codegen_1.not)(isOwnProperty(gen, data, property))) : cond;\n}\nexports.noPropertyInData = noPropertyInData;\nfunction allSchemaProperties(schemaMap) {\n return schemaMap ? Object.keys(schemaMap).filter((p) => p !== \"__proto__\") : [];\n}\nexports.allSchemaProperties = allSchemaProperties;\nfunction schemaProperties(it, schemaMap) {\n return allSchemaProperties(schemaMap).filter((p) => !(0, util_1.alwaysValidSchema)(it, schemaMap[p]));\n}\nexports.schemaProperties = schemaProperties;\nfunction callValidateCode({ schemaCode, data, it: { gen, topSchemaRef, schemaPath, errorPath }, it }, func, context, passSchema) {\n const dataAndSchema = passSchema ? (0, codegen_1._) `${schemaCode}, ${data}, ${topSchemaRef}${schemaPath}` : data;\n const valCxt = [\n [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, errorPath)],\n [names_1.default.parentData, it.parentData],\n [names_1.default.parentDataProperty, it.parentDataProperty],\n [names_1.default.rootData, names_1.default.rootData],\n ];\n if (it.opts.dynamicRef)\n valCxt.push([names_1.default.dynamicAnchors, names_1.default.dynamicAnchors]);\n const args = (0, codegen_1._) `${dataAndSchema}, ${gen.object(...valCxt)}`;\n return context !== codegen_1.nil ? (0, codegen_1._) `${func}.call(${context}, ${args})` : (0, codegen_1._) `${func}(${args})`;\n}\nexports.callValidateCode = callValidateCode;\nconst newRegExp = (0, codegen_1._) `new RegExp`;\nfunction usePattern({ gen, it: { opts } }, pattern) {\n const u = opts.unicodeRegExp ? \"u\" : \"\";\n const { regExp } = opts.code;\n const rx = regExp(pattern, u);\n return gen.scopeValue(\"pattern\", {\n key: rx.toString(),\n ref: rx,\n code: (0, codegen_1._) `${regExp.code === \"new RegExp\" ? newRegExp : (0, util_2.useFunc)(gen, regExp)}(${pattern}, ${u})`,\n });\n}\nexports.usePattern = usePattern;\nfunction validateArray(cxt) {\n const { gen, data, keyword, it } = cxt;\n const valid = gen.name(\"valid\");\n if (it.allErrors) {\n const validArr = gen.let(\"valid\", true);\n validateItems(() => gen.assign(validArr, false));\n return validArr;\n }\n gen.var(valid, true);\n validateItems(() => gen.break());\n return valid;\n function validateItems(notValid) {\n const len = gen.const(\"len\", (0, codegen_1._) `${data}.length`);\n gen.forRange(\"i\", 0, len, (i) => {\n cxt.subschema({\n keyword,\n dataProp: i,\n dataPropType: util_1.Type.Num,\n }, valid);\n gen.if((0, codegen_1.not)(valid), notValid);\n });\n }\n}\nexports.validateArray = validateArray;\nfunction validateUnion(cxt) {\n const { gen, schema, keyword, it } = cxt;\n /* istanbul ignore if */\n if (!Array.isArray(schema))\n throw new Error(\"ajv implementation error\");\n const alwaysValid = schema.some((sch) => (0, util_1.alwaysValidSchema)(it, sch));\n if (alwaysValid && !it.opts.unevaluated)\n return;\n const valid = gen.let(\"valid\", false);\n const schValid = gen.name(\"_valid\");\n gen.block(() => schema.forEach((_sch, i) => {\n const schCxt = cxt.subschema({\n keyword,\n schemaProp: i,\n compositeRule: true,\n }, schValid);\n gen.assign(valid, (0, codegen_1._) `${valid} || ${schValid}`);\n const merged = cxt.mergeValidEvaluated(schCxt, schValid);\n // can short-circuit if `unevaluatedProperties/Items` not supported (opts.unevaluated !== true)\n // or if all properties and items were evaluated (it.props === true && it.items === true)\n if (!merged)\n gen.if((0, codegen_1.not)(valid));\n }));\n cxt.result(valid, () => cxt.reset(), () => cxt.error(true));\n}\nexports.validateUnion = validateUnion;\n//# sourceMappingURL=code.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/code.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/core/id.js": -/*!*************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/core/id.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst def = {\n keyword: \"id\",\n code() {\n throw new Error('NOT SUPPORTED: keyword \"id\", use \"$id\" for schema ID');\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=id.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/core/id.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/core/index.js": -/*!****************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/core/index.js ***! - \****************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst id_1 = __webpack_require__(/*! ./id */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/core/id.js\");\nconst ref_1 = __webpack_require__(/*! ./ref */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/core/ref.js\");\nconst core = [\n \"$schema\",\n \"$id\",\n \"$defs\",\n \"$vocabulary\",\n { keyword: \"$comment\" },\n \"definitions\",\n id_1.default,\n ref_1.default,\n];\nexports[\"default\"] = core;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/core/index.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/core/ref.js": -/*!**************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/core/ref.js ***! - \**************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.callRef = exports.getValidate = void 0;\nconst ref_error_1 = __webpack_require__(/*! ../../compile/ref_error */ \"./node_modules/conf/node_modules/ajv/dist/compile/ref_error.js\");\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/code.js\");\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst names_1 = __webpack_require__(/*! ../../compile/names */ \"./node_modules/conf/node_modules/ajv/dist/compile/names.js\");\nconst compile_1 = __webpack_require__(/*! ../../compile */ \"./node_modules/conf/node_modules/ajv/dist/compile/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst def = {\n keyword: \"$ref\",\n schemaType: \"string\",\n code(cxt) {\n const { gen, schema: $ref, it } = cxt;\n const { baseId, schemaEnv: env, validateName, opts, self } = it;\n const { root } = env;\n if (($ref === \"#\" || $ref === \"#/\") && baseId === root.baseId)\n return callRootRef();\n const schOrEnv = compile_1.resolveRef.call(self, root, baseId, $ref);\n if (schOrEnv === undefined)\n throw new ref_error_1.default(it.opts.uriResolver, baseId, $ref);\n if (schOrEnv instanceof compile_1.SchemaEnv)\n return callValidate(schOrEnv);\n return inlineRefSchema(schOrEnv);\n function callRootRef() {\n if (env === root)\n return callRef(cxt, validateName, env, env.$async);\n const rootName = gen.scopeValue(\"root\", { ref: root });\n return callRef(cxt, (0, codegen_1._) `${rootName}.validate`, root, root.$async);\n }\n function callValidate(sch) {\n const v = getValidate(cxt, sch);\n callRef(cxt, v, sch, sch.$async);\n }\n function inlineRefSchema(sch) {\n const schName = gen.scopeValue(\"schema\", opts.code.source === true ? { ref: sch, code: (0, codegen_1.stringify)(sch) } : { ref: sch });\n const valid = gen.name(\"valid\");\n const schCxt = cxt.subschema({\n schema: sch,\n dataTypes: [],\n schemaPath: codegen_1.nil,\n topSchemaRef: schName,\n errSchemaPath: $ref,\n }, valid);\n cxt.mergeEvaluated(schCxt);\n cxt.ok(valid);\n }\n },\n};\nfunction getValidate(cxt, sch) {\n const { gen } = cxt;\n return sch.validate\n ? gen.scopeValue(\"validate\", { ref: sch.validate })\n : (0, codegen_1._) `${gen.scopeValue(\"wrapper\", { ref: sch })}.validate`;\n}\nexports.getValidate = getValidate;\nfunction callRef(cxt, v, sch, $async) {\n const { gen, it } = cxt;\n const { allErrors, schemaEnv: env, opts } = it;\n const passCxt = opts.passContext ? names_1.default.this : codegen_1.nil;\n if ($async)\n callAsyncRef();\n else\n callSyncRef();\n function callAsyncRef() {\n if (!env.$async)\n throw new Error(\"async schema referenced by sync schema\");\n const valid = gen.let(\"valid\");\n gen.try(() => {\n gen.code((0, codegen_1._) `await ${(0, code_1.callValidateCode)(cxt, v, passCxt)}`);\n addEvaluatedFrom(v); // TODO will not work with async, it has to be returned with the result\n if (!allErrors)\n gen.assign(valid, true);\n }, (e) => {\n gen.if((0, codegen_1._) `!(${e} instanceof ${it.ValidationError})`, () => gen.throw(e));\n addErrorsFrom(e);\n if (!allErrors)\n gen.assign(valid, false);\n });\n cxt.ok(valid);\n }\n function callSyncRef() {\n cxt.result((0, code_1.callValidateCode)(cxt, v, passCxt), () => addEvaluatedFrom(v), () => addErrorsFrom(v));\n }\n function addErrorsFrom(source) {\n const errs = (0, codegen_1._) `${source}.errors`;\n gen.assign(names_1.default.vErrors, (0, codegen_1._) `${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`); // TODO tagged\n gen.assign(names_1.default.errors, (0, codegen_1._) `${names_1.default.vErrors}.length`);\n }\n function addEvaluatedFrom(source) {\n var _a;\n if (!it.opts.unevaluated)\n return;\n const schEvaluated = (_a = sch === null || sch === void 0 ? void 0 : sch.validate) === null || _a === void 0 ? void 0 : _a.evaluated;\n // TODO refactor\n if (it.props !== true) {\n if (schEvaluated && !schEvaluated.dynamicProps) {\n if (schEvaluated.props !== undefined) {\n it.props = util_1.mergeEvaluated.props(gen, schEvaluated.props, it.props);\n }\n }\n else {\n const props = gen.var(\"props\", (0, codegen_1._) `${source}.evaluated.props`);\n it.props = util_1.mergeEvaluated.props(gen, props, it.props, codegen_1.Name);\n }\n }\n if (it.items !== true) {\n if (schEvaluated && !schEvaluated.dynamicItems) {\n if (schEvaluated.items !== undefined) {\n it.items = util_1.mergeEvaluated.items(gen, schEvaluated.items, it.items);\n }\n }\n else {\n const items = gen.var(\"items\", (0, codegen_1._) `${source}.evaluated.items`);\n it.items = util_1.mergeEvaluated.items(gen, items, it.items, codegen_1.Name);\n }\n }\n }\n}\nexports.callRef = callRef;\nexports[\"default\"] = def;\n//# sourceMappingURL=ref.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/core/ref.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/discriminator/index.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/discriminator/index.js ***! - \*************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst types_1 = __webpack_require__(/*! ../discriminator/types */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/discriminator/types.js\");\nconst compile_1 = __webpack_require__(/*! ../../compile */ \"./node_modules/conf/node_modules/ajv/dist/compile/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst error = {\n message: ({ params: { discrError, tagName } }) => discrError === types_1.DiscrError.Tag\n ? `tag \"${tagName}\" must be string`\n : `value of tag \"${tagName}\" must be in oneOf`,\n params: ({ params: { discrError, tag, tagName } }) => (0, codegen_1._) `{error: ${discrError}, tag: ${tagName}, tagValue: ${tag}}`,\n};\nconst def = {\n keyword: \"discriminator\",\n type: \"object\",\n schemaType: \"object\",\n error,\n code(cxt) {\n const { gen, data, schema, parentSchema, it } = cxt;\n const { oneOf } = parentSchema;\n if (!it.opts.discriminator) {\n throw new Error(\"discriminator: requires discriminator option\");\n }\n const tagName = schema.propertyName;\n if (typeof tagName != \"string\")\n throw new Error(\"discriminator: requires propertyName\");\n if (schema.mapping)\n throw new Error(\"discriminator: mapping is not supported\");\n if (!oneOf)\n throw new Error(\"discriminator: requires oneOf keyword\");\n const valid = gen.let(\"valid\", false);\n const tag = gen.const(\"tag\", (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(tagName)}`);\n gen.if((0, codegen_1._) `typeof ${tag} == \"string\"`, () => validateMapping(), () => cxt.error(false, { discrError: types_1.DiscrError.Tag, tag, tagName }));\n cxt.ok(valid);\n function validateMapping() {\n const mapping = getMapping();\n gen.if(false);\n for (const tagValue in mapping) {\n gen.elseIf((0, codegen_1._) `${tag} === ${tagValue}`);\n gen.assign(valid, applyTagSchema(mapping[tagValue]));\n }\n gen.else();\n cxt.error(false, { discrError: types_1.DiscrError.Mapping, tag, tagName });\n gen.endIf();\n }\n function applyTagSchema(schemaProp) {\n const _valid = gen.name(\"valid\");\n const schCxt = cxt.subschema({ keyword: \"oneOf\", schemaProp }, _valid);\n cxt.mergeEvaluated(schCxt, codegen_1.Name);\n return _valid;\n }\n function getMapping() {\n var _a;\n const oneOfMapping = {};\n const topRequired = hasRequired(parentSchema);\n let tagRequired = true;\n for (let i = 0; i < oneOf.length; i++) {\n let sch = oneOf[i];\n if ((sch === null || sch === void 0 ? void 0 : sch.$ref) && !(0, util_1.schemaHasRulesButRef)(sch, it.self.RULES)) {\n sch = compile_1.resolveRef.call(it.self, it.schemaEnv.root, it.baseId, sch === null || sch === void 0 ? void 0 : sch.$ref);\n if (sch instanceof compile_1.SchemaEnv)\n sch = sch.schema;\n }\n const propSch = (_a = sch === null || sch === void 0 ? void 0 : sch.properties) === null || _a === void 0 ? void 0 : _a[tagName];\n if (typeof propSch != \"object\") {\n throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have \"properties/${tagName}\"`);\n }\n tagRequired = tagRequired && (topRequired || hasRequired(sch));\n addMappings(propSch, i);\n }\n if (!tagRequired)\n throw new Error(`discriminator: \"${tagName}\" must be required`);\n return oneOfMapping;\n function hasRequired({ required }) {\n return Array.isArray(required) && required.includes(tagName);\n }\n function addMappings(sch, i) {\n if (sch.const) {\n addMapping(sch.const, i);\n }\n else if (sch.enum) {\n for (const tagValue of sch.enum) {\n addMapping(tagValue, i);\n }\n }\n else {\n throw new Error(`discriminator: \"properties/${tagName}\" must have \"const\" or \"enum\"`);\n }\n }\n function addMapping(tagValue, i) {\n if (typeof tagValue != \"string\" || tagValue in oneOfMapping) {\n throw new Error(`discriminator: \"${tagName}\" values must be unique strings`);\n }\n oneOfMapping[tagValue] = i;\n }\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/discriminator/index.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/discriminator/types.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/discriminator/types.js ***! - \*************************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DiscrError = void 0;\nvar DiscrError;\n(function (DiscrError) {\n DiscrError[\"Tag\"] = \"tag\";\n DiscrError[\"Mapping\"] = \"mapping\";\n})(DiscrError = exports.DiscrError || (exports.DiscrError = {}));\n//# sourceMappingURL=types.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/discriminator/types.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/draft7.js": -/*!************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/draft7.js ***! - \************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst core_1 = __webpack_require__(/*! ./core */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/core/index.js\");\nconst validation_1 = __webpack_require__(/*! ./validation */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/index.js\");\nconst applicator_1 = __webpack_require__(/*! ./applicator */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/applicator/index.js\");\nconst format_1 = __webpack_require__(/*! ./format */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/format/index.js\");\nconst metadata_1 = __webpack_require__(/*! ./metadata */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/metadata.js\");\nconst draft7Vocabularies = [\n core_1.default,\n validation_1.default,\n (0, applicator_1.default)(),\n format_1.default,\n metadata_1.metadataVocabulary,\n metadata_1.contentVocabulary,\n];\nexports[\"default\"] = draft7Vocabularies;\n//# sourceMappingURL=draft7.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/draft7.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/format/format.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/format/format.js ***! - \*******************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst error = {\n message: ({ schemaCode }) => (0, codegen_1.str) `must match format \"${schemaCode}\"`,\n params: ({ schemaCode }) => (0, codegen_1._) `{format: ${schemaCode}}`,\n};\nconst def = {\n keyword: \"format\",\n type: [\"number\", \"string\"],\n schemaType: \"string\",\n $data: true,\n error,\n code(cxt, ruleType) {\n const { gen, data, $data, schema, schemaCode, it } = cxt;\n const { opts, errSchemaPath, schemaEnv, self } = it;\n if (!opts.validateFormats)\n return;\n if ($data)\n validate$DataFormat();\n else\n validateFormat();\n function validate$DataFormat() {\n const fmts = gen.scopeValue(\"formats\", {\n ref: self.formats,\n code: opts.code.formats,\n });\n const fDef = gen.const(\"fDef\", (0, codegen_1._) `${fmts}[${schemaCode}]`);\n const fType = gen.let(\"fType\");\n const format = gen.let(\"format\");\n // TODO simplify\n gen.if((0, codegen_1._) `typeof ${fDef} == \"object\" && !(${fDef} instanceof RegExp)`, () => gen.assign(fType, (0, codegen_1._) `${fDef}.type || \"string\"`).assign(format, (0, codegen_1._) `${fDef}.validate`), () => gen.assign(fType, (0, codegen_1._) `\"string\"`).assign(format, fDef));\n cxt.fail$data((0, codegen_1.or)(unknownFmt(), invalidFmt()));\n function unknownFmt() {\n if (opts.strictSchema === false)\n return codegen_1.nil;\n return (0, codegen_1._) `${schemaCode} && !${format}`;\n }\n function invalidFmt() {\n const callFormat = schemaEnv.$async\n ? (0, codegen_1._) `(${fDef}.async ? await ${format}(${data}) : ${format}(${data}))`\n : (0, codegen_1._) `${format}(${data})`;\n const validData = (0, codegen_1._) `(typeof ${format} == \"function\" ? ${callFormat} : ${format}.test(${data}))`;\n return (0, codegen_1._) `${format} && ${format} !== true && ${fType} === ${ruleType} && !${validData}`;\n }\n }\n function validateFormat() {\n const formatDef = self.formats[schema];\n if (!formatDef) {\n unknownFormat();\n return;\n }\n if (formatDef === true)\n return;\n const [fmtType, format, fmtRef] = getFormat(formatDef);\n if (fmtType === ruleType)\n cxt.pass(validCondition());\n function unknownFormat() {\n if (opts.strictSchema === false) {\n self.logger.warn(unknownMsg());\n return;\n }\n throw new Error(unknownMsg());\n function unknownMsg() {\n return `unknown format \"${schema}\" ignored in schema at path \"${errSchemaPath}\"`;\n }\n }\n function getFormat(fmtDef) {\n const code = fmtDef instanceof RegExp\n ? (0, codegen_1.regexpCode)(fmtDef)\n : opts.code.formats\n ? (0, codegen_1._) `${opts.code.formats}${(0, codegen_1.getProperty)(schema)}`\n : undefined;\n const fmt = gen.scopeValue(\"formats\", { key: schema, ref: fmtDef, code });\n if (typeof fmtDef == \"object\" && !(fmtDef instanceof RegExp)) {\n return [fmtDef.type || \"string\", fmtDef.validate, (0, codegen_1._) `${fmt}.validate`];\n }\n return [\"string\", fmtDef, fmt];\n }\n function validCondition() {\n if (typeof formatDef == \"object\" && !(formatDef instanceof RegExp) && formatDef.async) {\n if (!schemaEnv.$async)\n throw new Error(\"async format in sync schema\");\n return (0, codegen_1._) `await ${fmtRef}(${data})`;\n }\n return typeof format == \"function\" ? (0, codegen_1._) `${fmtRef}(${data})` : (0, codegen_1._) `${fmtRef}.test(${data})`;\n }\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=format.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/format/format.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/format/index.js": -/*!******************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/format/index.js ***! - \******************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst format_1 = __webpack_require__(/*! ./format */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/format/format.js\");\nconst format = [format_1.default];\nexports[\"default\"] = format;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/format/index.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/metadata.js": -/*!**************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/metadata.js ***! - \**************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.contentVocabulary = exports.metadataVocabulary = void 0;\nexports.metadataVocabulary = [\n \"title\",\n \"description\",\n \"default\",\n \"deprecated\",\n \"readOnly\",\n \"writeOnly\",\n \"examples\",\n];\nexports.contentVocabulary = [\n \"contentMediaType\",\n \"contentEncoding\",\n \"contentSchema\",\n];\n//# sourceMappingURL=metadata.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/metadata.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/const.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/const.js ***! - \**********************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst equal_1 = __webpack_require__(/*! ../../runtime/equal */ \"./node_modules/conf/node_modules/ajv/dist/runtime/equal.js\");\nconst error = {\n message: \"must be equal to constant\",\n params: ({ schemaCode }) => (0, codegen_1._) `{allowedValue: ${schemaCode}}`,\n};\nconst def = {\n keyword: \"const\",\n $data: true,\n error,\n code(cxt) {\n const { gen, data, $data, schemaCode, schema } = cxt;\n if ($data || (schema && typeof schema == \"object\")) {\n cxt.fail$data((0, codegen_1._) `!${(0, util_1.useFunc)(gen, equal_1.default)}(${data}, ${schemaCode})`);\n }\n else {\n cxt.fail((0, codegen_1._) `${schema} !== ${data}`);\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=const.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/const.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/enum.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/enum.js ***! - \*********************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst equal_1 = __webpack_require__(/*! ../../runtime/equal */ \"./node_modules/conf/node_modules/ajv/dist/runtime/equal.js\");\nconst error = {\n message: \"must be equal to one of the allowed values\",\n params: ({ schemaCode }) => (0, codegen_1._) `{allowedValues: ${schemaCode}}`,\n};\nconst def = {\n keyword: \"enum\",\n schemaType: \"array\",\n $data: true,\n error,\n code(cxt) {\n const { gen, data, $data, schema, schemaCode, it } = cxt;\n if (!$data && schema.length === 0)\n throw new Error(\"enum must have non-empty array\");\n const useLoop = schema.length >= it.opts.loopEnum;\n let eql;\n const getEql = () => (eql !== null && eql !== void 0 ? eql : (eql = (0, util_1.useFunc)(gen, equal_1.default)));\n let valid;\n if (useLoop || $data) {\n valid = gen.let(\"valid\");\n cxt.block$data(valid, loopEnum);\n }\n else {\n /* istanbul ignore if */\n if (!Array.isArray(schema))\n throw new Error(\"ajv implementation error\");\n const vSchema = gen.const(\"vSchema\", schemaCode);\n valid = (0, codegen_1.or)(...schema.map((_x, i) => equalCode(vSchema, i)));\n }\n cxt.pass(valid);\n function loopEnum() {\n gen.assign(valid, false);\n gen.forOf(\"v\", schemaCode, (v) => gen.if((0, codegen_1._) `${getEql()}(${data}, ${v})`, () => gen.assign(valid, true).break()));\n }\n function equalCode(vSchema, i) {\n const sch = schema[i];\n return typeof sch === \"object\" && sch !== null\n ? (0, codegen_1._) `${getEql()}(${data}, ${vSchema}[${i}])`\n : (0, codegen_1._) `${data} === ${sch}`;\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=enum.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/enum.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/index.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/index.js ***! - \**********************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst limitNumber_1 = __webpack_require__(/*! ./limitNumber */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/limitNumber.js\");\nconst multipleOf_1 = __webpack_require__(/*! ./multipleOf */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/multipleOf.js\");\nconst limitLength_1 = __webpack_require__(/*! ./limitLength */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/limitLength.js\");\nconst pattern_1 = __webpack_require__(/*! ./pattern */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/pattern.js\");\nconst limitProperties_1 = __webpack_require__(/*! ./limitProperties */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/limitProperties.js\");\nconst required_1 = __webpack_require__(/*! ./required */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/required.js\");\nconst limitItems_1 = __webpack_require__(/*! ./limitItems */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/limitItems.js\");\nconst uniqueItems_1 = __webpack_require__(/*! ./uniqueItems */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js\");\nconst const_1 = __webpack_require__(/*! ./const */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/const.js\");\nconst enum_1 = __webpack_require__(/*! ./enum */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/enum.js\");\nconst validation = [\n // number\n limitNumber_1.default,\n multipleOf_1.default,\n // string\n limitLength_1.default,\n pattern_1.default,\n // object\n limitProperties_1.default,\n required_1.default,\n // array\n limitItems_1.default,\n uniqueItems_1.default,\n // any\n { keyword: \"type\", schemaType: [\"string\", \"array\"] },\n { keyword: \"nullable\", schemaType: \"boolean\" },\n const_1.default,\n enum_1.default,\n];\nexports[\"default\"] = validation;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/index.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/limitItems.js": -/*!***************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/limitItems.js ***! - \***************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst error = {\n message({ keyword, schemaCode }) {\n const comp = keyword === \"maxItems\" ? \"more\" : \"fewer\";\n return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} items`;\n },\n params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`,\n};\nconst def = {\n keyword: [\"maxItems\", \"minItems\"],\n type: \"array\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt) {\n const { keyword, data, schemaCode } = cxt;\n const op = keyword === \"maxItems\" ? codegen_1.operators.GT : codegen_1.operators.LT;\n cxt.fail$data((0, codegen_1._) `${data}.length ${op} ${schemaCode}`);\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=limitItems.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/limitItems.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/limitLength.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/limitLength.js ***! - \****************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst ucs2length_1 = __webpack_require__(/*! ../../runtime/ucs2length */ \"./node_modules/conf/node_modules/ajv/dist/runtime/ucs2length.js\");\nconst error = {\n message({ keyword, schemaCode }) {\n const comp = keyword === \"maxLength\" ? \"more\" : \"fewer\";\n return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} characters`;\n },\n params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`,\n};\nconst def = {\n keyword: [\"maxLength\", \"minLength\"],\n type: \"string\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt) {\n const { keyword, data, schemaCode, it } = cxt;\n const op = keyword === \"maxLength\" ? codegen_1.operators.GT : codegen_1.operators.LT;\n const len = it.opts.unicode === false ? (0, codegen_1._) `${data}.length` : (0, codegen_1._) `${(0, util_1.useFunc)(cxt.gen, ucs2length_1.default)}(${data})`;\n cxt.fail$data((0, codegen_1._) `${len} ${op} ${schemaCode}`);\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=limitLength.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/limitLength.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/limitNumber.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/limitNumber.js ***! - \****************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst ops = codegen_1.operators;\nconst KWDs = {\n maximum: { okStr: \"<=\", ok: ops.LTE, fail: ops.GT },\n minimum: { okStr: \">=\", ok: ops.GTE, fail: ops.LT },\n exclusiveMaximum: { okStr: \"<\", ok: ops.LT, fail: ops.GTE },\n exclusiveMinimum: { okStr: \">\", ok: ops.GT, fail: ops.LTE },\n};\nconst error = {\n message: ({ keyword, schemaCode }) => (0, codegen_1.str) `must be ${KWDs[keyword].okStr} ${schemaCode}`,\n params: ({ keyword, schemaCode }) => (0, codegen_1._) `{comparison: ${KWDs[keyword].okStr}, limit: ${schemaCode}}`,\n};\nconst def = {\n keyword: Object.keys(KWDs),\n type: \"number\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt) {\n const { keyword, data, schemaCode } = cxt;\n cxt.fail$data((0, codegen_1._) `${data} ${KWDs[keyword].fail} ${schemaCode} || isNaN(${data})`);\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=limitNumber.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/limitNumber.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/limitProperties.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/limitProperties.js ***! - \********************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst error = {\n message({ keyword, schemaCode }) {\n const comp = keyword === \"maxProperties\" ? \"more\" : \"fewer\";\n return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} properties`;\n },\n params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`,\n};\nconst def = {\n keyword: [\"maxProperties\", \"minProperties\"],\n type: \"object\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt) {\n const { keyword, data, schemaCode } = cxt;\n const op = keyword === \"maxProperties\" ? codegen_1.operators.GT : codegen_1.operators.LT;\n cxt.fail$data((0, codegen_1._) `Object.keys(${data}).length ${op} ${schemaCode}`);\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=limitProperties.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/limitProperties.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/multipleOf.js": -/*!***************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/multipleOf.js ***! - \***************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst error = {\n message: ({ schemaCode }) => (0, codegen_1.str) `must be multiple of ${schemaCode}`,\n params: ({ schemaCode }) => (0, codegen_1._) `{multipleOf: ${schemaCode}}`,\n};\nconst def = {\n keyword: \"multipleOf\",\n type: \"number\",\n schemaType: \"number\",\n $data: true,\n error,\n code(cxt) {\n const { gen, data, schemaCode, it } = cxt;\n // const bdt = bad$DataType(schemaCode, def.schemaType, $data)\n const prec = it.opts.multipleOfPrecision;\n const res = gen.let(\"res\");\n const invalid = prec\n ? (0, codegen_1._) `Math.abs(Math.round(${res}) - ${res}) > 1e-${prec}`\n : (0, codegen_1._) `${res} !== parseInt(${res})`;\n cxt.fail$data((0, codegen_1._) `(${schemaCode} === 0 || (${res} = ${data}/${schemaCode}, ${invalid}))`);\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=multipleOf.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/multipleOf.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/pattern.js": -/*!************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/pattern.js ***! - \************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/code.js\");\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst error = {\n message: ({ schemaCode }) => (0, codegen_1.str) `must match pattern \"${schemaCode}\"`,\n params: ({ schemaCode }) => (0, codegen_1._) `{pattern: ${schemaCode}}`,\n};\nconst def = {\n keyword: \"pattern\",\n type: \"string\",\n schemaType: \"string\",\n $data: true,\n error,\n code(cxt) {\n const { data, $data, schema, schemaCode, it } = cxt;\n // TODO regexp should be wrapped in try/catchs\n const u = it.opts.unicodeRegExp ? \"u\" : \"\";\n const regExp = $data ? (0, codegen_1._) `(new RegExp(${schemaCode}, ${u}))` : (0, code_1.usePattern)(cxt, schema);\n cxt.fail$data((0, codegen_1._) `!${regExp}.test(${data})`);\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=pattern.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/pattern.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/required.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/required.js ***! - \*************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst code_1 = __webpack_require__(/*! ../code */ \"./node_modules/conf/node_modules/ajv/dist/vocabularies/code.js\");\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst error = {\n message: ({ params: { missingProperty } }) => (0, codegen_1.str) `must have required property '${missingProperty}'`,\n params: ({ params: { missingProperty } }) => (0, codegen_1._) `{missingProperty: ${missingProperty}}`,\n};\nconst def = {\n keyword: \"required\",\n type: \"object\",\n schemaType: \"array\",\n $data: true,\n error,\n code(cxt) {\n const { gen, schema, schemaCode, data, $data, it } = cxt;\n const { opts } = it;\n if (!$data && schema.length === 0)\n return;\n const useLoop = schema.length >= opts.loopRequired;\n if (it.allErrors)\n allErrorsMode();\n else\n exitOnErrorMode();\n if (opts.strictRequired) {\n const props = cxt.parentSchema.properties;\n const { definedProperties } = cxt.it;\n for (const requiredKey of schema) {\n if ((props === null || props === void 0 ? void 0 : props[requiredKey]) === undefined && !definedProperties.has(requiredKey)) {\n const schemaPath = it.schemaEnv.baseId + it.errSchemaPath;\n const msg = `required property \"${requiredKey}\" is not defined at \"${schemaPath}\" (strictRequired)`;\n (0, util_1.checkStrictMode)(it, msg, it.opts.strictRequired);\n }\n }\n }\n function allErrorsMode() {\n if (useLoop || $data) {\n cxt.block$data(codegen_1.nil, loopAllRequired);\n }\n else {\n for (const prop of schema) {\n (0, code_1.checkReportMissingProp)(cxt, prop);\n }\n }\n }\n function exitOnErrorMode() {\n const missing = gen.let(\"missing\");\n if (useLoop || $data) {\n const valid = gen.let(\"valid\", true);\n cxt.block$data(valid, () => loopUntilMissing(missing, valid));\n cxt.ok(valid);\n }\n else {\n gen.if((0, code_1.checkMissingProp)(cxt, schema, missing));\n (0, code_1.reportMissingProp)(cxt, missing);\n gen.else();\n }\n }\n function loopAllRequired() {\n gen.forOf(\"prop\", schemaCode, (prop) => {\n cxt.setParams({ missingProperty: prop });\n gen.if((0, code_1.noPropertyInData)(gen, data, prop, opts.ownProperties), () => cxt.error());\n });\n }\n function loopUntilMissing(missing, valid) {\n cxt.setParams({ missingProperty: missing });\n gen.forOf(missing, schemaCode, () => {\n gen.assign(valid, (0, code_1.propertyInData)(gen, data, missing, opts.ownProperties));\n gen.if((0, codegen_1.not)(valid), () => {\n cxt.error();\n gen.break();\n });\n }, codegen_1.nil);\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=required.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/required.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js ***! - \****************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst dataType_1 = __webpack_require__(/*! ../../compile/validate/dataType */ \"./node_modules/conf/node_modules/ajv/dist/compile/validate/dataType.js\");\nconst codegen_1 = __webpack_require__(/*! ../../compile/codegen */ \"./node_modules/conf/node_modules/ajv/dist/compile/codegen/index.js\");\nconst util_1 = __webpack_require__(/*! ../../compile/util */ \"./node_modules/conf/node_modules/ajv/dist/compile/util.js\");\nconst equal_1 = __webpack_require__(/*! ../../runtime/equal */ \"./node_modules/conf/node_modules/ajv/dist/runtime/equal.js\");\nconst error = {\n message: ({ params: { i, j } }) => (0, codegen_1.str) `must NOT have duplicate items (items ## ${j} and ${i} are identical)`,\n params: ({ params: { i, j } }) => (0, codegen_1._) `{i: ${i}, j: ${j}}`,\n};\nconst def = {\n keyword: \"uniqueItems\",\n type: \"array\",\n schemaType: \"boolean\",\n $data: true,\n error,\n code(cxt) {\n const { gen, data, $data, schema, parentSchema, schemaCode, it } = cxt;\n if (!$data && !schema)\n return;\n const valid = gen.let(\"valid\");\n const itemTypes = parentSchema.items ? (0, dataType_1.getSchemaTypes)(parentSchema.items) : [];\n cxt.block$data(valid, validateUniqueItems, (0, codegen_1._) `${schemaCode} === false`);\n cxt.ok(valid);\n function validateUniqueItems() {\n const i = gen.let(\"i\", (0, codegen_1._) `${data}.length`);\n const j = gen.let(\"j\");\n cxt.setParams({ i, j });\n gen.assign(valid, true);\n gen.if((0, codegen_1._) `${i} > 1`, () => (canOptimize() ? loopN : loopN2)(i, j));\n }\n function canOptimize() {\n return itemTypes.length > 0 && !itemTypes.some((t) => t === \"object\" || t === \"array\");\n }\n function loopN(i, j) {\n const item = gen.name(\"item\");\n const wrongType = (0, dataType_1.checkDataTypes)(itemTypes, item, it.opts.strictNumbers, dataType_1.DataType.Wrong);\n const indices = gen.const(\"indices\", (0, codegen_1._) `{}`);\n gen.for((0, codegen_1._) `;${i}--;`, () => {\n gen.let(item, (0, codegen_1._) `${data}[${i}]`);\n gen.if(wrongType, (0, codegen_1._) `continue`);\n if (itemTypes.length > 1)\n gen.if((0, codegen_1._) `typeof ${item} == \"string\"`, (0, codegen_1._) `${item} += \"_\"`);\n gen\n .if((0, codegen_1._) `typeof ${indices}[${item}] == \"number\"`, () => {\n gen.assign(j, (0, codegen_1._) `${indices}[${item}]`);\n cxt.error();\n gen.assign(valid, false).break();\n })\n .code((0, codegen_1._) `${indices}[${item}] = ${i}`);\n });\n }\n function loopN2(i, j) {\n const eql = (0, util_1.useFunc)(gen, equal_1.default);\n const outer = gen.name(\"outer\");\n gen.label(outer).for((0, codegen_1._) `;${i}--;`, () => gen.for((0, codegen_1._) `${j} = ${i}; ${j}--;`, () => gen.if((0, codegen_1._) `${eql}(${data}[${i}], ${data}[${j}])`, () => {\n cxt.error();\n gen.assign(valid, false).break(outer);\n })));\n }\n },\n};\nexports[\"default\"] = def;\n//# sourceMappingURL=uniqueItems.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/conf/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js?"); - -/***/ }), - -/***/ "./node_modules/conf/node_modules/json-schema-traverse/index.js": -/*!**********************************************************************!*\ - !*** ./node_modules/conf/node_modules/json-schema-traverse/index.js ***! - \**********************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\nvar traverse = module.exports = function (schema, opts, cb) {\n // Legacy support for v0.3.1 and earlier.\n if (typeof opts == 'function') {\n cb = opts;\n opts = {};\n }\n\n cb = opts.cb || cb;\n var pre = (typeof cb == 'function') ? cb : cb.pre || function() {};\n var post = cb.post || function() {};\n\n _traverse(opts, pre, post, schema, '', schema);\n};\n\n\ntraverse.keywords = {\n additionalItems: true,\n items: true,\n contains: true,\n additionalProperties: true,\n propertyNames: true,\n not: true,\n if: true,\n then: true,\n else: true\n};\n\ntraverse.arrayKeywords = {\n items: true,\n allOf: true,\n anyOf: true,\n oneOf: true\n};\n\ntraverse.propsKeywords = {\n $defs: true,\n definitions: true,\n properties: true,\n patternProperties: true,\n dependencies: true\n};\n\ntraverse.skipKeywords = {\n default: true,\n enum: true,\n const: true,\n required: true,\n maximum: true,\n minimum: true,\n exclusiveMaximum: true,\n exclusiveMinimum: true,\n multipleOf: true,\n maxLength: true,\n minLength: true,\n pattern: true,\n format: true,\n maxItems: true,\n minItems: true,\n uniqueItems: true,\n maxProperties: true,\n minProperties: true\n};\n\n\nfunction _traverse(opts, pre, post, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) {\n if (schema && typeof schema == 'object' && !Array.isArray(schema)) {\n pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);\n for (var key in schema) {\n var sch = schema[key];\n if (Array.isArray(sch)) {\n if (key in traverse.arrayKeywords) {\n for (var i=0; i {\n return await this.config.transform(await this.#readConfiguration(filepath));\n };\n if (this.loadCache) {\n return await (0, util_js_1.emplace)(this.loadCache, filepath, load);\n }\n return await load();\n }\n async search(from = '') {\n if (this.config.metaConfigFilePath) {\n this.loadingMetaConfig = true;\n const config = await this.load(this.config.metaConfigFilePath);\n this.loadingMetaConfig = false;\n if (config && !config.isEmpty) {\n return config;\n }\n }\n const stopDir = path_1.default.resolve(this.config.stopDir);\n from = path_1.default.resolve(from);\n const search = async () => {\n /* istanbul ignore if -- @preserve */\n if (await (0, path_type_1.isDirectory)(from)) {\n for (const place of this.config.searchPlaces) {\n const filepath = path_1.default.join(from, place);\n try {\n const result = await this.#readConfiguration(filepath);\n if (result !== null &&\n !(result.isEmpty && this.config.ignoreEmptySearchPlaces)) {\n return await this.config.transform(result);\n }\n }\n catch (error) {\n if (error.code === 'ENOENT' ||\n error.code === 'EISDIR' ||\n error.code === 'ENOTDIR') {\n continue;\n }\n throw error;\n }\n }\n }\n const dir = path_1.default.dirname(from);\n if (from !== stopDir && from !== dir) {\n from = dir;\n if (this.searchCache) {\n return await (0, util_js_1.emplace)(this.searchCache, from, search);\n }\n return await search();\n }\n return await this.config.transform(null);\n };\n if (this.searchCache) {\n return await (0, util_js_1.emplace)(this.searchCache, from, search);\n }\n return await search();\n }\n async #readConfiguration(filepath) {\n const contents = await promises_1.default.readFile(filepath, { encoding: 'utf-8' });\n return this.toCosmiconfigResult(filepath, await this.#loadConfiguration(filepath, contents));\n }\n async #loadConfiguration(filepath, contents) {\n if (contents.trim() === '') {\n return;\n }\n if (path_1.default.basename(filepath) === 'package.json') {\n return ((0, util_js_1.getPropertyByPath)((0, loaders_js_1.loadJson)(filepath, contents), this.config.packageProp) ?? null);\n }\n const extension = path_1.default.extname(filepath);\n try {\n const loader = this.config.loaders[extension || 'noExt'] ??\n this.config.loaders['default'];\n if (loader !== undefined) {\n // eslint-disable-next-line @typescript-eslint/return-await\n return await loader(filepath, contents);\n }\n }\n catch (error) {\n error.filepath = filepath;\n throw error;\n }\n throw new Error(`No loader specified for ${(0, ExplorerBase_js_1.getExtensionDescription)(extension)}`);\n }\n}\nexports.Explorer = Explorer;\n//# sourceMappingURL=Explorer.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/cosmiconfig/dist/Explorer.js?"); - -/***/ }), - -/***/ "./node_modules/cosmiconfig/dist/ExplorerBase.js": -/*!*******************************************************!*\ - !*** ./node_modules/cosmiconfig/dist/ExplorerBase.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getExtensionDescription = exports.ExplorerBase = void 0;\nconst path_1 = __importDefault(__webpack_require__(/*! path */ \"path\"));\nconst util_js_1 = __webpack_require__(/*! ./util.js */ \"./node_modules/cosmiconfig/dist/util.js\");\n/**\n * @internal\n */\nclass ExplorerBase {\n #loadingMetaConfig = false;\n config;\n loadCache;\n searchCache;\n constructor(options) {\n this.config = options;\n if (options.cache) {\n this.loadCache = new Map();\n this.searchCache = new Map();\n }\n this.#validateConfig();\n }\n set loadingMetaConfig(value) {\n this.#loadingMetaConfig = value;\n }\n #validateConfig() {\n const config = this.config;\n for (const place of config.searchPlaces) {\n const extension = path_1.default.extname(place);\n const loader = this.config.loaders[extension || 'noExt'] ??\n this.config.loaders['default'];\n if (loader === undefined) {\n throw new Error(`Missing loader for ${getExtensionDescription(place)}.`);\n }\n if (typeof loader !== 'function') {\n throw new Error(`Loader for ${getExtensionDescription(place)} is not a function: Received ${typeof loader}.`);\n }\n }\n }\n clearLoadCache() {\n if (this.loadCache) {\n this.loadCache.clear();\n }\n }\n clearSearchCache() {\n if (this.searchCache) {\n this.searchCache.clear();\n }\n }\n clearCaches() {\n this.clearLoadCache();\n this.clearSearchCache();\n }\n toCosmiconfigResult(filepath, config) {\n if (config === null) {\n return null;\n }\n if (config === undefined) {\n return { filepath, config: undefined, isEmpty: true };\n }\n if (this.config.applyPackagePropertyPathToConfiguration ||\n this.#loadingMetaConfig) {\n config = (0, util_js_1.getPropertyByPath)(config, this.config.packageProp);\n }\n if (config === undefined) {\n return { filepath, config: undefined, isEmpty: true };\n }\n return { config, filepath };\n }\n}\nexports.ExplorerBase = ExplorerBase;\n/**\n * @internal\n */\nfunction getExtensionDescription(extension) {\n /* istanbul ignore next -- @preserve */\n return extension ? `extension \"${extension}\"` : 'files without extensions';\n}\nexports.getExtensionDescription = getExtensionDescription;\n//# sourceMappingURL=ExplorerBase.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/cosmiconfig/dist/ExplorerBase.js?"); - -/***/ }), - -/***/ "./node_modules/cosmiconfig/dist/ExplorerSync.js": -/*!*******************************************************!*\ - !*** ./node_modules/cosmiconfig/dist/ExplorerSync.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExplorerSync = void 0;\nconst fs_1 = __importDefault(__webpack_require__(/*! fs */ \"fs\"));\nconst path_1 = __importDefault(__webpack_require__(/*! path */ \"path\"));\nconst path_type_1 = __webpack_require__(/*! path-type */ \"./node_modules/path-type/index.js\");\nconst ExplorerBase_js_1 = __webpack_require__(/*! ./ExplorerBase.js */ \"./node_modules/cosmiconfig/dist/ExplorerBase.js\");\nconst loaders_js_1 = __webpack_require__(/*! ./loaders.js */ \"./node_modules/cosmiconfig/dist/loaders.js\");\nconst util_js_1 = __webpack_require__(/*! ./util.js */ \"./node_modules/cosmiconfig/dist/util.js\");\n/**\n * @internal\n */\nclass ExplorerSync extends ExplorerBase_js_1.ExplorerBase {\n load(filepath) {\n filepath = path_1.default.resolve(filepath);\n const load = () => {\n return this.config.transform(this.#readConfiguration(filepath));\n };\n if (this.loadCache) {\n return (0, util_js_1.emplace)(this.loadCache, filepath, load);\n }\n return load();\n }\n search(from = '') {\n if (this.config.metaConfigFilePath) {\n this.loadingMetaConfig = true;\n const config = this.load(this.config.metaConfigFilePath);\n this.loadingMetaConfig = false;\n if (config && !config.isEmpty) {\n return config;\n }\n }\n const stopDir = path_1.default.resolve(this.config.stopDir);\n from = path_1.default.resolve(from);\n const search = () => {\n /* istanbul ignore if -- @preserve */\n if ((0, path_type_1.isDirectorySync)(from)) {\n for (const place of this.config.searchPlaces) {\n const filepath = path_1.default.join(from, place);\n try {\n const result = this.#readConfiguration(filepath);\n if (result !== null &&\n !(result.isEmpty && this.config.ignoreEmptySearchPlaces)) {\n return this.config.transform(result);\n }\n }\n catch (error) {\n if (error.code === 'ENOENT' ||\n error.code === 'EISDIR' ||\n error.code === 'ENOTDIR') {\n continue;\n }\n throw error;\n }\n }\n }\n const dir = path_1.default.dirname(from);\n if (from !== stopDir && from !== dir) {\n from = dir;\n if (this.searchCache) {\n return (0, util_js_1.emplace)(this.searchCache, from, search);\n }\n return search();\n }\n return this.config.transform(null);\n };\n if (this.searchCache) {\n return (0, util_js_1.emplace)(this.searchCache, from, search);\n }\n return search();\n }\n #readConfiguration(filepath) {\n const contents = fs_1.default.readFileSync(filepath, 'utf8');\n return this.toCosmiconfigResult(filepath, this.#loadConfiguration(filepath, contents));\n }\n #loadConfiguration(filepath, contents) {\n if (contents.trim() === '') {\n return;\n }\n if (path_1.default.basename(filepath) === 'package.json') {\n return ((0, util_js_1.getPropertyByPath)((0, loaders_js_1.loadJson)(filepath, contents), this.config.packageProp) ?? null);\n }\n const extension = path_1.default.extname(filepath);\n try {\n const loader = this.config.loaders[extension || 'noExt'] ??\n this.config.loaders['default'];\n if (loader !== undefined) {\n return loader(filepath, contents);\n }\n }\n catch (error) {\n error.filepath = filepath;\n throw error;\n }\n throw new Error(`No loader specified for ${(0, ExplorerBase_js_1.getExtensionDescription)(extension)}`);\n }\n /**\n * @deprecated Use {@link ExplorerSync.prototype.load}.\n */\n /* istanbul ignore next */\n loadSync(filepath) {\n return this.load(filepath);\n }\n /**\n * @deprecated Use {@link ExplorerSync.prototype.search}.\n */\n /* istanbul ignore next */\n searchSync(from = '') {\n return this.search(from);\n }\n}\nexports.ExplorerSync = ExplorerSync;\n//# sourceMappingURL=ExplorerSync.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/cosmiconfig/dist/ExplorerSync.js?"); - -/***/ }), - -/***/ "./node_modules/cosmiconfig/dist/index.js": -/*!************************************************!*\ - !*** ./node_modules/cosmiconfig/dist/index.js ***! - \************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.cosmiconfigSync = exports.cosmiconfig = exports.defaultLoadersSync = exports.defaultLoaders = exports.metaSearchPlaces = void 0;\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n__exportStar(__webpack_require__(/*! ./types.js */ \"./node_modules/cosmiconfig/dist/types.js\"), exports);\nconst os_1 = __importDefault(__webpack_require__(/*! os */ \"os\"));\nconst Explorer_js_1 = __webpack_require__(/*! ./Explorer.js */ \"./node_modules/cosmiconfig/dist/Explorer.js\");\nconst ExplorerSync_js_1 = __webpack_require__(/*! ./ExplorerSync.js */ \"./node_modules/cosmiconfig/dist/ExplorerSync.js\");\nconst loaders_js_1 = __webpack_require__(/*! ./loaders.js */ \"./node_modules/cosmiconfig/dist/loaders.js\");\nconst util_1 = __webpack_require__(/*! ./util */ \"./node_modules/cosmiconfig/dist/util.js\");\n// this needs to be hardcoded, as this is intended for end users, who can't supply options at this point\nexports.metaSearchPlaces = [\n 'package.json',\n '.config.json',\n '.config.yaml',\n '.config.yml',\n '.config.js',\n '.config.ts',\n '.config.cjs',\n '.config.mjs',\n];\n// do not allow mutation of default loaders. Make sure it is set inside options\nexports.defaultLoaders = Object.freeze({\n '.mjs': loaders_js_1.loadJs,\n '.cjs': loaders_js_1.loadJs,\n '.js': loaders_js_1.loadJs,\n '.ts': loaders_js_1.loadTs,\n '.json': loaders_js_1.loadJson,\n '.yaml': loaders_js_1.loadYaml,\n '.yml': loaders_js_1.loadYaml,\n noExt: loaders_js_1.loadYaml,\n});\nexports.defaultLoadersSync = Object.freeze({\n '.cjs': loaders_js_1.loadJsSync,\n '.js': loaders_js_1.loadJsSync,\n '.ts': loaders_js_1.loadTsSync,\n '.json': loaders_js_1.loadJson,\n '.yaml': loaders_js_1.loadYaml,\n '.yml': loaders_js_1.loadYaml,\n noExt: loaders_js_1.loadYaml,\n});\nconst identity = function identity(x) {\n return x;\n};\nfunction getInternalOptions(moduleName, options) {\n const metaExplorer = new ExplorerSync_js_1.ExplorerSync({\n packageProp: 'cosmiconfig',\n stopDir: process.cwd(),\n searchPlaces: exports.metaSearchPlaces,\n ignoreEmptySearchPlaces: false,\n applyPackagePropertyPathToConfiguration: true,\n loaders: exports.defaultLoaders,\n transform: identity,\n cache: true,\n metaConfigFilePath: null,\n });\n const metaConfig = metaExplorer.search();\n if (!metaConfig) {\n return options;\n }\n if (metaConfig.config?.loaders) {\n throw new Error('Can not specify loaders in meta config file');\n }\n const overrideOptions = metaConfig.config ?? {};\n if (overrideOptions.searchPlaces) {\n overrideOptions.searchPlaces = overrideOptions.searchPlaces.map((path) => path.replace('{name}', moduleName));\n }\n overrideOptions.metaConfigFilePath = metaConfig.filepath;\n return { ...options, ...(0, util_1.removeUndefinedValuesFromObject)(overrideOptions) };\n}\nfunction normalizeOptions(moduleName, options) {\n const defaults = {\n packageProp: moduleName,\n searchPlaces: [\n 'package.json',\n `.${moduleName}rc`,\n `.${moduleName}rc.json`,\n `.${moduleName}rc.yaml`,\n `.${moduleName}rc.yml`,\n `.${moduleName}rc.js`,\n `.${moduleName}rc.ts`,\n `.${moduleName}rc.cjs`,\n `.${moduleName}rc.mjs`,\n `.config/${moduleName}rc`,\n `.config/${moduleName}rc.json`,\n `.config/${moduleName}rc.yaml`,\n `.config/${moduleName}rc.yml`,\n `.config/${moduleName}rc.js`,\n `.config/${moduleName}rc.ts`,\n `.config/${moduleName}rc.cjs`,\n `.config/${moduleName}rc.mjs`,\n `${moduleName}.config.js`,\n `${moduleName}.config.ts`,\n `${moduleName}.config.cjs`,\n `${moduleName}.config.mjs`,\n ],\n ignoreEmptySearchPlaces: true,\n stopDir: os_1.default.homedir(),\n cache: true,\n transform: identity,\n loaders: exports.defaultLoaders,\n metaConfigFilePath: null,\n };\n return {\n ...defaults,\n ...(0, util_1.removeUndefinedValuesFromObject)(options),\n loaders: {\n ...defaults.loaders,\n ...options.loaders,\n },\n };\n}\nfunction normalizeOptionsSync(moduleName, options) {\n const defaults = {\n packageProp: moduleName,\n searchPlaces: [\n 'package.json',\n `.${moduleName}rc`,\n `.${moduleName}rc.json`,\n `.${moduleName}rc.yaml`,\n `.${moduleName}rc.yml`,\n `.${moduleName}rc.js`,\n `.${moduleName}rc.ts`,\n `.${moduleName}rc.cjs`,\n `.config/${moduleName}rc`,\n `.config/${moduleName}rc.json`,\n `.config/${moduleName}rc.yaml`,\n `.config/${moduleName}rc.yml`,\n `.config/${moduleName}rc.js`,\n `.config/${moduleName}rc.ts`,\n `.config/${moduleName}rc.cjs`,\n `${moduleName}.config.js`,\n `${moduleName}.config.ts`,\n `${moduleName}.config.cjs`,\n ],\n ignoreEmptySearchPlaces: true,\n stopDir: os_1.default.homedir(),\n cache: true,\n transform: identity,\n loaders: exports.defaultLoadersSync,\n metaConfigFilePath: null,\n };\n return {\n ...defaults,\n ...(0, util_1.removeUndefinedValuesFromObject)(options),\n loaders: {\n ...defaults.loaders,\n ...options.loaders,\n },\n };\n}\nfunction cosmiconfig(moduleName, options = {}) {\n const internalOptions = getInternalOptions(moduleName, options);\n const normalizedOptions = normalizeOptions(moduleName, internalOptions);\n const explorer = new Explorer_js_1.Explorer(normalizedOptions);\n return {\n search: explorer.search.bind(explorer),\n load: explorer.load.bind(explorer),\n clearLoadCache: explorer.clearLoadCache.bind(explorer),\n clearSearchCache: explorer.clearSearchCache.bind(explorer),\n clearCaches: explorer.clearCaches.bind(explorer),\n };\n}\nexports.cosmiconfig = cosmiconfig;\nfunction cosmiconfigSync(moduleName, options = {}) {\n const internalOptions = getInternalOptions(moduleName, options);\n const normalizedOptions = normalizeOptionsSync(moduleName, internalOptions);\n const explorerSync = new ExplorerSync_js_1.ExplorerSync(normalizedOptions);\n return {\n search: explorerSync.search.bind(explorerSync),\n load: explorerSync.load.bind(explorerSync),\n clearLoadCache: explorerSync.clearLoadCache.bind(explorerSync),\n clearSearchCache: explorerSync.clearSearchCache.bind(explorerSync),\n clearCaches: explorerSync.clearCaches.bind(explorerSync),\n };\n}\nexports.cosmiconfigSync = cosmiconfigSync;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/cosmiconfig/dist/index.js?"); - -/***/ }), - -/***/ "./node_modules/cosmiconfig/dist/loaders.js": -/*!**************************************************!*\ - !*** ./node_modules/cosmiconfig/dist/loaders.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval("\n/* eslint-disable @typescript-eslint/no-require-imports */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.loadTs = exports.loadTsSync = exports.loadYaml = exports.loadJson = exports.loadJs = exports.loadJsSync = void 0;\nconst fs_1 = __webpack_require__(/*! fs */ \"fs\");\nconst promises_1 = __webpack_require__(/*! fs/promises */ \"fs/promises\");\nconst path_1 = __importDefault(__webpack_require__(/*! path */ \"path\"));\nconst url_1 = __webpack_require__(/*! url */ \"url\");\nlet importFresh;\nconst loadJsSync = function loadJsSync(filepath) {\n if (importFresh === undefined) {\n importFresh = __webpack_require__(/*! import-fresh */ \"./node_modules/import-fresh/index.js\");\n }\n return importFresh(filepath);\n};\nexports.loadJsSync = loadJsSync;\nconst loadJs = async function loadJs(filepath) {\n try {\n const { href } = (0, url_1.pathToFileURL)(filepath);\n return (await __webpack_require__(\"./node_modules/cosmiconfig/dist lazy recursive\")(href)).default;\n }\n catch (error) {\n return (0, exports.loadJsSync)(filepath, '');\n }\n};\nexports.loadJs = loadJs;\nlet parseJson;\nconst loadJson = function loadJson(filepath, content) {\n if (parseJson === undefined) {\n parseJson = __webpack_require__(/*! parse-json */ \"./node_modules/parse-json/index.js\");\n }\n try {\n return parseJson(content);\n }\n catch (error) {\n error.message = `JSON Error in ${filepath}:\\n${error.message}`;\n throw error;\n }\n};\nexports.loadJson = loadJson;\nlet yaml;\nconst loadYaml = function loadYaml(filepath, content) {\n if (yaml === undefined) {\n yaml = __webpack_require__(/*! js-yaml */ \"./node_modules/js-yaml/index.js\");\n }\n try {\n return yaml.load(content);\n }\n catch (error) {\n error.message = `YAML Error in ${filepath}:\\n${error.message}`;\n throw error;\n }\n};\nexports.loadYaml = loadYaml;\nlet typescript;\nconst loadTsSync = function loadTsSync(filepath, content) {\n /* istanbul ignore next -- @preserve */\n if (typescript === undefined) {\n typescript = __webpack_require__(/*! typescript */ \"./node_modules/typescript/lib/typescript.js\");\n }\n const compiledFilepath = `${filepath.slice(0, -2)}cjs`;\n try {\n const config = resolveTsConfig(path_1.default.dirname(filepath)) ?? {};\n config.compilerOptions = {\n ...config.compilerOptions,\n module: typescript.ModuleKind.NodeNext,\n moduleResolution: typescript.ModuleResolutionKind.NodeNext,\n target: typescript.ScriptTarget.ES2022,\n noEmit: false,\n };\n content = typescript.transpileModule(content, config).outputText;\n (0, fs_1.writeFileSync)(compiledFilepath, content);\n return (0, exports.loadJsSync)(compiledFilepath, content).default;\n }\n catch (error) {\n error.message = `TypeScript Error in ${filepath}:\\n${error.message}`;\n throw error;\n }\n finally {\n if ((0, fs_1.existsSync)(compiledFilepath)) {\n (0, fs_1.rmSync)(compiledFilepath);\n }\n }\n};\nexports.loadTsSync = loadTsSync;\nconst loadTs = async function loadTs(filepath, content) {\n if (typescript === undefined) {\n typescript = (await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! typescript */ \"./node_modules/typescript/lib/typescript.js\", 23))).default;\n }\n const compiledFilepath = `${filepath.slice(0, -2)}mjs`;\n try {\n const config = resolveTsConfig(path_1.default.dirname(filepath)) ?? {};\n config.compilerOptions = {\n ...config.compilerOptions,\n module: typescript.ModuleKind.ES2022,\n moduleResolution: typescript.ModuleResolutionKind.Bundler,\n target: typescript.ScriptTarget.ES2022,\n noEmit: false,\n };\n content = typescript.transpileModule(content, config).outputText;\n await (0, promises_1.writeFile)(compiledFilepath, content);\n const { href } = (0, url_1.pathToFileURL)(compiledFilepath);\n return (await __webpack_require__(\"./node_modules/cosmiconfig/dist lazy recursive\")(href)).default;\n }\n catch (error) {\n error.message = `TypeScript Error in ${filepath}:\\n${error.message}`;\n throw error;\n }\n finally {\n if ((0, fs_1.existsSync)(compiledFilepath)) {\n await (0, promises_1.rm)(compiledFilepath);\n }\n }\n};\nexports.loadTs = loadTs;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction resolveTsConfig(directory) {\n const filePath = typescript.findConfigFile(directory, (fileName) => {\n return typescript.sys.fileExists(fileName);\n });\n if (filePath !== undefined) {\n const { config, error } = typescript.readConfigFile(filePath, (path) => typescript.sys.readFile(path));\n if (error) {\n throw new Error(`Error in ${filePath}: ${error.messageText.toString()}`);\n }\n return config;\n }\n return;\n}\n//# sourceMappingURL=loaders.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/cosmiconfig/dist/loaders.js?"); - -/***/ }), - -/***/ "./node_modules/cosmiconfig/dist/types.js": -/*!************************************************!*\ - !*** ./node_modules/cosmiconfig/dist/types.js ***! - \************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n//# sourceMappingURL=types.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/cosmiconfig/dist/types.js?"); - -/***/ }), - -/***/ "./node_modules/cosmiconfig/dist/util.js": -/*!***********************************************!*\ - !*** ./node_modules/cosmiconfig/dist/util.js ***! - \***********************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.removeUndefinedValuesFromObject = exports.getPropertyByPath = exports.emplace = void 0;\n/**\n * @internal\n */\nfunction emplace(map, key, fn) {\n const cached = map.get(key);\n if (cached !== undefined) {\n return cached;\n }\n const result = fn();\n map.set(key, result);\n return result;\n}\nexports.emplace = emplace;\n// Resolves property names or property paths defined with period-delimited\n// strings or arrays of strings. Property names that are found on the source\n// object are used directly (even if they include a period).\n// Nested property names that include periods, within a path, are only\n// understood in array paths.\n/**\n * @internal\n */\nfunction getPropertyByPath(source, path) {\n if (typeof path === 'string' &&\n Object.prototype.hasOwnProperty.call(source, path)) {\n return source[path];\n }\n const parsedPath = typeof path === 'string' ? path.split('.') : path;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return parsedPath.reduce((previous, key) => {\n if (previous === undefined) {\n return previous;\n }\n return previous[key];\n }, source);\n}\nexports.getPropertyByPath = getPropertyByPath;\n/** @internal */\nfunction removeUndefinedValuesFromObject(options) {\n /* istanbul ignore if -- @preserve */\n if (!options) {\n return undefined;\n }\n return Object.fromEntries(Object.entries(options).filter(([, value]) => value !== undefined));\n}\nexports.removeUndefinedValuesFromObject = removeUndefinedValuesFromObject;\n//# sourceMappingURL=util.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/cosmiconfig/dist/util.js?"); - -/***/ }), - -/***/ "./node_modules/cosmiconfig/dist lazy recursive": -/*!**************************************************************!*\ - !*** ./node_modules/cosmiconfig/dist/ lazy namespace object ***! - \**************************************************************/ -/***/ ((module) => { - -eval("function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(() => {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./node_modules/cosmiconfig/dist lazy recursive\";\nmodule.exports = webpackEmptyAsyncContext;\n\n//# sourceURL=webpack://renderer/./node_modules/cosmiconfig/dist/_lazy_namespace_object?"); - -/***/ }), - -/***/ "./node_modules/cssstyle/lib/CSSStyleDeclaration.js": -/*!**********************************************************!*\ - !*** ./node_modules/cssstyle/lib/CSSStyleDeclaration.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("/*********************************************************************\n * This is a fork from the CSS Style Declaration part of\n * https://github.com/NV/CSSOM\n ********************************************************************/\n\nvar CSSOM = __webpack_require__(/*! rrweb-cssom */ \"./node_modules/rrweb-cssom/lib/index.js\");\nvar allProperties = __webpack_require__(/*! ./allProperties */ \"./node_modules/cssstyle/lib/allProperties.js\");\nvar allExtraProperties = __webpack_require__(/*! ./allExtraProperties */ \"./node_modules/cssstyle/lib/allExtraProperties.js\");\nvar implementedProperties = __webpack_require__(/*! ./implementedProperties */ \"./node_modules/cssstyle/lib/implementedProperties.js\");\nvar { dashedToCamelCase } = __webpack_require__(/*! ./parsers */ \"./node_modules/cssstyle/lib/parsers.js\");\nvar getBasicPropertyDescriptor = __webpack_require__(/*! ./utils/getBasicPropertyDescriptor */ \"./node_modules/cssstyle/lib/utils/getBasicPropertyDescriptor.js\");\n\n/**\n * @constructor\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration\n */\nvar CSSStyleDeclaration = function CSSStyleDeclaration(onChangeCallback) {\n this._values = {};\n this._importants = {};\n this._length = 0;\n this._onChange = onChangeCallback;\n this._setInProgress = false;\n};\nCSSStyleDeclaration.prototype = {\n constructor: CSSStyleDeclaration,\n\n /**\n *\n * @param {string} name\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValue\n * @return {string} the value of the property if it has been explicitly set for this declaration block.\n * Returns the empty string if the property has not been set.\n */\n getPropertyValue: function (name) {\n if (!this._values.hasOwnProperty(name)) {\n return '';\n }\n return this._values[name].toString();\n },\n\n /**\n *\n * @param {string} name\n * @param {string} value\n * @param {string} [priority=null] \"important\" or null\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty\n */\n setProperty: function (name, value, priority) {\n if (value === undefined) {\n return;\n }\n if (value === null || value === '') {\n this.removeProperty(name);\n return;\n }\n var isCustomProperty = name.indexOf('--') === 0;\n if (isCustomProperty) {\n this._setProperty(name, value, priority);\n return;\n }\n var lowercaseName = name.toLowerCase();\n if (!allProperties.has(lowercaseName) && !allExtraProperties.has(lowercaseName)) {\n return;\n }\n\n this[lowercaseName] = value;\n this._importants[lowercaseName] = priority;\n },\n _setProperty: function (name, value, priority) {\n if (value === undefined) {\n return;\n }\n if (value === null || value === '') {\n this.removeProperty(name);\n return;\n }\n\n var originalText;\n if (this._onChange) {\n originalText = this.cssText;\n }\n\n if (this._values[name]) {\n // Property already exist. Overwrite it.\n var index = Array.prototype.indexOf.call(this, name);\n if (index < 0) {\n this[this._length] = name;\n this._length++;\n }\n } else {\n // New property.\n this[this._length] = name;\n this._length++;\n }\n this._values[name] = value;\n this._importants[name] = priority;\n if (this._onChange && this.cssText !== originalText && !this._setInProgress) {\n this._onChange(this.cssText);\n }\n },\n\n /**\n *\n * @param {string} name\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removeProperty\n * @return {string} the value of the property if it has been explicitly set for this declaration block.\n * Returns the empty string if the property has not been set or the property name does not correspond to a known CSS property.\n */\n removeProperty: function (name) {\n if (!this._values.hasOwnProperty(name)) {\n return '';\n }\n\n var prevValue = this._values[name];\n delete this._values[name];\n delete this._importants[name];\n\n var index = Array.prototype.indexOf.call(this, name);\n if (index < 0) {\n return prevValue;\n }\n\n // That's what WebKit and Opera do\n Array.prototype.splice.call(this, index, 1);\n\n // That's what Firefox does\n //this[index] = \"\"\n\n if (this._onChange) {\n this._onChange(this.cssText);\n }\n return prevValue;\n },\n\n /**\n *\n * @param {String} name\n */\n getPropertyPriority: function (name) {\n return this._importants[name] || '';\n },\n\n getPropertyCSSValue: function () {\n //FIXME\n return;\n },\n\n /**\n * element.style.overflow = \"auto\"\n * element.style.getPropertyShorthand(\"overflow-x\")\n * -> \"overflow\"\n */\n getPropertyShorthand: function () {\n //FIXME\n return;\n },\n\n isPropertyImplicit: function () {\n //FIXME\n return;\n },\n\n /**\n * http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-item\n */\n item: function (index) {\n index = parseInt(index, 10);\n if (index < 0 || index >= this._length) {\n return '';\n }\n return this[index];\n },\n};\n\nObject.defineProperties(CSSStyleDeclaration.prototype, {\n cssText: {\n get: function () {\n var properties = [];\n var i;\n var name;\n var value;\n var priority;\n for (i = 0; i < this._length; i++) {\n name = this[i];\n value = this.getPropertyValue(name);\n priority = this.getPropertyPriority(name);\n if (priority !== '') {\n priority = ' !' + priority;\n }\n properties.push([name, ': ', value, priority, ';'].join(''));\n }\n return properties.join(' ');\n },\n set: function (value) {\n var i;\n this._values = {};\n Array.prototype.splice.call(this, 0, this._length);\n this._importants = {};\n var dummyRule;\n try {\n dummyRule = CSSOM.parse('#bogus{' + value + '}').cssRules[0].style;\n } catch (err) {\n // malformed css, just return\n return;\n }\n this._setInProgress = true;\n var rule_length = dummyRule.length;\n var name;\n for (i = 0; i < rule_length; ++i) {\n name = dummyRule[i];\n this.setProperty(\n dummyRule[i],\n dummyRule.getPropertyValue(name),\n dummyRule.getPropertyPriority(name)\n );\n }\n this._setInProgress = false;\n if (this._onChange) {\n this._onChange(this.cssText);\n }\n },\n enumerable: true,\n configurable: true,\n },\n parentRule: {\n get: function () {\n return null;\n },\n enumerable: true,\n configurable: true,\n },\n length: {\n get: function () {\n return this._length;\n },\n /**\n * This deletes indices if the new length is less then the current\n * length. If the new length is more, it does nothing, the new indices\n * will be undefined until set.\n **/\n set: function (value) {\n var i;\n for (i = value; i < this._length; i++) {\n delete this[i];\n }\n this._length = value;\n },\n enumerable: true,\n configurable: true,\n },\n});\n\n__webpack_require__(/*! ./properties */ \"./node_modules/cssstyle/lib/properties.js\")(CSSStyleDeclaration.prototype);\n\nallProperties.forEach(function (property) {\n if (!implementedProperties.has(property)) {\n var declaration = getBasicPropertyDescriptor(property);\n Object.defineProperty(CSSStyleDeclaration.prototype, property, declaration);\n Object.defineProperty(CSSStyleDeclaration.prototype, dashedToCamelCase(property), declaration);\n }\n});\n\nallExtraProperties.forEach(function (property) {\n if (!implementedProperties.has(property)) {\n var declaration = getBasicPropertyDescriptor(property);\n Object.defineProperty(CSSStyleDeclaration.prototype, property, declaration);\n Object.defineProperty(CSSStyleDeclaration.prototype, dashedToCamelCase(property), declaration);\n }\n});\n\nexports.CSSStyleDeclaration = CSSStyleDeclaration;\n\n\n//# sourceURL=webpack://renderer/./node_modules/cssstyle/lib/CSSStyleDeclaration.js?"); - -/***/ }), - -/***/ "./node_modules/cssstyle/lib/allExtraProperties.js": -/*!*********************************************************!*\ - !*** ./node_modules/cssstyle/lib/allExtraProperties.js ***! - \*********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\n/**\n * This file contains all implemented properties that are not a part of any\n * current specifications or drafts, but are handled by browsers nevertheless.\n */\n\nvar allWebkitProperties = __webpack_require__(/*! ./allWebkitProperties */ \"./node_modules/cssstyle/lib/allWebkitProperties.js\");\n\nmodule.exports = new Set(\n [\n 'background-position-x',\n 'background-position-y',\n 'background-repeat-x',\n 'background-repeat-y',\n 'color-interpolation',\n 'color-profile',\n 'color-rendering',\n 'css-float',\n 'enable-background',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'glyph-orientation-horizontal',\n 'image-rendering',\n 'kerning',\n 'marker',\n 'marker-end',\n 'marker-mid',\n 'marker-offset',\n 'marker-start',\n 'marks',\n 'pointer-events',\n 'shape-rendering',\n 'size',\n 'src',\n 'stop-color',\n 'stop-opacity',\n 'stroke',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'text-anchor',\n 'text-line-through',\n 'text-line-through-color',\n 'text-line-through-mode',\n 'text-line-through-style',\n 'text-line-through-width',\n 'text-overline',\n 'text-overline-color',\n 'text-overline-mode',\n 'text-overline-style',\n 'text-overline-width',\n 'text-rendering',\n 'text-underline',\n 'text-underline-color',\n 'text-underline-mode',\n 'text-underline-style',\n 'text-underline-width',\n 'unicode-range',\n 'vector-effect',\n ].concat(allWebkitProperties)\n);\n\n\n//# sourceURL=webpack://renderer/./node_modules/cssstyle/lib/allExtraProperties.js?"); - -/***/ }), - -/***/ "./node_modules/cssstyle/lib/allProperties.js": -/*!****************************************************!*\ - !*** ./node_modules/cssstyle/lib/allProperties.js ***! - \****************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\n// autogenerated - 1/22/2023\n\n/*\n *\n * https://www.w3.org/Style/CSS/all-properties.en.html\n */\n\nmodule.exports = new Set([\n '-webkit-line-clamp',\n 'accent-color',\n 'align-content',\n 'align-items',\n 'align-self',\n 'alignment-baseline',\n 'all',\n 'animation',\n 'animation-delay',\n 'animation-delay-end',\n 'animation-delay-start',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-range',\n 'animation-timing-function',\n 'appearance',\n 'aspect-ratio',\n 'azimuth',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-blend-mode',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-repeat',\n 'background-size',\n 'baseline-shift',\n 'baseline-source',\n 'block-ellipsis',\n 'block-size',\n 'bookmark-label',\n 'bookmark-level',\n 'bookmark-state',\n 'border',\n 'border-block',\n 'border-block-color',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-style',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-style',\n 'border-block-start-width',\n 'border-block-style',\n 'border-block-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-boundary',\n 'border-collapse',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-inline',\n 'border-inline-color',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-style',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-style',\n 'border-inline-start-width',\n 'border-inline-style',\n 'border-inline-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-decoration-break',\n 'box-shadow',\n 'box-sizing',\n 'box-snap',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'caption-side',\n 'caret',\n 'caret-color',\n 'caret-shape',\n 'chains',\n 'clear',\n 'clip',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-adjust',\n 'color-interpolation-filters',\n 'color-scheme',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'contain',\n 'contain-intrinsic-block-size',\n 'contain-intrinsic-height',\n 'contain-intrinsic-inline-size',\n 'contain-intrinsic-size',\n 'contain-intrinsic-width',\n 'container',\n 'container-name',\n 'container-type',\n 'content',\n 'content-visibility',\n 'continue',\n 'counter-increment',\n 'counter-reset',\n 'counter-set',\n 'cue',\n 'cue-after',\n 'cue-before',\n 'cursor',\n 'direction',\n 'display',\n 'dominant-baseline',\n 'elevation',\n 'empty-cells',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'flood-color',\n 'flood-opacity',\n 'flow',\n 'flow-from',\n 'flow-into',\n 'font',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-optical-sizing',\n 'font-palette',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-style',\n 'font-synthesis',\n 'font-synthesis-small-caps',\n 'font-synthesis-style',\n 'font-synthesis-weight',\n 'font-variant',\n 'font-variant-alternates',\n 'font-variant-caps',\n 'font-variant-east-asian',\n 'font-variant-emoji',\n 'font-variant-ligatures',\n 'font-variant-numeric',\n 'font-variant-position',\n 'font-variation-settings',\n 'font-weight',\n 'footnote-display',\n 'footnote-policy',\n 'forced-color-adjust',\n 'gap',\n 'glyph-orientation-vertical',\n 'grid',\n 'grid-area',\n 'grid-auto-columns',\n 'grid-auto-flow',\n 'grid-auto-rows',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'grid-template',\n 'grid-template-areas',\n 'grid-template-columns',\n 'grid-template-rows',\n 'hanging-punctuation',\n 'height',\n 'hyphenate-character',\n 'hyphenate-limit-chars',\n 'hyphenate-limit-last',\n 'hyphenate-limit-lines',\n 'hyphenate-limit-zone',\n 'hyphens',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'initial-letter',\n 'initial-letter-align',\n 'initial-letter-wrap',\n 'inline-size',\n 'inline-sizing',\n 'inset',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'isolation',\n 'justify-content',\n 'justify-items',\n 'justify-self',\n 'leading-trim',\n 'left',\n 'letter-spacing',\n 'lighting-color',\n 'line-break',\n 'line-clamp',\n 'line-grid',\n 'line-height',\n 'line-padding',\n 'line-snap',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'margin',\n 'margin-block',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'margin-trim',\n 'marker-side',\n 'mask',\n 'mask-border',\n 'mask-border-mode',\n 'mask-border-outset',\n 'mask-border-repeat',\n 'mask-border-slice',\n 'mask-border-source',\n 'mask-border-width',\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-mode',\n 'mask-origin',\n 'mask-position',\n 'mask-repeat',\n 'mask-size',\n 'mask-type',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-lines',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-intrinsic-sizing',\n 'min-width',\n 'mix-blend-mode',\n 'nav-down',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'object-fit',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-anchor',\n 'overflow-block',\n 'overflow-clip-margin',\n 'overflow-clip-margin-block',\n 'overflow-clip-margin-block-end',\n 'overflow-clip-margin-block-start',\n 'overflow-clip-margin-bottom',\n 'overflow-clip-margin-inline',\n 'overflow-clip-margin-inline-end',\n 'overflow-clip-margin-inline-start',\n 'overflow-clip-margin-left',\n 'overflow-clip-margin-right',\n 'overflow-clip-margin-top',\n 'overflow-inline',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'padding',\n 'padding-block',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'pause',\n 'pause-after',\n 'pause-before',\n 'perspective',\n 'perspective-origin',\n 'pitch',\n 'pitch-range',\n 'place-content',\n 'place-items',\n 'place-self',\n 'play-during',\n 'position',\n 'print-color-adjust',\n 'quotes',\n 'region-fragment',\n 'resize',\n 'rest',\n 'rest-after',\n 'rest-before',\n 'richness',\n 'right',\n 'rotate',\n 'row-gap',\n 'ruby-align',\n 'ruby-merge',\n 'ruby-overhang',\n 'ruby-position',\n 'running',\n 'scale',\n 'scroll-behavior',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-align',\n 'scroll-snap-stop',\n 'scroll-snap-type',\n 'scroll-timeline',\n 'scroll-timeline-axis',\n 'scroll-timeline-name',\n 'scrollbar-color',\n 'scrollbar-gutter',\n 'scrollbar-width',\n 'shape-image-threshold',\n 'shape-inside',\n 'shape-margin',\n 'shape-outside',\n 'spatial-navigation-action',\n 'spatial-navigation-contain',\n 'spatial-navigation-function',\n 'speak',\n 'speak-as',\n 'speak-header',\n 'speak-numeral',\n 'speak-punctuation',\n 'speech-rate',\n 'stress',\n 'string-set',\n 'tab-size',\n 'table-layout',\n 'text-align',\n 'text-align-all',\n 'text-align-last',\n 'text-combine-upright',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-skip',\n 'text-decoration-skip-box',\n 'text-decoration-skip-ink',\n 'text-decoration-skip-inset',\n 'text-decoration-skip-self',\n 'text-decoration-skip-spaces',\n 'text-decoration-style',\n 'text-decoration-thickness',\n 'text-edge',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-emphasis-position',\n 'text-emphasis-skip',\n 'text-emphasis-style',\n 'text-group-align',\n 'text-indent',\n 'text-justify',\n 'text-orientation',\n 'text-overflow',\n 'text-shadow',\n 'text-space-collapse',\n 'text-space-trim',\n 'text-spacing',\n 'text-transform',\n 'text-underline-offset',\n 'text-underline-position',\n 'text-wrap',\n 'top',\n 'transform',\n 'transform-box',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'translate',\n 'unicode-bidi',\n 'user-select',\n 'vertical-align',\n 'view-timeline',\n 'view-timeline-axis',\n 'view-timeline-inset',\n 'view-timeline-name',\n 'view-transition-name',\n 'visibility',\n 'voice-balance',\n 'voice-duration',\n 'voice-family',\n 'voice-pitch',\n 'voice-range',\n 'voice-rate',\n 'voice-stress',\n 'voice-volume',\n 'volume',\n 'white-space',\n 'widows',\n 'width',\n 'will-change',\n 'word-boundary-detection',\n 'word-boundary-expansion',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'wrap-after',\n 'wrap-before',\n 'wrap-flow',\n 'wrap-inside',\n 'wrap-through',\n 'writing-mode',\n 'z-index',\n]);\n\n\n//# sourceURL=webpack://renderer/./node_modules/cssstyle/lib/allProperties.js?"); - -/***/ }), - -/***/ "./node_modules/cssstyle/lib/allWebkitProperties.js": -/*!**********************************************************!*\ - !*** ./node_modules/cssstyle/lib/allWebkitProperties.js ***! - \**********************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\n/**\n * This file contains all implemented properties that are not a part of any\n * current specifications or drafts, but are handled by browsers nevertheless.\n */\n\nmodule.exports = [\n 'animation',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-timing-function',\n 'appearance',\n 'aspect-ratio',\n 'backface-visibility',\n 'background-clip',\n 'background-composite',\n 'background-origin',\n 'background-size',\n 'border-after',\n 'border-after-color',\n 'border-after-style',\n 'border-after-width',\n 'border-before',\n 'border-before-color',\n 'border-before-style',\n 'border-before-width',\n 'border-end',\n 'border-end-color',\n 'border-end-style',\n 'border-end-width',\n 'border-fit',\n 'border-horizontal-spacing',\n 'border-image',\n 'border-radius',\n 'border-start',\n 'border-start-color',\n 'border-start-style',\n 'border-start-width',\n 'border-vertical-spacing',\n 'box-align',\n 'box-direction',\n 'box-flex',\n 'box-flex-group',\n 'box-lines',\n 'box-ordinal-group',\n 'box-orient',\n 'box-pack',\n 'box-reflect',\n 'box-shadow',\n 'color-correction',\n 'column-axis',\n 'column-break-after',\n 'column-break-before',\n 'column-break-inside',\n 'column-count',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'columns',\n 'column-span',\n 'column-width',\n 'filter',\n 'flex-align',\n 'flex-direction',\n 'flex-flow',\n 'flex-item-align',\n 'flex-line-pack',\n 'flex-order',\n 'flex-pack',\n 'flex-wrap',\n 'flow-from',\n 'flow-into',\n 'font-feature-settings',\n 'font-kerning',\n 'font-size-delta',\n 'font-smoothing',\n 'font-variant-ligatures',\n 'highlight',\n 'hyphenate-character',\n 'hyphenate-limit-after',\n 'hyphenate-limit-before',\n 'hyphenate-limit-lines',\n 'hyphens',\n 'line-align',\n 'line-box-contain',\n 'line-break',\n 'line-clamp',\n 'line-grid',\n 'line-snap',\n 'locale',\n 'logical-height',\n 'logical-width',\n 'margin-after',\n 'margin-after-collapse',\n 'margin-before',\n 'margin-before-collapse',\n 'margin-bottom-collapse',\n 'margin-collapse',\n 'margin-end',\n 'margin-start',\n 'margin-top-collapse',\n 'marquee',\n 'marquee-direction',\n 'marquee-increment',\n 'marquee-repetition',\n 'marquee-speed',\n 'marquee-style',\n 'mask',\n 'mask-attachment',\n 'mask-box-image',\n 'mask-box-image-outset',\n 'mask-box-image-repeat',\n 'mask-box-image-slice',\n 'mask-box-image-source',\n 'mask-box-image-width',\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-origin',\n 'mask-position',\n 'mask-position-x',\n 'mask-position-y',\n 'mask-repeat',\n 'mask-repeat-x',\n 'mask-repeat-y',\n 'mask-size',\n 'match-nearest-mail-blockquote-color',\n 'max-logical-height',\n 'max-logical-width',\n 'min-logical-height',\n 'min-logical-width',\n 'nbsp-mode',\n 'overflow-scrolling',\n 'padding-after',\n 'padding-before',\n 'padding-end',\n 'padding-start',\n 'perspective',\n 'perspective-origin',\n 'perspective-origin-x',\n 'perspective-origin-y',\n 'print-color-adjust',\n 'region-break-after',\n 'region-break-before',\n 'region-break-inside',\n 'region-overflow',\n 'rtl-ordering',\n 'svg-shadow',\n 'tap-highlight-color',\n 'text-combine',\n 'text-decorations-in-effect',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-emphasis-position',\n 'text-emphasis-style',\n 'text-fill-color',\n 'text-orientation',\n 'text-security',\n 'text-size-adjust',\n 'text-stroke',\n 'text-stroke-color',\n 'text-stroke-width',\n 'transform',\n 'transform-origin',\n 'transform-origin-x',\n 'transform-origin-y',\n 'transform-origin-z',\n 'transform-style',\n 'transition',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'user-drag',\n 'user-modify',\n 'user-select',\n 'wrap',\n 'wrap-flow',\n 'wrap-margin',\n 'wrap-padding',\n 'wrap-shape-inside',\n 'wrap-shape-outside',\n 'wrap-through',\n 'writing-mode',\n 'zoom',\n].map((prop) => 'webkit-' + prop);\n\n\n//# sourceURL=webpack://renderer/./node_modules/cssstyle/lib/allWebkitProperties.js?"); - -/***/ }), - -/***/ "./node_modules/cssstyle/lib/constants.js": -/*!************************************************!*\ - !*** ./node_modules/cssstyle/lib/constants.js ***! - \************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\nmodule.exports.POSITION_AT_SHORTHAND = {\n first: 0,\n second: 1,\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/cssstyle/lib/constants.js?"); - -/***/ }), - -/***/ "./node_modules/cssstyle/lib/implementedProperties.js": -/*!************************************************************!*\ - !*** ./node_modules/cssstyle/lib/implementedProperties.js ***! - \************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\n// autogenerated - 12/28/2023\n\n/*\n *\n * https://www.w3.org/Style/CSS/all-properties.en.html\n */\n\nvar implementedProperties = new Set();\nimplementedProperties.add(\"azimuth\");\nimplementedProperties.add(\"background\");\nimplementedProperties.add(\"background-attachment\");\nimplementedProperties.add(\"background-color\");\nimplementedProperties.add(\"background-image\");\nimplementedProperties.add(\"background-position\");\nimplementedProperties.add(\"background-repeat\");\nimplementedProperties.add(\"border\");\nimplementedProperties.add(\"border-bottom\");\nimplementedProperties.add(\"border-bottom-color\");\nimplementedProperties.add(\"border-bottom-style\");\nimplementedProperties.add(\"border-bottom-width\");\nimplementedProperties.add(\"border-collapse\");\nimplementedProperties.add(\"border-color\");\nimplementedProperties.add(\"border-left\");\nimplementedProperties.add(\"border-left-color\");\nimplementedProperties.add(\"border-left-style\");\nimplementedProperties.add(\"border-left-width\");\nimplementedProperties.add(\"border-right\");\nimplementedProperties.add(\"border-right-color\");\nimplementedProperties.add(\"border-right-style\");\nimplementedProperties.add(\"border-right-width\");\nimplementedProperties.add(\"border-spacing\");\nimplementedProperties.add(\"border-style\");\nimplementedProperties.add(\"border-top\");\nimplementedProperties.add(\"border-top-color\");\nimplementedProperties.add(\"border-top-style\");\nimplementedProperties.add(\"border-top-width\");\nimplementedProperties.add(\"border-width\");\nimplementedProperties.add(\"bottom\");\nimplementedProperties.add(\"clear\");\nimplementedProperties.add(\"clip\");\nimplementedProperties.add(\"color\");\nimplementedProperties.add(\"css-float\");\nimplementedProperties.add(\"flex\");\nimplementedProperties.add(\"flex-basis\");\nimplementedProperties.add(\"flex-grow\");\nimplementedProperties.add(\"flex-shrink\");\nimplementedProperties.add(\"float\");\nimplementedProperties.add(\"flood-color\");\nimplementedProperties.add(\"font\");\nimplementedProperties.add(\"font-family\");\nimplementedProperties.add(\"font-size\");\nimplementedProperties.add(\"font-style\");\nimplementedProperties.add(\"font-variant\");\nimplementedProperties.add(\"font-weight\");\nimplementedProperties.add(\"height\");\nimplementedProperties.add(\"left\");\nimplementedProperties.add(\"lighting-color\");\nimplementedProperties.add(\"line-height\");\nimplementedProperties.add(\"margin\");\nimplementedProperties.add(\"margin-bottom\");\nimplementedProperties.add(\"margin-left\");\nimplementedProperties.add(\"margin-right\");\nimplementedProperties.add(\"margin-top\");\nimplementedProperties.add(\"opacity\");\nimplementedProperties.add(\"outline-color\");\nimplementedProperties.add(\"padding\");\nimplementedProperties.add(\"padding-bottom\");\nimplementedProperties.add(\"padding-left\");\nimplementedProperties.add(\"padding-right\");\nimplementedProperties.add(\"padding-top\");\nimplementedProperties.add(\"right\");\nimplementedProperties.add(\"stop-color\");\nimplementedProperties.add(\"text-line-through-color\");\nimplementedProperties.add(\"text-overline-color\");\nimplementedProperties.add(\"text-underline-color\");\nimplementedProperties.add(\"top\");\nimplementedProperties.add(\"webkit-border-after-color\");\nimplementedProperties.add(\"webkit-border-before-color\");\nimplementedProperties.add(\"webkit-border-end-color\");\nimplementedProperties.add(\"webkit-border-start-color\");\nimplementedProperties.add(\"webkit-column-rule-color\");\nimplementedProperties.add(\"webkit-match-nearest-mail-blockquote-color\");\nimplementedProperties.add(\"webkit-tap-highlight-color\");\nimplementedProperties.add(\"webkit-text-emphasis-color\");\nimplementedProperties.add(\"webkit-text-fill-color\");\nimplementedProperties.add(\"webkit-text-stroke-color\");\nimplementedProperties.add(\"width\");\nmodule.exports = implementedProperties;\n\n\n//# sourceURL=webpack://renderer/./node_modules/cssstyle/lib/implementedProperties.js?"); - -/***/ }), - -/***/ "./node_modules/cssstyle/lib/parsers.js": -/*!**********************************************!*\ - !*** ./node_modules/cssstyle/lib/parsers.js ***! - \**********************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("/*********************************************************************\n * These are commonly used parsers for CSS Values they take a string *\n * to parse and return a string after it's been converted, if needed *\n ********************************************************************/\n\n\nconst namedColors = __webpack_require__(/*! ./named_colors.json */ \"./node_modules/cssstyle/lib/named_colors.json\");\nconst { hslToRgb } = __webpack_require__(/*! ./utils/colorSpace */ \"./node_modules/cssstyle/lib/utils/colorSpace.js\");\n\nexports.TYPES = {\n INTEGER: 1,\n NUMBER: 2,\n LENGTH: 3,\n PERCENT: 4,\n URL: 5,\n COLOR: 6,\n STRING: 7,\n ANGLE: 8,\n KEYWORD: 9,\n NULL_OR_EMPTY_STR: 10,\n CALC: 11,\n};\n\n// rough regular expressions\nvar integerRegEx = /^[-+]?[0-9]+$/;\nvar numberRegEx = /^[-+]?[0-9]*\\.?[0-9]+$/;\nvar lengthRegEx = /^(0|[-+]?[0-9]*\\.?[0-9]+(in|cm|em|mm|pt|pc|px|ex|rem|vh|vw|ch))$/;\nvar percentRegEx = /^[-+]?[0-9]*\\.?[0-9]+%$/;\nvar urlRegEx = /^url\\(\\s*([^)]*)\\s*\\)$/;\nvar stringRegEx = /^(\"[^\"]*\"|'[^']*')$/;\nvar colorRegEx1 = /^#([0-9a-fA-F]{3,4}){1,2}$/;\nvar colorRegEx2 = /^rgb\\(([^)]*)\\)$/;\nvar colorRegEx3 = /^rgba\\(([^)]*)\\)$/;\nvar calcRegEx = /^calc\\(([^)]*)\\)$/;\nvar colorRegEx4 =\n /^hsla?\\(\\s*(-?\\d+|-?\\d*.\\d+)\\s*,\\s*(-?\\d+|-?\\d*.\\d+)%\\s*,\\s*(-?\\d+|-?\\d*.\\d+)%\\s*(,\\s*(-?\\d+|-?\\d*.\\d+)\\s*)?\\)/;\nvar angleRegEx = /^([-+]?[0-9]*\\.?[0-9]+)(deg|grad|rad)$/;\n\n// This will return one of the above types based on the passed in string\nexports.valueType = function valueType(val) {\n if (val === '' || val === null) {\n return exports.TYPES.NULL_OR_EMPTY_STR;\n }\n if (typeof val === 'number') {\n val = val.toString();\n }\n\n if (typeof val !== 'string') {\n return undefined;\n }\n\n if (integerRegEx.test(val)) {\n return exports.TYPES.INTEGER;\n }\n if (numberRegEx.test(val)) {\n return exports.TYPES.NUMBER;\n }\n if (lengthRegEx.test(val)) {\n return exports.TYPES.LENGTH;\n }\n if (percentRegEx.test(val)) {\n return exports.TYPES.PERCENT;\n }\n if (urlRegEx.test(val)) {\n return exports.TYPES.URL;\n }\n if (calcRegEx.test(val)) {\n return exports.TYPES.CALC;\n }\n if (stringRegEx.test(val)) {\n return exports.TYPES.STRING;\n }\n if (angleRegEx.test(val)) {\n return exports.TYPES.ANGLE;\n }\n if (colorRegEx1.test(val)) {\n return exports.TYPES.COLOR;\n }\n\n var res = colorRegEx2.exec(val);\n var parts;\n if (res !== null) {\n parts = res[1].split(/\\s*,\\s*/);\n if (parts.length !== 3) {\n return undefined;\n }\n if (\n parts.every(percentRegEx.test.bind(percentRegEx)) ||\n parts.every(integerRegEx.test.bind(integerRegEx))\n ) {\n return exports.TYPES.COLOR;\n }\n return undefined;\n }\n res = colorRegEx3.exec(val);\n if (res !== null) {\n parts = res[1].split(/\\s*,\\s*/);\n if (parts.length !== 4) {\n return undefined;\n }\n if (\n parts.slice(0, 3).every(percentRegEx.test.bind(percentRegEx)) ||\n parts.slice(0, 3).every(integerRegEx.test.bind(integerRegEx))\n ) {\n if (numberRegEx.test(parts[3])) {\n return exports.TYPES.COLOR;\n }\n }\n return undefined;\n }\n\n if (colorRegEx4.test(val)) {\n return exports.TYPES.COLOR;\n }\n\n // could still be a color, one of the standard keyword colors\n val = val.toLowerCase();\n\n if (namedColors.includes(val)) {\n return exports.TYPES.COLOR;\n }\n\n switch (val) {\n // the following are deprecated in CSS3\n case 'activeborder':\n case 'activecaption':\n case 'appworkspace':\n case 'background':\n case 'buttonface':\n case 'buttonhighlight':\n case 'buttonshadow':\n case 'buttontext':\n case 'captiontext':\n case 'graytext':\n case 'highlight':\n case 'highlighttext':\n case 'inactiveborder':\n case 'inactivecaption':\n case 'inactivecaptiontext':\n case 'infobackground':\n case 'infotext':\n case 'menu':\n case 'menutext':\n case 'scrollbar':\n case 'threeddarkshadow':\n case 'threedface':\n case 'threedhighlight':\n case 'threedlightshadow':\n case 'threedshadow':\n case 'window':\n case 'windowframe':\n case 'windowtext':\n return exports.TYPES.COLOR;\n default:\n return exports.TYPES.KEYWORD;\n }\n};\n\nexports.parseInteger = function parseInteger(val) {\n var type = exports.valueType(val);\n if (type === exports.TYPES.NULL_OR_EMPTY_STR) {\n return val;\n }\n if (type !== exports.TYPES.INTEGER) {\n return undefined;\n }\n return String(parseInt(val, 10));\n};\n\nexports.parseNumber = function parseNumber(val) {\n var type = exports.valueType(val);\n if (type === exports.TYPES.NULL_OR_EMPTY_STR) {\n return val;\n }\n if (type !== exports.TYPES.NUMBER && type !== exports.TYPES.INTEGER) {\n return undefined;\n }\n return String(parseFloat(val));\n};\n\nexports.parseLength = function parseLength(val) {\n if (val === 0 || val === '0') {\n return '0px';\n }\n var type = exports.valueType(val);\n if (type === exports.TYPES.NULL_OR_EMPTY_STR) {\n return val;\n }\n if (type !== exports.TYPES.LENGTH) {\n return undefined;\n }\n return val;\n};\n\nexports.parsePercent = function parsePercent(val) {\n if (val === 0 || val === '0') {\n return '0%';\n }\n var type = exports.valueType(val);\n if (type === exports.TYPES.NULL_OR_EMPTY_STR) {\n return val;\n }\n if (type !== exports.TYPES.PERCENT) {\n return undefined;\n }\n return val;\n};\n\n// either a length or a percent\nexports.parseMeasurement = function parseMeasurement(val) {\n var type = exports.valueType(val);\n if (type === exports.TYPES.CALC) {\n return val;\n }\n\n var length = exports.parseLength(val);\n if (length !== undefined) {\n return length;\n }\n return exports.parsePercent(val);\n};\n\nexports.parseUrl = function parseUrl(val) {\n var type = exports.valueType(val);\n if (type === exports.TYPES.NULL_OR_EMPTY_STR) {\n return val;\n }\n var res = urlRegEx.exec(val);\n // does it match the regex?\n if (!res) {\n return undefined;\n }\n var str = res[1];\n // if it starts with single or double quotes, does it end with the same?\n if ((str[0] === '\"' || str[0] === \"'\") && str[0] !== str[str.length - 1]) {\n return undefined;\n }\n if (str[0] === '\"' || str[0] === \"'\") {\n str = str.substr(1, str.length - 2);\n }\n\n var i;\n for (i = 0; i < str.length; i++) {\n switch (str[i]) {\n case '(':\n case ')':\n case ' ':\n case '\\t':\n case '\\n':\n case \"'\":\n case '\"':\n return undefined;\n case '\\\\':\n i++;\n break;\n }\n }\n\n return 'url(' + str + ')';\n};\n\nexports.parseString = function parseString(val) {\n var type = exports.valueType(val);\n if (type === exports.TYPES.NULL_OR_EMPTY_STR) {\n return val;\n }\n if (type !== exports.TYPES.STRING) {\n return undefined;\n }\n var i;\n for (i = 1; i < val.length - 1; i++) {\n switch (val[i]) {\n case val[0]:\n return undefined;\n case '\\\\':\n i++;\n while (i < val.length - 1 && /[0-9A-Fa-f]/.test(val[i])) {\n i++;\n }\n break;\n }\n }\n if (i >= val.length) {\n return undefined;\n }\n return val;\n};\n\nexports.parseColor = function parseColor(val) {\n var type = exports.valueType(val);\n if (type === exports.TYPES.NULL_OR_EMPTY_STR) {\n return val;\n }\n var red,\n green,\n blue,\n hue,\n saturation,\n lightness,\n alpha = 1;\n var parts;\n var res = colorRegEx1.exec(val);\n // is it #aaa, #ababab, #aaaa, #abababaa\n if (res) {\n var defaultHex = val.substr(1);\n var hex = val.substr(1);\n if (hex.length === 3 || hex.length === 4) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n\n if (defaultHex.length === 4) {\n hex = hex + defaultHex[3] + defaultHex[3];\n }\n }\n red = parseInt(hex.substr(0, 2), 16);\n green = parseInt(hex.substr(2, 2), 16);\n blue = parseInt(hex.substr(4, 2), 16);\n if (hex.length === 8) {\n var hexAlpha = hex.substr(6, 2);\n var hexAlphaToRgbaAlpha = Number((parseInt(hexAlpha, 16) / 255).toFixed(3));\n\n return 'rgba(' + red + ', ' + green + ', ' + blue + ', ' + hexAlphaToRgbaAlpha + ')';\n }\n return 'rgb(' + red + ', ' + green + ', ' + blue + ')';\n }\n\n res = colorRegEx2.exec(val);\n if (res) {\n parts = res[1].split(/\\s*,\\s*/);\n if (parts.length !== 3) {\n return undefined;\n }\n if (parts.every(percentRegEx.test.bind(percentRegEx))) {\n red = Math.floor((parseFloat(parts[0].slice(0, -1)) * 255) / 100);\n green = Math.floor((parseFloat(parts[1].slice(0, -1)) * 255) / 100);\n blue = Math.floor((parseFloat(parts[2].slice(0, -1)) * 255) / 100);\n } else if (parts.every(integerRegEx.test.bind(integerRegEx))) {\n red = parseInt(parts[0], 10);\n green = parseInt(parts[1], 10);\n blue = parseInt(parts[2], 10);\n } else {\n return undefined;\n }\n red = Math.min(255, Math.max(0, red));\n green = Math.min(255, Math.max(0, green));\n blue = Math.min(255, Math.max(0, blue));\n return 'rgb(' + red + ', ' + green + ', ' + blue + ')';\n }\n\n res = colorRegEx3.exec(val);\n if (res) {\n parts = res[1].split(/\\s*,\\s*/);\n if (parts.length !== 4) {\n return undefined;\n }\n if (parts.slice(0, 3).every(percentRegEx.test.bind(percentRegEx))) {\n red = Math.floor((parseFloat(parts[0].slice(0, -1)) * 255) / 100);\n green = Math.floor((parseFloat(parts[1].slice(0, -1)) * 255) / 100);\n blue = Math.floor((parseFloat(parts[2].slice(0, -1)) * 255) / 100);\n alpha = parseFloat(parts[3]);\n } else if (parts.slice(0, 3).every(integerRegEx.test.bind(integerRegEx))) {\n red = parseInt(parts[0], 10);\n green = parseInt(parts[1], 10);\n blue = parseInt(parts[2], 10);\n alpha = parseFloat(parts[3]);\n } else {\n return undefined;\n }\n if (isNaN(alpha)) {\n alpha = 1;\n }\n red = Math.min(255, Math.max(0, red));\n green = Math.min(255, Math.max(0, green));\n blue = Math.min(255, Math.max(0, blue));\n alpha = Math.min(1, Math.max(0, alpha));\n if (alpha === 1) {\n return 'rgb(' + red + ', ' + green + ', ' + blue + ')';\n }\n return 'rgba(' + red + ', ' + green + ', ' + blue + ', ' + alpha + ')';\n }\n\n res = colorRegEx4.exec(val);\n if (res) {\n const [, _hue, _saturation, _lightness, _alphaString = ''] = res;\n const _alpha = parseFloat(_alphaString.replace(',', '').trim());\n if (!_hue || !_saturation || !_lightness) {\n return undefined;\n }\n hue = parseFloat(_hue);\n saturation = parseInt(_saturation, 10);\n lightness = parseInt(_lightness, 10);\n if (_alpha && numberRegEx.test(_alpha)) {\n alpha = parseFloat(_alpha);\n }\n\n const [r, g, b] = hslToRgb(hue, saturation / 100, lightness / 100);\n if (!_alphaString || alpha === 1) {\n return 'rgb(' + r + ', ' + g + ', ' + b + ')';\n }\n return 'rgba(' + r + ', ' + g + ', ' + b + ', ' + alpha + ')';\n }\n\n if (type === exports.TYPES.COLOR) {\n return val;\n }\n return undefined;\n};\n\nexports.parseAngle = function parseAngle(val) {\n var type = exports.valueType(val);\n if (type === exports.TYPES.NULL_OR_EMPTY_STR) {\n return val;\n }\n if (type !== exports.TYPES.ANGLE) {\n return undefined;\n }\n var res = angleRegEx.exec(val);\n var flt = parseFloat(res[1]);\n if (res[2] === 'rad') {\n flt *= 180 / Math.PI;\n } else if (res[2] === 'grad') {\n flt *= 360 / 400;\n }\n\n while (flt < 0) {\n flt += 360;\n }\n while (flt > 360) {\n flt -= 360;\n }\n return flt + 'deg';\n};\n\nexports.parseKeyword = function parseKeyword(val, valid_keywords) {\n var type = exports.valueType(val);\n if (type === exports.TYPES.NULL_OR_EMPTY_STR) {\n return val;\n }\n if (type !== exports.TYPES.KEYWORD) {\n return undefined;\n }\n val = val.toString().toLowerCase();\n var i;\n for (i = 0; i < valid_keywords.length; i++) {\n if (valid_keywords[i].toLowerCase() === val) {\n return valid_keywords[i];\n }\n }\n return undefined;\n};\n\n// utility to translate from border-width to borderWidth\nvar dashedToCamelCase = function (dashed) {\n var i;\n var camel = '';\n var nextCap = false;\n for (i = 0; i < dashed.length; i++) {\n if (dashed[i] !== '-') {\n camel += nextCap ? dashed[i].toUpperCase() : dashed[i];\n nextCap = false;\n } else {\n nextCap = true;\n }\n }\n return camel;\n};\nexports.dashedToCamelCase = dashedToCamelCase;\n\nvar is_space = /\\s/;\nvar opening_deliminators = ['\"', \"'\", '('];\nvar closing_deliminators = ['\"', \"'\", ')'];\n// this splits on whitespace, but keeps quoted and parened parts together\nvar getParts = function (str) {\n var deliminator_stack = [];\n var length = str.length;\n var i;\n var parts = [];\n var current_part = '';\n var opening_index;\n var closing_index;\n for (i = 0; i < length; i++) {\n opening_index = opening_deliminators.indexOf(str[i]);\n closing_index = closing_deliminators.indexOf(str[i]);\n if (is_space.test(str[i])) {\n if (deliminator_stack.length === 0) {\n if (current_part !== '') {\n parts.push(current_part);\n }\n current_part = '';\n } else {\n current_part += str[i];\n }\n } else {\n if (str[i] === '\\\\') {\n i++;\n current_part += str[i];\n } else {\n current_part += str[i];\n if (\n closing_index !== -1 &&\n closing_index === deliminator_stack[deliminator_stack.length - 1]\n ) {\n deliminator_stack.pop();\n } else if (opening_index !== -1) {\n deliminator_stack.push(opening_index);\n }\n }\n }\n }\n if (current_part !== '') {\n parts.push(current_part);\n }\n return parts;\n};\n\n/*\n * this either returns undefined meaning that it isn't valid\n * or returns an object where the keys are dashed short\n * hand properties and the values are the values to set\n * on them\n */\nexports.shorthandParser = function parse(v, shorthand_for) {\n var obj = {};\n var type = exports.valueType(v);\n if (type === exports.TYPES.NULL_OR_EMPTY_STR) {\n Object.keys(shorthand_for).forEach(function (property) {\n obj[property] = '';\n });\n return obj;\n }\n\n if (typeof v === 'number') {\n v = v.toString();\n }\n\n if (typeof v !== 'string') {\n return undefined;\n }\n\n if (v.toLowerCase() === 'inherit') {\n return {};\n }\n var parts = getParts(v);\n var valid = true;\n parts.forEach(function (part, i) {\n var part_valid = false;\n Object.keys(shorthand_for).forEach(function (property) {\n if (shorthand_for[property].isValid(part, i)) {\n part_valid = true;\n obj[property] = part;\n }\n });\n valid = valid && part_valid;\n });\n if (!valid) {\n return undefined;\n }\n return obj;\n};\n\nexports.shorthandSetter = function (property, shorthand_for) {\n return function (v) {\n var obj = exports.shorthandParser(v, shorthand_for);\n if (obj === undefined) {\n return;\n }\n //console.log('shorthandSetter for:', property, 'obj:', obj);\n Object.keys(obj).forEach(function (subprop) {\n // in case subprop is an implicit property, this will clear\n // *its* subpropertiesX\n var camel = dashedToCamelCase(subprop);\n this[camel] = obj[subprop];\n // in case it gets translated into something else (0 -> 0px)\n obj[subprop] = this[camel];\n this.removeProperty(subprop);\n // don't add in empty properties\n if (obj[subprop] !== '') {\n this._values[subprop] = obj[subprop];\n }\n }, this);\n Object.keys(shorthand_for).forEach(function (subprop) {\n if (!obj.hasOwnProperty(subprop)) {\n this.removeProperty(subprop);\n delete this._values[subprop];\n }\n }, this);\n // in case the value is something like 'none' that removes all values,\n // check that the generated one is not empty, first remove the property\n // if it already exists, then call the shorthandGetter, if it's an empty\n // string, don't set the property\n this.removeProperty(property);\n var calculated = exports.shorthandGetter(property, shorthand_for).call(this);\n if (calculated !== '') {\n this._setProperty(property, calculated);\n }\n };\n};\n\nexports.shorthandGetter = function (property, shorthand_for) {\n return function () {\n if (this._values[property] !== undefined) {\n return this.getPropertyValue(property);\n }\n return Object.keys(shorthand_for)\n .map(function (subprop) {\n return this.getPropertyValue(subprop);\n }, this)\n .filter(function (value) {\n return value !== '';\n })\n .join(' ');\n };\n};\n\n// isValid(){1,4} | inherit\n// if one, it applies to all\n// if two, the first applies to the top and bottom, and the second to left and right\n// if three, the first applies to the top, the second to left and right, the third bottom\n// if four, top, right, bottom, left\nexports.implicitSetter = function (property_before, property_after, isValid, parser) {\n property_after = property_after || '';\n if (property_after !== '') {\n property_after = '-' + property_after;\n }\n var part_names = ['top', 'right', 'bottom', 'left'];\n\n return function (v) {\n if (typeof v === 'number') {\n v = v.toString();\n }\n if (typeof v !== 'string') {\n return undefined;\n }\n var parts;\n if (v.toLowerCase() === 'inherit' || v === '') {\n parts = [v];\n } else {\n parts = getParts(v);\n }\n if (parts.length < 1 || parts.length > 4) {\n return undefined;\n }\n\n if (!parts.every(isValid)) {\n return undefined;\n }\n\n parts = parts.map(function (part) {\n return parser(part);\n });\n this._setProperty(property_before + property_after, parts.join(' '));\n if (parts.length === 1) {\n parts[1] = parts[0];\n }\n if (parts.length === 2) {\n parts[2] = parts[0];\n }\n if (parts.length === 3) {\n parts[3] = parts[1];\n }\n\n for (var i = 0; i < 4; i++) {\n var property = property_before + '-' + part_names[i] + property_after;\n this.removeProperty(property);\n if (parts[i] !== '') {\n this._values[property] = parts[i];\n }\n }\n return v;\n };\n};\n\n//\n// Companion to implicitSetter, but for the individual parts.\n// This sets the individual value, and checks to see if all four\n// sub-parts are set. If so, it sets the shorthand version and removes\n// the individual parts from the cssText.\n//\nexports.subImplicitSetter = function (prefix, part, isValid, parser) {\n var property = prefix + '-' + part;\n var subparts = [prefix + '-top', prefix + '-right', prefix + '-bottom', prefix + '-left'];\n\n return function (v) {\n if (typeof v === 'number') {\n v = v.toString();\n }\n if (v === null) {\n v = '';\n }\n if (typeof v !== 'string') {\n return undefined;\n }\n if (!isValid(v)) {\n return undefined;\n }\n v = parser(v);\n this._setProperty(property, v);\n\n var combinedPriority = this.getPropertyPriority(prefix);\n var parts = subparts.map((subpart) => this._values[subpart]);\n var priorities = subparts.map((subpart) => this.getPropertyPriority(subpart));\n // Combine into a single property if all values are set and have the same priority\n if (\n parts.every((p) => p !== '' && p != null) &&\n priorities.every((p) => p === priorities[0]) &&\n priorities[0] === combinedPriority\n ) {\n for (var i = 0; i < subparts.length; i++) {\n this.removeProperty(subparts[i]);\n this._values[subparts[i]] = parts[i];\n }\n this._setProperty(prefix, parts.join(' '), priorities[0]);\n } else {\n this.removeProperty(prefix);\n for (var j = 0; j < subparts.length; j++) {\n // The property we're setting won't be important, the rest will either keep their priority or inherit it from the combined property\n var priority = subparts[j] === property ? '' : priorities[j] || combinedPriority;\n this._setProperty(subparts[j], parts[j], priority);\n }\n }\n return v;\n };\n};\n\nvar camel_to_dashed = /[A-Z]/g;\nvar first_segment = /^\\([^-]\\)-/;\nvar vendor_prefixes = ['o', 'moz', 'ms', 'webkit'];\nexports.camelToDashed = function (camel_case) {\n var match;\n var dashed = camel_case.replace(camel_to_dashed, '-$&').toLowerCase();\n match = dashed.match(first_segment);\n if (match && vendor_prefixes.indexOf(match[1]) !== -1) {\n dashed = '-' + dashed;\n }\n return dashed;\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/cssstyle/lib/parsers.js?"); - -/***/ }), - -/***/ "./node_modules/cssstyle/lib/properties.js": -/*!*************************************************!*\ - !*** ./node_modules/cssstyle/lib/properties.js ***! - \*************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\n// autogenerated - 12/28/2023\n\n/*\n *\n * https://www.w3.org/Style/CSS/all-properties.en.html\n */\n\nvar external_dependency_parsers_0 = __webpack_require__(/*! ./parsers.js */ \"./node_modules/cssstyle/lib/parsers.js\");\n\nvar external_dependency_constants_1 = __webpack_require__(/*! ./constants.js */ \"./node_modules/cssstyle/lib/constants.js\");\n\nvar azimuth_export_definition;\nazimuth_export_definition = {\n set: function (v) {\n var valueType = external_dependency_parsers_0.valueType(v);\n\n if (valueType === external_dependency_parsers_0.TYPES.ANGLE) {\n return this._setProperty('azimuth', external_dependency_parsers_0.parseAngle(v));\n }\n\n if (valueType === external_dependency_parsers_0.TYPES.KEYWORD) {\n var keywords = v.toLowerCase().trim().split(/\\s+/);\n var hasBehind = false;\n\n if (keywords.length > 2) {\n return;\n }\n\n var behindIndex = keywords.indexOf('behind');\n hasBehind = behindIndex !== -1;\n\n if (keywords.length === 2) {\n if (!hasBehind) {\n return;\n }\n\n keywords.splice(behindIndex, 1);\n }\n\n if (keywords[0] === 'leftwards' || keywords[0] === 'rightwards') {\n if (hasBehind) {\n return;\n }\n\n return this._setProperty('azimuth', keywords[0]);\n }\n\n if (keywords[0] === 'behind') {\n return this._setProperty('azimuth', '180deg');\n }\n\n switch (keywords[0]) {\n case 'left-side':\n return this._setProperty('azimuth', '270deg');\n\n case 'far-left':\n return this._setProperty('azimuth', (hasBehind ? 240 : 300) + 'deg');\n\n case 'left':\n return this._setProperty('azimuth', (hasBehind ? 220 : 320) + 'deg');\n\n case 'center-left':\n return this._setProperty('azimuth', (hasBehind ? 200 : 340) + 'deg');\n\n case 'center':\n return this._setProperty('azimuth', (hasBehind ? 180 : 0) + 'deg');\n\n case 'center-right':\n return this._setProperty('azimuth', (hasBehind ? 160 : 20) + 'deg');\n\n case 'right':\n return this._setProperty('azimuth', (hasBehind ? 140 : 40) + 'deg');\n\n case 'far-right':\n return this._setProperty('azimuth', (hasBehind ? 120 : 60) + 'deg');\n\n case 'right-side':\n return this._setProperty('azimuth', '90deg');\n\n default:\n return;\n }\n }\n },\n get: function () {\n return this.getPropertyValue('azimuth');\n },\n enumerable: true,\n configurable: true\n};\nvar backgroundColor_export_isValid, backgroundColor_export_definition;\n\nvar backgroundColor_local_var_parse = function parse(v) {\n var parsed = external_dependency_parsers_0.parseColor(v);\n\n if (parsed !== undefined) {\n return parsed;\n }\n\n if (external_dependency_parsers_0.valueType(v) === external_dependency_parsers_0.TYPES.KEYWORD && (v.toLowerCase() === 'transparent' || v.toLowerCase() === 'inherit')) {\n return v;\n }\n\n return undefined;\n};\n\nbackgroundColor_export_isValid = function isValid(v) {\n return backgroundColor_local_var_parse(v) !== undefined;\n};\n\nbackgroundColor_export_definition = {\n set: function (v) {\n var parsed = backgroundColor_local_var_parse(v);\n\n if (parsed === undefined) {\n return;\n }\n\n this._setProperty('background-color', parsed);\n },\n get: function () {\n return this.getPropertyValue('background-color');\n },\n enumerable: true,\n configurable: true\n};\nvar backgroundImage_export_isValid, backgroundImage_export_definition;\n\nvar backgroundImage_local_var_parse = function parse(v) {\n var parsed = external_dependency_parsers_0.parseUrl(v);\n\n if (parsed !== undefined) {\n return parsed;\n }\n\n if (external_dependency_parsers_0.valueType(v) === external_dependency_parsers_0.TYPES.KEYWORD && (v.toLowerCase() === 'none' || v.toLowerCase() === 'inherit')) {\n return v;\n }\n\n return undefined;\n};\n\nbackgroundImage_export_isValid = function isValid(v) {\n return backgroundImage_local_var_parse(v) !== undefined;\n};\n\nbackgroundImage_export_definition = {\n set: function (v) {\n this._setProperty('background-image', backgroundImage_local_var_parse(v));\n },\n get: function () {\n return this.getPropertyValue('background-image');\n },\n enumerable: true,\n configurable: true\n};\nvar backgroundRepeat_export_isValid, backgroundRepeat_export_definition;\n\nvar backgroundRepeat_local_var_parse = function parse(v) {\n if (external_dependency_parsers_0.valueType(v) === external_dependency_parsers_0.TYPES.KEYWORD && (v.toLowerCase() === 'repeat' || v.toLowerCase() === 'repeat-x' || v.toLowerCase() === 'repeat-y' || v.toLowerCase() === 'no-repeat' || v.toLowerCase() === 'inherit')) {\n return v;\n }\n\n return undefined;\n};\n\nbackgroundRepeat_export_isValid = function isValid(v) {\n return backgroundRepeat_local_var_parse(v) !== undefined;\n};\n\nbackgroundRepeat_export_definition = {\n set: function (v) {\n this._setProperty('background-repeat', backgroundRepeat_local_var_parse(v));\n },\n get: function () {\n return this.getPropertyValue('background-repeat');\n },\n enumerable: true,\n configurable: true\n};\nvar backgroundAttachment_export_isValid, backgroundAttachment_export_definition;\n\nvar backgroundAttachment_local_var_isValid = backgroundAttachment_export_isValid = function isValid(v) {\n return external_dependency_parsers_0.valueType(v) === external_dependency_parsers_0.TYPES.KEYWORD && (v.toLowerCase() === 'scroll' || v.toLowerCase() === 'fixed' || v.toLowerCase() === 'inherit');\n};\n\nbackgroundAttachment_export_definition = {\n set: function (v) {\n if (!backgroundAttachment_local_var_isValid(v)) {\n return;\n }\n\n this._setProperty('background-attachment', v);\n },\n get: function () {\n return this.getPropertyValue('background-attachment');\n },\n enumerable: true,\n configurable: true\n};\nvar backgroundPosition_export_isValid, backgroundPosition_export_definition;\nvar backgroundPosition_local_var_valid_keywords = ['top', 'center', 'bottom', 'left', 'right'];\n\nvar backgroundPosition_local_var_parse = function parse(v) {\n if (v === '' || v === null) {\n return undefined;\n }\n\n var parts = v.split(/\\s+/);\n\n if (parts.length > 2 || parts.length < 1) {\n return undefined;\n }\n\n var types = [];\n parts.forEach(function (part, index) {\n types[index] = external_dependency_parsers_0.valueType(part);\n });\n\n if (parts.length === 1) {\n if (types[0] === external_dependency_parsers_0.TYPES.LENGTH || types[0] === external_dependency_parsers_0.TYPES.PERCENT) {\n return v;\n }\n\n if (types[0] === external_dependency_parsers_0.TYPES.KEYWORD) {\n if (backgroundPosition_local_var_valid_keywords.indexOf(v.toLowerCase()) !== -1 || v.toLowerCase() === 'inherit') {\n return v;\n }\n }\n\n return undefined;\n }\n\n if ((types[0] === external_dependency_parsers_0.TYPES.LENGTH || types[0] === external_dependency_parsers_0.TYPES.PERCENT) && (types[1] === external_dependency_parsers_0.TYPES.LENGTH || types[1] === external_dependency_parsers_0.TYPES.PERCENT)) {\n return v;\n }\n\n if (types[0] !== external_dependency_parsers_0.TYPES.KEYWORD || types[1] !== external_dependency_parsers_0.TYPES.KEYWORD) {\n return undefined;\n }\n\n if (backgroundPosition_local_var_valid_keywords.indexOf(parts[0]) !== -1 && backgroundPosition_local_var_valid_keywords.indexOf(parts[1]) !== -1) {\n return v;\n }\n\n return undefined;\n};\n\nbackgroundPosition_export_isValid = function isValid(v) {\n return backgroundPosition_local_var_parse(v) !== undefined;\n};\n\nbackgroundPosition_export_definition = {\n set: function (v) {\n this._setProperty('background-position', backgroundPosition_local_var_parse(v));\n },\n get: function () {\n return this.getPropertyValue('background-position');\n },\n enumerable: true,\n configurable: true\n};\nvar background_export_definition;\nvar background_local_var_shorthand_for = {\n 'background-color': {\n isValid: backgroundColor_export_isValid,\n definition: backgroundColor_export_definition\n },\n 'background-image': {\n isValid: backgroundImage_export_isValid,\n definition: backgroundImage_export_definition\n },\n 'background-repeat': {\n isValid: backgroundRepeat_export_isValid,\n definition: backgroundRepeat_export_definition\n },\n 'background-attachment': {\n isValid: backgroundAttachment_export_isValid,\n definition: backgroundAttachment_export_definition\n },\n 'background-position': {\n isValid: backgroundPosition_export_isValid,\n definition: backgroundPosition_export_definition\n }\n};\nbackground_export_definition = {\n set: external_dependency_parsers_0.shorthandSetter('background', background_local_var_shorthand_for),\n get: external_dependency_parsers_0.shorthandGetter('background', background_local_var_shorthand_for),\n enumerable: true,\n configurable: true\n};\nvar borderWidth_export_isValid, borderWidth_export_definition;\n// the valid border-widths:\nvar borderWidth_local_var_widths = ['thin', 'medium', 'thick'];\n\nborderWidth_export_isValid = function parse(v) {\n var length = external_dependency_parsers_0.parseLength(v);\n\n if (length !== undefined) {\n return true;\n }\n\n if (typeof v !== 'string') {\n return false;\n }\n\n if (v === '') {\n return true;\n }\n\n v = v.toLowerCase();\n\n if (borderWidth_local_var_widths.indexOf(v) === -1) {\n return false;\n }\n\n return true;\n};\n\nvar borderWidth_local_var_isValid = borderWidth_export_isValid;\n\nvar borderWidth_local_var_parser = function (v) {\n var length = external_dependency_parsers_0.parseLength(v);\n\n if (length !== undefined) {\n return length;\n }\n\n if (borderWidth_local_var_isValid(v)) {\n return v.toLowerCase();\n }\n\n return undefined;\n};\n\nborderWidth_export_definition = {\n set: external_dependency_parsers_0.implicitSetter('border', 'width', borderWidth_local_var_isValid, borderWidth_local_var_parser),\n get: function () {\n return this.getPropertyValue('border-width');\n },\n enumerable: true,\n configurable: true\n};\nvar borderStyle_export_isValid, borderStyle_export_definition;\n// the valid border-styles:\nvar borderStyle_local_var_styles = ['none', 'hidden', 'dotted', 'dashed', 'solid', 'double', 'groove', 'ridge', 'inset', 'outset'];\n\nborderStyle_export_isValid = function parse(v) {\n return typeof v === 'string' && (v === '' || borderStyle_local_var_styles.indexOf(v) !== -1);\n};\n\nvar borderStyle_local_var_isValid = borderStyle_export_isValid;\n\nvar borderStyle_local_var_parser = function (v) {\n if (borderStyle_local_var_isValid(v)) {\n return v.toLowerCase();\n }\n\n return undefined;\n};\n\nborderStyle_export_definition = {\n set: external_dependency_parsers_0.implicitSetter('border', 'style', borderStyle_local_var_isValid, borderStyle_local_var_parser),\n get: function () {\n return this.getPropertyValue('border-style');\n },\n enumerable: true,\n configurable: true\n};\nvar borderColor_export_isValid, borderColor_export_definition;\n\nborderColor_export_isValid = function parse(v) {\n if (typeof v !== 'string') {\n return false;\n }\n\n return v === '' || v.toLowerCase() === 'transparent' || external_dependency_parsers_0.valueType(v) === external_dependency_parsers_0.TYPES.COLOR;\n};\n\nvar borderColor_local_var_isValid = borderColor_export_isValid;\n\nvar borderColor_local_var_parser = function (v) {\n if (borderColor_local_var_isValid(v)) {\n return v.toLowerCase();\n }\n\n return undefined;\n};\n\nborderColor_export_definition = {\n set: external_dependency_parsers_0.implicitSetter('border', 'color', borderColor_local_var_isValid, borderColor_local_var_parser),\n get: function () {\n return this.getPropertyValue('border-color');\n },\n enumerable: true,\n configurable: true\n};\nvar border_export_definition;\nvar border_local_var_shorthand_for = {\n 'border-width': {\n isValid: borderWidth_export_isValid,\n definition: borderWidth_export_definition\n },\n 'border-style': {\n isValid: borderStyle_export_isValid,\n definition: borderStyle_export_definition\n },\n 'border-color': {\n isValid: borderColor_export_isValid,\n definition: borderColor_export_definition\n }\n};\nvar border_local_var_myShorthandSetter = external_dependency_parsers_0.shorthandSetter('border', border_local_var_shorthand_for);\nvar border_local_var_myShorthandGetter = external_dependency_parsers_0.shorthandGetter('border', border_local_var_shorthand_for);\nborder_export_definition = {\n set: function (v) {\n if (v.toString().toLowerCase() === 'none') {\n v = '';\n }\n\n border_local_var_myShorthandSetter.call(this, v);\n this.removeProperty('border-top');\n this.removeProperty('border-left');\n this.removeProperty('border-right');\n this.removeProperty('border-bottom');\n this._values['border-top'] = this._values.border;\n this._values['border-left'] = this._values.border;\n this._values['border-right'] = this._values.border;\n this._values['border-bottom'] = this._values.border;\n },\n get: border_local_var_myShorthandGetter,\n enumerable: true,\n configurable: true\n};\nvar borderBottomWidth_export_isValid, borderBottomWidth_export_definition;\nvar borderBottomWidth_local_var_isValid = borderBottomWidth_export_isValid = borderWidth_export_isValid;\nborderBottomWidth_export_definition = {\n set: function (v) {\n if (borderBottomWidth_local_var_isValid(v)) {\n this._setProperty('border-bottom-width', v);\n }\n },\n get: function () {\n return this.getPropertyValue('border-bottom-width');\n },\n enumerable: true,\n configurable: true\n};\nvar borderBottomStyle_export_isValid, borderBottomStyle_export_definition;\nborderBottomStyle_export_isValid = borderStyle_export_isValid;\nborderBottomStyle_export_definition = {\n set: function (v) {\n if (borderStyle_export_isValid(v)) {\n if (v.toLowerCase() === 'none') {\n v = '';\n this.removeProperty('border-bottom-width');\n }\n\n this._setProperty('border-bottom-style', v);\n }\n },\n get: function () {\n return this.getPropertyValue('border-bottom-style');\n },\n enumerable: true,\n configurable: true\n};\nvar borderBottomColor_export_isValid, borderBottomColor_export_definition;\nvar borderBottomColor_local_var_isValid = borderBottomColor_export_isValid = borderColor_export_isValid;\nborderBottomColor_export_definition = {\n set: function (v) {\n if (borderBottomColor_local_var_isValid(v)) {\n this._setProperty('border-bottom-color', v);\n }\n },\n get: function () {\n return this.getPropertyValue('border-bottom-color');\n },\n enumerable: true,\n configurable: true\n};\nvar borderBottom_export_definition;\nvar borderBottom_local_var_shorthand_for = {\n 'border-bottom-width': {\n isValid: borderBottomWidth_export_isValid,\n definition: borderBottomWidth_export_definition\n },\n 'border-bottom-style': {\n isValid: borderBottomStyle_export_isValid,\n definition: borderBottomStyle_export_definition\n },\n 'border-bottom-color': {\n isValid: borderBottomColor_export_isValid,\n definition: borderBottomColor_export_definition\n }\n};\nborderBottom_export_definition = {\n set: external_dependency_parsers_0.shorthandSetter('border-bottom', borderBottom_local_var_shorthand_for),\n get: external_dependency_parsers_0.shorthandGetter('border-bottom', borderBottom_local_var_shorthand_for),\n enumerable: true,\n configurable: true\n};\nvar borderCollapse_export_definition;\n\nvar borderCollapse_local_var_parse = function parse(v) {\n if (external_dependency_parsers_0.valueType(v) === external_dependency_parsers_0.TYPES.KEYWORD && (v.toLowerCase() === 'collapse' || v.toLowerCase() === 'separate' || v.toLowerCase() === 'inherit')) {\n return v;\n }\n\n return undefined;\n};\n\nborderCollapse_export_definition = {\n set: function (v) {\n this._setProperty('border-collapse', borderCollapse_local_var_parse(v));\n },\n get: function () {\n return this.getPropertyValue('border-collapse');\n },\n enumerable: true,\n configurable: true\n};\nvar borderLeftWidth_export_isValid, borderLeftWidth_export_definition;\nvar borderLeftWidth_local_var_isValid = borderLeftWidth_export_isValid = borderWidth_export_isValid;\nborderLeftWidth_export_definition = {\n set: function (v) {\n if (borderLeftWidth_local_var_isValid(v)) {\n this._setProperty('border-left-width', v);\n }\n },\n get: function () {\n return this.getPropertyValue('border-left-width');\n },\n enumerable: true,\n configurable: true\n};\nvar borderLeftStyle_export_isValid, borderLeftStyle_export_definition;\nborderLeftStyle_export_isValid = borderStyle_export_isValid;\nborderLeftStyle_export_definition = {\n set: function (v) {\n if (borderStyle_export_isValid(v)) {\n if (v.toLowerCase() === 'none') {\n v = '';\n this.removeProperty('border-left-width');\n }\n\n this._setProperty('border-left-style', v);\n }\n },\n get: function () {\n return this.getPropertyValue('border-left-style');\n },\n enumerable: true,\n configurable: true\n};\nvar borderLeftColor_export_isValid, borderLeftColor_export_definition;\nvar borderLeftColor_local_var_isValid = borderLeftColor_export_isValid = borderColor_export_isValid;\nborderLeftColor_export_definition = {\n set: function (v) {\n if (borderLeftColor_local_var_isValid(v)) {\n this._setProperty('border-left-color', v);\n }\n },\n get: function () {\n return this.getPropertyValue('border-left-color');\n },\n enumerable: true,\n configurable: true\n};\nvar borderLeft_export_definition;\nvar borderLeft_local_var_shorthand_for = {\n 'border-left-width': {\n isValid: borderLeftWidth_export_isValid,\n definition: borderLeftWidth_export_definition\n },\n 'border-left-style': {\n isValid: borderLeftStyle_export_isValid,\n definition: borderLeftStyle_export_definition\n },\n 'border-left-color': {\n isValid: borderLeftColor_export_isValid,\n definition: borderLeftColor_export_definition\n }\n};\nborderLeft_export_definition = {\n set: external_dependency_parsers_0.shorthandSetter('border-left', borderLeft_local_var_shorthand_for),\n get: external_dependency_parsers_0.shorthandGetter('border-left', borderLeft_local_var_shorthand_for),\n enumerable: true,\n configurable: true\n};\nvar borderRightWidth_export_isValid, borderRightWidth_export_definition;\nvar borderRightWidth_local_var_isValid = borderRightWidth_export_isValid = borderWidth_export_isValid;\nborderRightWidth_export_definition = {\n set: function (v) {\n if (borderRightWidth_local_var_isValid(v)) {\n this._setProperty('border-right-width', v);\n }\n },\n get: function () {\n return this.getPropertyValue('border-right-width');\n },\n enumerable: true,\n configurable: true\n};\nvar borderRightStyle_export_isValid, borderRightStyle_export_definition;\nborderRightStyle_export_isValid = borderStyle_export_isValid;\nborderRightStyle_export_definition = {\n set: function (v) {\n if (borderStyle_export_isValid(v)) {\n if (v.toLowerCase() === 'none') {\n v = '';\n this.removeProperty('border-right-width');\n }\n\n this._setProperty('border-right-style', v);\n }\n },\n get: function () {\n return this.getPropertyValue('border-right-style');\n },\n enumerable: true,\n configurable: true\n};\nvar borderRightColor_export_isValid, borderRightColor_export_definition;\nvar borderRightColor_local_var_isValid = borderRightColor_export_isValid = borderColor_export_isValid;\nborderRightColor_export_definition = {\n set: function (v) {\n if (borderRightColor_local_var_isValid(v)) {\n this._setProperty('border-right-color', v);\n }\n },\n get: function () {\n return this.getPropertyValue('border-right-color');\n },\n enumerable: true,\n configurable: true\n};\nvar borderRight_export_definition;\nvar borderRight_local_var_shorthand_for = {\n 'border-right-width': {\n isValid: borderRightWidth_export_isValid,\n definition: borderRightWidth_export_definition\n },\n 'border-right-style': {\n isValid: borderRightStyle_export_isValid,\n definition: borderRightStyle_export_definition\n },\n 'border-right-color': {\n isValid: borderRightColor_export_isValid,\n definition: borderRightColor_export_definition\n }\n};\nborderRight_export_definition = {\n set: external_dependency_parsers_0.shorthandSetter('border-right', borderRight_local_var_shorthand_for),\n get: external_dependency_parsers_0.shorthandGetter('border-right', borderRight_local_var_shorthand_for),\n enumerable: true,\n configurable: true\n};\nvar borderSpacing_export_definition;\n\n// ? | inherit\n// if one, it applies to both horizontal and verical spacing\n// if two, the first applies to the horizontal and the second applies to vertical spacing\nvar borderSpacing_local_var_parse = function parse(v) {\n if (v === '' || v === null) {\n return undefined;\n }\n\n if (v === 0) {\n return '0px';\n }\n\n if (v.toLowerCase() === 'inherit') {\n return v;\n }\n\n var parts = v.split(/\\s+/);\n\n if (parts.length !== 1 && parts.length !== 2) {\n return undefined;\n }\n\n parts.forEach(function (part) {\n if (external_dependency_parsers_0.valueType(part) !== external_dependency_parsers_0.TYPES.LENGTH) {\n return undefined;\n }\n });\n return v;\n};\n\nborderSpacing_export_definition = {\n set: function (v) {\n this._setProperty('border-spacing', borderSpacing_local_var_parse(v));\n },\n get: function () {\n return this.getPropertyValue('border-spacing');\n },\n enumerable: true,\n configurable: true\n};\nvar borderTopWidth_export_isValid, borderTopWidth_export_definition;\nborderTopWidth_export_isValid = borderWidth_export_isValid;\nborderTopWidth_export_definition = {\n set: function (v) {\n if (borderWidth_export_isValid(v)) {\n this._setProperty('border-top-width', v);\n }\n },\n get: function () {\n return this.getPropertyValue('border-top-width');\n },\n enumerable: true,\n configurable: true\n};\nvar borderTopStyle_export_isValid, borderTopStyle_export_definition;\nborderTopStyle_export_isValid = borderStyle_export_isValid;\nborderTopStyle_export_definition = {\n set: function (v) {\n if (borderStyle_export_isValid(v)) {\n if (v.toLowerCase() === 'none') {\n v = '';\n this.removeProperty('border-top-width');\n }\n\n this._setProperty('border-top-style', v);\n }\n },\n get: function () {\n return this.getPropertyValue('border-top-style');\n },\n enumerable: true,\n configurable: true\n};\nvar borderTopColor_export_isValid, borderTopColor_export_definition;\nvar borderTopColor_local_var_isValid = borderTopColor_export_isValid = borderColor_export_isValid;\nborderTopColor_export_definition = {\n set: function (v) {\n if (borderTopColor_local_var_isValid(v)) {\n this._setProperty('border-top-color', v);\n }\n },\n get: function () {\n return this.getPropertyValue('border-top-color');\n },\n enumerable: true,\n configurable: true\n};\nvar borderTop_export_definition;\nvar borderTop_local_var_shorthand_for = {\n 'border-top-width': {\n isValid: borderTopWidth_export_isValid,\n definition: borderTopWidth_export_definition\n },\n 'border-top-style': {\n isValid: borderTopStyle_export_isValid,\n definition: borderTopStyle_export_definition\n },\n 'border-top-color': {\n isValid: borderTopColor_export_isValid,\n definition: borderTopColor_export_definition\n }\n};\nborderTop_export_definition = {\n set: external_dependency_parsers_0.shorthandSetter('border-top', borderTop_local_var_shorthand_for),\n get: external_dependency_parsers_0.shorthandGetter('border-top', borderTop_local_var_shorthand_for),\n enumerable: true,\n configurable: true\n};\nvar bottom_export_definition;\nbottom_export_definition = {\n set: function (v) {\n this._setProperty('bottom', external_dependency_parsers_0.parseMeasurement(v));\n },\n get: function () {\n return this.getPropertyValue('bottom');\n },\n enumerable: true,\n configurable: true\n};\nvar clear_export_definition;\nvar clear_local_var_clear_keywords = ['none', 'left', 'right', 'both', 'inherit'];\nclear_export_definition = {\n set: function (v) {\n this._setProperty('clear', external_dependency_parsers_0.parseKeyword(v, clear_local_var_clear_keywords));\n },\n get: function () {\n return this.getPropertyValue('clear');\n },\n enumerable: true,\n configurable: true\n};\nvar clip_export_definition;\nvar clip_local_var_shape_regex = /^rect\\((.*)\\)$/i;\n\nvar clip_local_var_parse = function (val) {\n if (val === '' || val === null) {\n return val;\n }\n\n if (typeof val !== 'string') {\n return undefined;\n }\n\n val = val.toLowerCase();\n\n if (val === 'auto' || val === 'inherit') {\n return val;\n }\n\n var matches = val.match(clip_local_var_shape_regex);\n\n if (!matches) {\n return undefined;\n }\n\n var parts = matches[1].split(/\\s*,\\s*/);\n\n if (parts.length !== 4) {\n return undefined;\n }\n\n var valid = parts.every(function (part, index) {\n var measurement = external_dependency_parsers_0.parseMeasurement(part);\n parts[index] = measurement;\n return measurement !== undefined;\n });\n\n if (!valid) {\n return undefined;\n }\n\n parts = parts.join(', ');\n return val.replace(matches[1], parts);\n};\n\nclip_export_definition = {\n set: function (v) {\n this._setProperty('clip', clip_local_var_parse(v));\n },\n get: function () {\n return this.getPropertyValue('clip');\n },\n enumerable: true,\n configurable: true\n};\nvar color_export_definition;\ncolor_export_definition = {\n set: function (v) {\n this._setProperty('color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('color');\n },\n enumerable: true,\n configurable: true\n};\nvar cssFloat_export_definition;\ncssFloat_export_definition = {\n set: function (v) {\n this._setProperty('float', v);\n },\n get: function () {\n return this.getPropertyValue('float');\n },\n enumerable: true,\n configurable: true\n};\nvar flexGrow_export_isValid, flexGrow_export_definition;\n\nflexGrow_export_isValid = function isValid(v, positionAtFlexShorthand) {\n return external_dependency_parsers_0.parseNumber(v) !== undefined && positionAtFlexShorthand === external_dependency_constants_1.POSITION_AT_SHORTHAND.first;\n};\n\nflexGrow_export_definition = {\n set: function (v) {\n this._setProperty('flex-grow', external_dependency_parsers_0.parseNumber(v));\n },\n get: function () {\n return this.getPropertyValue('flex-grow');\n },\n enumerable: true,\n configurable: true\n};\nvar flexShrink_export_isValid, flexShrink_export_definition;\n\nflexShrink_export_isValid = function isValid(v, positionAtFlexShorthand) {\n return external_dependency_parsers_0.parseNumber(v) !== undefined && positionAtFlexShorthand === external_dependency_constants_1.POSITION_AT_SHORTHAND.second;\n};\n\nflexShrink_export_definition = {\n set: function (v) {\n this._setProperty('flex-shrink', external_dependency_parsers_0.parseNumber(v));\n },\n get: function () {\n return this.getPropertyValue('flex-shrink');\n },\n enumerable: true,\n configurable: true\n};\nvar flexBasis_export_isValid, flexBasis_export_definition;\n\nfunction flexBasis_local_fn_parse(v) {\n if (String(v).toLowerCase() === 'auto') {\n return 'auto';\n }\n\n if (String(v).toLowerCase() === 'inherit') {\n return 'inherit';\n }\n\n return external_dependency_parsers_0.parseMeasurement(v);\n}\n\nflexBasis_export_isValid = function isValid(v) {\n return flexBasis_local_fn_parse(v) !== undefined;\n};\n\nflexBasis_export_definition = {\n set: function (v) {\n this._setProperty('flex-basis', flexBasis_local_fn_parse(v));\n },\n get: function () {\n return this.getPropertyValue('flex-basis');\n },\n enumerable: true,\n configurable: true\n};\nvar flex_export_isValid, flex_export_definition;\nvar flex_local_var_shorthand_for = {\n 'flex-grow': {\n isValid: flexGrow_export_isValid,\n definition: flexGrow_export_definition\n },\n 'flex-shrink': {\n isValid: flexShrink_export_isValid,\n definition: flexShrink_export_definition\n },\n 'flex-basis': {\n isValid: flexBasis_export_isValid,\n definition: flexBasis_export_definition\n }\n};\nvar flex_local_var_myShorthandSetter = external_dependency_parsers_0.shorthandSetter('flex', flex_local_var_shorthand_for);\n\nflex_export_isValid = function isValid(v) {\n return external_dependency_parsers_0.shorthandParser(v, flex_local_var_shorthand_for) !== undefined;\n};\n\nflex_export_definition = {\n set: function (v) {\n var normalizedValue = String(v).trim().toLowerCase();\n\n if (normalizedValue === 'none') {\n flex_local_var_myShorthandSetter.call(this, '0 0 auto');\n return;\n }\n\n if (normalizedValue === 'initial') {\n flex_local_var_myShorthandSetter.call(this, '0 1 auto');\n return;\n }\n\n if (normalizedValue === 'auto') {\n this.removeProperty('flex-grow');\n this.removeProperty('flex-shrink');\n this.setProperty('flex-basis', normalizedValue);\n return;\n }\n\n flex_local_var_myShorthandSetter.call(this, v);\n },\n get: external_dependency_parsers_0.shorthandGetter('flex', flex_local_var_shorthand_for),\n enumerable: true,\n configurable: true\n};\nvar float_export_definition;\nfloat_export_definition = {\n set: function (v) {\n this._setProperty('float', v);\n },\n get: function () {\n return this.getPropertyValue('float');\n },\n enumerable: true,\n configurable: true\n};\nvar floodColor_export_definition;\nfloodColor_export_definition = {\n set: function (v) {\n this._setProperty('flood-color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('flood-color');\n },\n enumerable: true,\n configurable: true\n};\nvar fontFamily_export_isValid, fontFamily_export_definition;\nvar fontFamily_local_var_partsRegEx = /\\s*,\\s*/;\n\nfontFamily_export_isValid = function isValid(v) {\n if (v === '' || v === null) {\n return true;\n }\n\n var parts = v.split(fontFamily_local_var_partsRegEx);\n var len = parts.length;\n var i;\n var type;\n\n for (i = 0; i < len; i++) {\n type = external_dependency_parsers_0.valueType(parts[i]);\n\n if (type === external_dependency_parsers_0.TYPES.STRING || type === external_dependency_parsers_0.TYPES.KEYWORD) {\n return true;\n }\n }\n\n return false;\n};\n\nfontFamily_export_definition = {\n set: function (v) {\n this._setProperty('font-family', v);\n },\n get: function () {\n return this.getPropertyValue('font-family');\n },\n enumerable: true,\n configurable: true\n};\nvar fontSize_export_isValid, fontSize_export_definition;\nvar fontSize_local_var_absoluteSizes = ['xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'];\nvar fontSize_local_var_relativeSizes = ['larger', 'smaller'];\n\nfontSize_export_isValid = function (v) {\n var type = external_dependency_parsers_0.valueType(v.toLowerCase());\n return type === external_dependency_parsers_0.TYPES.LENGTH || type === external_dependency_parsers_0.TYPES.PERCENT || type === external_dependency_parsers_0.TYPES.KEYWORD && fontSize_local_var_absoluteSizes.indexOf(v.toLowerCase()) !== -1 || type === external_dependency_parsers_0.TYPES.KEYWORD && fontSize_local_var_relativeSizes.indexOf(v.toLowerCase()) !== -1;\n};\n\nfunction fontSize_local_fn_parse(v) {\n const valueAsString = String(v).toLowerCase();\n const optionalArguments = fontSize_local_var_absoluteSizes.concat(fontSize_local_var_relativeSizes);\n const isOptionalArgument = optionalArguments.some(stringValue => stringValue.toLowerCase() === valueAsString);\n return isOptionalArgument ? valueAsString : external_dependency_parsers_0.parseMeasurement(v);\n}\n\nfontSize_export_definition = {\n set: function (v) {\n this._setProperty('font-size', fontSize_local_fn_parse(v));\n },\n get: function () {\n return this.getPropertyValue('font-size');\n },\n enumerable: true,\n configurable: true\n};\nvar fontStyle_export_isValid, fontStyle_export_definition;\nvar fontStyle_local_var_valid_styles = ['normal', 'italic', 'oblique', 'inherit'];\n\nfontStyle_export_isValid = function (v) {\n return fontStyle_local_var_valid_styles.indexOf(v.toLowerCase()) !== -1;\n};\n\nfontStyle_export_definition = {\n set: function (v) {\n this._setProperty('font-style', v);\n },\n get: function () {\n return this.getPropertyValue('font-style');\n },\n enumerable: true,\n configurable: true\n};\nvar fontVariant_export_isValid, fontVariant_export_definition;\nvar fontVariant_local_var_valid_variants = ['normal', 'small-caps', 'inherit'];\n\nfontVariant_export_isValid = function isValid(v) {\n return fontVariant_local_var_valid_variants.indexOf(v.toLowerCase()) !== -1;\n};\n\nfontVariant_export_definition = {\n set: function (v) {\n this._setProperty('font-variant', v);\n },\n get: function () {\n return this.getPropertyValue('font-variant');\n },\n enumerable: true,\n configurable: true\n};\nvar fontWeight_export_isValid, fontWeight_export_definition;\nvar fontWeight_local_var_valid_weights = ['normal', 'bold', 'bolder', 'lighter', '100', '200', '300', '400', '500', '600', '700', '800', '900', 'inherit'];\n\nfontWeight_export_isValid = function isValid(v) {\n return fontWeight_local_var_valid_weights.indexOf(v.toLowerCase()) !== -1;\n};\n\nfontWeight_export_definition = {\n set: function (v) {\n this._setProperty('font-weight', v);\n },\n get: function () {\n return this.getPropertyValue('font-weight');\n },\n enumerable: true,\n configurable: true\n};\nvar lineHeight_export_isValid, lineHeight_export_definition;\n\nlineHeight_export_isValid = function isValid(v) {\n var type = external_dependency_parsers_0.valueType(v);\n return type === external_dependency_parsers_0.TYPES.KEYWORD && v.toLowerCase() === 'normal' || v.toLowerCase() === 'inherit' || type === external_dependency_parsers_0.TYPES.NUMBER || type === external_dependency_parsers_0.TYPES.LENGTH || type === external_dependency_parsers_0.TYPES.PERCENT;\n};\n\nlineHeight_export_definition = {\n set: function (v) {\n this._setProperty('line-height', v);\n },\n get: function () {\n return this.getPropertyValue('line-height');\n },\n enumerable: true,\n configurable: true\n};\nvar font_export_definition;\nvar font_local_var_shorthand_for = {\n 'font-family': {\n isValid: fontFamily_export_isValid,\n definition: fontFamily_export_definition\n },\n 'font-size': {\n isValid: fontSize_export_isValid,\n definition: fontSize_export_definition\n },\n 'font-style': {\n isValid: fontStyle_export_isValid,\n definition: fontStyle_export_definition\n },\n 'font-variant': {\n isValid: fontVariant_export_isValid,\n definition: fontVariant_export_definition\n },\n 'font-weight': {\n isValid: fontWeight_export_isValid,\n definition: fontWeight_export_definition\n },\n 'line-height': {\n isValid: lineHeight_export_isValid,\n definition: lineHeight_export_definition\n }\n};\nvar font_local_var_static_fonts = ['caption', 'icon', 'menu', 'message-box', 'small-caption', 'status-bar', 'inherit'];\nvar font_local_var_setter = external_dependency_parsers_0.shorthandSetter('font', font_local_var_shorthand_for);\nfont_export_definition = {\n set: function (v) {\n var short = external_dependency_parsers_0.shorthandParser(v, font_local_var_shorthand_for);\n\n if (short !== undefined) {\n return font_local_var_setter.call(this, v);\n }\n\n if (external_dependency_parsers_0.valueType(v) === external_dependency_parsers_0.TYPES.KEYWORD && font_local_var_static_fonts.indexOf(v.toLowerCase()) !== -1) {\n this._setProperty('font', v);\n }\n },\n get: external_dependency_parsers_0.shorthandGetter('font', font_local_var_shorthand_for),\n enumerable: true,\n configurable: true\n};\nvar height_export_definition;\n\nfunction height_local_fn_parse(v) {\n if (String(v).toLowerCase() === 'auto') {\n return 'auto';\n }\n\n if (String(v).toLowerCase() === 'inherit') {\n return 'inherit';\n }\n\n return external_dependency_parsers_0.parseMeasurement(v);\n}\n\nheight_export_definition = {\n set: function (v) {\n this._setProperty('height', height_local_fn_parse(v));\n },\n get: function () {\n return this.getPropertyValue('height');\n },\n enumerable: true,\n configurable: true\n};\nvar left_export_definition;\nleft_export_definition = {\n set: function (v) {\n this._setProperty('left', external_dependency_parsers_0.parseMeasurement(v));\n },\n get: function () {\n return this.getPropertyValue('left');\n },\n enumerable: true,\n configurable: true\n};\nvar lightingColor_export_definition;\nlightingColor_export_definition = {\n set: function (v) {\n this._setProperty('lighting-color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('lighting-color');\n },\n enumerable: true,\n configurable: true\n};\nvar margin_export_definition, margin_export_isValid, margin_export_parser;\nvar margin_local_var_TYPES = external_dependency_parsers_0.TYPES;\n\nvar margin_local_var_isValid = function (v) {\n if (v.toLowerCase() === 'auto') {\n return true;\n }\n\n var type = external_dependency_parsers_0.valueType(v);\n return type === margin_local_var_TYPES.NULL_OR_EMPTY_STR || type === margin_local_var_TYPES.LENGTH || type === margin_local_var_TYPES.PERCENT || type === margin_local_var_TYPES.INTEGER && (v === '0' || v === 0);\n};\n\nvar margin_local_var_parser = function (v) {\n var V = v.toLowerCase();\n\n if (V === 'auto') {\n return V;\n }\n\n return external_dependency_parsers_0.parseMeasurement(v);\n};\n\nvar margin_local_var_mySetter = external_dependency_parsers_0.implicitSetter('margin', '', margin_local_var_isValid, margin_local_var_parser);\nvar margin_local_var_myGlobal = external_dependency_parsers_0.implicitSetter('margin', '', function () {\n return true;\n}, function (v) {\n return v;\n});\nmargin_export_definition = {\n set: function (v) {\n if (typeof v === 'number') {\n v = String(v);\n }\n\n if (v === null) {\n v = '';\n }\n\n if (typeof v !== 'string') {\n return;\n }\n\n var V = v.toLowerCase();\n\n switch (V) {\n case 'inherit':\n case 'initial':\n case 'unset':\n case '':\n margin_local_var_myGlobal.call(this, V);\n break;\n\n default:\n margin_local_var_mySetter.call(this, v);\n break;\n }\n },\n get: function () {\n return this.getPropertyValue('margin');\n },\n enumerable: true,\n configurable: true\n};\nmargin_export_isValid = margin_local_var_isValid;\nmargin_export_parser = margin_local_var_parser;\nvar marginBottom_export_definition;\nmarginBottom_export_definition = {\n set: external_dependency_parsers_0.subImplicitSetter('margin', 'bottom', {\n definition: margin_export_definition,\n isValid: margin_export_isValid,\n parser: margin_export_parser\n }.isValid, {\n definition: margin_export_definition,\n isValid: margin_export_isValid,\n parser: margin_export_parser\n }.parser),\n get: function () {\n return this.getPropertyValue('margin-bottom');\n },\n enumerable: true,\n configurable: true\n};\nvar marginLeft_export_definition;\nmarginLeft_export_definition = {\n set: external_dependency_parsers_0.subImplicitSetter('margin', 'left', {\n definition: margin_export_definition,\n isValid: margin_export_isValid,\n parser: margin_export_parser\n }.isValid, {\n definition: margin_export_definition,\n isValid: margin_export_isValid,\n parser: margin_export_parser\n }.parser),\n get: function () {\n return this.getPropertyValue('margin-left');\n },\n enumerable: true,\n configurable: true\n};\nvar marginRight_export_definition;\nmarginRight_export_definition = {\n set: external_dependency_parsers_0.subImplicitSetter('margin', 'right', {\n definition: margin_export_definition,\n isValid: margin_export_isValid,\n parser: margin_export_parser\n }.isValid, {\n definition: margin_export_definition,\n isValid: margin_export_isValid,\n parser: margin_export_parser\n }.parser),\n get: function () {\n return this.getPropertyValue('margin-right');\n },\n enumerable: true,\n configurable: true\n};\nvar marginTop_export_definition;\nmarginTop_export_definition = {\n set: external_dependency_parsers_0.subImplicitSetter('margin', 'top', {\n definition: margin_export_definition,\n isValid: margin_export_isValid,\n parser: margin_export_parser\n }.isValid, {\n definition: margin_export_definition,\n isValid: margin_export_isValid,\n parser: margin_export_parser\n }.parser),\n get: function () {\n return this.getPropertyValue('margin-top');\n },\n enumerable: true,\n configurable: true\n};\nvar opacity_export_definition;\nopacity_export_definition = {\n set: function (v) {\n this._setProperty('opacity', external_dependency_parsers_0.parseNumber(v));\n },\n get: function () {\n return this.getPropertyValue('opacity');\n },\n enumerable: true,\n configurable: true\n};\nvar outlineColor_export_definition;\noutlineColor_export_definition = {\n set: function (v) {\n this._setProperty('outline-color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('outline-color');\n },\n enumerable: true,\n configurable: true\n};\nvar padding_export_definition, padding_export_isValid, padding_export_parser;\nvar padding_local_var_TYPES = external_dependency_parsers_0.TYPES;\n\nvar padding_local_var_isValid = function (v) {\n var type = external_dependency_parsers_0.valueType(v);\n return type === padding_local_var_TYPES.NULL_OR_EMPTY_STR || type === padding_local_var_TYPES.LENGTH || type === padding_local_var_TYPES.PERCENT || type === padding_local_var_TYPES.INTEGER && (v === '0' || v === 0);\n};\n\nvar padding_local_var_parser = function (v) {\n return external_dependency_parsers_0.parseMeasurement(v);\n};\n\nvar padding_local_var_mySetter = external_dependency_parsers_0.implicitSetter('padding', '', padding_local_var_isValid, padding_local_var_parser);\nvar padding_local_var_myGlobal = external_dependency_parsers_0.implicitSetter('padding', '', function () {\n return true;\n}, function (v) {\n return v;\n});\npadding_export_definition = {\n set: function (v) {\n if (typeof v === 'number') {\n v = String(v);\n }\n\n if (v === null) {\n v = '';\n }\n\n if (typeof v !== 'string') {\n return;\n }\n\n var V = v.toLowerCase();\n\n switch (V) {\n case 'inherit':\n case 'initial':\n case 'unset':\n case '':\n padding_local_var_myGlobal.call(this, V);\n break;\n\n default:\n padding_local_var_mySetter.call(this, v);\n break;\n }\n },\n get: function () {\n return this.getPropertyValue('padding');\n },\n enumerable: true,\n configurable: true\n};\npadding_export_isValid = padding_local_var_isValid;\npadding_export_parser = padding_local_var_parser;\nvar paddingBottom_export_definition;\npaddingBottom_export_definition = {\n set: external_dependency_parsers_0.subImplicitSetter('padding', 'bottom', {\n definition: padding_export_definition,\n isValid: padding_export_isValid,\n parser: padding_export_parser\n }.isValid, {\n definition: padding_export_definition,\n isValid: padding_export_isValid,\n parser: padding_export_parser\n }.parser),\n get: function () {\n return this.getPropertyValue('padding-bottom');\n },\n enumerable: true,\n configurable: true\n};\nvar paddingLeft_export_definition;\npaddingLeft_export_definition = {\n set: external_dependency_parsers_0.subImplicitSetter('padding', 'left', {\n definition: padding_export_definition,\n isValid: padding_export_isValid,\n parser: padding_export_parser\n }.isValid, {\n definition: padding_export_definition,\n isValid: padding_export_isValid,\n parser: padding_export_parser\n }.parser),\n get: function () {\n return this.getPropertyValue('padding-left');\n },\n enumerable: true,\n configurable: true\n};\nvar paddingRight_export_definition;\npaddingRight_export_definition = {\n set: external_dependency_parsers_0.subImplicitSetter('padding', 'right', {\n definition: padding_export_definition,\n isValid: padding_export_isValid,\n parser: padding_export_parser\n }.isValid, {\n definition: padding_export_definition,\n isValid: padding_export_isValid,\n parser: padding_export_parser\n }.parser),\n get: function () {\n return this.getPropertyValue('padding-right');\n },\n enumerable: true,\n configurable: true\n};\nvar paddingTop_export_definition;\npaddingTop_export_definition = {\n set: external_dependency_parsers_0.subImplicitSetter('padding', 'top', {\n definition: padding_export_definition,\n isValid: padding_export_isValid,\n parser: padding_export_parser\n }.isValid, {\n definition: padding_export_definition,\n isValid: padding_export_isValid,\n parser: padding_export_parser\n }.parser),\n get: function () {\n return this.getPropertyValue('padding-top');\n },\n enumerable: true,\n configurable: true\n};\nvar right_export_definition;\nright_export_definition = {\n set: function (v) {\n this._setProperty('right', external_dependency_parsers_0.parseMeasurement(v));\n },\n get: function () {\n return this.getPropertyValue('right');\n },\n enumerable: true,\n configurable: true\n};\nvar stopColor_export_definition;\nstopColor_export_definition = {\n set: function (v) {\n this._setProperty('stop-color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('stop-color');\n },\n enumerable: true,\n configurable: true\n};\nvar textLineThroughColor_export_definition;\ntextLineThroughColor_export_definition = {\n set: function (v) {\n this._setProperty('text-line-through-color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('text-line-through-color');\n },\n enumerable: true,\n configurable: true\n};\nvar textOverlineColor_export_definition;\ntextOverlineColor_export_definition = {\n set: function (v) {\n this._setProperty('text-overline-color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('text-overline-color');\n },\n enumerable: true,\n configurable: true\n};\nvar textUnderlineColor_export_definition;\ntextUnderlineColor_export_definition = {\n set: function (v) {\n this._setProperty('text-underline-color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('text-underline-color');\n },\n enumerable: true,\n configurable: true\n};\nvar top_export_definition;\ntop_export_definition = {\n set: function (v) {\n this._setProperty('top', external_dependency_parsers_0.parseMeasurement(v));\n },\n get: function () {\n return this.getPropertyValue('top');\n },\n enumerable: true,\n configurable: true\n};\nvar webkitBorderAfterColor_export_definition;\nwebkitBorderAfterColor_export_definition = {\n set: function (v) {\n this._setProperty('-webkit-border-after-color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('-webkit-border-after-color');\n },\n enumerable: true,\n configurable: true\n};\nvar webkitBorderBeforeColor_export_definition;\nwebkitBorderBeforeColor_export_definition = {\n set: function (v) {\n this._setProperty('-webkit-border-before-color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('-webkit-border-before-color');\n },\n enumerable: true,\n configurable: true\n};\nvar webkitBorderEndColor_export_definition;\nwebkitBorderEndColor_export_definition = {\n set: function (v) {\n this._setProperty('-webkit-border-end-color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('-webkit-border-end-color');\n },\n enumerable: true,\n configurable: true\n};\nvar webkitBorderStartColor_export_definition;\nwebkitBorderStartColor_export_definition = {\n set: function (v) {\n this._setProperty('-webkit-border-start-color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('-webkit-border-start-color');\n },\n enumerable: true,\n configurable: true\n};\nvar webkitColumnRuleColor_export_definition;\nwebkitColumnRuleColor_export_definition = {\n set: function (v) {\n this._setProperty('-webkit-column-rule-color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('-webkit-column-rule-color');\n },\n enumerable: true,\n configurable: true\n};\nvar webkitMatchNearestMailBlockquoteColor_export_definition;\nwebkitMatchNearestMailBlockquoteColor_export_definition = {\n set: function (v) {\n this._setProperty('-webkit-match-nearest-mail-blockquote-color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('-webkit-match-nearest-mail-blockquote-color');\n },\n enumerable: true,\n configurable: true\n};\nvar webkitTapHighlightColor_export_definition;\nwebkitTapHighlightColor_export_definition = {\n set: function (v) {\n this._setProperty('-webkit-tap-highlight-color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('-webkit-tap-highlight-color');\n },\n enumerable: true,\n configurable: true\n};\nvar webkitTextEmphasisColor_export_definition;\nwebkitTextEmphasisColor_export_definition = {\n set: function (v) {\n this._setProperty('-webkit-text-emphasis-color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('-webkit-text-emphasis-color');\n },\n enumerable: true,\n configurable: true\n};\nvar webkitTextFillColor_export_definition;\nwebkitTextFillColor_export_definition = {\n set: function (v) {\n this._setProperty('-webkit-text-fill-color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('-webkit-text-fill-color');\n },\n enumerable: true,\n configurable: true\n};\nvar webkitTextStrokeColor_export_definition;\nwebkitTextStrokeColor_export_definition = {\n set: function (v) {\n this._setProperty('-webkit-text-stroke-color', external_dependency_parsers_0.parseColor(v));\n },\n get: function () {\n return this.getPropertyValue('-webkit-text-stroke-color');\n },\n enumerable: true,\n configurable: true\n};\nvar width_export_definition;\n\nfunction width_local_fn_parse(v) {\n if (String(v).toLowerCase() === 'auto') {\n return 'auto';\n }\n\n if (String(v).toLowerCase() === 'inherit') {\n return 'inherit';\n }\n\n return external_dependency_parsers_0.parseMeasurement(v);\n}\n\nwidth_export_definition = {\n set: function (v) {\n this._setProperty('width', width_local_fn_parse(v));\n },\n get: function () {\n return this.getPropertyValue('width');\n },\n enumerable: true,\n configurable: true\n};\n\nmodule.exports = function (prototype) {\n Object.defineProperties(prototype, {\n azimuth: azimuth_export_definition,\n backgroundColor: backgroundColor_export_definition,\n \"background-color\": backgroundColor_export_definition,\n backgroundImage: backgroundImage_export_definition,\n \"background-image\": backgroundImage_export_definition,\n backgroundRepeat: backgroundRepeat_export_definition,\n \"background-repeat\": backgroundRepeat_export_definition,\n backgroundAttachment: backgroundAttachment_export_definition,\n \"background-attachment\": backgroundAttachment_export_definition,\n backgroundPosition: backgroundPosition_export_definition,\n \"background-position\": backgroundPosition_export_definition,\n background: background_export_definition,\n borderWidth: borderWidth_export_definition,\n \"border-width\": borderWidth_export_definition,\n borderStyle: borderStyle_export_definition,\n \"border-style\": borderStyle_export_definition,\n borderColor: borderColor_export_definition,\n \"border-color\": borderColor_export_definition,\n border: border_export_definition,\n borderBottomWidth: borderBottomWidth_export_definition,\n \"border-bottom-width\": borderBottomWidth_export_definition,\n borderBottomStyle: borderBottomStyle_export_definition,\n \"border-bottom-style\": borderBottomStyle_export_definition,\n borderBottomColor: borderBottomColor_export_definition,\n \"border-bottom-color\": borderBottomColor_export_definition,\n borderBottom: borderBottom_export_definition,\n \"border-bottom\": borderBottom_export_definition,\n borderCollapse: borderCollapse_export_definition,\n \"border-collapse\": borderCollapse_export_definition,\n borderLeftWidth: borderLeftWidth_export_definition,\n \"border-left-width\": borderLeftWidth_export_definition,\n borderLeftStyle: borderLeftStyle_export_definition,\n \"border-left-style\": borderLeftStyle_export_definition,\n borderLeftColor: borderLeftColor_export_definition,\n \"border-left-color\": borderLeftColor_export_definition,\n borderLeft: borderLeft_export_definition,\n \"border-left\": borderLeft_export_definition,\n borderRightWidth: borderRightWidth_export_definition,\n \"border-right-width\": borderRightWidth_export_definition,\n borderRightStyle: borderRightStyle_export_definition,\n \"border-right-style\": borderRightStyle_export_definition,\n borderRightColor: borderRightColor_export_definition,\n \"border-right-color\": borderRightColor_export_definition,\n borderRight: borderRight_export_definition,\n \"border-right\": borderRight_export_definition,\n borderSpacing: borderSpacing_export_definition,\n \"border-spacing\": borderSpacing_export_definition,\n borderTopWidth: borderTopWidth_export_definition,\n \"border-top-width\": borderTopWidth_export_definition,\n borderTopStyle: borderTopStyle_export_definition,\n \"border-top-style\": borderTopStyle_export_definition,\n borderTopColor: borderTopColor_export_definition,\n \"border-top-color\": borderTopColor_export_definition,\n borderTop: borderTop_export_definition,\n \"border-top\": borderTop_export_definition,\n bottom: bottom_export_definition,\n clear: clear_export_definition,\n clip: clip_export_definition,\n color: color_export_definition,\n cssFloat: cssFloat_export_definition,\n \"css-float\": cssFloat_export_definition,\n flexGrow: flexGrow_export_definition,\n \"flex-grow\": flexGrow_export_definition,\n flexShrink: flexShrink_export_definition,\n \"flex-shrink\": flexShrink_export_definition,\n flexBasis: flexBasis_export_definition,\n \"flex-basis\": flexBasis_export_definition,\n flex: flex_export_definition,\n float: float_export_definition,\n floodColor: floodColor_export_definition,\n \"flood-color\": floodColor_export_definition,\n fontFamily: fontFamily_export_definition,\n \"font-family\": fontFamily_export_definition,\n fontSize: fontSize_export_definition,\n \"font-size\": fontSize_export_definition,\n fontStyle: fontStyle_export_definition,\n \"font-style\": fontStyle_export_definition,\n fontVariant: fontVariant_export_definition,\n \"font-variant\": fontVariant_export_definition,\n fontWeight: fontWeight_export_definition,\n \"font-weight\": fontWeight_export_definition,\n lineHeight: lineHeight_export_definition,\n \"line-height\": lineHeight_export_definition,\n font: font_export_definition,\n height: height_export_definition,\n left: left_export_definition,\n lightingColor: lightingColor_export_definition,\n \"lighting-color\": lightingColor_export_definition,\n margin: margin_export_definition,\n marginBottom: marginBottom_export_definition,\n \"margin-bottom\": marginBottom_export_definition,\n marginLeft: marginLeft_export_definition,\n \"margin-left\": marginLeft_export_definition,\n marginRight: marginRight_export_definition,\n \"margin-right\": marginRight_export_definition,\n marginTop: marginTop_export_definition,\n \"margin-top\": marginTop_export_definition,\n opacity: opacity_export_definition,\n outlineColor: outlineColor_export_definition,\n \"outline-color\": outlineColor_export_definition,\n padding: padding_export_definition,\n paddingBottom: paddingBottom_export_definition,\n \"padding-bottom\": paddingBottom_export_definition,\n paddingLeft: paddingLeft_export_definition,\n \"padding-left\": paddingLeft_export_definition,\n paddingRight: paddingRight_export_definition,\n \"padding-right\": paddingRight_export_definition,\n paddingTop: paddingTop_export_definition,\n \"padding-top\": paddingTop_export_definition,\n right: right_export_definition,\n stopColor: stopColor_export_definition,\n \"stop-color\": stopColor_export_definition,\n textLineThroughColor: textLineThroughColor_export_definition,\n \"text-line-through-color\": textLineThroughColor_export_definition,\n textOverlineColor: textOverlineColor_export_definition,\n \"text-overline-color\": textOverlineColor_export_definition,\n textUnderlineColor: textUnderlineColor_export_definition,\n \"text-underline-color\": textUnderlineColor_export_definition,\n top: top_export_definition,\n webkitBorderAfterColor: webkitBorderAfterColor_export_definition,\n \"webkit-border-after-color\": webkitBorderAfterColor_export_definition,\n webkitBorderBeforeColor: webkitBorderBeforeColor_export_definition,\n \"webkit-border-before-color\": webkitBorderBeforeColor_export_definition,\n webkitBorderEndColor: webkitBorderEndColor_export_definition,\n \"webkit-border-end-color\": webkitBorderEndColor_export_definition,\n webkitBorderStartColor: webkitBorderStartColor_export_definition,\n \"webkit-border-start-color\": webkitBorderStartColor_export_definition,\n webkitColumnRuleColor: webkitColumnRuleColor_export_definition,\n \"webkit-column-rule-color\": webkitColumnRuleColor_export_definition,\n webkitMatchNearestMailBlockquoteColor: webkitMatchNearestMailBlockquoteColor_export_definition,\n \"webkit-match-nearest-mail-blockquote-color\": webkitMatchNearestMailBlockquoteColor_export_definition,\n webkitTapHighlightColor: webkitTapHighlightColor_export_definition,\n \"webkit-tap-highlight-color\": webkitTapHighlightColor_export_definition,\n webkitTextEmphasisColor: webkitTextEmphasisColor_export_definition,\n \"webkit-text-emphasis-color\": webkitTextEmphasisColor_export_definition,\n webkitTextFillColor: webkitTextFillColor_export_definition,\n \"webkit-text-fill-color\": webkitTextFillColor_export_definition,\n webkitTextStrokeColor: webkitTextStrokeColor_export_definition,\n \"webkit-text-stroke-color\": webkitTextStrokeColor_export_definition,\n width: width_export_definition\n });\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/cssstyle/lib/properties.js?"); - -/***/ }), - -/***/ "./node_modules/cssstyle/lib/utils/colorSpace.js": -/*!*******************************************************!*\ - !*** ./node_modules/cssstyle/lib/utils/colorSpace.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\n\nconst MAX_HUE = 360;\nconst COLOR_NB = 12;\nconst MAX_RGB_VALUE = 255;\n\n// https://www.w3.org/TR/css-color-4/#hsl-to-rgb\nexports.hslToRgb = (hue, sat, light) => {\n hue = hue % MAX_HUE;\n if (hue < 0) {\n hue += MAX_HUE;\n }\n function f(n) {\n const k = (n + hue / (MAX_HUE / COLOR_NB)) % COLOR_NB;\n const a = sat * Math.min(light, 1 - light);\n return light - a * Math.max(-1, Math.min(k - 3, 9 - k, 1));\n }\n return [f(0), f(8), f(4)].map((value) => Math.round(value * MAX_RGB_VALUE));\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/cssstyle/lib/utils/colorSpace.js?"); - -/***/ }), - -/***/ "./node_modules/cssstyle/lib/utils/getBasicPropertyDescriptor.js": -/*!***********************************************************************!*\ - !*** ./node_modules/cssstyle/lib/utils/getBasicPropertyDescriptor.js ***! - \***********************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\nmodule.exports = function getBasicPropertyDescriptor(name) {\n return {\n set: function (v) {\n this._setProperty(name, v);\n },\n get: function () {\n return this.getPropertyValue(name);\n },\n enumerable: true,\n configurable: true,\n };\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/cssstyle/lib/utils/getBasicPropertyDescriptor.js?"); - -/***/ }), - -/***/ "./node_modules/data-urls/lib/parser.js": -/*!**********************************************!*\ - !*** ./node_modules/data-urls/lib/parser.js ***! - \**********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nconst MIMEType = __webpack_require__(/*! whatwg-mimetype */ \"./node_modules/whatwg-mimetype/lib/mime-type.js\");\nconst { parseURL, serializeURL, percentDecodeString } = __webpack_require__(/*! whatwg-url */ \"./node_modules/whatwg-url/index.js\");\nconst { stripLeadingAndTrailingASCIIWhitespace, isomorphicDecode, forgivingBase64Decode } = __webpack_require__(/*! ./utils.js */ \"./node_modules/data-urls/lib/utils.js\");\n\nmodule.exports = stringInput => {\n const urlRecord = parseURL(stringInput);\n\n if (urlRecord === null) {\n return null;\n }\n\n return module.exports.fromURLRecord(urlRecord);\n};\n\nmodule.exports.fromURLRecord = urlRecord => {\n if (urlRecord.scheme !== \"data\") {\n return null;\n }\n\n const input = serializeURL(urlRecord, true).substring(\"data:\".length);\n\n let position = 0;\n\n let mimeType = \"\";\n while (position < input.length && input[position] !== \",\") {\n mimeType += input[position];\n ++position;\n }\n mimeType = stripLeadingAndTrailingASCIIWhitespace(mimeType);\n\n if (position === input.length) {\n return null;\n }\n\n ++position;\n\n const encodedBody = input.substring(position);\n\n let body = percentDecodeString(encodedBody);\n\n // Can't use /i regexp flag because it isn't restricted to ASCII.\n const mimeTypeBase64MatchResult = /(.*); *[Bb][Aa][Ss][Ee]64$/u.exec(mimeType);\n if (mimeTypeBase64MatchResult) {\n const stringBody = isomorphicDecode(body);\n body = forgivingBase64Decode(stringBody);\n\n if (body === null) {\n return null;\n }\n mimeType = mimeTypeBase64MatchResult[1];\n }\n\n if (mimeType.startsWith(\";\")) {\n mimeType = `text/plain${mimeType}`;\n }\n\n let mimeTypeRecord;\n try {\n mimeTypeRecord = new MIMEType(mimeType);\n } catch (e) {\n mimeTypeRecord = new MIMEType(\"text/plain;charset=US-ASCII\");\n }\n\n return {\n mimeType: mimeTypeRecord,\n body\n };\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/data-urls/lib/parser.js?"); - -/***/ }), - -/***/ "./node_modules/data-urls/lib/utils.js": -/*!*********************************************!*\ - !*** ./node_modules/data-urls/lib/utils.js ***! - \*********************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\n\nexports.stripLeadingAndTrailingASCIIWhitespace = string => {\n return string.replace(/^[ \\t\\n\\f\\r]+/u, \"\").replace(/[ \\t\\n\\f\\r]+$/u, \"\");\n};\n\nexports.isomorphicDecode = input => {\n return Array.from(input, byte => String.fromCodePoint(byte)).join(\"\");\n};\n\nexports.forgivingBase64Decode = data => {\n let asString;\n try {\n asString = atob(data);\n } catch {\n return null;\n }\n\n return Uint8Array.from(asString, c => c.codePointAt(0));\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/data-urls/lib/utils.js?"); - -/***/ }), - -/***/ "./node_modules/debounce-fn/index.js": -/*!*******************************************!*\ - !*** ./node_modules/debounce-fn/index.js ***! - \*******************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nconst mimicFn = __webpack_require__(/*! mimic-fn */ \"./node_modules/debounce-fn/node_modules/mimic-fn/index.js\");\n\nmodule.exports = (inputFunction, options = {}) => {\n\tif (typeof inputFunction !== 'function') {\n\t\tthrow new TypeError(`Expected the first argument to be a function, got \\`${typeof inputFunction}\\``);\n\t}\n\n\tconst {\n\t\twait = 0,\n\t\tbefore = false,\n\t\tafter = true\n\t} = options;\n\n\tif (!before && !after) {\n\t\tthrow new Error('Both `before` and `after` are false, function wouldn\\'t be called.');\n\t}\n\n\tlet timeout;\n\tlet result;\n\n\tconst debouncedFunction = function (...arguments_) {\n\t\tconst context = this;\n\n\t\tconst later = () => {\n\t\t\ttimeout = undefined;\n\n\t\t\tif (after) {\n\t\t\t\tresult = inputFunction.apply(context, arguments_);\n\t\t\t}\n\t\t};\n\n\t\tconst shouldCallNow = before && !timeout;\n\t\tclearTimeout(timeout);\n\t\ttimeout = setTimeout(later, wait);\n\n\t\tif (shouldCallNow) {\n\t\t\tresult = inputFunction.apply(context, arguments_);\n\t\t}\n\n\t\treturn result;\n\t};\n\n\tmimicFn(debouncedFunction, inputFunction);\n\n\tdebouncedFunction.cancel = () => {\n\t\tif (timeout) {\n\t\t\tclearTimeout(timeout);\n\t\t\ttimeout = undefined;\n\t\t}\n\t};\n\n\treturn debouncedFunction;\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/debounce-fn/index.js?"); - -/***/ }), - -/***/ "./node_modules/debounce-fn/node_modules/mimic-fn/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/debounce-fn/node_modules/mimic-fn/index.js ***! - \*****************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\nconst copyProperty = (to, from, property, ignoreNonConfigurable) => {\n\t// `Function#length` should reflect the parameters of `to` not `from` since we keep its body.\n\t// `Function#prototype` is non-writable and non-configurable so can never be modified.\n\tif (property === 'length' || property === 'prototype') {\n\t\treturn;\n\t}\n\n\t// `Function#arguments` and `Function#caller` should not be copied. They were reported to be present in `Reflect.ownKeys` for some devices in React Native (#41), so we explicitly ignore them here.\n\tif (property === 'arguments' || property === 'caller') {\n\t\treturn;\n\t}\n\n\tconst toDescriptor = Object.getOwnPropertyDescriptor(to, property);\n\tconst fromDescriptor = Object.getOwnPropertyDescriptor(from, property);\n\n\tif (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {\n\t\treturn;\n\t}\n\n\tObject.defineProperty(to, property, fromDescriptor);\n};\n\n// `Object.defineProperty()` throws if the property exists, is not configurable and either:\n// - one its descriptors is changed\n// - it is non-writable and its value is changed\nconst canCopyProperty = function (toDescriptor, fromDescriptor) {\n\treturn toDescriptor === undefined || toDescriptor.configurable || (\n\t\ttoDescriptor.writable === fromDescriptor.writable &&\n\t\ttoDescriptor.enumerable === fromDescriptor.enumerable &&\n\t\ttoDescriptor.configurable === fromDescriptor.configurable &&\n\t\t(toDescriptor.writable || toDescriptor.value === fromDescriptor.value)\n\t);\n};\n\nconst changePrototype = (to, from) => {\n\tconst fromPrototype = Object.getPrototypeOf(from);\n\tif (fromPrototype === Object.getPrototypeOf(to)) {\n\t\treturn;\n\t}\n\n\tObject.setPrototypeOf(to, fromPrototype);\n};\n\nconst wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/\\n${fromBody}`;\n\nconst toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, 'toString');\nconst toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, 'name');\n\n// We call `from.toString()` early (not lazily) to ensure `from` can be garbage collected.\n// We use `bind()` instead of a closure for the same reason.\n// Calling `from.toString()` early also allows caching it in case `to.toString()` is called several times.\nconst changeToString = (to, from, name) => {\n\tconst withName = name === '' ? '' : `with ${name.trim()}() `;\n\tconst newToString = wrappedToString.bind(null, withName, from.toString());\n\t// Ensure `to.toString.toString` is non-enumerable and has the same `same`\n\tObject.defineProperty(newToString, 'name', toStringName);\n\tObject.defineProperty(to, 'toString', {...toStringDescriptor, value: newToString});\n};\n\nconst mimicFn = (to, from, {ignoreNonConfigurable = false} = {}) => {\n\tconst {name} = to;\n\n\tfor (const property of Reflect.ownKeys(from)) {\n\t\tcopyProperty(to, from, property, ignoreNonConfigurable);\n\t}\n\n\tchangePrototype(to, from);\n\tchangeToString(to, from, name);\n\n\treturn to;\n};\n\nmodule.exports = mimicFn;\n\n\n//# sourceURL=webpack://renderer/./node_modules/debounce-fn/node_modules/mimic-fn/index.js?"); - -/***/ }), - -/***/ "./node_modules/debug/src/browser.js": -/*!*******************************************!*\ - !*** ./node_modules/debug/src/browser.js ***! - \*******************************************/ -/***/ ((module, exports, __webpack_require__) => { - -eval("/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = __webpack_require__(/*! ./common */ \"./node_modules/debug/src/common.js\")(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/debug/src/browser.js?"); - -/***/ }), - -/***/ "./node_modules/debug/src/common.js": -/*!******************************************!*\ - !*** ./node_modules/debug/src/common.js ***! - \******************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = __webpack_require__(/*! ms */ \"./node_modules/ms/index.js\");\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n\n\n//# sourceURL=webpack://renderer/./node_modules/debug/src/common.js?"); - -/***/ }), - -/***/ "./node_modules/decimal.js/decimal.js": -/*!********************************************!*\ - !*** ./node_modules/decimal.js/decimal.js ***! - \********************************************/ -/***/ (function(module, exports, __webpack_require__) { - -eval("var __WEBPACK_AMD_DEFINE_RESULT__;;(function (globalScope) {\r\n 'use strict';\r\n\r\n\r\n /*!\r\n * decimal.js v10.4.3\r\n * An arbitrary-precision Decimal type for JavaScript.\r\n * https://github.com/MikeMcl/decimal.js\r\n * Copyright (c) 2022 Michael Mclaughlin \r\n * MIT Licence\r\n */\r\n\r\n\r\n // ----------------------------------- EDITABLE DEFAULTS ------------------------------------ //\r\n\r\n\r\n // The maximum exponent magnitude.\r\n // The limit on the value of `toExpNeg`, `toExpPos`, `minE` and `maxE`.\r\n var EXP_LIMIT = 9e15, // 0 to 9e15\r\n\r\n // The limit on the value of `precision`, and on the value of the first argument to\r\n // `toDecimalPlaces`, `toExponential`, `toFixed`, `toPrecision` and `toSignificantDigits`.\r\n MAX_DIGITS = 1e9, // 0 to 1e9\r\n\r\n // Base conversion alphabet.\r\n NUMERALS = '0123456789abcdef',\r\n\r\n // The natural logarithm of 10 (1025 digits).\r\n LN10 = '2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058',\r\n\r\n // Pi (1025 digits).\r\n PI = '3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789',\r\n\r\n\r\n // The initial configuration properties of the Decimal constructor.\r\n DEFAULTS = {\r\n\r\n // These values must be integers within the stated ranges (inclusive).\r\n // Most of these values can be changed at run-time using the `Decimal.config` method.\r\n\r\n // The maximum number of significant digits of the result of a calculation or base conversion.\r\n // E.g. `Decimal.config({ precision: 20 });`\r\n precision: 20, // 1 to MAX_DIGITS\r\n\r\n // The rounding mode used when rounding to `precision`.\r\n //\r\n // ROUND_UP 0 Away from zero.\r\n // ROUND_DOWN 1 Towards zero.\r\n // ROUND_CEIL 2 Towards +Infinity.\r\n // ROUND_FLOOR 3 Towards -Infinity.\r\n // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n //\r\n // E.g.\r\n // `Decimal.rounding = 4;`\r\n // `Decimal.rounding = Decimal.ROUND_HALF_UP;`\r\n rounding: 4, // 0 to 8\r\n\r\n // The modulo mode used when calculating the modulus: a mod n.\r\n // The quotient (q = a / n) is calculated according to the corresponding rounding mode.\r\n // The remainder (r) is calculated as: r = a - n * q.\r\n //\r\n // UP 0 The remainder is positive if the dividend is negative, else is negative.\r\n // DOWN 1 The remainder has the same sign as the dividend (JavaScript %).\r\n // FLOOR 3 The remainder has the same sign as the divisor (Python %).\r\n // HALF_EVEN 6 The IEEE 754 remainder function.\r\n // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)). Always positive.\r\n //\r\n // Truncated division (1), floored division (3), the IEEE 754 remainder (6), and Euclidian\r\n // division (9) are commonly used for the modulus operation. The other rounding modes can also\r\n // be used, but they may not give useful results.\r\n modulo: 1, // 0 to 9\r\n\r\n // The exponent value at and beneath which `toString` returns exponential notation.\r\n // JavaScript numbers: -7\r\n toExpNeg: -7, // 0 to -EXP_LIMIT\r\n\r\n // The exponent value at and above which `toString` returns exponential notation.\r\n // JavaScript numbers: 21\r\n toExpPos: 21, // 0 to EXP_LIMIT\r\n\r\n // The minimum exponent value, beneath which underflow to zero occurs.\r\n // JavaScript numbers: -324 (5e-324)\r\n minE: -EXP_LIMIT, // -1 to -EXP_LIMIT\r\n\r\n // The maximum exponent value, above which overflow to Infinity occurs.\r\n // JavaScript numbers: 308 (1.7976931348623157e+308)\r\n maxE: EXP_LIMIT, // 1 to EXP_LIMIT\r\n\r\n // Whether to use cryptographically-secure random number generation, if available.\r\n crypto: false // true/false\r\n },\r\n\r\n\r\n // ----------------------------------- END OF EDITABLE DEFAULTS ------------------------------- //\r\n\r\n\r\n Decimal, inexact, noConflict, quadrant,\r\n external = true,\r\n\r\n decimalError = '[DecimalError] ',\r\n invalidArgument = decimalError + 'Invalid argument: ',\r\n precisionLimitExceeded = decimalError + 'Precision limit exceeded',\r\n cryptoUnavailable = decimalError + 'crypto unavailable',\r\n tag = '[object Decimal]',\r\n\r\n mathfloor = Math.floor,\r\n mathpow = Math.pow,\r\n\r\n isBinary = /^0b([01]+(\\.[01]*)?|\\.[01]+)(p[+-]?\\d+)?$/i,\r\n isHex = /^0x([0-9a-f]+(\\.[0-9a-f]*)?|\\.[0-9a-f]+)(p[+-]?\\d+)?$/i,\r\n isOctal = /^0o([0-7]+(\\.[0-7]*)?|\\.[0-7]+)(p[+-]?\\d+)?$/i,\r\n isDecimal = /^(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,\r\n\r\n BASE = 1e7,\r\n LOG_BASE = 7,\r\n MAX_SAFE_INTEGER = 9007199254740991,\r\n\r\n LN10_PRECISION = LN10.length - 1,\r\n PI_PRECISION = PI.length - 1,\r\n\r\n // Decimal.prototype object\r\n P = { toStringTag: tag };\r\n\r\n\r\n // Decimal prototype methods\r\n\r\n\r\n /*\r\n * absoluteValue abs\r\n * ceil\r\n * clampedTo clamp\r\n * comparedTo cmp\r\n * cosine cos\r\n * cubeRoot cbrt\r\n * decimalPlaces dp\r\n * dividedBy div\r\n * dividedToIntegerBy divToInt\r\n * equals eq\r\n * floor\r\n * greaterThan gt\r\n * greaterThanOrEqualTo gte\r\n * hyperbolicCosine cosh\r\n * hyperbolicSine sinh\r\n * hyperbolicTangent tanh\r\n * inverseCosine acos\r\n * inverseHyperbolicCosine acosh\r\n * inverseHyperbolicSine asinh\r\n * inverseHyperbolicTangent atanh\r\n * inverseSine asin\r\n * inverseTangent atan\r\n * isFinite\r\n * isInteger isInt\r\n * isNaN\r\n * isNegative isNeg\r\n * isPositive isPos\r\n * isZero\r\n * lessThan lt\r\n * lessThanOrEqualTo lte\r\n * logarithm log\r\n * [maximum] [max]\r\n * [minimum] [min]\r\n * minus sub\r\n * modulo mod\r\n * naturalExponential exp\r\n * naturalLogarithm ln\r\n * negated neg\r\n * plus add\r\n * precision sd\r\n * round\r\n * sine sin\r\n * squareRoot sqrt\r\n * tangent tan\r\n * times mul\r\n * toBinary\r\n * toDecimalPlaces toDP\r\n * toExponential\r\n * toFixed\r\n * toFraction\r\n * toHexadecimal toHex\r\n * toNearest\r\n * toNumber\r\n * toOctal\r\n * toPower pow\r\n * toPrecision\r\n * toSignificantDigits toSD\r\n * toString\r\n * truncated trunc\r\n * valueOf toJSON\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the absolute value of this Decimal.\r\n *\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new this.constructor(this);\r\n if (x.s < 0) x.s = 1;\r\n return finalise(x);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number in the\r\n * direction of positive Infinity.\r\n *\r\n */\r\n P.ceil = function () {\r\n return finalise(new this.constructor(this), this.e + 1, 2);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal clamped to the range\r\n * delineated by `min` and `max`.\r\n *\r\n * min {number|string|Decimal}\r\n * max {number|string|Decimal}\r\n *\r\n */\r\n P.clampedTo = P.clamp = function (min, max) {\r\n var k,\r\n x = this,\r\n Ctor = x.constructor;\r\n min = new Ctor(min);\r\n max = new Ctor(max);\r\n if (!min.s || !max.s) return new Ctor(NaN);\r\n if (min.gt(max)) throw Error(invalidArgument + max);\r\n k = x.cmp(min);\r\n return k < 0 ? min : x.cmp(max) > 0 ? max : new Ctor(x);\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this Decimal is greater than the value of `y`,\r\n * -1 if the value of this Decimal is less than the value of `y`,\r\n * 0 if they have the same value,\r\n * NaN if the value of either Decimal is NaN.\r\n *\r\n */\r\n P.comparedTo = P.cmp = function (y) {\r\n var i, j, xdL, ydL,\r\n x = this,\r\n xd = x.d,\r\n yd = (y = new x.constructor(y)).d,\r\n xs = x.s,\r\n ys = y.s;\r\n\r\n // Either NaN or ±Infinity?\r\n if (!xd || !yd) {\r\n return !xs || !ys ? NaN : xs !== ys ? xs : xd === yd ? 0 : !xd ^ xs < 0 ? 1 : -1;\r\n }\r\n\r\n // Either zero?\r\n if (!xd[0] || !yd[0]) return xd[0] ? xs : yd[0] ? -ys : 0;\r\n\r\n // Signs differ?\r\n if (xs !== ys) return xs;\r\n\r\n // Compare exponents.\r\n if (x.e !== y.e) return x.e > y.e ^ xs < 0 ? 1 : -1;\r\n\r\n xdL = xd.length;\r\n ydL = yd.length;\r\n\r\n // Compare digit by digit.\r\n for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {\r\n if (xd[i] !== yd[i]) return xd[i] > yd[i] ^ xs < 0 ? 1 : -1;\r\n }\r\n\r\n // Compare lengths.\r\n return xdL === ydL ? 0 : xdL > ydL ^ xs < 0 ? 1 : -1;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the cosine of the value in radians of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-1, 1]\r\n *\r\n * cos(0) = 1\r\n * cos(-0) = 1\r\n * cos(Infinity) = NaN\r\n * cos(-Infinity) = NaN\r\n * cos(NaN) = NaN\r\n *\r\n */\r\n P.cosine = P.cos = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.d) return new Ctor(NaN);\r\n\r\n // cos(0) = cos(-0) = 1\r\n if (!x.d[0]) return new Ctor(1);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;\r\n Ctor.rounding = 1;\r\n\r\n x = cosine(Ctor, toLessThanHalfPi(Ctor, x));\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(quadrant == 2 || quadrant == 3 ? x.neg() : x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n *\r\n * Return a new Decimal whose value is the cube root of the value of this Decimal, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * cbrt(0) = 0\r\n * cbrt(-0) = -0\r\n * cbrt(1) = 1\r\n * cbrt(-1) = -1\r\n * cbrt(N) = N\r\n * cbrt(-I) = -I\r\n * cbrt(I) = I\r\n *\r\n * Math.cbrt(x) = (x < 0 ? -Math.pow(-x, 1/3) : Math.pow(x, 1/3))\r\n *\r\n */\r\n P.cubeRoot = P.cbrt = function () {\r\n var e, m, n, r, rep, s, sd, t, t3, t3plusx,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite() || x.isZero()) return new Ctor(x);\r\n external = false;\r\n\r\n // Initial estimate.\r\n s = x.s * mathpow(x.s * x, 1 / 3);\r\n\r\n // Math.cbrt underflow/overflow?\r\n // Pass x to Math.pow as integer, then adjust the exponent of the result.\r\n if (!s || Math.abs(s) == 1 / 0) {\r\n n = digitsToString(x.d);\r\n e = x.e;\r\n\r\n // Adjust n exponent so it is a multiple of 3 away from x exponent.\r\n if (s = (e - n.length + 1) % 3) n += (s == 1 || s == -2 ? '0' : '00');\r\n s = mathpow(n, 1 / 3);\r\n\r\n // Rarely, e may be one less than the result exponent value.\r\n e = mathfloor((e + 1) / 3) - (e % 3 == (e < 0 ? -1 : 2));\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new Ctor(n);\r\n r.s = x.s;\r\n } else {\r\n r = new Ctor(s.toString());\r\n }\r\n\r\n sd = (e = Ctor.precision) + 3;\r\n\r\n // Halley's method.\r\n // TODO? Compare Newton's method.\r\n for (;;) {\r\n t = r;\r\n t3 = t.times(t).times(t);\r\n t3plusx = t3.plus(x);\r\n r = divide(t3plusx.plus(x).times(t), t3plusx.plus(t3), sd + 2, 1);\r\n\r\n // TODO? Replace with for-loop and checkRoundingDigits.\r\n if (digitsToString(t.d).slice(0, sd) === (n = digitsToString(r.d)).slice(0, sd)) {\r\n n = n.slice(sd - 3, sd + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or 4999\r\n // , i.e. approaching a rounding boundary, continue the iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the exact result as the\r\n // nines may infinitely repeat.\r\n if (!rep) {\r\n finalise(t, e + 1, 0);\r\n\r\n if (t.times(t).times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n sd += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If the rounding digits are null, 0{0,4} or 50{0,3}, check for an exact result.\r\n // If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n finalise(r, e + 1, 1);\r\n m = !r.times(r).times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return finalise(r, e, Ctor.rounding, m);\r\n };\r\n\r\n\r\n /*\r\n * Return the number of decimal places of the value of this Decimal.\r\n *\r\n */\r\n P.decimalPlaces = P.dp = function () {\r\n var w,\r\n d = this.d,\r\n n = NaN;\r\n\r\n if (d) {\r\n w = d.length - 1;\r\n n = (w - mathfloor(this.e / LOG_BASE)) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n w = d[w];\r\n if (w) for (; w % 10 == 0; w /= 10) n--;\r\n if (n < 0) n = 0;\r\n }\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * n / 0 = I\r\n * n / N = N\r\n * n / I = 0\r\n * 0 / n = 0\r\n * 0 / 0 = N\r\n * 0 / N = N\r\n * 0 / I = 0\r\n * N / n = N\r\n * N / 0 = N\r\n * N / N = N\r\n * N / I = N\r\n * I / n = I\r\n * I / 0 = I\r\n * I / N = N\r\n * I / I = N\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal divided by `y`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.dividedBy = P.div = function (y) {\r\n return divide(this, new this.constructor(y));\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the integer part of dividing the value of this Decimal\r\n * by the value of `y`, rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.dividedToIntegerBy = P.divToInt = function (y) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n return finalise(divide(x, new Ctor(y), 0, 1, 1), Ctor.precision, Ctor.rounding);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is equal to the value of `y`, otherwise return false.\r\n *\r\n */\r\n P.equals = P.eq = function (y) {\r\n return this.cmp(y) === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number in the\r\n * direction of negative Infinity.\r\n *\r\n */\r\n P.floor = function () {\r\n return finalise(new this.constructor(this), this.e + 1, 3);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than the value of `y`, otherwise return\r\n * false.\r\n *\r\n */\r\n P.greaterThan = P.gt = function (y) {\r\n return this.cmp(y) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than or equal to the value of `y`,\r\n * otherwise return false.\r\n *\r\n */\r\n P.greaterThanOrEqualTo = P.gte = function (y) {\r\n var k = this.cmp(y);\r\n return k == 1 || k === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic cosine of the value in radians of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [1, Infinity]\r\n *\r\n * cosh(x) = 1 + x^2/2! + x^4/4! + x^6/6! + ...\r\n *\r\n * cosh(0) = 1\r\n * cosh(-0) = 1\r\n * cosh(Infinity) = Infinity\r\n * cosh(-Infinity) = Infinity\r\n * cosh(NaN) = NaN\r\n *\r\n * x time taken (ms) result\r\n * 1000 9 9.8503555700852349694e+433\r\n * 10000 25 4.4034091128314607936e+4342\r\n * 100000 171 1.4033316802130615897e+43429\r\n * 1000000 3817 1.5166076984010437725e+434294\r\n * 10000000 abandoned after 2 minute wait\r\n *\r\n * TODO? Compare performance of cosh(x) = 0.5 * (exp(x) + exp(-x))\r\n *\r\n */\r\n P.hyperbolicCosine = P.cosh = function () {\r\n var k, n, pr, rm, len,\r\n x = this,\r\n Ctor = x.constructor,\r\n one = new Ctor(1);\r\n\r\n if (!x.isFinite()) return new Ctor(x.s ? 1 / 0 : NaN);\r\n if (x.isZero()) return one;\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + 4;\r\n Ctor.rounding = 1;\r\n len = x.d.length;\r\n\r\n // Argument reduction: cos(4x) = 1 - 8cos^2(x) + 8cos^4(x) + 1\r\n // i.e. cos(x) = 1 - cos^2(x/4)(8 - 8cos^2(x/4))\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n // TODO? Estimation reused from cosine() and may not be optimal here.\r\n if (len < 32) {\r\n k = Math.ceil(len / 3);\r\n n = (1 / tinyPow(4, k)).toString();\r\n } else {\r\n k = 16;\r\n n = '2.3283064365386962890625e-10';\r\n }\r\n\r\n x = taylorSeries(Ctor, 1, x.times(n), new Ctor(1), true);\r\n\r\n // Reverse argument reduction\r\n var cosh2_x,\r\n i = k,\r\n d8 = new Ctor(8);\r\n for (; i--;) {\r\n cosh2_x = x.times(x);\r\n x = one.minus(cosh2_x.times(d8.minus(cosh2_x.times(d8))));\r\n }\r\n\r\n return finalise(x, Ctor.precision = pr, Ctor.rounding = rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic sine of the value in radians of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * sinh(x) = x + x^3/3! + x^5/5! + x^7/7! + ...\r\n *\r\n * sinh(0) = 0\r\n * sinh(-0) = -0\r\n * sinh(Infinity) = Infinity\r\n * sinh(-Infinity) = -Infinity\r\n * sinh(NaN) = NaN\r\n *\r\n * x time taken (ms)\r\n * 10 2 ms\r\n * 100 5 ms\r\n * 1000 14 ms\r\n * 10000 82 ms\r\n * 100000 886 ms 1.4033316802130615897e+43429\r\n * 200000 2613 ms\r\n * 300000 5407 ms\r\n * 400000 8824 ms\r\n * 500000 13026 ms 8.7080643612718084129e+217146\r\n * 1000000 48543 ms\r\n *\r\n * TODO? Compare performance of sinh(x) = 0.5 * (exp(x) - exp(-x))\r\n *\r\n */\r\n P.hyperbolicSine = P.sinh = function () {\r\n var k, pr, rm, len,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite() || x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + 4;\r\n Ctor.rounding = 1;\r\n len = x.d.length;\r\n\r\n if (len < 3) {\r\n x = taylorSeries(Ctor, 2, x, x, true);\r\n } else {\r\n\r\n // Alternative argument reduction: sinh(3x) = sinh(x)(3 + 4sinh^2(x))\r\n // i.e. sinh(x) = sinh(x/3)(3 + 4sinh^2(x/3))\r\n // 3 multiplications and 1 addition\r\n\r\n // Argument reduction: sinh(5x) = sinh(x)(5 + sinh^2(x)(20 + 16sinh^2(x)))\r\n // i.e. sinh(x) = sinh(x/5)(5 + sinh^2(x/5)(20 + 16sinh^2(x/5)))\r\n // 4 multiplications and 2 additions\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n k = 1.4 * Math.sqrt(len);\r\n k = k > 16 ? 16 : k | 0;\r\n\r\n x = x.times(1 / tinyPow(5, k));\r\n x = taylorSeries(Ctor, 2, x, x, true);\r\n\r\n // Reverse argument reduction\r\n var sinh2_x,\r\n d5 = new Ctor(5),\r\n d16 = new Ctor(16),\r\n d20 = new Ctor(20);\r\n for (; k--;) {\r\n sinh2_x = x.times(x);\r\n x = x.times(d5.plus(sinh2_x.times(d16.times(sinh2_x).plus(d20))));\r\n }\r\n }\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic tangent of the value in radians of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-1, 1]\r\n *\r\n * tanh(x) = sinh(x) / cosh(x)\r\n *\r\n * tanh(0) = 0\r\n * tanh(-0) = -0\r\n * tanh(Infinity) = 1\r\n * tanh(-Infinity) = -1\r\n * tanh(NaN) = NaN\r\n *\r\n */\r\n P.hyperbolicTangent = P.tanh = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(x.s);\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + 7;\r\n Ctor.rounding = 1;\r\n\r\n return divide(x.sinh(), x.cosh(), Ctor.precision = pr, Ctor.rounding = rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arccosine (inverse cosine) in radians of the value of\r\n * this Decimal.\r\n *\r\n * Domain: [-1, 1]\r\n * Range: [0, pi]\r\n *\r\n * acos(x) = pi/2 - asin(x)\r\n *\r\n * acos(0) = pi/2\r\n * acos(-0) = pi/2\r\n * acos(1) = 0\r\n * acos(-1) = pi\r\n * acos(1/2) = pi/3\r\n * acos(-1/2) = 2*pi/3\r\n * acos(|x| > 1) = NaN\r\n * acos(NaN) = NaN\r\n *\r\n */\r\n P.inverseCosine = P.acos = function () {\r\n var halfPi,\r\n x = this,\r\n Ctor = x.constructor,\r\n k = x.abs().cmp(1),\r\n pr = Ctor.precision,\r\n rm = Ctor.rounding;\r\n\r\n if (k !== -1) {\r\n return k === 0\r\n // |x| is 1\r\n ? x.isNeg() ? getPi(Ctor, pr, rm) : new Ctor(0)\r\n // |x| > 1 or x is NaN\r\n : new Ctor(NaN);\r\n }\r\n\r\n if (x.isZero()) return getPi(Ctor, pr + 4, rm).times(0.5);\r\n\r\n // TODO? Special case acos(0.5) = pi/3 and acos(-0.5) = 2*pi/3\r\n\r\n Ctor.precision = pr + 6;\r\n Ctor.rounding = 1;\r\n\r\n x = x.asin();\r\n halfPi = getPi(Ctor, pr + 4, rm).times(0.5);\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return halfPi.minus(x);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic cosine in radians of the\r\n * value of this Decimal.\r\n *\r\n * Domain: [1, Infinity]\r\n * Range: [0, Infinity]\r\n *\r\n * acosh(x) = ln(x + sqrt(x^2 - 1))\r\n *\r\n * acosh(x < 1) = NaN\r\n * acosh(NaN) = NaN\r\n * acosh(Infinity) = Infinity\r\n * acosh(-Infinity) = NaN\r\n * acosh(0) = NaN\r\n * acosh(-0) = NaN\r\n * acosh(1) = 0\r\n * acosh(-1) = NaN\r\n *\r\n */\r\n P.inverseHyperbolicCosine = P.acosh = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (x.lte(1)) return new Ctor(x.eq(1) ? 0 : NaN);\r\n if (!x.isFinite()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(Math.abs(x.e), x.sd()) + 4;\r\n Ctor.rounding = 1;\r\n external = false;\r\n\r\n x = x.times(x).minus(1).sqrt().plus(x);\r\n\r\n external = true;\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.ln();\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic sine in radians of the value\r\n * of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * asinh(x) = ln(x + sqrt(x^2 + 1))\r\n *\r\n * asinh(NaN) = NaN\r\n * asinh(Infinity) = Infinity\r\n * asinh(-Infinity) = -Infinity\r\n * asinh(0) = 0\r\n * asinh(-0) = -0\r\n *\r\n */\r\n P.inverseHyperbolicSine = P.asinh = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite() || x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + 2 * Math.max(Math.abs(x.e), x.sd()) + 6;\r\n Ctor.rounding = 1;\r\n external = false;\r\n\r\n x = x.times(x).plus(1).sqrt().plus(x);\r\n\r\n external = true;\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.ln();\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic tangent in radians of the\r\n * value of this Decimal.\r\n *\r\n * Domain: [-1, 1]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * atanh(x) = 0.5 * ln((1 + x) / (1 - x))\r\n *\r\n * atanh(|x| > 1) = NaN\r\n * atanh(NaN) = NaN\r\n * atanh(Infinity) = NaN\r\n * atanh(-Infinity) = NaN\r\n * atanh(0) = 0\r\n * atanh(-0) = -0\r\n * atanh(1) = Infinity\r\n * atanh(-1) = -Infinity\r\n *\r\n */\r\n P.inverseHyperbolicTangent = P.atanh = function () {\r\n var pr, rm, wpr, xsd,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(NaN);\r\n if (x.e >= 0) return new Ctor(x.abs().eq(1) ? x.s / 0 : x.isZero() ? x : NaN);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n xsd = x.sd();\r\n\r\n if (Math.max(xsd, pr) < 2 * -x.e - 1) return finalise(new Ctor(x), pr, rm, true);\r\n\r\n Ctor.precision = wpr = xsd - x.e;\r\n\r\n x = divide(x.plus(1), new Ctor(1).minus(x), wpr + pr, 1);\r\n\r\n Ctor.precision = pr + 4;\r\n Ctor.rounding = 1;\r\n\r\n x = x.ln();\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.times(0.5);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arcsine (inverse sine) in radians of the value of this\r\n * Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-pi/2, pi/2]\r\n *\r\n * asin(x) = 2*atan(x/(1 + sqrt(1 - x^2)))\r\n *\r\n * asin(0) = 0\r\n * asin(-0) = -0\r\n * asin(1/2) = pi/6\r\n * asin(-1/2) = -pi/6\r\n * asin(1) = pi/2\r\n * asin(-1) = -pi/2\r\n * asin(|x| > 1) = NaN\r\n * asin(NaN) = NaN\r\n *\r\n * TODO? Compare performance of Taylor series.\r\n *\r\n */\r\n P.inverseSine = P.asin = function () {\r\n var halfPi, k,\r\n pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n k = x.abs().cmp(1);\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n if (k !== -1) {\r\n\r\n // |x| is 1\r\n if (k === 0) {\r\n halfPi = getPi(Ctor, pr + 4, rm).times(0.5);\r\n halfPi.s = x.s;\r\n return halfPi;\r\n }\r\n\r\n // |x| > 1 or x is NaN\r\n return new Ctor(NaN);\r\n }\r\n\r\n // TODO? Special case asin(1/2) = pi/6 and asin(-1/2) = -pi/6\r\n\r\n Ctor.precision = pr + 6;\r\n Ctor.rounding = 1;\r\n\r\n x = x.div(new Ctor(1).minus(x.times(x)).sqrt().plus(1)).atan();\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return x.times(2);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arctangent (inverse tangent) in radians of the value\r\n * of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-pi/2, pi/2]\r\n *\r\n * atan(x) = x - x^3/3 + x^5/5 - x^7/7 + ...\r\n *\r\n * atan(0) = 0\r\n * atan(-0) = -0\r\n * atan(1) = pi/4\r\n * atan(-1) = -pi/4\r\n * atan(Infinity) = pi/2\r\n * atan(-Infinity) = -pi/2\r\n * atan(NaN) = NaN\r\n *\r\n */\r\n P.inverseTangent = P.atan = function () {\r\n var i, j, k, n, px, t, r, wpr, x2,\r\n x = this,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision,\r\n rm = Ctor.rounding;\r\n\r\n if (!x.isFinite()) {\r\n if (!x.s) return new Ctor(NaN);\r\n if (pr + 4 <= PI_PRECISION) {\r\n r = getPi(Ctor, pr + 4, rm).times(0.5);\r\n r.s = x.s;\r\n return r;\r\n }\r\n } else if (x.isZero()) {\r\n return new Ctor(x);\r\n } else if (x.abs().eq(1) && pr + 4 <= PI_PRECISION) {\r\n r = getPi(Ctor, pr + 4, rm).times(0.25);\r\n r.s = x.s;\r\n return r;\r\n }\r\n\r\n Ctor.precision = wpr = pr + 10;\r\n Ctor.rounding = 1;\r\n\r\n // TODO? if (x >= 1 && pr <= PI_PRECISION) atan(x) = halfPi * x.s - atan(1 / x);\r\n\r\n // Argument reduction\r\n // Ensure |x| < 0.42\r\n // atan(x) = 2 * atan(x / (1 + sqrt(1 + x^2)))\r\n\r\n k = Math.min(28, wpr / LOG_BASE + 2 | 0);\r\n\r\n for (i = k; i; --i) x = x.div(x.times(x).plus(1).sqrt().plus(1));\r\n\r\n external = false;\r\n\r\n j = Math.ceil(wpr / LOG_BASE);\r\n n = 1;\r\n x2 = x.times(x);\r\n r = new Ctor(x);\r\n px = x;\r\n\r\n // atan(x) = x - x^3/3 + x^5/5 - x^7/7 + ...\r\n for (; i !== -1;) {\r\n px = px.times(x2);\r\n t = r.minus(px.div(n += 2));\r\n\r\n px = px.times(x2);\r\n r = t.plus(px.div(n += 2));\r\n\r\n if (r.d[j] !== void 0) for (i = j; r.d[i] === t.d[i] && i--;);\r\n }\r\n\r\n if (k) r = r.times(2 << (k - 1));\r\n\r\n external = true;\r\n\r\n return finalise(r, Ctor.precision = pr, Ctor.rounding = rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is a finite number, otherwise return false.\r\n *\r\n */\r\n P.isFinite = function () {\r\n return !!this.d;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is an integer, otherwise return false.\r\n *\r\n */\r\n P.isInteger = P.isInt = function () {\r\n return !!this.d && mathfloor(this.e / LOG_BASE) > this.d.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is NaN, otherwise return false.\r\n *\r\n */\r\n P.isNaN = function () {\r\n return !this.s;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is negative, otherwise return false.\r\n *\r\n */\r\n P.isNegative = P.isNeg = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is positive, otherwise return false.\r\n *\r\n */\r\n P.isPositive = P.isPos = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is 0 or -0, otherwise return false.\r\n *\r\n */\r\n P.isZero = function () {\r\n return !!this.d && this.d[0] === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThan = P.lt = function (y) {\r\n return this.cmp(y) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than or equal to `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThanOrEqualTo = P.lte = function (y) {\r\n return this.cmp(y) < 1;\r\n };\r\n\r\n\r\n /*\r\n * Return the logarithm of the value of this Decimal to the specified base, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * If no base is specified, return log[10](arg).\r\n *\r\n * log[base](arg) = ln(arg) / ln(base)\r\n *\r\n * The result will always be correctly rounded if the base of the log is 10, and 'almost always'\r\n * otherwise:\r\n *\r\n * Depending on the rounding mode, the result may be incorrectly rounded if the first fifteen\r\n * rounding digits are [49]99999999999999 or [50]00000000000000. In that case, the maximum error\r\n * between the result and the correctly rounded result will be one ulp (unit in the last place).\r\n *\r\n * log[-b](a) = NaN\r\n * log[0](a) = NaN\r\n * log[1](a) = NaN\r\n * log[NaN](a) = NaN\r\n * log[Infinity](a) = NaN\r\n * log[b](0) = -Infinity\r\n * log[b](-0) = -Infinity\r\n * log[b](-a) = NaN\r\n * log[b](1) = 0\r\n * log[b](Infinity) = Infinity\r\n * log[b](NaN) = NaN\r\n *\r\n * [base] {number|string|Decimal} The base of the logarithm.\r\n *\r\n */\r\n P.logarithm = P.log = function (base) {\r\n var isBase10, d, denominator, k, inf, num, sd, r,\r\n arg = this,\r\n Ctor = arg.constructor,\r\n pr = Ctor.precision,\r\n rm = Ctor.rounding,\r\n guard = 5;\r\n\r\n // Default base is 10.\r\n if (base == null) {\r\n base = new Ctor(10);\r\n isBase10 = true;\r\n } else {\r\n base = new Ctor(base);\r\n d = base.d;\r\n\r\n // Return NaN if base is negative, or non-finite, or is 0 or 1.\r\n if (base.s < 0 || !d || !d[0] || base.eq(1)) return new Ctor(NaN);\r\n\r\n isBase10 = base.eq(10);\r\n }\r\n\r\n d = arg.d;\r\n\r\n // Is arg negative, non-finite, 0 or 1?\r\n if (arg.s < 0 || !d || !d[0] || arg.eq(1)) {\r\n return new Ctor(d && !d[0] ? -1 / 0 : arg.s != 1 ? NaN : d ? 0 : 1 / 0);\r\n }\r\n\r\n // The result will have a non-terminating decimal expansion if base is 10 and arg is not an\r\n // integer power of 10.\r\n if (isBase10) {\r\n if (d.length > 1) {\r\n inf = true;\r\n } else {\r\n for (k = d[0]; k % 10 === 0;) k /= 10;\r\n inf = k !== 1;\r\n }\r\n }\r\n\r\n external = false;\r\n sd = pr + guard;\r\n num = naturalLogarithm(arg, sd);\r\n denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd);\r\n\r\n // The result will have 5 rounding digits.\r\n r = divide(num, denominator, sd, 1);\r\n\r\n // If at a rounding boundary, i.e. the result's rounding digits are [49]9999 or [50]0000,\r\n // calculate 10 further digits.\r\n //\r\n // If the result is known to have an infinite decimal expansion, repeat this until it is clear\r\n // that the result is above or below the boundary. Otherwise, if after calculating the 10\r\n // further digits, the last 14 are nines, round up and assume the result is exact.\r\n // Also assume the result is exact if the last 14 are zero.\r\n //\r\n // Example of a result that will be incorrectly rounded:\r\n // log[1048576](4503599627370502) = 2.60000000000000009610279511444746...\r\n // The above result correctly rounded using ROUND_CEIL to 1 decimal place should be 2.7, but it\r\n // will be given as 2.6 as there are 15 zeros immediately after the requested decimal place, so\r\n // the exact result would be assumed to be 2.6, which rounded using ROUND_CEIL to 1 decimal\r\n // place is still 2.6.\r\n if (checkRoundingDigits(r.d, k = pr, rm)) {\r\n\r\n do {\r\n sd += 10;\r\n num = naturalLogarithm(arg, sd);\r\n denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd);\r\n r = divide(num, denominator, sd, 1);\r\n\r\n if (!inf) {\r\n\r\n // Check for 14 nines from the 2nd rounding digit, as the first may be 4.\r\n if (+digitsToString(r.d).slice(k + 1, k + 15) + 1 == 1e14) {\r\n r = finalise(r, pr + 1, 0);\r\n }\r\n\r\n break;\r\n }\r\n } while (checkRoundingDigits(r.d, k += 10, rm));\r\n }\r\n\r\n external = true;\r\n\r\n return finalise(r, pr, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the maximum of the arguments and the value of this Decimal.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n P.max = function () {\r\n Array.prototype.push.call(arguments, this);\r\n return maxOrMin(this.constructor, arguments, 'lt');\r\n };\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the minimum of the arguments and the value of this Decimal.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n P.min = function () {\r\n Array.prototype.push.call(arguments, this);\r\n return maxOrMin(this.constructor, arguments, 'gt');\r\n };\r\n */\r\n\r\n\r\n /*\r\n * n - 0 = n\r\n * n - N = N\r\n * n - I = -I\r\n * 0 - n = -n\r\n * 0 - 0 = 0\r\n * 0 - N = N\r\n * 0 - I = -I\r\n * N - n = N\r\n * N - 0 = N\r\n * N - N = N\r\n * N - I = N\r\n * I - n = I\r\n * I - 0 = I\r\n * I - N = N\r\n * I - I = N\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal minus `y`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.minus = P.sub = function (y) {\r\n var d, e, i, j, k, len, pr, rm, xd, xe, xLTy, yd,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n y = new Ctor(y);\r\n\r\n // If either is not finite...\r\n if (!x.d || !y.d) {\r\n\r\n // Return NaN if either is NaN.\r\n if (!x.s || !y.s) y = new Ctor(NaN);\r\n\r\n // Return y negated if x is finite and y is ±Infinity.\r\n else if (x.d) y.s = -y.s;\r\n\r\n // Return x if y is finite and x is ±Infinity.\r\n // Return x if both are ±Infinity with different signs.\r\n // Return NaN if both are ±Infinity with the same sign.\r\n else y = new Ctor(y.d || x.s !== y.s ? x : NaN);\r\n\r\n return y;\r\n }\r\n\r\n // If signs differ...\r\n if (x.s != y.s) {\r\n y.s = -y.s;\r\n return x.plus(y);\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n // If either is zero...\r\n if (!xd[0] || !yd[0]) {\r\n\r\n // Return y negated if x is zero and y is non-zero.\r\n if (yd[0]) y.s = -y.s;\r\n\r\n // Return x if y is zero and x is non-zero.\r\n else if (xd[0]) y = new Ctor(x);\r\n\r\n // Return zero if both are zero.\r\n // From IEEE 754 (2008) 6.3: 0 - 0 = -0 - -0 = -0 when rounding to -Infinity.\r\n else return new Ctor(rm === 3 ? -0 : 0);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n }\r\n\r\n // x and y are finite, non-zero numbers with the same sign.\r\n\r\n // Calculate base 1e7 exponents.\r\n e = mathfloor(y.e / LOG_BASE);\r\n xe = mathfloor(x.e / LOG_BASE);\r\n\r\n xd = xd.slice();\r\n k = xe - e;\r\n\r\n // If base 1e7 exponents differ...\r\n if (k) {\r\n xLTy = k < 0;\r\n\r\n if (xLTy) {\r\n d = xd;\r\n k = -k;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = xe;\r\n len = xd.length;\r\n }\r\n\r\n // Numbers with massively different exponents would result in a very high number of\r\n // zeros needing to be prepended, but this can be avoided while still ensuring correct\r\n // rounding by limiting the number of zeros to `Math.ceil(pr / LOG_BASE) + 2`.\r\n i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2;\r\n\r\n if (k > i) {\r\n k = i;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents.\r\n d.reverse();\r\n for (i = k; i--;) d.push(0);\r\n d.reverse();\r\n\r\n // Base 1e7 exponents equal.\r\n } else {\r\n\r\n // Check digits to determine which is the bigger number.\r\n\r\n i = xd.length;\r\n len = yd.length;\r\n xLTy = i < len;\r\n if (xLTy) len = i;\r\n\r\n for (i = 0; i < len; i++) {\r\n if (xd[i] != yd[i]) {\r\n xLTy = xd[i] < yd[i];\r\n break;\r\n }\r\n }\r\n\r\n k = 0;\r\n }\r\n\r\n if (xLTy) {\r\n d = xd;\r\n xd = yd;\r\n yd = d;\r\n y.s = -y.s;\r\n }\r\n\r\n len = xd.length;\r\n\r\n // Append zeros to `xd` if shorter.\r\n // Don't add zeros to `yd` if shorter as subtraction only needs to start at `yd` length.\r\n for (i = yd.length - len; i > 0; --i) xd[len++] = 0;\r\n\r\n // Subtract yd from xd.\r\n for (i = yd.length; i > k;) {\r\n\r\n if (xd[--i] < yd[i]) {\r\n for (j = i; j && xd[--j] === 0;) xd[j] = BASE - 1;\r\n --xd[j];\r\n xd[i] += BASE;\r\n }\r\n\r\n xd[i] -= yd[i];\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; xd[--len] === 0;) xd.pop();\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xd[0] === 0; xd.shift()) --e;\r\n\r\n // Zero?\r\n if (!xd[0]) return new Ctor(rm === 3 ? -0 : 0);\r\n\r\n y.d = xd;\r\n y.e = getBase10Exponent(xd, e);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n };\r\n\r\n\r\n /*\r\n * n % 0 = N\r\n * n % N = N\r\n * n % I = n\r\n * 0 % n = 0\r\n * -0 % n = -0\r\n * 0 % 0 = N\r\n * 0 % N = N\r\n * 0 % I = 0\r\n * N % n = N\r\n * N % 0 = N\r\n * N % N = N\r\n * N % I = N\r\n * I % n = N\r\n * I % 0 = N\r\n * I % N = N\r\n * I % I = N\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal modulo `y`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * The result depends on the modulo mode.\r\n *\r\n */\r\n P.modulo = P.mod = function (y) {\r\n var q,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n y = new Ctor(y);\r\n\r\n // Return NaN if x is ±Infinity or NaN, or y is NaN or ±0.\r\n if (!x.d || !y.s || y.d && !y.d[0]) return new Ctor(NaN);\r\n\r\n // Return x if y is ±Infinity or x is ±0.\r\n if (!y.d || x.d && !x.d[0]) {\r\n return finalise(new Ctor(x), Ctor.precision, Ctor.rounding);\r\n }\r\n\r\n // Prevent rounding of intermediate calculations.\r\n external = false;\r\n\r\n if (Ctor.modulo == 9) {\r\n\r\n // Euclidian division: q = sign(y) * floor(x / abs(y))\r\n // result = x - q * y where 0 <= result < abs(y)\r\n q = divide(x, y.abs(), 0, 3, 1);\r\n q.s *= y.s;\r\n } else {\r\n q = divide(x, y, 0, Ctor.modulo, 1);\r\n }\r\n\r\n q = q.times(y);\r\n\r\n external = true;\r\n\r\n return x.minus(q);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of the value of this Decimal,\r\n * i.e. the base e raised to the power the value of this Decimal, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.naturalExponential = P.exp = function () {\r\n return naturalExponential(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of the value of this Decimal,\r\n * rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.naturalLogarithm = P.ln = function () {\r\n return naturalLogarithm(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal negated, i.e. as if multiplied by\r\n * -1.\r\n *\r\n */\r\n P.negated = P.neg = function () {\r\n var x = new this.constructor(this);\r\n x.s = -x.s;\r\n return finalise(x);\r\n };\r\n\r\n\r\n /*\r\n * n + 0 = n\r\n * n + N = N\r\n * n + I = I\r\n * 0 + n = n\r\n * 0 + 0 = 0\r\n * 0 + N = N\r\n * 0 + I = I\r\n * N + n = N\r\n * N + 0 = N\r\n * N + N = N\r\n * N + I = N\r\n * I + n = I\r\n * I + 0 = I\r\n * I + N = N\r\n * I + I = I\r\n *\r\n * Return a new Decimal whose value is the value of this Decimal plus `y`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.plus = P.add = function (y) {\r\n var carry, d, e, i, k, len, pr, rm, xd, yd,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n y = new Ctor(y);\r\n\r\n // If either is not finite...\r\n if (!x.d || !y.d) {\r\n\r\n // Return NaN if either is NaN.\r\n if (!x.s || !y.s) y = new Ctor(NaN);\r\n\r\n // Return x if y is finite and x is ±Infinity.\r\n // Return x if both are ±Infinity with the same sign.\r\n // Return NaN if both are ±Infinity with different signs.\r\n // Return y if x is finite and y is ±Infinity.\r\n else if (!x.d) y = new Ctor(y.d || x.s === y.s ? x : NaN);\r\n\r\n return y;\r\n }\r\n\r\n // If signs differ...\r\n if (x.s != y.s) {\r\n y.s = -y.s;\r\n return x.minus(y);\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n // If either is zero...\r\n if (!xd[0] || !yd[0]) {\r\n\r\n // Return x if y is zero.\r\n // Return y if y is non-zero.\r\n if (!yd[0]) y = new Ctor(x);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n }\r\n\r\n // x and y are finite, non-zero numbers with the same sign.\r\n\r\n // Calculate base 1e7 exponents.\r\n k = mathfloor(x.e / LOG_BASE);\r\n e = mathfloor(y.e / LOG_BASE);\r\n\r\n xd = xd.slice();\r\n i = k - e;\r\n\r\n // If base 1e7 exponents differ...\r\n if (i) {\r\n\r\n if (i < 0) {\r\n d = xd;\r\n i = -i;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = k;\r\n len = xd.length;\r\n }\r\n\r\n // Limit number of zeros prepended to max(ceil(pr / LOG_BASE), len) + 1.\r\n k = Math.ceil(pr / LOG_BASE);\r\n len = k > len ? k + 1 : len + 1;\r\n\r\n if (i > len) {\r\n i = len;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents. Note: Faster to use reverse then do unshifts.\r\n d.reverse();\r\n for (; i--;) d.push(0);\r\n d.reverse();\r\n }\r\n\r\n len = xd.length;\r\n i = yd.length;\r\n\r\n // If yd is longer than xd, swap xd and yd so xd points to the longer array.\r\n if (len - i < 0) {\r\n i = len;\r\n d = yd;\r\n yd = xd;\r\n xd = d;\r\n }\r\n\r\n // Only start adding at yd.length - 1 as the further digits of xd can be left as they are.\r\n for (carry = 0; i;) {\r\n carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0;\r\n xd[i] %= BASE;\r\n }\r\n\r\n if (carry) {\r\n xd.unshift(carry);\r\n ++e;\r\n }\r\n\r\n // Remove trailing zeros.\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n for (len = xd.length; xd[--len] == 0;) xd.pop();\r\n\r\n y.d = xd;\r\n y.e = getBase10Exponent(xd, e);\r\n\r\n return external ? finalise(y, pr, rm) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return the number of significant digits of the value of this Decimal.\r\n *\r\n * [z] {boolean|number} Whether to count integer-part trailing zeros: true, false, 1 or 0.\r\n *\r\n */\r\n P.precision = P.sd = function (z) {\r\n var k,\r\n x = this;\r\n\r\n if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) throw Error(invalidArgument + z);\r\n\r\n if (x.d) {\r\n k = getPrecision(x.d);\r\n if (z && x.e + 1 > k) k = x.e + 1;\r\n } else {\r\n k = NaN;\r\n }\r\n\r\n return k;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number using\r\n * rounding mode `rounding`.\r\n *\r\n */\r\n P.round = function () {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n return finalise(new Ctor(x), x.e + 1, Ctor.rounding);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sine of the value in radians of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-1, 1]\r\n *\r\n * sin(x) = x - x^3/3! + x^5/5! - ...\r\n *\r\n * sin(0) = 0\r\n * sin(-0) = -0\r\n * sin(Infinity) = NaN\r\n * sin(-Infinity) = NaN\r\n * sin(NaN) = NaN\r\n *\r\n */\r\n P.sine = P.sin = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(NaN);\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;\r\n Ctor.rounding = 1;\r\n\r\n x = sine(Ctor, toLessThanHalfPi(Ctor, x));\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(quadrant > 2 ? x.neg() : x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of this Decimal, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * sqrt(-n) = N\r\n * sqrt(N) = N\r\n * sqrt(-I) = N\r\n * sqrt(I) = I\r\n * sqrt(0) = 0\r\n * sqrt(-0) = -0\r\n *\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var m, n, sd, r, rep, t,\r\n x = this,\r\n d = x.d,\r\n e = x.e,\r\n s = x.s,\r\n Ctor = x.constructor;\r\n\r\n // Negative/NaN/Infinity/zero?\r\n if (s !== 1 || !d || !d[0]) {\r\n return new Ctor(!s || s < 0 && (!d || d[0]) ? NaN : d ? x : 1 / 0);\r\n }\r\n\r\n external = false;\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+x);\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = digitsToString(d);\r\n\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(n);\r\n e = mathfloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new Ctor(n);\r\n } else {\r\n r = new Ctor(s.toString());\r\n }\r\n\r\n sd = (e = Ctor.precision) + 3;\r\n\r\n // Newton-Raphson iteration.\r\n for (;;) {\r\n t = r;\r\n r = t.plus(divide(x, t, sd + 2, 1)).times(0.5);\r\n\r\n // TODO? Replace with for-loop and checkRoundingDigits.\r\n if (digitsToString(t.d).slice(0, sd) === (n = digitsToString(r.d)).slice(0, sd)) {\r\n n = n.slice(sd - 3, sd + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or\r\n // 4999, i.e. approaching a rounding boundary, continue the iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the exact result as the\r\n // nines may infinitely repeat.\r\n if (!rep) {\r\n finalise(t, e + 1, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n sd += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If the rounding digits are null, 0{0,4} or 50{0,3}, check for an exact result.\r\n // If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n finalise(r, e + 1, 1);\r\n m = !r.times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return finalise(r, e, Ctor.rounding, m);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the tangent of the value in radians of this Decimal.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-Infinity, Infinity]\r\n *\r\n * tan(0) = 0\r\n * tan(-0) = -0\r\n * tan(Infinity) = NaN\r\n * tan(-Infinity) = NaN\r\n * tan(NaN) = NaN\r\n *\r\n */\r\n P.tangent = P.tan = function () {\r\n var pr, rm,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (!x.isFinite()) return new Ctor(NaN);\r\n if (x.isZero()) return new Ctor(x);\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n Ctor.precision = pr + 10;\r\n Ctor.rounding = 1;\r\n\r\n x = x.sin();\r\n x.s = 1;\r\n x = divide(x, new Ctor(1).minus(x.times(x)).sqrt(), pr + 10, 0);\r\n\r\n Ctor.precision = pr;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(quadrant == 2 || quadrant == 4 ? x.neg() : x, pr, rm, true);\r\n };\r\n\r\n\r\n /*\r\n * n * 0 = 0\r\n * n * N = N\r\n * n * I = I\r\n * 0 * n = 0\r\n * 0 * 0 = 0\r\n * 0 * N = N\r\n * 0 * I = N\r\n * N * n = N\r\n * N * 0 = N\r\n * N * N = N\r\n * N * I = N\r\n * I * n = I\r\n * I * 0 = N\r\n * I * N = N\r\n * I * I = I\r\n *\r\n * Return a new Decimal whose value is this Decimal times `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n */\r\n P.times = P.mul = function (y) {\r\n var carry, e, i, k, r, rL, t, xdL, ydL,\r\n x = this,\r\n Ctor = x.constructor,\r\n xd = x.d,\r\n yd = (y = new Ctor(y)).d;\r\n\r\n y.s *= x.s;\r\n\r\n // If either is NaN, ±Infinity or ±0...\r\n if (!xd || !xd[0] || !yd || !yd[0]) {\r\n\r\n return new Ctor(!y.s || xd && !xd[0] && !yd || yd && !yd[0] && !xd\r\n\r\n // Return NaN if either is NaN.\r\n // Return NaN if x is ±0 and y is ±Infinity, or y is ±0 and x is ±Infinity.\r\n ? NaN\r\n\r\n // Return ±Infinity if either is ±Infinity.\r\n // Return ±0 if either is ±0.\r\n : !xd || !yd ? y.s / 0 : y.s * 0);\r\n }\r\n\r\n e = mathfloor(x.e / LOG_BASE) + mathfloor(y.e / LOG_BASE);\r\n xdL = xd.length;\r\n ydL = yd.length;\r\n\r\n // Ensure xd points to the longer array.\r\n if (xdL < ydL) {\r\n r = xd;\r\n xd = yd;\r\n yd = r;\r\n rL = xdL;\r\n xdL = ydL;\r\n ydL = rL;\r\n }\r\n\r\n // Initialise the result array with zeros.\r\n r = [];\r\n rL = xdL + ydL;\r\n for (i = rL; i--;) r.push(0);\r\n\r\n // Multiply!\r\n for (i = ydL; --i >= 0;) {\r\n carry = 0;\r\n for (k = xdL + i; k > i;) {\r\n t = r[k] + yd[i] * xd[k - i - 1] + carry;\r\n r[k--] = t % BASE | 0;\r\n carry = t / BASE | 0;\r\n }\r\n\r\n r[k] = (r[k] + carry) % BASE | 0;\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; !r[--rL];) r.pop();\r\n\r\n if (carry) ++e;\r\n else r.shift();\r\n\r\n y.d = r;\r\n y.e = getBase10Exponent(r, e);\r\n\r\n return external ? finalise(y, Ctor.precision, Ctor.rounding) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in base 2, round to `sd` significant\r\n * digits using rounding mode `rm`.\r\n *\r\n * If the optional `sd` argument is present then return binary exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toBinary = function (sd, rm) {\r\n return toStringBinary(this, 2, sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `dp`\r\n * decimal places using rounding mode `rm` or `rounding` if `rm` is omitted.\r\n *\r\n * If `dp` is omitted, return a new Decimal whose value is the value of this Decimal.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toDecimalPlaces = P.toDP = function (dp, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n x = new Ctor(x);\r\n if (dp === void 0) return x;\r\n\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n return finalise(x, dp + x.e + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in exponential notation rounded to\r\n * `dp` fixed decimal places using rounding mode `rounding`.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toExponential = function (dp, rm) {\r\n var str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) {\r\n str = finiteToString(x, true);\r\n } else {\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = finalise(new Ctor(x), dp + 1, rm);\r\n str = finiteToString(x, true, dp + 1);\r\n }\r\n\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in normal (fixed-point) notation to\r\n * `dp` fixed decimal places and rounded using rounding mode `rm` or `rounding` if `rm` is\r\n * omitted.\r\n *\r\n * As with JavaScript numbers, (-0).toFixed(0) is '0', but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\r\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\r\n * (-0).toFixed(3) is '0.000'.\r\n * (-0.5).toFixed(0) is '-0'.\r\n *\r\n */\r\n P.toFixed = function (dp, rm) {\r\n var str, y,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) {\r\n str = finiteToString(x);\r\n } else {\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n y = finalise(new Ctor(x), dp + x.e + 1, rm);\r\n str = finiteToString(y, false, dp + y.e + 1);\r\n }\r\n\r\n // To determine whether to add the minus sign look at the value before it was rounded,\r\n // i.e. look at `x` rather than `y`.\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return an array representing the value of this Decimal as a simple fraction with an integer\r\n * numerator and an integer denominator.\r\n *\r\n * The denominator will be a positive non-zero value less than or equal to the specified maximum\r\n * denominator. If a maximum denominator is not specified, the denominator will be the lowest\r\n * value necessary to represent the number exactly.\r\n *\r\n * [maxD] {number|string|Decimal} Maximum denominator. Integer >= 1 and < Infinity.\r\n *\r\n */\r\n P.toFraction = function (maxD) {\r\n var d, d0, d1, d2, e, k, n, n0, n1, pr, q, r,\r\n x = this,\r\n xd = x.d,\r\n Ctor = x.constructor;\r\n\r\n if (!xd) return new Ctor(x);\r\n\r\n n1 = d0 = new Ctor(1);\r\n d1 = n0 = new Ctor(0);\r\n\r\n d = new Ctor(d1);\r\n e = d.e = getPrecision(xd) - x.e - 1;\r\n k = e % LOG_BASE;\r\n d.d[0] = mathpow(10, k < 0 ? LOG_BASE + k : k);\r\n\r\n if (maxD == null) {\r\n\r\n // d is 10**e, the minimum max-denominator needed.\r\n maxD = e > 0 ? d : n1;\r\n } else {\r\n n = new Ctor(maxD);\r\n if (!n.isInt() || n.lt(n1)) throw Error(invalidArgument + n);\r\n maxD = n.gt(d) ? (e > 0 ? d : n1) : n;\r\n }\r\n\r\n external = false;\r\n n = new Ctor(digitsToString(xd));\r\n pr = Ctor.precision;\r\n Ctor.precision = e = xd.length * LOG_BASE * 2;\r\n\r\n for (;;) {\r\n q = divide(n, d, 0, 1, 1);\r\n d2 = d0.plus(q.times(d1));\r\n if (d2.cmp(maxD) == 1) break;\r\n d0 = d1;\r\n d1 = d2;\r\n d2 = n1;\r\n n1 = n0.plus(q.times(d2));\r\n n0 = d2;\r\n d2 = d;\r\n d = n.minus(q.times(d2));\r\n n = d2;\r\n }\r\n\r\n d2 = divide(maxD.minus(d0), d1, 0, 1, 1);\r\n n0 = n0.plus(d2.times(n1));\r\n d0 = d0.plus(d2.times(d1));\r\n n0.s = n1.s = x.s;\r\n\r\n // Determine which fraction is closer to x, n0/d0 or n1/d1?\r\n r = divide(n1, d1, e, 1).minus(x).abs().cmp(divide(n0, d0, e, 1).minus(x).abs()) < 1\r\n ? [n1, d1] : [n0, d0];\r\n\r\n Ctor.precision = pr;\r\n external = true;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in base 16, round to `sd` significant\r\n * digits using rounding mode `rm`.\r\n *\r\n * If the optional `sd` argument is present then return binary exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toHexadecimal = P.toHex = function (sd, rm) {\r\n return toStringBinary(this, 16, sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Returns a new Decimal whose value is the nearest multiple of `y` in the direction of rounding\r\n * mode `rm`, or `Decimal.rounding` if `rm` is omitted, to the value of this Decimal.\r\n *\r\n * The return value will always have the same sign as this Decimal, unless either this Decimal\r\n * or `y` is NaN, in which case the return value will be also be NaN.\r\n *\r\n * The return value is not affected by the value of `precision`.\r\n *\r\n * y {number|string|Decimal} The magnitude to round to a multiple of.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * 'toNearest() rounding mode not an integer: {rm}'\r\n * 'toNearest() rounding mode out of range: {rm}'\r\n *\r\n */\r\n P.toNearest = function (y, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n x = new Ctor(x);\r\n\r\n if (y == null) {\r\n\r\n // If x is not finite, return x.\r\n if (!x.d) return x;\r\n\r\n y = new Ctor(1);\r\n rm = Ctor.rounding;\r\n } else {\r\n y = new Ctor(y);\r\n if (rm === void 0) {\r\n rm = Ctor.rounding;\r\n } else {\r\n checkInt32(rm, 0, 8);\r\n }\r\n\r\n // If x is not finite, return x if y is not NaN, else NaN.\r\n if (!x.d) return y.s ? x : y;\r\n\r\n // If y is not finite, return Infinity with the sign of x if y is Infinity, else NaN.\r\n if (!y.d) {\r\n if (y.s) y.s = x.s;\r\n return y;\r\n }\r\n }\r\n\r\n // If y is not zero, calculate the nearest multiple of y to x.\r\n if (y.d[0]) {\r\n external = false;\r\n x = divide(x, y, 0, rm, 1).times(y);\r\n external = true;\r\n finalise(x);\r\n\r\n // If y is zero, return zero with the sign of x.\r\n } else {\r\n y.s = x.s;\r\n x = y;\r\n }\r\n\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this Decimal converted to a number primitive.\r\n * Zero keeps its sign.\r\n *\r\n */\r\n P.toNumber = function () {\r\n return +this;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in base 8, round to `sd` significant\r\n * digits using rounding mode `rm`.\r\n *\r\n * If the optional `sd` argument is present then return binary exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toOctal = function (sd, rm) {\r\n return toStringBinary(this, 8, sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal raised to the power `y`, rounded\r\n * to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * ECMAScript compliant.\r\n *\r\n * pow(x, NaN) = NaN\r\n * pow(x, ±0) = 1\r\n\r\n * pow(NaN, non-zero) = NaN\r\n * pow(abs(x) > 1, +Infinity) = +Infinity\r\n * pow(abs(x) > 1, -Infinity) = +0\r\n * pow(abs(x) == 1, ±Infinity) = NaN\r\n * pow(abs(x) < 1, +Infinity) = +0\r\n * pow(abs(x) < 1, -Infinity) = +Infinity\r\n * pow(+Infinity, y > 0) = +Infinity\r\n * pow(+Infinity, y < 0) = +0\r\n * pow(-Infinity, odd integer > 0) = -Infinity\r\n * pow(-Infinity, even integer > 0) = +Infinity\r\n * pow(-Infinity, odd integer < 0) = -0\r\n * pow(-Infinity, even integer < 0) = +0\r\n * pow(+0, y > 0) = +0\r\n * pow(+0, y < 0) = +Infinity\r\n * pow(-0, odd integer > 0) = -0\r\n * pow(-0, even integer > 0) = +0\r\n * pow(-0, odd integer < 0) = -Infinity\r\n * pow(-0, even integer < 0) = +Infinity\r\n * pow(finite x < 0, finite non-integer) = NaN\r\n *\r\n * For non-integer or very large exponents pow(x, y) is calculated using\r\n *\r\n * x^y = exp(y*ln(x))\r\n *\r\n * Assuming the first 15 rounding digits are each equally likely to be any digit 0-9, the\r\n * probability of an incorrectly rounded result\r\n * P([49]9{14} | [50]0{14}) = 2 * 0.2 * 10^-14 = 4e-15 = 1/2.5e+14\r\n * i.e. 1 in 250,000,000,000,000\r\n *\r\n * If a result is incorrectly rounded the maximum error will be 1 ulp (unit in last place).\r\n *\r\n * y {number|string|Decimal} The power to which to raise this Decimal.\r\n *\r\n */\r\n P.toPower = P.pow = function (y) {\r\n var e, k, pr, r, rm, s,\r\n x = this,\r\n Ctor = x.constructor,\r\n yn = +(y = new Ctor(y));\r\n\r\n // Either ±Infinity, NaN or ±0?\r\n if (!x.d || !y.d || !x.d[0] || !y.d[0]) return new Ctor(mathpow(+x, yn));\r\n\r\n x = new Ctor(x);\r\n\r\n if (x.eq(1)) return x;\r\n\r\n pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n\r\n if (y.eq(1)) return finalise(x, pr, rm);\r\n\r\n // y exponent\r\n e = mathfloor(y.e / LOG_BASE);\r\n\r\n // If y is a small integer use the 'exponentiation by squaring' algorithm.\r\n if (e >= y.d.length - 1 && (k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {\r\n r = intPow(Ctor, x, k, pr);\r\n return y.s < 0 ? new Ctor(1).div(r) : finalise(r, pr, rm);\r\n }\r\n\r\n s = x.s;\r\n\r\n // if x is negative\r\n if (s < 0) {\r\n\r\n // if y is not an integer\r\n if (e < y.d.length - 1) return new Ctor(NaN);\r\n\r\n // Result is positive if x is negative and the last digit of integer y is even.\r\n if ((y.d[e] & 1) == 0) s = 1;\r\n\r\n // if x.eq(-1)\r\n if (x.e == 0 && x.d[0] == 1 && x.d.length == 1) {\r\n x.s = s;\r\n return x;\r\n }\r\n }\r\n\r\n // Estimate result exponent.\r\n // x^y = 10^e, where e = y * log10(x)\r\n // log10(x) = log10(x_significand) + x_exponent\r\n // log10(x_significand) = ln(x_significand) / ln(10)\r\n k = mathpow(+x, yn);\r\n e = k == 0 || !isFinite(k)\r\n ? mathfloor(yn * (Math.log('0.' + digitsToString(x.d)) / Math.LN10 + x.e + 1))\r\n : new Ctor(k + '').e;\r\n\r\n // Exponent estimate may be incorrect e.g. x: 0.999999999999999999, y: 2.29, e: 0, r.e: -1.\r\n\r\n // Overflow/underflow?\r\n if (e > Ctor.maxE + 1 || e < Ctor.minE - 1) return new Ctor(e > 0 ? s / 0 : 0);\r\n\r\n external = false;\r\n Ctor.rounding = x.s = 1;\r\n\r\n // Estimate the extra guard digits needed to ensure five correct rounding digits from\r\n // naturalLogarithm(x). Example of failure without these extra digits (precision: 10):\r\n // new Decimal(2.32456).pow('2087987436534566.46411')\r\n // should be 1.162377823e+764914905173815, but is 1.162355823e+764914905173815\r\n k = Math.min(12, (e + '').length);\r\n\r\n // r = x^y = exp(y*ln(x))\r\n r = naturalExponential(y.times(naturalLogarithm(x, pr + k)), pr);\r\n\r\n // r may be Infinity, e.g. (0.9999999999999999).pow(-1e+40)\r\n if (r.d) {\r\n\r\n // Truncate to the required precision plus five rounding digits.\r\n r = finalise(r, pr + 5, 1);\r\n\r\n // If the rounding digits are [49]9999 or [50]0000 increase the precision by 10 and recalculate\r\n // the result.\r\n if (checkRoundingDigits(r.d, pr, rm)) {\r\n e = pr + 10;\r\n\r\n // Truncate to the increased precision plus five rounding digits.\r\n r = finalise(naturalExponential(y.times(naturalLogarithm(x, e + k)), e), e + 5, 1);\r\n\r\n // Check for 14 nines from the 2nd rounding digit (the first rounding digit may be 4 or 9).\r\n if (+digitsToString(r.d).slice(pr + 1, pr + 15) + 1 == 1e14) {\r\n r = finalise(r, pr + 1, 0);\r\n }\r\n }\r\n }\r\n\r\n r.s = s;\r\n external = true;\r\n Ctor.rounding = rm;\r\n\r\n return finalise(r, pr, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal rounded to `sd` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * Return exponential notation if `sd` is less than the number of digits necessary to represent\r\n * the integer part of the value in normal notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n var str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = finalise(new Ctor(x), sd, rm);\r\n str = finiteToString(x, sd <= x.e || x.e <= Ctor.toExpNeg, sd);\r\n }\r\n\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `sd`\r\n * significant digits using rounding mode `rm`, or to `precision` and `rounding` respectively if\r\n * omitted.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * 'toSD() digits out of range: {sd}'\r\n * 'toSD() digits not an integer: {sd}'\r\n * 'toSD() rounding mode not an integer: {rm}'\r\n * 'toSD() rounding mode out of range: {rm}'\r\n *\r\n */\r\n P.toSignificantDigits = P.toSD = function (sd, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n sd = Ctor.precision;\r\n rm = Ctor.rounding;\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n }\r\n\r\n return finalise(new Ctor(x), sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal.\r\n *\r\n * Return exponential notation if this Decimal has a positive exponent equal to or greater than\r\n * `toExpPos`, or a negative exponent equal to or less than `toExpNeg`.\r\n *\r\n */\r\n P.toString = function () {\r\n var x = this,\r\n Ctor = x.constructor,\r\n str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);\r\n\r\n return x.isNeg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal truncated to a whole number.\r\n *\r\n */\r\n P.truncated = P.trunc = function () {\r\n return finalise(new this.constructor(this), this.e + 1, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal.\r\n * Unlike `toString`, negative zero will include the minus sign.\r\n *\r\n */\r\n P.valueOf = P.toJSON = function () {\r\n var x = this,\r\n Ctor = x.constructor,\r\n str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);\r\n\r\n return x.isNeg() ? '-' + str : str;\r\n };\r\n\r\n\r\n // Helper functions for Decimal.prototype (P) and/or Decimal methods, and their callers.\r\n\r\n\r\n /*\r\n * digitsToString P.cubeRoot, P.logarithm, P.squareRoot, P.toFraction, P.toPower,\r\n * finiteToString, naturalExponential, naturalLogarithm\r\n * checkInt32 P.toDecimalPlaces, P.toExponential, P.toFixed, P.toNearest,\r\n * P.toPrecision, P.toSignificantDigits, toStringBinary, random\r\n * checkRoundingDigits P.logarithm, P.toPower, naturalExponential, naturalLogarithm\r\n * convertBase toStringBinary, parseOther\r\n * cos P.cos\r\n * divide P.atanh, P.cubeRoot, P.dividedBy, P.dividedToIntegerBy,\r\n * P.logarithm, P.modulo, P.squareRoot, P.tan, P.tanh, P.toFraction,\r\n * P.toNearest, toStringBinary, naturalExponential, naturalLogarithm,\r\n * taylorSeries, atan2, parseOther\r\n * finalise P.absoluteValue, P.atan, P.atanh, P.ceil, P.cos, P.cosh,\r\n * P.cubeRoot, P.dividedToIntegerBy, P.floor, P.logarithm, P.minus,\r\n * P.modulo, P.negated, P.plus, P.round, P.sin, P.sinh, P.squareRoot,\r\n * P.tan, P.times, P.toDecimalPlaces, P.toExponential, P.toFixed,\r\n * P.toNearest, P.toPower, P.toPrecision, P.toSignificantDigits,\r\n * P.truncated, divide, getLn10, getPi, naturalExponential,\r\n * naturalLogarithm, ceil, floor, round, trunc\r\n * finiteToString P.toExponential, P.toFixed, P.toPrecision, P.toString, P.valueOf,\r\n * toStringBinary\r\n * getBase10Exponent P.minus, P.plus, P.times, parseOther\r\n * getLn10 P.logarithm, naturalLogarithm\r\n * getPi P.acos, P.asin, P.atan, toLessThanHalfPi, atan2\r\n * getPrecision P.precision, P.toFraction\r\n * getZeroString digitsToString, finiteToString\r\n * intPow P.toPower, parseOther\r\n * isOdd toLessThanHalfPi\r\n * maxOrMin max, min\r\n * naturalExponential P.naturalExponential, P.toPower\r\n * naturalLogarithm P.acosh, P.asinh, P.atanh, P.logarithm, P.naturalLogarithm,\r\n * P.toPower, naturalExponential\r\n * nonFiniteToString finiteToString, toStringBinary\r\n * parseDecimal Decimal\r\n * parseOther Decimal\r\n * sin P.sin\r\n * taylorSeries P.cosh, P.sinh, cos, sin\r\n * toLessThanHalfPi P.cos, P.sin\r\n * toStringBinary P.toBinary, P.toHexadecimal, P.toOctal\r\n * truncate intPow\r\n *\r\n * Throws: P.logarithm, P.precision, P.toFraction, checkInt32, getLn10, getPi,\r\n * naturalLogarithm, config, parseOther, random, Decimal\r\n */\r\n\r\n\r\n function digitsToString(d) {\r\n var i, k, ws,\r\n indexOfLastWord = d.length - 1,\r\n str = '',\r\n w = d[0];\r\n\r\n if (indexOfLastWord > 0) {\r\n str += w;\r\n for (i = 1; i < indexOfLastWord; i++) {\r\n ws = d[i] + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n str += ws;\r\n }\r\n\r\n w = d[i];\r\n ws = w + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n } else if (w === 0) {\r\n return '0';\r\n }\r\n\r\n // Remove trailing zeros of last w.\r\n for (; w % 10 === 0;) w /= 10;\r\n\r\n return str + w;\r\n }\r\n\r\n\r\n function checkInt32(i, min, max) {\r\n if (i !== ~~i || i < min || i > max) {\r\n throw Error(invalidArgument + i);\r\n }\r\n }\r\n\r\n\r\n /*\r\n * Check 5 rounding digits if `repeating` is null, 4 otherwise.\r\n * `repeating == null` if caller is `log` or `pow`,\r\n * `repeating != null` if caller is `naturalLogarithm` or `naturalExponential`.\r\n */\r\n function checkRoundingDigits(d, i, rm, repeating) {\r\n var di, k, r, rd;\r\n\r\n // Get the length of the first word of the array d.\r\n for (k = d[0]; k >= 10; k /= 10) --i;\r\n\r\n // Is the rounding digit in the first word of d?\r\n if (--i < 0) {\r\n i += LOG_BASE;\r\n di = 0;\r\n } else {\r\n di = Math.ceil((i + 1) / LOG_BASE);\r\n i %= LOG_BASE;\r\n }\r\n\r\n // i is the index (0 - 6) of the rounding digit.\r\n // E.g. if within the word 3487563 the first rounding digit is 5,\r\n // then i = 4, k = 1000, rd = 3487563 % 1000 = 563\r\n k = mathpow(10, LOG_BASE - i);\r\n rd = d[di] % k | 0;\r\n\r\n if (repeating == null) {\r\n if (i < 3) {\r\n if (i == 0) rd = rd / 100 | 0;\r\n else if (i == 1) rd = rd / 10 | 0;\r\n r = rm < 4 && rd == 99999 || rm > 3 && rd == 49999 || rd == 50000 || rd == 0;\r\n } else {\r\n r = (rm < 4 && rd + 1 == k || rm > 3 && rd + 1 == k / 2) &&\r\n (d[di + 1] / k / 100 | 0) == mathpow(10, i - 2) - 1 ||\r\n (rd == k / 2 || rd == 0) && (d[di + 1] / k / 100 | 0) == 0;\r\n }\r\n } else {\r\n if (i < 4) {\r\n if (i == 0) rd = rd / 1000 | 0;\r\n else if (i == 1) rd = rd / 100 | 0;\r\n else if (i == 2) rd = rd / 10 | 0;\r\n r = (repeating || rm < 4) && rd == 9999 || !repeating && rm > 3 && rd == 4999;\r\n } else {\r\n r = ((repeating || rm < 4) && rd + 1 == k ||\r\n (!repeating && rm > 3) && rd + 1 == k / 2) &&\r\n (d[di + 1] / k / 1000 | 0) == mathpow(10, i - 3) - 1;\r\n }\r\n }\r\n\r\n return r;\r\n }\r\n\r\n\r\n // Convert string of `baseIn` to an array of numbers of `baseOut`.\r\n // Eg. convertBase('255', 10, 16) returns [15, 15].\r\n // Eg. convertBase('ff', 16, 10) returns [2, 5, 5].\r\n function convertBase(str, baseIn, baseOut) {\r\n var j,\r\n arr = [0],\r\n arrL,\r\n i = 0,\r\n strL = str.length;\r\n\r\n for (; i < strL;) {\r\n for (arrL = arr.length; arrL--;) arr[arrL] *= baseIn;\r\n arr[0] += NUMERALS.indexOf(str.charAt(i++));\r\n for (j = 0; j < arr.length; j++) {\r\n if (arr[j] > baseOut - 1) {\r\n if (arr[j + 1] === void 0) arr[j + 1] = 0;\r\n arr[j + 1] += arr[j] / baseOut | 0;\r\n arr[j] %= baseOut;\r\n }\r\n }\r\n }\r\n\r\n return arr.reverse();\r\n }\r\n\r\n\r\n /*\r\n * cos(x) = 1 - x^2/2! + x^4/4! - ...\r\n * |x| < pi/2\r\n *\r\n */\r\n function cosine(Ctor, x) {\r\n var k, len, y;\r\n\r\n if (x.isZero()) return x;\r\n\r\n // Argument reduction: cos(4x) = 8*(cos^4(x) - cos^2(x)) + 1\r\n // i.e. cos(x) = 8*(cos^4(x/4) - cos^2(x/4)) + 1\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n len = x.d.length;\r\n if (len < 32) {\r\n k = Math.ceil(len / 3);\r\n y = (1 / tinyPow(4, k)).toString();\r\n } else {\r\n k = 16;\r\n y = '2.3283064365386962890625e-10';\r\n }\r\n\r\n Ctor.precision += k;\r\n\r\n x = taylorSeries(Ctor, 1, x.times(y), new Ctor(1));\r\n\r\n // Reverse argument reduction\r\n for (var i = k; i--;) {\r\n var cos2x = x.times(x);\r\n x = cos2x.times(cos2x).minus(cos2x).times(8).plus(1);\r\n }\r\n\r\n Ctor.precision -= k;\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Perform division in the specified base.\r\n */\r\n var divide = (function () {\r\n\r\n // Assumes non-zero x and k, and hence non-zero result.\r\n function multiplyInteger(x, k, base) {\r\n var temp,\r\n carry = 0,\r\n i = x.length;\r\n\r\n for (x = x.slice(); i--;) {\r\n temp = x[i] * k + carry;\r\n x[i] = temp % base | 0;\r\n carry = temp / base | 0;\r\n }\r\n\r\n if (carry) x.unshift(carry);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, r;\r\n\r\n if (aL != bL) {\r\n r = aL > bL ? 1 : -1;\r\n } else {\r\n for (i = r = 0; i < aL; i++) {\r\n if (a[i] != b[i]) {\r\n r = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return r;\r\n }\r\n\r\n function subtract(a, b, aL, base) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * base + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1;) a.shift();\r\n }\r\n\r\n return function (x, y, pr, rm, dp, base) {\r\n var cmp, e, i, k, logBase, more, prod, prodL, q, qd, rem, remL, rem0, sd, t, xi, xL, yd0,\r\n yL, yz,\r\n Ctor = x.constructor,\r\n sign = x.s == y.s ? 1 : -1,\r\n xd = x.d,\r\n yd = y.d;\r\n\r\n // Either NaN, Infinity or 0?\r\n if (!xd || !xd[0] || !yd || !yd[0]) {\r\n\r\n return new Ctor(// Return NaN if either NaN, or both Infinity or 0.\r\n !x.s || !y.s || (xd ? yd && xd[0] == yd[0] : !yd) ? NaN :\r\n\r\n // Return ±0 if x is 0 or y is ±Infinity, or return ±Infinity as y is 0.\r\n xd && xd[0] == 0 || !yd ? sign * 0 : sign / 0);\r\n }\r\n\r\n if (base) {\r\n logBase = 1;\r\n e = x.e - y.e;\r\n } else {\r\n base = BASE;\r\n logBase = LOG_BASE;\r\n e = mathfloor(x.e / logBase) - mathfloor(y.e / logBase);\r\n }\r\n\r\n yL = yd.length;\r\n xL = xd.length;\r\n q = new Ctor(sign);\r\n qd = q.d = [];\r\n\r\n // Result exponent may be one less than e.\r\n // The digit array of a Decimal from toStringBinary may have trailing zeros.\r\n for (i = 0; yd[i] == (xd[i] || 0); i++);\r\n\r\n if (yd[i] > (xd[i] || 0)) e--;\r\n\r\n if (pr == null) {\r\n sd = pr = Ctor.precision;\r\n rm = Ctor.rounding;\r\n } else if (dp) {\r\n sd = pr + (x.e - y.e) + 1;\r\n } else {\r\n sd = pr;\r\n }\r\n\r\n if (sd < 0) {\r\n qd.push(1);\r\n more = true;\r\n } else {\r\n\r\n // Convert precision in number of base 10 digits to base 1e7 digits.\r\n sd = sd / logBase + 2 | 0;\r\n i = 0;\r\n\r\n // divisor < 1e7\r\n if (yL == 1) {\r\n k = 0;\r\n yd = yd[0];\r\n sd++;\r\n\r\n // k is the carry.\r\n for (; (i < xL || k) && sd--; i++) {\r\n t = k * base + (xd[i] || 0);\r\n qd[i] = t / yd | 0;\r\n k = t % yd | 0;\r\n }\r\n\r\n more = k || i < xL;\r\n\r\n // divisor >= 1e7\r\n } else {\r\n\r\n // Normalise xd and yd so highest order digit of yd is >= base/2\r\n k = base / (yd[0] + 1) | 0;\r\n\r\n if (k > 1) {\r\n yd = multiplyInteger(yd, k, base);\r\n xd = multiplyInteger(xd, k, base);\r\n yL = yd.length;\r\n xL = xd.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xd.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL;) rem[remL++] = 0;\r\n\r\n yz = yd.slice();\r\n yz.unshift(0);\r\n yd0 = yd[0];\r\n\r\n if (yd[1] >= base / 2) ++yd0;\r\n\r\n do {\r\n k = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, k.\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);\r\n\r\n // k will be how many times the divisor goes into the current remainder.\r\n k = rem0 / yd0 | 0;\r\n\r\n // Algorithm:\r\n // 1. product = divisor * trial digit (k)\r\n // 2. if product > remainder: product -= divisor, k--\r\n // 3. remainder -= product\r\n // 4. if product was < remainder at 2:\r\n // 5. compare new remainder and divisor\r\n // 6. If remainder > divisor: remainder -= divisor, k++\r\n\r\n if (k > 1) {\r\n if (k >= base) k = base - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiplyInteger(yd, k, base);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n cmp = compare(prod, rem, prodL, remL);\r\n\r\n // product > remainder.\r\n if (cmp == 1) {\r\n k--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yd, prodL, base);\r\n }\r\n } else {\r\n\r\n // cmp is -1.\r\n // If k is 0, there is no need to compare yd and rem again below, so change cmp to 1\r\n // to avoid it. If k is 1 there is a need to compare yd and rem again below.\r\n if (k == 0) cmp = k = 1;\r\n prod = yd.slice();\r\n }\r\n\r\n prodL = prod.length;\r\n if (prodL < remL) prod.unshift(0);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL, base);\r\n\r\n // If product was < previous remainder.\r\n if (cmp == -1) {\r\n remL = rem.length;\r\n\r\n // Compare divisor and new remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n if (cmp < 1) {\r\n k++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yd, remL, base);\r\n }\r\n }\r\n\r\n remL = rem.length;\r\n } else if (cmp === 0) {\r\n k++;\r\n rem = [0];\r\n } // if cmp === 1, k will be 0\r\n\r\n // Add the next digit, k, to the result array.\r\n qd[i++] = k;\r\n\r\n // Update the remainder.\r\n if (cmp && rem[0]) {\r\n rem[remL++] = xd[xi] || 0;\r\n } else {\r\n rem = [xd[xi]];\r\n remL = 1;\r\n }\r\n\r\n } while ((xi++ < xL || rem[0] !== void 0) && sd--);\r\n\r\n more = rem[0] !== void 0;\r\n }\r\n\r\n // Leading zero?\r\n if (!qd[0]) qd.shift();\r\n }\r\n\r\n // logBase is 1 when divide is being used for base conversion.\r\n if (logBase == 1) {\r\n q.e = e;\r\n inexact = more;\r\n } else {\r\n\r\n // To calculate q.e, first get the number of digits of qd[0].\r\n for (i = 1, k = qd[0]; k >= 10; k /= 10) i++;\r\n q.e = i + e * logBase - 1;\r\n\r\n finalise(q, dp ? pr + q.e + 1 : pr, rm, more);\r\n }\r\n\r\n return q;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Round `x` to `sd` significant digits using rounding mode `rm`.\r\n * Check for over/under-flow.\r\n */\r\n function finalise(x, sd, rm, isTruncated) {\r\n var digits, i, j, k, rd, roundUp, w, xd, xdi,\r\n Ctor = x.constructor;\r\n\r\n // Don't round if sd is null or undefined.\r\n out: if (sd != null) {\r\n xd = x.d;\r\n\r\n // Infinity/NaN.\r\n if (!xd) return x;\r\n\r\n // rd: the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // w: the word of xd containing rd, a base 1e7 number.\r\n // xdi: the index of w within xd.\r\n // digits: the number of digits of w.\r\n // i: what would be the index of rd within w if all the numbers were 7 digits long (i.e. if\r\n // they had leading zeros)\r\n // j: if > 0, the actual index of rd within w (if < 0, rd is a leading zero).\r\n\r\n // Get the length of the first word of the digits array xd.\r\n for (digits = 1, k = xd[0]; k >= 10; k /= 10) digits++;\r\n i = sd - digits;\r\n\r\n // Is the rounding digit in the first word of xd?\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n w = xd[xdi = 0];\r\n\r\n // Get the rounding digit at index j of w.\r\n rd = w / mathpow(10, digits - j - 1) % 10 | 0;\r\n } else {\r\n xdi = Math.ceil((i + 1) / LOG_BASE);\r\n k = xd.length;\r\n if (xdi >= k) {\r\n if (isTruncated) {\r\n\r\n // Needed by `naturalExponential`, `naturalLogarithm` and `squareRoot`.\r\n for (; k++ <= xdi;) xd.push(0);\r\n w = rd = 0;\r\n digits = 1;\r\n i %= LOG_BASE;\r\n j = i - LOG_BASE + 1;\r\n } else {\r\n break out;\r\n }\r\n } else {\r\n w = k = xd[xdi];\r\n\r\n // Get the number of digits of w.\r\n for (digits = 1; k >= 10; k /= 10) digits++;\r\n\r\n // Get the index of rd within w.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within w, adjusted for leading zeros.\r\n // The number of leading zeros of w is given by LOG_BASE - digits.\r\n j = i - LOG_BASE + digits;\r\n\r\n // Get the rounding digit at index j of w.\r\n rd = j < 0 ? 0 : w / mathpow(10, digits - j - 1) % 10 | 0;\r\n }\r\n }\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n isTruncated = isTruncated || sd < 0 ||\r\n xd[xdi + 1] !== void 0 || (j < 0 ? w : w % mathpow(10, digits - j - 1));\r\n\r\n // The expression `w % mathpow(10, digits - j - 1)` returns all the digits of w to the right\r\n // of the digit at (left-to-right) index j, e.g. if w is 908714 and j is 2, the expression\r\n // will give 714.\r\n\r\n roundUp = rm < 4\r\n ? (rd || isTruncated) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || isTruncated || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? w / mathpow(10, digits - j) : 0 : xd[xdi - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n if (sd < 1 || !xd[0]) {\r\n xd.length = 0;\r\n if (roundUp) {\r\n\r\n // Convert sd to decimal places.\r\n sd -= x.e + 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE);\r\n x.e = -sd || 0;\r\n } else {\r\n\r\n // Zero.\r\n xd[0] = x.e = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xd.length = xdi;\r\n k = 1;\r\n xdi--;\r\n } else {\r\n xd.length = xdi + 1;\r\n k = mathpow(10, LOG_BASE - i);\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of w.\r\n xd[xdi] = j > 0 ? (w / mathpow(10, digits - j) % mathpow(10, j) | 0) * k : 0;\r\n }\r\n\r\n if (roundUp) {\r\n for (;;) {\r\n\r\n // Is the digit to be rounded up in the first word of xd?\r\n if (xdi == 0) {\r\n\r\n // i will be the length of xd[0] before k is added.\r\n for (i = 1, j = xd[0]; j >= 10; j /= 10) i++;\r\n j = xd[0] += k;\r\n for (k = 1; j >= 10; j /= 10) k++;\r\n\r\n // if i != k the length has increased.\r\n if (i != k) {\r\n x.e++;\r\n if (xd[0] == BASE) xd[0] = 1;\r\n }\r\n\r\n break;\r\n } else {\r\n xd[xdi] += k;\r\n if (xd[xdi] != BASE) break;\r\n xd[xdi--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xd.length; xd[--i] === 0;) xd.pop();\r\n }\r\n\r\n if (external) {\r\n\r\n // Overflow?\r\n if (x.e > Ctor.maxE) {\r\n\r\n // Infinity.\r\n x.d = null;\r\n x.e = NaN;\r\n\r\n // Underflow?\r\n } else if (x.e < Ctor.minE) {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n // Ctor.underflow = true;\r\n } // else Ctor.underflow = false;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function finiteToString(x, isExp, sd) {\r\n if (!x.isFinite()) return nonFiniteToString(x);\r\n var k,\r\n e = x.e,\r\n str = digitsToString(x.d),\r\n len = str.length;\r\n\r\n if (isExp) {\r\n if (sd && (k = sd - len) > 0) {\r\n str = str.charAt(0) + '.' + str.slice(1) + getZeroString(k);\r\n } else if (len > 1) {\r\n str = str.charAt(0) + '.' + str.slice(1);\r\n }\r\n\r\n str = str + (x.e < 0 ? 'e' : 'e+') + x.e;\r\n } else if (e < 0) {\r\n str = '0.' + getZeroString(-e - 1) + str;\r\n if (sd && (k = sd - len) > 0) str += getZeroString(k);\r\n } else if (e >= len) {\r\n str += getZeroString(e + 1 - len);\r\n if (sd && (k = sd - e - 1) > 0) str = str + '.' + getZeroString(k);\r\n } else {\r\n if ((k = e + 1) < len) str = str.slice(0, k) + '.' + str.slice(k);\r\n if (sd && (k = sd - len) > 0) {\r\n if (e + 1 === len) str += '.';\r\n str += getZeroString(k);\r\n }\r\n }\r\n\r\n return str;\r\n }\r\n\r\n\r\n // Calculate the base 10 exponent from the base 1e7 exponent.\r\n function getBase10Exponent(digits, e) {\r\n var w = digits[0];\r\n\r\n // Add the number of digits of the first word of the digits array.\r\n for ( e *= LOG_BASE; w >= 10; w /= 10) e++;\r\n return e;\r\n }\r\n\r\n\r\n function getLn10(Ctor, sd, pr) {\r\n if (sd > LN10_PRECISION) {\r\n\r\n // Reset global state in case the exception is caught.\r\n external = true;\r\n if (pr) Ctor.precision = pr;\r\n throw Error(precisionLimitExceeded);\r\n }\r\n return finalise(new Ctor(LN10), sd, 1, true);\r\n }\r\n\r\n\r\n function getPi(Ctor, sd, rm) {\r\n if (sd > PI_PRECISION) throw Error(precisionLimitExceeded);\r\n return finalise(new Ctor(PI), sd, rm, true);\r\n }\r\n\r\n\r\n function getPrecision(digits) {\r\n var w = digits.length - 1,\r\n len = w * LOG_BASE + 1;\r\n\r\n w = digits[w];\r\n\r\n // If non-zero...\r\n if (w) {\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n for (; w % 10 == 0; w /= 10) len--;\r\n\r\n // Add the number of digits of the first word.\r\n for (w = digits[0]; w >= 10; w /= 10) len++;\r\n }\r\n\r\n return len;\r\n }\r\n\r\n\r\n function getZeroString(k) {\r\n var zs = '';\r\n for (; k--;) zs += '0';\r\n return zs;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of Decimal `x` to the power `n`, where `n` is an\r\n * integer of type number.\r\n *\r\n * Implements 'exponentiation by squaring'. Called by `pow` and `parseOther`.\r\n *\r\n */\r\n function intPow(Ctor, x, n, pr) {\r\n var isTruncated,\r\n r = new Ctor(1),\r\n\r\n // Max n of 9007199254740991 takes 53 loop iterations.\r\n // Maximum digits array length; leaves [28, 34] guard digits.\r\n k = Math.ceil(pr / LOG_BASE + 4);\r\n\r\n external = false;\r\n\r\n for (;;) {\r\n if (n % 2) {\r\n r = r.times(x);\r\n if (truncate(r.d, k)) isTruncated = true;\r\n }\r\n\r\n n = mathfloor(n / 2);\r\n if (n === 0) {\r\n\r\n // To ensure correct rounding when r.d is truncated, increment the last word if it is zero.\r\n n = r.d.length - 1;\r\n if (isTruncated && r.d[n] === 0) ++r.d[n];\r\n break;\r\n }\r\n\r\n x = x.times(x);\r\n truncate(x.d, k);\r\n }\r\n\r\n external = true;\r\n\r\n return r;\r\n }\r\n\r\n\r\n function isOdd(n) {\r\n return n.d[n.d.length - 1] & 1;\r\n }\r\n\r\n\r\n /*\r\n * Handle `max` and `min`. `ltgt` is 'lt' or 'gt'.\r\n */\r\n function maxOrMin(Ctor, args, ltgt) {\r\n var y,\r\n x = new Ctor(args[0]),\r\n i = 0;\r\n\r\n for (; ++i < args.length;) {\r\n y = new Ctor(args[i]);\r\n if (!y.s) {\r\n x = y;\r\n break;\r\n } else if (x[ltgt](y)) {\r\n x = y;\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of `x` rounded to `sd` significant\r\n * digits.\r\n *\r\n * Taylor/Maclaurin series.\r\n *\r\n * exp(x) = x^0/0! + x^1/1! + x^2/2! + x^3/3! + ...\r\n *\r\n * Argument reduction:\r\n * Repeat x = x / 32, k += 5, until |x| < 0.1\r\n * exp(x) = exp(x / 2^k)^(2^k)\r\n *\r\n * Previously, the argument was initially reduced by\r\n * exp(x) = exp(r) * 10^k where r = x - k * ln10, k = floor(x / ln10)\r\n * to first put r in the range [0, ln10], before dividing by 32 until |x| < 0.1, but this was\r\n * found to be slower than just dividing repeatedly by 32 as above.\r\n *\r\n * Max integer argument: exp('20723265836946413') = 6.3e+9000000000000000\r\n * Min integer argument: exp('-20723265836946411') = 1.2e-9000000000000000\r\n * (Math object integer min/max: Math.exp(709) = 8.2e+307, Math.exp(-745) = 5e-324)\r\n *\r\n * exp(Infinity) = Infinity\r\n * exp(-Infinity) = 0\r\n * exp(NaN) = NaN\r\n * exp(±0) = 1\r\n *\r\n * exp(x) is non-terminating for any finite, non-zero x.\r\n *\r\n * The result will always be correctly rounded.\r\n *\r\n */\r\n function naturalExponential(x, sd) {\r\n var denominator, guard, j, pow, sum, t, wpr,\r\n rep = 0,\r\n i = 0,\r\n k = 0,\r\n Ctor = x.constructor,\r\n rm = Ctor.rounding,\r\n pr = Ctor.precision;\r\n\r\n // 0/NaN/Infinity?\r\n if (!x.d || !x.d[0] || x.e > 17) {\r\n\r\n return new Ctor(x.d\r\n ? !x.d[0] ? 1 : x.s < 0 ? 0 : 1 / 0\r\n : x.s ? x.s < 0 ? 0 : x : 0 / 0);\r\n }\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n t = new Ctor(0.03125);\r\n\r\n // while abs(x) >= 0.1\r\n while (x.e > -2) {\r\n\r\n // x = x / 2^5\r\n x = x.times(t);\r\n k += 5;\r\n }\r\n\r\n // Use 2 * log10(2^k) + 5 (empirically derived) to estimate the increase in precision\r\n // necessary to ensure the first 4 rounding digits are correct.\r\n guard = Math.log(mathpow(2, k)) / Math.LN10 * 2 + 5 | 0;\r\n wpr += guard;\r\n denominator = pow = sum = new Ctor(1);\r\n Ctor.precision = wpr;\r\n\r\n for (;;) {\r\n pow = finalise(pow.times(x), wpr, 1);\r\n denominator = denominator.times(++i);\r\n t = sum.plus(divide(pow, denominator, wpr, 1));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n j = k;\r\n while (j--) sum = finalise(sum.times(sum), wpr, 1);\r\n\r\n // Check to see if the first 4 rounding digits are [49]999.\r\n // If so, repeat the summation with a higher precision, otherwise\r\n // e.g. with precision: 18, rounding: 1\r\n // exp(18.404272462595034083567793919843761) = 98372560.1229999999 (should be 98372560.123)\r\n // `wpr - guard` is the index of first rounding digit.\r\n if (sd == null) {\r\n\r\n if (rep < 3 && checkRoundingDigits(sum.d, wpr - guard, rm, rep)) {\r\n Ctor.precision = wpr += 10;\r\n denominator = pow = t = new Ctor(1);\r\n i = 0;\r\n rep++;\r\n } else {\r\n return finalise(sum, Ctor.precision = pr, rm, external = true);\r\n }\r\n } else {\r\n Ctor.precision = pr;\r\n return sum;\r\n }\r\n }\r\n\r\n sum = t;\r\n }\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of `x` rounded to `sd` significant\r\n * digits.\r\n *\r\n * ln(-n) = NaN\r\n * ln(0) = -Infinity\r\n * ln(-0) = -Infinity\r\n * ln(1) = 0\r\n * ln(Infinity) = Infinity\r\n * ln(-Infinity) = NaN\r\n * ln(NaN) = NaN\r\n *\r\n * ln(n) (n != 1) is non-terminating.\r\n *\r\n */\r\n function naturalLogarithm(y, sd) {\r\n var c, c0, denominator, e, numerator, rep, sum, t, wpr, x1, x2,\r\n n = 1,\r\n guard = 10,\r\n x = y,\r\n xd = x.d,\r\n Ctor = x.constructor,\r\n rm = Ctor.rounding,\r\n pr = Ctor.precision;\r\n\r\n // Is x negative or Infinity, NaN, 0 or 1?\r\n if (x.s < 0 || !xd || !xd[0] || !x.e && xd[0] == 1 && xd.length == 1) {\r\n return new Ctor(xd && !xd[0] ? -1 / 0 : x.s != 1 ? NaN : xd ? 0 : x);\r\n }\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n Ctor.precision = wpr += guard;\r\n c = digitsToString(xd);\r\n c0 = c.charAt(0);\r\n\r\n if (Math.abs(e = x.e) < 1.5e15) {\r\n\r\n // Argument reduction.\r\n // The series converges faster the closer the argument is to 1, so using\r\n // ln(a^b) = b * ln(a), ln(a) = ln(a^b) / b\r\n // multiply the argument by itself until the leading digits of the significand are 7, 8, 9,\r\n // 10, 11, 12 or 13, recording the number of multiplications so the sum of the series can\r\n // later be divided by this number, then separate out the power of 10 using\r\n // ln(a*10^b) = ln(a) + b*ln(10).\r\n\r\n // max n is 21 (gives 0.9, 1.0 or 1.1) (9e15 / 21 = 4.2e14).\r\n //while (c0 < 9 && c0 != 1 || c0 == 1 && c.charAt(1) > 1) {\r\n // max n is 6 (gives 0.7 - 1.3)\r\n while (c0 < 7 && c0 != 1 || c0 == 1 && c.charAt(1) > 3) {\r\n x = x.times(y);\r\n c = digitsToString(x.d);\r\n c0 = c.charAt(0);\r\n n++;\r\n }\r\n\r\n e = x.e;\r\n\r\n if (c0 > 1) {\r\n x = new Ctor('0.' + c);\r\n e++;\r\n } else {\r\n x = new Ctor(c0 + '.' + c.slice(1));\r\n }\r\n } else {\r\n\r\n // The argument reduction method above may result in overflow if the argument y is a massive\r\n // number with exponent >= 1500000000000000 (9e15 / 6 = 1.5e15), so instead recall this\r\n // function using ln(x*10^e) = ln(x) + e*ln(10).\r\n t = getLn10(Ctor, wpr + 2, pr).times(e + '');\r\n x = naturalLogarithm(new Ctor(c0 + '.' + c.slice(1)), wpr - guard).plus(t);\r\n Ctor.precision = pr;\r\n\r\n return sd == null ? finalise(x, pr, rm, external = true) : x;\r\n }\r\n\r\n // x1 is x reduced to a value near 1.\r\n x1 = x;\r\n\r\n // Taylor series.\r\n // ln(y) = ln((1 + x)/(1 - x)) = 2(x + x^3/3 + x^5/5 + x^7/7 + ...)\r\n // where x = (y - 1)/(y + 1) (|x| < 1)\r\n sum = numerator = x = divide(x.minus(1), x.plus(1), wpr, 1);\r\n x2 = finalise(x.times(x), wpr, 1);\r\n denominator = 3;\r\n\r\n for (;;) {\r\n numerator = finalise(numerator.times(x2), wpr, 1);\r\n t = sum.plus(divide(numerator, new Ctor(denominator), wpr, 1));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n sum = sum.times(2);\r\n\r\n // Reverse the argument reduction. Check that e is not 0 because, besides preventing an\r\n // unnecessary calculation, -0 + 0 = +0 and to ensure correct rounding -0 needs to stay -0.\r\n if (e !== 0) sum = sum.plus(getLn10(Ctor, wpr + 2, pr).times(e + ''));\r\n sum = divide(sum, new Ctor(n), wpr, 1);\r\n\r\n // Is rm > 3 and the first 4 rounding digits 4999, or rm < 4 (or the summation has\r\n // been repeated previously) and the first 4 rounding digits 9999?\r\n // If so, restart the summation with a higher precision, otherwise\r\n // e.g. with precision: 12, rounding: 1\r\n // ln(135520028.6126091714265381533) = 18.7246299999 when it should be 18.72463.\r\n // `wpr - guard` is the index of first rounding digit.\r\n if (sd == null) {\r\n if (checkRoundingDigits(sum.d, wpr - guard, rm, rep)) {\r\n Ctor.precision = wpr += guard;\r\n t = numerator = x = divide(x1.minus(1), x1.plus(1), wpr, 1);\r\n x2 = finalise(x.times(x), wpr, 1);\r\n denominator = rep = 1;\r\n } else {\r\n return finalise(sum, Ctor.precision = pr, rm, external = true);\r\n }\r\n } else {\r\n Ctor.precision = pr;\r\n return sum;\r\n }\r\n }\r\n\r\n sum = t;\r\n denominator += 2;\r\n }\r\n }\r\n\r\n\r\n // ±Infinity, NaN.\r\n function nonFiniteToString(x) {\r\n // Unsigned.\r\n return String(x.s * x.s / 0);\r\n }\r\n\r\n\r\n /*\r\n * Parse the value of a new Decimal `x` from string `str`.\r\n */\r\n function parseDecimal(x, str) {\r\n var e, i, len;\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48; i++);\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(len - 1) === 48; --len);\r\n str = str.slice(i, len);\r\n\r\n if (str) {\r\n len -= i;\r\n x.e = e = e - i - 1;\r\n x.d = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first word of the digits array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE;\r\n\r\n if (i < len) {\r\n if (i) x.d.push(+str.slice(0, i));\r\n for (len -= LOG_BASE; i < len;) x.d.push(+str.slice(i, i += LOG_BASE));\r\n str = str.slice(i);\r\n i = LOG_BASE - str.length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--;) str += '0';\r\n x.d.push(+str);\r\n\r\n if (external) {\r\n\r\n // Overflow?\r\n if (x.e > x.constructor.maxE) {\r\n\r\n // Infinity.\r\n x.d = null;\r\n x.e = NaN;\r\n\r\n // Underflow?\r\n } else if (x.e < x.constructor.minE) {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n // x.constructor.underflow = true;\r\n } // else x.constructor.underflow = false;\r\n }\r\n } else {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Parse the value of a new Decimal `x` from a string `str`, which is not a decimal value.\r\n */\r\n function parseOther(x, str) {\r\n var base, Ctor, divisor, i, isFloat, len, p, xd, xe;\r\n\r\n if (str.indexOf('_') > -1) {\r\n str = str.replace(/(\\d)_(?=\\d)/g, '$1');\r\n if (isDecimal.test(str)) return parseDecimal(x, str);\r\n } else if (str === 'Infinity' || str === 'NaN') {\r\n if (!+str) x.s = NaN;\r\n x.e = NaN;\r\n x.d = null;\r\n return x;\r\n }\r\n\r\n if (isHex.test(str)) {\r\n base = 16;\r\n str = str.toLowerCase();\r\n } else if (isBinary.test(str)) {\r\n base = 2;\r\n } else if (isOctal.test(str)) {\r\n base = 8;\r\n } else {\r\n throw Error(invalidArgument + str);\r\n }\r\n\r\n // Is there a binary exponent part?\r\n i = str.search(/p/i);\r\n\r\n if (i > 0) {\r\n p = +str.slice(i + 1);\r\n str = str.substring(2, i);\r\n } else {\r\n str = str.slice(2);\r\n }\r\n\r\n // Convert `str` as an integer then divide the result by `base` raised to a power such that the\r\n // fraction part will be restored.\r\n i = str.indexOf('.');\r\n isFloat = i >= 0;\r\n Ctor = x.constructor;\r\n\r\n if (isFloat) {\r\n str = str.replace('.', '');\r\n len = str.length;\r\n i = len - i;\r\n\r\n // log[10](16) = 1.2041... , log[10](88) = 1.9444....\r\n divisor = intPow(Ctor, new Ctor(base), i, i * 2);\r\n }\r\n\r\n xd = convertBase(str, base, BASE);\r\n xe = xd.length - 1;\r\n\r\n // Remove trailing zeros.\r\n for (i = xe; xd[i] === 0; --i) xd.pop();\r\n if (i < 0) return new Ctor(x.s * 0);\r\n x.e = getBase10Exponent(xd, xe);\r\n x.d = xd;\r\n external = false;\r\n\r\n // At what precision to perform the division to ensure exact conversion?\r\n // maxDecimalIntegerPartDigitCount = ceil(log[10](b) * otherBaseIntegerPartDigitCount)\r\n // log[10](2) = 0.30103, log[10](8) = 0.90309, log[10](16) = 1.20412\r\n // E.g. ceil(1.2 * 3) = 4, so up to 4 decimal digits are needed to represent 3 hex int digits.\r\n // maxDecimalFractionPartDigitCount = {Hex:4|Oct:3|Bin:1} * otherBaseFractionPartDigitCount\r\n // Therefore using 4 * the number of digits of str will always be enough.\r\n if (isFloat) x = divide(x, divisor, len * 4);\r\n\r\n // Multiply by the binary exponent part if present.\r\n if (p) x = x.times(Math.abs(p) < 54 ? mathpow(2, p) : Decimal.pow(2, p));\r\n external = true;\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * sin(x) = x - x^3/3! + x^5/5! - ...\r\n * |x| < pi/2\r\n *\r\n */\r\n function sine(Ctor, x) {\r\n var k,\r\n len = x.d.length;\r\n\r\n if (len < 3) {\r\n return x.isZero() ? x : taylorSeries(Ctor, 2, x, x);\r\n }\r\n\r\n // Argument reduction: sin(5x) = 16*sin^5(x) - 20*sin^3(x) + 5*sin(x)\r\n // i.e. sin(x) = 16*sin^5(x/5) - 20*sin^3(x/5) + 5*sin(x/5)\r\n // and sin(x) = sin(x/5)(5 + sin^2(x/5)(16sin^2(x/5) - 20))\r\n\r\n // Estimate the optimum number of times to use the argument reduction.\r\n k = 1.4 * Math.sqrt(len);\r\n k = k > 16 ? 16 : k | 0;\r\n\r\n x = x.times(1 / tinyPow(5, k));\r\n x = taylorSeries(Ctor, 2, x, x);\r\n\r\n // Reverse argument reduction\r\n var sin2_x,\r\n d5 = new Ctor(5),\r\n d16 = new Ctor(16),\r\n d20 = new Ctor(20);\r\n for (; k--;) {\r\n sin2_x = x.times(x);\r\n x = x.times(d5.plus(sin2_x.times(d16.times(sin2_x).minus(d20))));\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n // Calculate Taylor series for `cos`, `cosh`, `sin` and `sinh`.\r\n function taylorSeries(Ctor, n, x, y, isHyperbolic) {\r\n var j, t, u, x2,\r\n i = 1,\r\n pr = Ctor.precision,\r\n k = Math.ceil(pr / LOG_BASE);\r\n\r\n external = false;\r\n x2 = x.times(x);\r\n u = new Ctor(y);\r\n\r\n for (;;) {\r\n t = divide(u.times(x2), new Ctor(n++ * n++), pr, 1);\r\n u = isHyperbolic ? y.plus(t) : y.minus(t);\r\n y = divide(t.times(x2), new Ctor(n++ * n++), pr, 1);\r\n t = u.plus(y);\r\n\r\n if (t.d[k] !== void 0) {\r\n for (j = k; t.d[j] === u.d[j] && j--;);\r\n if (j == -1) break;\r\n }\r\n\r\n j = u;\r\n u = y;\r\n y = t;\r\n t = j;\r\n i++;\r\n }\r\n\r\n external = true;\r\n t.d.length = k + 1;\r\n\r\n return t;\r\n }\r\n\r\n\r\n // Exponent e must be positive and non-zero.\r\n function tinyPow(b, e) {\r\n var n = b;\r\n while (--e) n *= b;\r\n return n;\r\n }\r\n\r\n\r\n // Return the absolute value of `x` reduced to less than or equal to half pi.\r\n function toLessThanHalfPi(Ctor, x) {\r\n var t,\r\n isNeg = x.s < 0,\r\n pi = getPi(Ctor, Ctor.precision, 1),\r\n halfPi = pi.times(0.5);\r\n\r\n x = x.abs();\r\n\r\n if (x.lte(halfPi)) {\r\n quadrant = isNeg ? 4 : 1;\r\n return x;\r\n }\r\n\r\n t = x.divToInt(pi);\r\n\r\n if (t.isZero()) {\r\n quadrant = isNeg ? 3 : 2;\r\n } else {\r\n x = x.minus(t.times(pi));\r\n\r\n // 0 <= x < pi\r\n if (x.lte(halfPi)) {\r\n quadrant = isOdd(t) ? (isNeg ? 2 : 3) : (isNeg ? 4 : 1);\r\n return x;\r\n }\r\n\r\n quadrant = isOdd(t) ? (isNeg ? 1 : 4) : (isNeg ? 3 : 2);\r\n }\r\n\r\n return x.minus(pi).abs();\r\n }\r\n\r\n\r\n /*\r\n * Return the value of Decimal `x` as a string in base `baseOut`.\r\n *\r\n * If the optional `sd` argument is present include a binary exponent suffix.\r\n */\r\n function toStringBinary(x, baseOut, sd, rm) {\r\n var base, e, i, k, len, roundUp, str, xd, y,\r\n Ctor = x.constructor,\r\n isExp = sd !== void 0;\r\n\r\n if (isExp) {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n } else {\r\n sd = Ctor.precision;\r\n rm = Ctor.rounding;\r\n }\r\n\r\n if (!x.isFinite()) {\r\n str = nonFiniteToString(x);\r\n } else {\r\n str = finiteToString(x);\r\n i = str.indexOf('.');\r\n\r\n // Use exponential notation according to `toExpPos` and `toExpNeg`? No, but if required:\r\n // maxBinaryExponent = floor((decimalExponent + 1) * log[2](10))\r\n // minBinaryExponent = floor(decimalExponent * log[2](10))\r\n // log[2](10) = 3.321928094887362347870319429489390175864\r\n\r\n if (isExp) {\r\n base = 2;\r\n if (baseOut == 16) {\r\n sd = sd * 4 - 3;\r\n } else if (baseOut == 8) {\r\n sd = sd * 3 - 2;\r\n }\r\n } else {\r\n base = baseOut;\r\n }\r\n\r\n // Convert the number as an integer then divide the result by its base raised to a power such\r\n // that the fraction part will be restored.\r\n\r\n // Non-integer.\r\n if (i >= 0) {\r\n str = str.replace('.', '');\r\n y = new Ctor(1);\r\n y.e = str.length - i;\r\n y.d = convertBase(finiteToString(y), 10, base);\r\n y.e = y.d.length;\r\n }\r\n\r\n xd = convertBase(str, 10, base);\r\n e = len = xd.length;\r\n\r\n // Remove trailing zeros.\r\n for (; xd[--len] == 0;) xd.pop();\r\n\r\n if (!xd[0]) {\r\n str = isExp ? '0p+0' : '0';\r\n } else {\r\n if (i < 0) {\r\n e--;\r\n } else {\r\n x = new Ctor(x);\r\n x.d = xd;\r\n x.e = e;\r\n x = divide(x, y, sd, rm, 0, base);\r\n xd = x.d;\r\n e = x.e;\r\n roundUp = inexact;\r\n }\r\n\r\n // The rounding digit, i.e. the digit after the digit that may be rounded up.\r\n i = xd[sd];\r\n k = base / 2;\r\n roundUp = roundUp || xd[sd + 1] !== void 0;\r\n\r\n roundUp = rm < 4\r\n ? (i !== void 0 || roundUp) && (rm === 0 || rm === (x.s < 0 ? 3 : 2))\r\n : i > k || i === k && (rm === 4 || roundUp || rm === 6 && xd[sd - 1] & 1 ||\r\n rm === (x.s < 0 ? 8 : 7));\r\n\r\n xd.length = sd;\r\n\r\n if (roundUp) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up and so on.\r\n for (; ++xd[--sd] > base - 1;) {\r\n xd[sd] = 0;\r\n if (!sd) {\r\n ++e;\r\n xd.unshift(1);\r\n }\r\n }\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (len = xd.length; !xd[len - 1]; --len);\r\n\r\n // E.g. [4, 11, 15] becomes 4bf.\r\n for (i = 0, str = ''; i < len; i++) str += NUMERALS.charAt(xd[i]);\r\n\r\n // Add binary exponent suffix?\r\n if (isExp) {\r\n if (len > 1) {\r\n if (baseOut == 16 || baseOut == 8) {\r\n i = baseOut == 16 ? 4 : 3;\r\n for (--len; len % i; len++) str += '0';\r\n xd = convertBase(str, base, baseOut);\r\n for (len = xd.length; !xd[len - 1]; --len);\r\n\r\n // xd[0] will always be be 1\r\n for (i = 1, str = '1.'; i < len; i++) str += NUMERALS.charAt(xd[i]);\r\n } else {\r\n str = str.charAt(0) + '.' + str.slice(1);\r\n }\r\n }\r\n\r\n str = str + (e < 0 ? 'p' : 'p+') + e;\r\n } else if (e < 0) {\r\n for (; ++e;) str = '0' + str;\r\n str = '0.' + str;\r\n } else {\r\n if (++e > len) for (e -= len; e-- ;) str += '0';\r\n else if (e < len) str = str.slice(0, e) + '.' + str.slice(e);\r\n }\r\n }\r\n\r\n str = (baseOut == 16 ? '0x' : baseOut == 2 ? '0b' : baseOut == 8 ? '0o' : '') + str;\r\n }\r\n\r\n return x.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Does not strip trailing zeros.\r\n function truncate(arr, len) {\r\n if (arr.length > len) {\r\n arr.length = len;\r\n return true;\r\n }\r\n }\r\n\r\n\r\n // Decimal methods\r\n\r\n\r\n /*\r\n * abs\r\n * acos\r\n * acosh\r\n * add\r\n * asin\r\n * asinh\r\n * atan\r\n * atanh\r\n * atan2\r\n * cbrt\r\n * ceil\r\n * clamp\r\n * clone\r\n * config\r\n * cos\r\n * cosh\r\n * div\r\n * exp\r\n * floor\r\n * hypot\r\n * ln\r\n * log\r\n * log2\r\n * log10\r\n * max\r\n * min\r\n * mod\r\n * mul\r\n * pow\r\n * random\r\n * round\r\n * set\r\n * sign\r\n * sin\r\n * sinh\r\n * sqrt\r\n * sub\r\n * sum\r\n * tan\r\n * tanh\r\n * trunc\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the absolute value of `x`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function abs(x) {\r\n return new this(x).abs();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arccosine in radians of `x`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function acos(x) {\r\n return new this(x).acos();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic cosine of `x`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function acosh(x) {\r\n return new this(x).acosh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sum of `x` and `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function add(x, y) {\r\n return new this(x).plus(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arcsine in radians of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function asin(x) {\r\n return new this(x).asin();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic sine of `x`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function asinh(x) {\r\n return new this(x).asinh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arctangent in radians of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function atan(x) {\r\n return new this(x).atan();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the inverse of the hyperbolic tangent of `x`, rounded to\r\n * `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function atanh(x) {\r\n return new this(x).atanh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the arctangent in radians of `y/x` in the range -pi to pi\r\n * (inclusive), rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * Domain: [-Infinity, Infinity]\r\n * Range: [-pi, pi]\r\n *\r\n * y {number|string|Decimal} The y-coordinate.\r\n * x {number|string|Decimal} The x-coordinate.\r\n *\r\n * atan2(±0, -0) = ±pi\r\n * atan2(±0, +0) = ±0\r\n * atan2(±0, -x) = ±pi for x > 0\r\n * atan2(±0, x) = ±0 for x > 0\r\n * atan2(-y, ±0) = -pi/2 for y > 0\r\n * atan2(y, ±0) = pi/2 for y > 0\r\n * atan2(±y, -Infinity) = ±pi for finite y > 0\r\n * atan2(±y, +Infinity) = ±0 for finite y > 0\r\n * atan2(±Infinity, x) = ±pi/2 for finite x\r\n * atan2(±Infinity, -Infinity) = ±3*pi/4\r\n * atan2(±Infinity, +Infinity) = ±pi/4\r\n * atan2(NaN, x) = NaN\r\n * atan2(y, NaN) = NaN\r\n *\r\n */\r\n function atan2(y, x) {\r\n y = new this(y);\r\n x = new this(x);\r\n var r,\r\n pr = this.precision,\r\n rm = this.rounding,\r\n wpr = pr + 4;\r\n\r\n // Either NaN\r\n if (!y.s || !x.s) {\r\n r = new this(NaN);\r\n\r\n // Both ±Infinity\r\n } else if (!y.d && !x.d) {\r\n r = getPi(this, wpr, 1).times(x.s > 0 ? 0.25 : 0.75);\r\n r.s = y.s;\r\n\r\n // x is ±Infinity or y is ±0\r\n } else if (!x.d || y.isZero()) {\r\n r = x.s < 0 ? getPi(this, pr, rm) : new this(0);\r\n r.s = y.s;\r\n\r\n // y is ±Infinity or x is ±0\r\n } else if (!y.d || x.isZero()) {\r\n r = getPi(this, wpr, 1).times(0.5);\r\n r.s = y.s;\r\n\r\n // Both non-zero and finite\r\n } else if (x.s < 0) {\r\n this.precision = wpr;\r\n this.rounding = 1;\r\n r = this.atan(divide(y, x, wpr, 1));\r\n x = getPi(this, wpr, 1);\r\n this.precision = pr;\r\n this.rounding = rm;\r\n r = y.s < 0 ? r.minus(x) : r.plus(x);\r\n } else {\r\n r = this.atan(divide(y, x, wpr, 1));\r\n }\r\n\r\n return r;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the cube root of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function cbrt(x) {\r\n return new this(x).cbrt();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` rounded to an integer using `ROUND_CEIL`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function ceil(x) {\r\n return finalise(x = new this(x), x.e + 1, 2);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` clamped to the range delineated by `min` and `max`.\r\n *\r\n * x {number|string|Decimal}\r\n * min {number|string|Decimal}\r\n * max {number|string|Decimal}\r\n *\r\n */\r\n function clamp(x, min, max) {\r\n return new this(x).clamp(min, max);\r\n }\r\n\r\n\r\n /*\r\n * Configure global settings for a Decimal constructor.\r\n *\r\n * `obj` is an object with one or more of the following properties,\r\n *\r\n * precision {number}\r\n * rounding {number}\r\n * toExpNeg {number}\r\n * toExpPos {number}\r\n * maxE {number}\r\n * minE {number}\r\n * modulo {number}\r\n * crypto {boolean|number}\r\n * defaults {true}\r\n *\r\n * E.g. Decimal.config({ precision: 20, rounding: 4 })\r\n *\r\n */\r\n function config(obj) {\r\n if (!obj || typeof obj !== 'object') throw Error(decimalError + 'Object expected');\r\n var i, p, v,\r\n useDefaults = obj.defaults === true,\r\n ps = [\r\n 'precision', 1, MAX_DIGITS,\r\n 'rounding', 0, 8,\r\n 'toExpNeg', -EXP_LIMIT, 0,\r\n 'toExpPos', 0, EXP_LIMIT,\r\n 'maxE', 0, EXP_LIMIT,\r\n 'minE', -EXP_LIMIT, 0,\r\n 'modulo', 0, 9\r\n ];\r\n\r\n for (i = 0; i < ps.length; i += 3) {\r\n if (p = ps[i], useDefaults) this[p] = DEFAULTS[p];\r\n if ((v = obj[p]) !== void 0) {\r\n if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) this[p] = v;\r\n else throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n }\r\n\r\n if (p = 'crypto', useDefaults) this[p] = DEFAULTS[p];\r\n if ((v = obj[p]) !== void 0) {\r\n if (v === true || v === false || v === 0 || v === 1) {\r\n if (v) {\r\n if (typeof crypto != 'undefined' && crypto &&\r\n (crypto.getRandomValues || crypto.randomBytes)) {\r\n this[p] = true;\r\n } else {\r\n throw Error(cryptoUnavailable);\r\n }\r\n } else {\r\n this[p] = false;\r\n }\r\n } else {\r\n throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the cosine of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function cos(x) {\r\n return new this(x).cos();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic cosine of `x`, rounded to precision\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function cosh(x) {\r\n return new this(x).cosh();\r\n }\r\n\r\n\r\n /*\r\n * Create and return a Decimal constructor with the same configuration properties as this Decimal\r\n * constructor.\r\n *\r\n */\r\n function clone(obj) {\r\n var i, p, ps;\r\n\r\n /*\r\n * The Decimal constructor and exported function.\r\n * Return a new Decimal instance.\r\n *\r\n * v {number|string|Decimal} A numeric value.\r\n *\r\n */\r\n function Decimal(v) {\r\n var e, i, t,\r\n x = this;\r\n\r\n // Decimal called without new.\r\n if (!(x instanceof Decimal)) return new Decimal(v);\r\n\r\n // Retain a reference to this Decimal constructor, and shadow Decimal.prototype.constructor\r\n // which points to Object.\r\n x.constructor = Decimal;\r\n\r\n // Duplicate.\r\n if (isDecimalInstance(v)) {\r\n x.s = v.s;\r\n\r\n if (external) {\r\n if (!v.d || v.e > Decimal.maxE) {\r\n\r\n // Infinity.\r\n x.e = NaN;\r\n x.d = null;\r\n } else if (v.e < Decimal.minE) {\r\n\r\n // Zero.\r\n x.e = 0;\r\n x.d = [0];\r\n } else {\r\n x.e = v.e;\r\n x.d = v.d.slice();\r\n }\r\n } else {\r\n x.e = v.e;\r\n x.d = v.d ? v.d.slice() : v.d;\r\n }\r\n\r\n return;\r\n }\r\n\r\n t = typeof v;\r\n\r\n if (t === 'number') {\r\n if (v === 0) {\r\n x.s = 1 / v < 0 ? -1 : 1;\r\n x.e = 0;\r\n x.d = [0];\r\n return;\r\n }\r\n\r\n if (v < 0) {\r\n v = -v;\r\n x.s = -1;\r\n } else {\r\n x.s = 1;\r\n }\r\n\r\n // Fast path for small integers.\r\n if (v === ~~v && v < 1e7) {\r\n for (e = 0, i = v; i >= 10; i /= 10) e++;\r\n\r\n if (external) {\r\n if (e > Decimal.maxE) {\r\n x.e = NaN;\r\n x.d = null;\r\n } else if (e < Decimal.minE) {\r\n x.e = 0;\r\n x.d = [0];\r\n } else {\r\n x.e = e;\r\n x.d = [v];\r\n }\r\n } else {\r\n x.e = e;\r\n x.d = [v];\r\n }\r\n\r\n return;\r\n\r\n // Infinity, NaN.\r\n } else if (v * 0 !== 0) {\r\n if (!v) x.s = NaN;\r\n x.e = NaN;\r\n x.d = null;\r\n return;\r\n }\r\n\r\n return parseDecimal(x, v.toString());\r\n\r\n } else if (t !== 'string') {\r\n throw Error(invalidArgument + v);\r\n }\r\n\r\n // Minus sign?\r\n if ((i = v.charCodeAt(0)) === 45) {\r\n v = v.slice(1);\r\n x.s = -1;\r\n } else {\r\n // Plus sign?\r\n if (i === 43) v = v.slice(1);\r\n x.s = 1;\r\n }\r\n\r\n return isDecimal.test(v) ? parseDecimal(x, v) : parseOther(x, v);\r\n }\r\n\r\n Decimal.prototype = P;\r\n\r\n Decimal.ROUND_UP = 0;\r\n Decimal.ROUND_DOWN = 1;\r\n Decimal.ROUND_CEIL = 2;\r\n Decimal.ROUND_FLOOR = 3;\r\n Decimal.ROUND_HALF_UP = 4;\r\n Decimal.ROUND_HALF_DOWN = 5;\r\n Decimal.ROUND_HALF_EVEN = 6;\r\n Decimal.ROUND_HALF_CEIL = 7;\r\n Decimal.ROUND_HALF_FLOOR = 8;\r\n Decimal.EUCLID = 9;\r\n\r\n Decimal.config = Decimal.set = config;\r\n Decimal.clone = clone;\r\n Decimal.isDecimal = isDecimalInstance;\r\n\r\n Decimal.abs = abs;\r\n Decimal.acos = acos;\r\n Decimal.acosh = acosh; // ES6\r\n Decimal.add = add;\r\n Decimal.asin = asin;\r\n Decimal.asinh = asinh; // ES6\r\n Decimal.atan = atan;\r\n Decimal.atanh = atanh; // ES6\r\n Decimal.atan2 = atan2;\r\n Decimal.cbrt = cbrt; // ES6\r\n Decimal.ceil = ceil;\r\n Decimal.clamp = clamp;\r\n Decimal.cos = cos;\r\n Decimal.cosh = cosh; // ES6\r\n Decimal.div = div;\r\n Decimal.exp = exp;\r\n Decimal.floor = floor;\r\n Decimal.hypot = hypot; // ES6\r\n Decimal.ln = ln;\r\n Decimal.log = log;\r\n Decimal.log10 = log10; // ES6\r\n Decimal.log2 = log2; // ES6\r\n Decimal.max = max;\r\n Decimal.min = min;\r\n Decimal.mod = mod;\r\n Decimal.mul = mul;\r\n Decimal.pow = pow;\r\n Decimal.random = random;\r\n Decimal.round = round;\r\n Decimal.sign = sign; // ES6\r\n Decimal.sin = sin;\r\n Decimal.sinh = sinh; // ES6\r\n Decimal.sqrt = sqrt;\r\n Decimal.sub = sub;\r\n Decimal.sum = sum;\r\n Decimal.tan = tan;\r\n Decimal.tanh = tanh; // ES6\r\n Decimal.trunc = trunc; // ES6\r\n\r\n if (obj === void 0) obj = {};\r\n if (obj) {\r\n if (obj.defaults !== true) {\r\n ps = ['precision', 'rounding', 'toExpNeg', 'toExpPos', 'maxE', 'minE', 'modulo', 'crypto'];\r\n for (i = 0; i < ps.length;) if (!obj.hasOwnProperty(p = ps[i++])) obj[p] = this[p];\r\n }\r\n }\r\n\r\n Decimal.config(obj);\r\n\r\n return Decimal;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` divided by `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function div(x, y) {\r\n return new this(x).div(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} The power to which to raise the base of the natural log.\r\n *\r\n */\r\n function exp(x) {\r\n return new this(x).exp();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` round to an integer using `ROUND_FLOOR`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function floor(x) {\r\n return finalise(x = new this(x), x.e + 1, 3);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of the sum of the squares of the arguments,\r\n * rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * hypot(a, b, ...) = sqrt(a^2 + b^2 + ...)\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n */\r\n function hypot() {\r\n var i, n,\r\n t = new this(0);\r\n\r\n external = false;\r\n\r\n for (i = 0; i < arguments.length;) {\r\n n = new this(arguments[i++]);\r\n if (!n.d) {\r\n if (n.s) {\r\n external = true;\r\n return new this(1 / 0);\r\n }\r\n t = n;\r\n } else if (t.d) {\r\n t = t.plus(n.times(n));\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return t.sqrt();\r\n }\r\n\r\n\r\n /*\r\n * Return true if object is a Decimal instance (where Decimal is any Decimal constructor),\r\n * otherwise return false.\r\n *\r\n */\r\n function isDecimalInstance(obj) {\r\n return obj instanceof Decimal || obj && obj.toStringTag === tag || false;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function ln(x) {\r\n return new this(x).ln();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the log of `x` to the base `y`, or to base 10 if no base\r\n * is specified, rounded to `precision` significant digits using rounding mode `rounding`.\r\n *\r\n * log[y](x)\r\n *\r\n * x {number|string|Decimal} The argument of the logarithm.\r\n * y {number|string|Decimal} The base of the logarithm.\r\n *\r\n */\r\n function log(x, y) {\r\n return new this(x).log(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the base 2 logarithm of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function log2(x) {\r\n return new this(x).log(2);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the base 10 logarithm of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function log10(x) {\r\n return new this(x).log(10);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the maximum of the arguments.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n */\r\n function max() {\r\n return maxOrMin(this, arguments, 'lt');\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the minimum of the arguments.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n */\r\n function min() {\r\n return maxOrMin(this, arguments, 'gt');\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` modulo `y`, rounded to `precision` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function mod(x, y) {\r\n return new this(x).mod(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` multiplied by `y`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function mul(x, y) {\r\n return new this(x).mul(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` raised to the power `y`, rounded to precision\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} The base.\r\n * y {number|string|Decimal} The exponent.\r\n *\r\n */\r\n function pow(x, y) {\r\n return new this(x).pow(y);\r\n }\r\n\r\n\r\n /*\r\n * Returns a new Decimal with a random value equal to or greater than 0 and less than 1, and with\r\n * `sd`, or `Decimal.precision` if `sd` is omitted, significant digits (or less if trailing zeros\r\n * are produced).\r\n *\r\n * [sd] {number} Significant digits. Integer, 0 to MAX_DIGITS inclusive.\r\n *\r\n */\r\n function random(sd) {\r\n var d, e, k, n,\r\n i = 0,\r\n r = new this(1),\r\n rd = [];\r\n\r\n if (sd === void 0) sd = this.precision;\r\n else checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n k = Math.ceil(sd / LOG_BASE);\r\n\r\n if (!this.crypto) {\r\n for (; i < k;) rd[i++] = Math.random() * 1e7 | 0;\r\n\r\n // Browsers supporting crypto.getRandomValues.\r\n } else if (crypto.getRandomValues) {\r\n d = crypto.getRandomValues(new Uint32Array(k));\r\n\r\n for (; i < k;) {\r\n n = d[i];\r\n\r\n // 0 <= n < 4294967296\r\n // Probability n >= 4.29e9, is 4967296 / 4294967296 = 0.00116 (1 in 865).\r\n if (n >= 4.29e9) {\r\n d[i] = crypto.getRandomValues(new Uint32Array(1))[0];\r\n } else {\r\n\r\n // 0 <= n <= 4289999999\r\n // 0 <= (n % 1e7) <= 9999999\r\n rd[i++] = n % 1e7;\r\n }\r\n }\r\n\r\n // Node.js supporting crypto.randomBytes.\r\n } else if (crypto.randomBytes) {\r\n\r\n // buffer\r\n d = crypto.randomBytes(k *= 4);\r\n\r\n for (; i < k;) {\r\n\r\n // 0 <= n < 2147483648\r\n n = d[i] + (d[i + 1] << 8) + (d[i + 2] << 16) + ((d[i + 3] & 0x7f) << 24);\r\n\r\n // Probability n >= 2.14e9, is 7483648 / 2147483648 = 0.0035 (1 in 286).\r\n if (n >= 2.14e9) {\r\n crypto.randomBytes(4).copy(d, i);\r\n } else {\r\n\r\n // 0 <= n <= 2139999999\r\n // 0 <= (n % 1e7) <= 9999999\r\n rd.push(n % 1e7);\r\n i += 4;\r\n }\r\n }\r\n\r\n i = k / 4;\r\n } else {\r\n throw Error(cryptoUnavailable);\r\n }\r\n\r\n k = rd[--i];\r\n sd %= LOG_BASE;\r\n\r\n // Convert trailing digits to zeros according to sd.\r\n if (k && sd) {\r\n n = mathpow(10, LOG_BASE - sd);\r\n rd[i] = (k / n | 0) * n;\r\n }\r\n\r\n // Remove trailing words which are zero.\r\n for (; rd[i] === 0; i--) rd.pop();\r\n\r\n // Zero?\r\n if (i < 0) {\r\n e = 0;\r\n rd = [0];\r\n } else {\r\n e = -1;\r\n\r\n // Remove leading words which are zero and adjust exponent accordingly.\r\n for (; rd[0] === 0; e -= LOG_BASE) rd.shift();\r\n\r\n // Count the digits of the first word of rd to determine leading zeros.\r\n for (k = 1, n = rd[0]; n >= 10; n /= 10) k++;\r\n\r\n // Adjust the exponent for leading zeros of the first word of rd.\r\n if (k < LOG_BASE) e -= LOG_BASE - k;\r\n }\r\n\r\n r.e = e;\r\n r.d = rd;\r\n\r\n return r;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` rounded to an integer using rounding mode `rounding`.\r\n *\r\n * To emulate `Math.round`, set rounding to 7 (ROUND_HALF_CEIL).\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function round(x) {\r\n return finalise(x = new this(x), x.e + 1, this.rounding);\r\n }\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if x > 0,\r\n * -1 if x < 0,\r\n * 0 if x is 0,\r\n * -0 if x is -0,\r\n * NaN otherwise\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function sign(x) {\r\n x = new this(x);\r\n return x.d ? (x.d[0] ? x.s : 0 * x.s) : x.s || NaN;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sine of `x`, rounded to `precision` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function sin(x) {\r\n return new this(x).sin();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic sine of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function sinh(x) {\r\n return new this(x).sinh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function sqrt(x) {\r\n return new this(x).sqrt();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` minus `y`, rounded to `precision` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal}\r\n * y {number|string|Decimal}\r\n *\r\n */\r\n function sub(x, y) {\r\n return new this(x).sub(y);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the sum of the arguments, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * Only the result is rounded, not the intermediate calculations.\r\n *\r\n * arguments {number|string|Decimal}\r\n *\r\n */\r\n function sum() {\r\n var i = 0,\r\n args = arguments,\r\n x = new this(args[i]);\r\n\r\n external = false;\r\n for (; x.s && ++i < args.length;) x = x.plus(args[i]);\r\n external = true;\r\n\r\n return finalise(x, this.precision, this.rounding);\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the tangent of `x`, rounded to `precision` significant\r\n * digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function tan(x) {\r\n return new this(x).tan();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the hyperbolic tangent of `x`, rounded to `precision`\r\n * significant digits using rounding mode `rounding`.\r\n *\r\n * x {number|string|Decimal} A value in radians.\r\n *\r\n */\r\n function tanh(x) {\r\n return new this(x).tanh();\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is `x` truncated to an integer.\r\n *\r\n * x {number|string|Decimal}\r\n *\r\n */\r\n function trunc(x) {\r\n return finalise(x = new this(x), x.e + 1, 1);\r\n }\r\n\r\n\r\n // Create and configure initial Decimal constructor.\r\n Decimal = clone(DEFAULTS);\r\n Decimal.prototype.constructor = Decimal;\r\n Decimal['default'] = Decimal.Decimal = Decimal;\r\n\r\n // Create the internal constants from their string values.\r\n LN10 = new Decimal(LN10);\r\n PI = new Decimal(PI);\r\n\r\n\r\n // Export.\r\n\r\n\r\n // AMD.\r\n if (true) {\r\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\r\n return Decimal;\r\n }).call(exports, __webpack_require__, exports, module),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\r\n\r\n // Node and other environments that support module.exports.\r\n } else {}\r\n})(this);\r\n\n\n//# sourceURL=webpack://renderer/./node_modules/decimal.js/decimal.js?"); - -/***/ }), - -/***/ "./node_modules/dot-prop/index.js": -/*!****************************************!*\ - !*** ./node_modules/dot-prop/index.js ***! - \****************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nconst isObj = __webpack_require__(/*! is-obj */ \"./node_modules/is-obj/index.js\");\n\nconst disallowedKeys = new Set([\n\t'__proto__',\n\t'prototype',\n\t'constructor'\n]);\n\nconst isValidPath = pathSegments => !pathSegments.some(segment => disallowedKeys.has(segment));\n\nfunction getPathSegments(path) {\n\tconst pathArray = path.split('.');\n\tconst parts = [];\n\n\tfor (let i = 0; i < pathArray.length; i++) {\n\t\tlet p = pathArray[i];\n\n\t\twhile (p[p.length - 1] === '\\\\' && pathArray[i + 1] !== undefined) {\n\t\t\tp = p.slice(0, -1) + '.';\n\t\t\tp += pathArray[++i];\n\t\t}\n\n\t\tparts.push(p);\n\t}\n\n\tif (!isValidPath(parts)) {\n\t\treturn [];\n\t}\n\n\treturn parts;\n}\n\nmodule.exports = {\n\tget(object, path, value) {\n\t\tif (!isObj(object) || typeof path !== 'string') {\n\t\t\treturn value === undefined ? object : value;\n\t\t}\n\n\t\tconst pathArray = getPathSegments(path);\n\t\tif (pathArray.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor (let i = 0; i < pathArray.length; i++) {\n\t\t\tobject = object[pathArray[i]];\n\n\t\t\tif (object === undefined || object === null) {\n\t\t\t\t// `object` is either `undefined` or `null` so we want to stop the loop, and\n\t\t\t\t// if this is not the last bit of the path, and\n\t\t\t\t// if it did't return `undefined`\n\t\t\t\t// it would return `null` if `object` is `null`\n\t\t\t\t// but we want `get({foo: null}, 'foo.bar')` to equal `undefined`, or the supplied value, not `null`\n\t\t\t\tif (i !== pathArray.length - 1) {\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn object === undefined ? value : object;\n\t},\n\n\tset(object, path, value) {\n\t\tif (!isObj(object) || typeof path !== 'string') {\n\t\t\treturn object;\n\t\t}\n\n\t\tconst root = object;\n\t\tconst pathArray = getPathSegments(path);\n\n\t\tfor (let i = 0; i < pathArray.length; i++) {\n\t\t\tconst p = pathArray[i];\n\n\t\t\tif (!isObj(object[p])) {\n\t\t\t\tobject[p] = {};\n\t\t\t}\n\n\t\t\tif (i === pathArray.length - 1) {\n\t\t\t\tobject[p] = value;\n\t\t\t}\n\n\t\t\tobject = object[p];\n\t\t}\n\n\t\treturn root;\n\t},\n\n\tdelete(object, path) {\n\t\tif (!isObj(object) || typeof path !== 'string') {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst pathArray = getPathSegments(path);\n\n\t\tfor (let i = 0; i < pathArray.length; i++) {\n\t\t\tconst p = pathArray[i];\n\n\t\t\tif (i === pathArray.length - 1) {\n\t\t\t\tdelete object[p];\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tobject = object[p];\n\n\t\t\tif (!isObj(object)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t},\n\n\thas(object, path) {\n\t\tif (!isObj(object) || typeof path !== 'string') {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst pathArray = getPathSegments(path);\n\t\tif (pathArray.length === 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// eslint-disable-next-line unicorn/no-for-loop\n\t\tfor (let i = 0; i < pathArray.length; i++) {\n\t\t\tif (isObj(object)) {\n\t\t\t\tif (!(pathArray[i] in object)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tobject = object[pathArray[i]];\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/dot-prop/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-debug/index.js": -/*!**********************************************!*\ - !*** ./node_modules/electron-debug/index.js ***! - \**********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nconst {app, BrowserWindow, session} = __webpack_require__(/*! electron */ \"electron\");\nconst path = __webpack_require__(/*! path */ \"path\");\nconst localShortcut = __webpack_require__(/*! electron-localshortcut */ \"./node_modules/electron-localshortcut/index.js\");\nconst isDev = __webpack_require__(/*! electron-is-dev */ \"./node_modules/electron-is-dev/index.js\");\n\nconst isMacOS = process.platform === 'darwin';\n\nconst devToolsOptions = {};\n\nfunction toggleDevTools(win = BrowserWindow.getFocusedWindow()) {\n\tif (win) {\n\t\tconst {webContents} = win;\n\t\tif (webContents.isDevToolsOpened()) {\n\t\t\twebContents.closeDevTools();\n\t\t} else {\n\t\t\twebContents.openDevTools(devToolsOptions);\n\t\t}\n\t}\n}\n\nfunction devTools(win = BrowserWindow.getFocusedWindow()) {\n\tif (win) {\n\t\ttoggleDevTools(win);\n\t}\n}\n\nfunction openDevTools(win = BrowserWindow.getFocusedWindow()) {\n\tif (win) {\n\t\twin.webContents.openDevTools(devToolsOptions);\n\t}\n}\n\nfunction refresh(win = BrowserWindow.getFocusedWindow()) {\n\tif (win) {\n\t\twin.webContents.reloadIgnoringCache();\n\t}\n}\n\nfunction inspectElements() {\n\tconst win = BrowserWindow.getFocusedWindow();\n\tconst inspect = () => {\n\t\twin.devToolsWebContents.executeJavaScript('DevToolsAPI.enterInspectElementMode()');\n\t};\n\n\tif (win) {\n\t\tif (win.webContents.isDevToolsOpened()) {\n\t\t\tinspect();\n\t\t} else {\n\t\t\twin.webContents.once('devtools-opened', inspect);\n\t\t\twin.openDevTools();\n\t\t}\n\t}\n}\n\nconst addExtensionIfInstalled = (name, getPath) => {\n\tconst isExtensionInstalled = name => {\n\t\t// For Electron >=9.\n\t\tif (session.defaultSession.getAllExtensions) {\n\t\t\treturn {}.hasOwnProperty.call(session.defaultSession.getAllExtensions(), name);\n\t\t}\n\n\t\t// TODO: Remove this when targeting Electron >=9.\n\t\treturn BrowserWindow.getDevToolsExtensions &&\n\t\t\t{}.hasOwnProperty.call(BrowserWindow.getDevToolsExtensions(), name);\n\t};\n\n\ttry {\n\t\tif (!isExtensionInstalled(name)) {\n\t\t\t// For Electron >=9.\n\t\t\tif (session.defaultSession.loadExtension) {\n\t\t\t\tsession.defaultSession.loadExtension(getPath(name));\n\t\t\t} else {\n\t\t\t\t// TODO: Remove this when targeting Electron >=9.\n\t\t\t\tBrowserWindow.addDevToolsExtension(getPath(name));\n\t\t\t}\n\t\t}\n\t} catch (_) {}\n};\n\nmodule.exports = options => {\n\toptions = {\n\t\tisEnabled: null,\n\t\tshowDevTools: true,\n\t\tdevToolsMode: 'previous',\n\t\t...options\n\t};\n\n\tif (options.isEnabled === false || (options.isEnabled === null && !isDev)) {\n\t\treturn;\n\t}\n\n\tif (options.devToolsMode !== 'previous') {\n\t\tdevToolsOptions.mode = options.devToolsMode;\n\t}\n\n\tapp.on('browser-window-created', (event, win) => {\n\t\tif (options.showDevTools) {\n\t\t\t/// Workaround for https://github.com/electron/electron/issues/12438\n\t\t\twin.webContents.once('dom-ready', () => {\n\t\t\t\topenDevTools(win, options.showDevTools, false);\n\t\t\t});\n\t\t}\n\t});\n\n\t(async () => {\n\t\tawait app.whenReady();\n\n\t\taddExtensionIfInstalled('devtron', name => __webpack_require__(\"./node_modules/electron-debug sync recursive\")(name).path);\n\t\taddExtensionIfInstalled('electron-react-devtools', name => __webpack_require__(\"./node_modules/electron-debug sync recursive\")(name).path);\n\n\t\tlocalShortcut.register('CommandOrControl+Shift+C', inspectElements);\n\t\tlocalShortcut.register(isMacOS ? 'Command+Alt+I' : 'Control+Shift+I', devTools);\n\t\tlocalShortcut.register('F12', devTools);\n\n\t\tlocalShortcut.register('CommandOrControl+R', refresh);\n\t\tlocalShortcut.register('F5', refresh);\n\t})();\n};\n\nmodule.exports.refresh = refresh;\nmodule.exports.devTools = devTools;\nmodule.exports.openDevTools = openDevTools;\nmodule.exports.preloadScriptPath = path.join(__dirname, 'preload.js');\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-debug/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-debug sync recursive": -/*!*******************************************!*\ - !*** ./node_modules/electron-debug/ sync ***! - \*******************************************/ -/***/ ((module) => { - -eval("function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = () => ([]);\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = \"./node_modules/electron-debug sync recursive\";\nmodule.exports = webpackEmptyContext;\n\n//# sourceURL=webpack://renderer/./node_modules/electron-debug/_sync?"); - -/***/ }), - -/***/ "./node_modules/electron-is-accelerator/index.js": -/*!*******************************************************!*\ - !*** ./node_modules/electron-is-accelerator/index.js ***! - \*******************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\nconst modifiers = /^(Command|Cmd|Control|Ctrl|CommandOrControl|CmdOrCtrl|Alt|Option|AltGr|Shift|Super)$/;\nconst keyCodes = /^([0-9A-Z)!@#$%^&*(:+<_>?~{|}\";=,\\-./`[\\\\\\]']|F1*[1-9]|F10|F2[0-4]|Plus|Space|Tab|Backspace|Delete|Insert|Return|Enter|Up|Down|Left|Right|Home|End|PageUp|PageDown|Escape|Esc|VolumeUp|VolumeDown|VolumeMute|MediaNextTrack|MediaPreviousTrack|MediaStop|MediaPlayPause|PrintScreen)$/;\n\nmodule.exports = function (str) {\n\tlet parts = str.split(\"+\");\n\tlet keyFound = false;\n return parts.every((val, index) => {\n\t\tconst isKey = keyCodes.test(val);\n\t\tconst isModifier = modifiers.test(val);\n\t\tif (isKey) {\n\t\t\t// Key must be unique\n\t\t\tif (keyFound) return false;\n\t\t\tkeyFound = true;\n\t\t}\n\t\t// Key is required\n\t\tif (index === parts.length - 1 && !keyFound) return false;\n return isKey || isModifier;\n });\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-is-accelerator/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-is-dev/index.js": -/*!***********************************************!*\ - !*** ./node_modules/electron-is-dev/index.js ***! - \***********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nconst electron = __webpack_require__(/*! electron */ \"electron\");\n\nif (typeof electron === 'string') {\n\tthrow new TypeError('Not running in an Electron environment!');\n}\n\nconst app = electron.app || electron.remote.app;\n\nconst isEnvSet = 'ELECTRON_IS_DEV' in process.env;\nconst getFromEnv = parseInt(process.env.ELECTRON_IS_DEV, 10) === 1;\n\nmodule.exports = isEnvSet ? getFromEnv : !app.isPackaged;\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-is-dev/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-localshortcut/index.js": -/*!******************************************************!*\ - !*** ./node_modules/electron-localshortcut/index.js ***! - \******************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nconst {app, BrowserWindow} = __webpack_require__(/*! electron */ \"electron\");\nconst isAccelerator = __webpack_require__(/*! electron-is-accelerator */ \"./node_modules/electron-is-accelerator/index.js\");\nconst equals = __webpack_require__(/*! keyboardevents-areequal */ \"./node_modules/keyboardevents-areequal/index.js\");\nconst {toKeyEvent} = __webpack_require__(/*! keyboardevent-from-electron-accelerator */ \"./node_modules/keyboardevent-from-electron-accelerator/index.js\");\nconst _debug = __webpack_require__(/*! debug */ \"./node_modules/debug/src/browser.js\");\n\nconst debug = _debug('electron-localshortcut');\n\n// A placeholder to register shortcuts\n// on any window of the app.\nconst ANY_WINDOW = {};\n\nconst windowsWithShortcuts = new WeakMap();\n\nconst title = win => {\n\tif (win) {\n\t\ttry {\n\t\t\treturn win.getTitle();\n\t\t// eslint-disable-next-line no-unused-vars\n\t\t} catch (error) {\n\t\t\treturn 'A destroyed window';\n\t\t}\n\t}\n\n\treturn 'An falsy value';\n};\n\nfunction _checkAccelerator(accelerator) {\n\tif (!isAccelerator(accelerator)) {\n\t\tconst w = {};\n\t\tError.captureStackTrace(w);\n\t\tconst stack = w.stack ? w.stack.split('\\n').slice(4).join('\\n') : w.message;\n\t\tconst msg = `\nWARNING: ${accelerator} is not a valid accelerator.\n\n${stack}\n`;\n\t\tconsole.error(msg);\n\t}\n}\n\n/**\n * Disable all of the shortcuts registered on the BrowserWindow instance.\n * Registered shortcuts no more works on the `window` instance, but the module\n * keep a reference on them. You can reactivate them later by calling `enableAll`\n * method on the same window instance.\n * @param {BrowserWindow} win BrowserWindow instance\n */\nfunction disableAll(win) {\n\tdebug(`Disabling all shortcuts on window ${title(win)}`);\n\tconst wc = win.webContents;\n\tconst shortcutsOfWindow = windowsWithShortcuts.get(wc);\n\n\tfor (const shortcut of shortcutsOfWindow) {\n\t\tshortcut.enabled = false;\n\t}\n}\n\n/**\n * Enable all of the shortcuts registered on the BrowserWindow instance that\n * you had previously disabled calling `disableAll` method.\n * @param {BrowserWindow} win BrowserWindow instance\n */\nfunction enableAll(win) {\n\tdebug(`Enabling all shortcuts on window ${title(win)}`);\n\tconst wc = win.webContents;\n\tconst shortcutsOfWindow = windowsWithShortcuts.get(wc);\n\n\tfor (const shortcut of shortcutsOfWindow) {\n\t\tshortcut.enabled = true;\n\t}\n}\n\n/**\n * Unregisters all of the shortcuts registered on any focused BrowserWindow\n * instance. This method does not unregister any shortcut you registered on\n * a particular window instance.\n * @param {BrowserWindow} win BrowserWindow instance\n */\nfunction unregisterAll(win) {\n\tdebug(`Unregistering all shortcuts on window ${title(win)}`);\n\tconst wc = win.webContents;\n\tconst shortcutsOfWindow = windowsWithShortcuts.get(wc);\n\tif (shortcutsOfWindow && shortcutsOfWindow.removeListener) {\n\t\t// Remove listener from window\n\t\tshortcutsOfWindow.removeListener();\n\t\twindowsWithShortcuts.delete(wc);\n\t}\n}\n\nfunction _normalizeEvent(input) {\n\tconst normalizedEvent = {\n\t\tcode: input.code,\n\t\tkey: input.key\n\t};\n\n\t['alt', 'shift', 'meta'].forEach(prop => {\n\t\tif (typeof input[prop] !== 'undefined') {\n\t\t\tnormalizedEvent[`${prop}Key`] = input[prop];\n\t\t}\n\t});\n\n\tif (typeof input.control !== 'undefined') {\n\t\tnormalizedEvent.ctrlKey = input.control;\n\t}\n\n\treturn normalizedEvent;\n}\n\nfunction _findShortcut(event, shortcutsOfWindow) {\n\tlet i = 0;\n\tfor (const shortcut of shortcutsOfWindow) {\n\t\tif (equals(shortcut.eventStamp, event)) {\n\t\t\treturn i;\n\t\t}\n\n\t\ti++;\n\t}\n\n\treturn -1;\n}\n\nconst _onBeforeInput = shortcutsOfWindow => (e, input) => {\n\tif (input.type === 'keyUp') {\n\t\treturn;\n\t}\n\n\tconst event = _normalizeEvent(input);\n\n\tdebug(`before-input-event: ${input} is translated to: ${event}`);\n\tfor (const {eventStamp, callback} of shortcutsOfWindow) {\n\t\tif (equals(eventStamp, event)) {\n\t\t\tdebug(`eventStamp: ${eventStamp} match`);\n\t\t\tcallback();\n\n\t\t\treturn;\n\t\t}\n\n\t\tdebug(`eventStamp: ${eventStamp} no match`);\n\t}\n};\n\n/**\n * Registers the shortcut `accelerator`on the BrowserWindow instance.\n * @param {BrowserWindow} win - BrowserWindow instance to register.\n * This argument could be omitted, in this case the function register\n * the shortcut on all app windows.\n * @param {String|Array} accelerator - the shortcut to register\n * @param {Function} callback This function is called when the shortcut is pressed\n * and the window is focused and not minimized.\n */\nfunction register(win, accelerator, callback) {\n\tlet wc;\n\tif (typeof callback === 'undefined') {\n\t\twc = ANY_WINDOW;\n\t\tcallback = accelerator;\n\t\taccelerator = win;\n\t} else {\n\t\twc = win.webContents;\n\t}\n\n\tif (Array.isArray(accelerator) === true) {\n\t\taccelerator.forEach(accelerator => {\n\t\t\tif (typeof accelerator === 'string') {\n\t\t\t\tregister(win, accelerator, callback);\n\t\t\t}\n\t\t});\n\t\treturn;\n\t}\n\n\tdebug(`Registering callback for ${accelerator} on window ${title(win)}`);\n\t_checkAccelerator(accelerator);\n\n\tdebug(`${accelerator} seems a valid shortcut sequence.`);\n\n\tlet shortcutsOfWindow;\n\tif (windowsWithShortcuts.has(wc)) {\n\t\tdebug('Window has others shortcuts registered.');\n\t\tshortcutsOfWindow = windowsWithShortcuts.get(wc);\n\t} else {\n\t\tdebug('This is the first shortcut of the window.');\n\t\tshortcutsOfWindow = [];\n\t\twindowsWithShortcuts.set(wc, shortcutsOfWindow);\n\n\t\tif (wc === ANY_WINDOW) {\n\t\t\tconst keyHandler = _onBeforeInput(shortcutsOfWindow);\n\t\t\tconst enableAppShortcuts = (e, win) => {\n\t\t\t\tconst wc = win.webContents;\n\t\t\t\twc.on('before-input-event', keyHandler);\n\t\t\t\twc.once('closed', () =>\n\t\t\t\t\twc.removeListener('before-input-event', keyHandler)\n\t\t\t\t);\n\t\t\t};\n\n\t\t\t// Enable shortcut on current windows\n\t\t\tconst windows = BrowserWindow.getAllWindows();\n\n\t\t\twindows.forEach(win => enableAppShortcuts(null, win));\n\n\t\t\t// Enable shortcut on future windows\n\t\t\tapp.on('browser-window-created', enableAppShortcuts);\n\n\t\t\tshortcutsOfWindow.removeListener = () => {\n\t\t\t\tconst windows = BrowserWindow.getAllWindows();\n\t\t\t\twindows.forEach(win =>\n\t\t\t\t\twin.webContents.removeListener('before-input-event', keyHandler)\n\t\t\t\t);\n\t\t\t\tapp.removeListener('browser-window-created', enableAppShortcuts);\n\t\t\t};\n\t\t} else {\n\t\t\tconst keyHandler = _onBeforeInput(shortcutsOfWindow);\n\t\t\twc.on('before-input-event', keyHandler);\n\n\t\t\t// Save a reference to allow remove of listener from elsewhere\n\t\t\tshortcutsOfWindow.removeListener = () =>\n\t\t\t\twc.removeListener('before-input-event', keyHandler);\n\t\t\twc.once('closed', shortcutsOfWindow.removeListener);\n\t\t}\n\t}\n\n\tdebug('Adding shortcut to window set.');\n\n\tconst eventStamp = toKeyEvent(accelerator);\n\n\tshortcutsOfWindow.push({\n\t\teventStamp,\n\t\tcallback,\n\t\tenabled: true\n\t});\n\n\tdebug('Shortcut registered.');\n}\n\n/**\n * Unregisters the shortcut of `accelerator` registered on the BrowserWindow instance.\n * @param {BrowserWindow} win - BrowserWindow instance to unregister.\n * This argument could be omitted, in this case the function unregister the shortcut\n * on all app windows. If you registered the shortcut on a particular window instance, it will do nothing.\n * @param {String|Array} accelerator - the shortcut to unregister\n */\nfunction unregister(win, accelerator) {\n\tlet wc;\n\tif (typeof accelerator === 'undefined') {\n\t\twc = ANY_WINDOW;\n\t\taccelerator = win;\n\t} else {\n\t\tif (win.isDestroyed()) {\n\t\t\tdebug('Early return because window is destroyed.');\n\t\t\treturn;\n\t\t}\n\n\t\twc = win.webContents;\n\t}\n\n\tif (Array.isArray(accelerator) === true) {\n\t\taccelerator.forEach(accelerator => {\n\t\t\tif (typeof accelerator === 'string') {\n\t\t\t\tunregister(win, accelerator);\n\t\t\t}\n\t\t});\n\t\treturn;\n\t}\n\n\tdebug(`Unregistering callback for ${accelerator} on window ${title(win)}`);\n\n\t_checkAccelerator(accelerator);\n\n\tdebug(`${accelerator} seems a valid shortcut sequence.`);\n\n\tif (!windowsWithShortcuts.has(wc)) {\n\t\tdebug('Early return because window has never had shortcuts registered.');\n\t\treturn;\n\t}\n\n\tconst shortcutsOfWindow = windowsWithShortcuts.get(wc);\n\n\tconst eventStamp = toKeyEvent(accelerator);\n\tconst shortcutIdx = _findShortcut(eventStamp, shortcutsOfWindow);\n\tif (shortcutIdx === -1) {\n\t\treturn;\n\t}\n\n\tshortcutsOfWindow.splice(shortcutIdx, 1);\n\n\t// If the window has no more shortcuts,\n\t// we remove it early from the WeakMap\n\t// and unregistering the event listener\n\tif (shortcutsOfWindow.length === 0) {\n\t\t// Remove listener from window\n\t\tshortcutsOfWindow.removeListener();\n\n\t\t// Remove window from shortcuts catalog\n\t\twindowsWithShortcuts.delete(wc);\n\t}\n}\n\n/**\n * Returns `true` or `false` depending on whether the shortcut `accelerator`\n * is registered on `window`.\n * @param {BrowserWindow} win - BrowserWindow instance to check. This argument\n * could be omitted, in this case the function returns whether the shortcut\n * `accelerator` is registered on all app windows. If you registered the\n * shortcut on a particular window instance, it return false.\n * @param {String} accelerator - the shortcut to check\n * @return {Boolean} - if the shortcut `accelerator` is registered on `window`.\n */\nfunction isRegistered(win, accelerator) {\n\t_checkAccelerator(accelerator);\n\tconst wc = win.webContents;\n\tconst shortcutsOfWindow = windowsWithShortcuts.get(wc);\n\tconst eventStamp = toKeyEvent(accelerator);\n\n\treturn _findShortcut(eventStamp, shortcutsOfWindow) !== -1;\n}\n\nmodule.exports = {\n\tregister,\n\tunregister,\n\tisRegistered,\n\tunregisterAll,\n\tenableAll,\n\tdisableAll\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-localshortcut/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-log/src/catchErrors.js": -/*!******************************************************!*\ - !*** ./node_modules/electron-log/src/catchErrors.js ***! - \******************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\n/**\n * Some ideas from sindresorhus/electron-unhandled\n */\n\nvar electronApi = __webpack_require__(/*! ./electronApi */ \"./node_modules/electron-log/src/electronApi.js\");\nvar queryString = __webpack_require__(/*! querystring */ \"querystring\");\n\nvar isAttached = false;\n\nmodule.exports = function catchErrors(options) {\n if (isAttached) return { stop: stop };\n isAttached = true;\n\n if (process.type === 'renderer') {\n window.addEventListener('error', onRendererError);\n window.addEventListener('unhandledrejection', onRendererRejection);\n } else {\n process.on('uncaughtException', onError);\n process.on('unhandledRejection', onRejection);\n }\n\n return { stop: stop };\n\n function onError(e) {\n try {\n if (typeof options.onError === 'function') {\n var versions = electronApi.getVersions();\n if (options.onError(e, versions, createIssue) === false) {\n return;\n }\n }\n\n options.log('Unhandled Exception', e);\n\n if (options.showDialog && e.name.indexOf('UnhandledRejection') < 0) {\n var type = process.type || 'main';\n electronApi.showErrorBox(\n 'A JavaScript error occurred in the ' + type + ' process',\n e.stack\n );\n }\n } catch (logError) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n }\n\n function onRejection(reason) {\n if (reason instanceof Error) {\n try {\n Object.defineProperty(reason, 'name', {\n value: 'UnhandledRejection ' + reason.name,\n });\n } catch (e) {\n // Can't redefine error name, but who cares?\n }\n\n onError(reason);\n return;\n }\n\n var error = new Error(JSON.stringify(reason));\n error.name = 'UnhandledRejection';\n onError(error);\n }\n\n function onRendererError(event) {\n event.preventDefault();\n onError(event.error);\n }\n\n function onRendererRejection(event) {\n event.preventDefault();\n onRejection(event.reason);\n }\n\n function stop() {\n isAttached = false;\n\n if (process.type === 'renderer') {\n window.removeEventListener('error', onRendererError);\n window.removeEventListener('unhandledrejection', onRendererRejection);\n } else {\n process.removeListener('uncaughtException', onError);\n process.removeListener('unhandledRejection', onRejection);\n }\n }\n\n function createIssue(pageUrl, queryParams) {\n var issueUrl = pageUrl + '?' + queryString.stringify(queryParams);\n electronApi.openUrl(issueUrl, options.log);\n }\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-log/src/catchErrors.js?"); - -/***/ }), - -/***/ "./node_modules/electron-log/src/electronApi.js": -/*!******************************************************!*\ - !*** ./node_modules/electron-log/src/electronApi.js ***! - \******************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\n/**\n * Split Electron API from the main code\n */\n\nvar path = __webpack_require__(/*! path */ \"path\");\nvar electron;\ntry {\n // eslint-disable-next-line global-require\n electron = __webpack_require__(/*! electron */ \"electron\");\n} catch (e) {\n electron = null;\n}\n\nvar os = __webpack_require__(/*! os */ \"os\");\n\nmodule.exports = {\n getName: getName,\n getPath: getPath,\n getVersion: getVersion,\n getVersions: getVersions,\n isDev: isDev,\n isElectron: isElectron,\n isIpcChannelListened: isIpcChannelListened,\n loadRemoteModule: loadRemoteModule,\n onIpc: onIpc,\n openUrl: openUrl,\n sendIpc: sendIpc,\n showErrorBox: showErrorBox,\n};\n\nfunction getApp() {\n return getElectronModule('app');\n}\n\nfunction getName() {\n var app = getApp();\n if (!app) return null;\n\n return 'name' in app ? app.name : app.getName();\n}\n\nfunction getElectronModule(name) {\n if (!electron) {\n return null;\n }\n\n if (electron[name]) {\n return electron[name];\n }\n\n if (electron.remote) {\n return electron.remote[name];\n }\n\n return null;\n}\n\nfunction getIpc() {\n if (process.type === 'browser' && electron && electron.ipcMain) {\n return electron.ipcMain;\n }\n\n if (process.type === 'renderer' && electron && electron.ipcRenderer) {\n return electron.ipcRenderer;\n }\n\n return null;\n}\n\nfunction getPath(name) {\n var app = getApp();\n if (!app) return null;\n\n try {\n return app.getPath(name);\n } catch (e) {\n return null;\n }\n}\n\nfunction getVersion() {\n var app = getApp();\n if (!app) return null;\n\n return 'version' in app ? app.version : app.getVersion();\n}\n\nfunction getVersions() {\n return {\n app: getName() + ' ' + getVersion(),\n electron: 'Electron ' + process.versions.electron,\n os: getOsVersion(),\n };\n}\n\nfunction getOsVersion() {\n var osName = os.type().replace('_', ' ');\n var osVersion = os.release();\n\n if (osName === 'Darwin') {\n osName = 'macOS';\n osVersion = getMacOsVersion();\n }\n\n return osName + ' ' + osVersion;\n}\n\nfunction getMacOsVersion() {\n var release = Number(os.release().split('.')[0]);\n return '10.' + (release - 4);\n}\n\nfunction isDev() {\n var app = getApp();\n\n if (app && app.isPackaged !== undefined) {\n return !app.isPackaged;\n }\n\n if (typeof process.execPath === 'string') {\n var execFileName = path.basename(process.execPath).toLowerCase();\n return execFileName.startsWith('electron');\n }\n\n return true\n || 0;\n}\n\nfunction isElectron() {\n return process.type === 'browser' || process.type === 'renderer';\n}\n\n/**\n * Return true if the process listens for the IPC channel\n * @param {string} channel\n */\nfunction isIpcChannelListened(channel) {\n var ipc = getIpc();\n return ipc ? ipc.listenerCount(channel) > 0 : false;\n}\n\n/**\n * Try to load the module in the opposite process\n * @param {string} moduleName\n */\nfunction loadRemoteModule(moduleName) {\n if (process.type === 'browser') {\n getApp().on('web-contents-created', function (e, contents) {\n var promise = contents.executeJavaScript(\n 'try {require(\"' + moduleName + '\")} catch(e){}; void 0;'\n );\n\n // Do nothing on error, just prevent Unhandled rejection\n if (promise && typeof promise.catch === 'function') {\n promise.catch(function () {});\n }\n });\n } else if (process.type === 'renderer') {\n // Previously, it was electron.remote.require(moduleName)\n // but now the remote module is deprecated\n }\n}\n\n/**\n * Listen to async messages sent from opposite process\n * @param {string} channel\n * @param {function} listener\n */\nfunction onIpc(channel, listener) {\n var ipc = getIpc();\n if (ipc) {\n ipc.on(channel, listener);\n }\n}\n\n/**\n * Sent a message to opposite process\n * @param {string} channel\n * @param {any} message\n */\nfunction sendIpc(channel, message) {\n if (process.type === 'browser') {\n sendIpcToRenderer(channel, message);\n } else if (process.type === 'renderer') {\n sendIpcToMain(channel, message);\n }\n}\n\nfunction sendIpcToMain(channel, message) {\n var ipc = getIpc();\n if (ipc) {\n ipc.send(channel, message);\n }\n}\n\nfunction sendIpcToRenderer(channel, message) {\n if (!electron || !electron.BrowserWindow) {\n return;\n }\n\n electron.BrowserWindow.getAllWindows().forEach(function (wnd) {\n if (wnd.webContents && !wnd.webContents.isDestroyed()) {\n wnd.webContents.send(channel, message);\n }\n });\n}\n\nfunction showErrorBox(title, message) {\n var dialog = getElectronModule('dialog');\n if (!dialog) return;\n\n dialog.showErrorBox(title, message);\n}\n\n/**\n * @param {string} url\n * @param {Function} [logFunction]\n */\nfunction openUrl(url, logFunction) {\n // eslint-disable-next-line no-console\n logFunction = logFunction || console.error;\n\n var shell = getElectronModule('shell');\n if (!shell) return;\n\n shell.openExternal(url).catch(logFunction);\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-log/src/electronApi.js?"); - -/***/ }), - -/***/ "./node_modules/electron-log/src/index.js": -/*!************************************************!*\ - !*** ./node_modules/electron-log/src/index.js ***! - \************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nvar catchErrors = __webpack_require__(/*! ./catchErrors */ \"./node_modules/electron-log/src/catchErrors.js\");\nvar electronApi = __webpack_require__(/*! ./electronApi */ \"./node_modules/electron-log/src/electronApi.js\");\nvar log = __webpack_require__(/*! ./log */ \"./node_modules/electron-log/src/log.js\");\nvar scopeFactory = __webpack_require__(/*! ./scope */ \"./node_modules/electron-log/src/scope.js\");\nvar transportConsole = __webpack_require__(/*! ./transports/console */ \"./node_modules/electron-log/src/transports/console.js\");\nvar transportFile = __webpack_require__(/*! ./transports/file */ \"./node_modules/electron-log/src/transports/file/index.js\");\nvar transportIpc = __webpack_require__(/*! ./transports/ipc */ \"./node_modules/electron-log/src/transports/ipc.js\");\nvar transportRemote = __webpack_require__(/*! ./transports/remote */ \"./node_modules/electron-log/src/transports/remote.js\");\n\nmodule.exports = create('default');\nmodule.exports[\"default\"] = module.exports;\n\n/**\n * @param {string} logId\n * @return {ElectronLog.ElectronLog}\n */\nfunction create(logId) {\n /**\n * @type {ElectronLog.ElectronLog}\n */\n var instance = {\n catchErrors: function callCatchErrors(options) {\n var opts = Object.assign({}, {\n log: instance.error,\n showDialog: process.type === 'browser',\n }, options || {});\n\n catchErrors(opts);\n },\n create: create,\n functions: {},\n hooks: [],\n isDev: electronApi.isDev(),\n levels: [],\n logId: logId,\n variables: {\n processType: process.type,\n },\n };\n\n instance.scope = scopeFactory(instance);\n\n instance.transports = {\n console: transportConsole(instance),\n file: transportFile(instance),\n remote: transportRemote(instance),\n ipc: transportIpc(instance),\n };\n\n Object.defineProperty(instance.levels, 'add', {\n enumerable: false,\n value: function add(name, index) {\n index = index === undefined ? instance.levels.length : index;\n instance.levels.splice(index, 0, name);\n instance[name] = log.log.bind(null, instance, { level: name });\n instance.functions[name] = instance[name];\n },\n });\n\n ['error', 'warn', 'info', 'verbose', 'debug', 'silly'].forEach(\n function (level) { instance.levels.add(level) }\n );\n\n instance.log = log.log.bind(null, instance, { level: 'info' });\n instance.functions.log = instance.log;\n\n instance.logMessageWithTransports = function logMessageWithTransports(\n message,\n transports\n ) {\n if (message.date === undefined) {\n message.date = new Date();\n }\n\n if (message.variables === undefined) {\n message.variables = instance.variables;\n }\n\n return log.runTransports(transports, message, instance);\n };\n\n return instance;\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-log/src/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-log/src/log.js": -/*!**********************************************!*\ - !*** ./node_modules/electron-log/src/log.js ***! - \**********************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\nmodule.exports = {\n compareLevels: compareLevels,\n log: log,\n runTransport: runTransport,\n runTransports: runTransports,\n};\n\nfunction log(electronLog, options) {\n var transports = electronLog.transports;\n\n var message = {\n data: Array.prototype.slice.call(arguments, 2),\n date: new Date(),\n level: options.level,\n scope: options.scope ? options.scope.toJSON() : null,\n variables: electronLog.variables,\n };\n\n runTransports(transports, message, electronLog);\n}\n\nfunction runTransports(transports, message, electronLog) {\n for (var i in transports) {\n if (Object.prototype.hasOwnProperty.call(transports, i)) {\n runTransport(transports[i], message, electronLog);\n }\n }\n}\n\nfunction runTransport(transport, message, electronLog) {\n if (typeof transport !== 'function' || transport.level === false) {\n return;\n }\n\n if (!compareLevels(electronLog.levels, transport.level, message.level)) {\n return;\n }\n\n message = runHooks(electronLog.hooks, transport, message);\n\n if (message) {\n transport(message);\n }\n}\n\nfunction compareLevels(levels, passLevel, checkLevel) {\n var pass = levels.indexOf(passLevel);\n var check = levels.indexOf(checkLevel);\n if (check === -1 || pass === -1) {\n return true;\n }\n\n return check <= pass;\n}\n\nfunction runHooks(hooks, transport, message) {\n if (!hooks || !hooks.length) {\n return message;\n }\n\n // eslint-disable-next-line no-plusplus\n for (var i = 0; i < hooks.length; i++) {\n message = hooks[i](message, transport);\n if (!message) break;\n }\n\n return message;\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-log/src/log.js?"); - -/***/ }), - -/***/ "./node_modules/electron-log/src/scope.js": -/*!************************************************!*\ - !*** ./node_modules/electron-log/src/scope.js ***! - \************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nvar log = (__webpack_require__(/*! ./log */ \"./node_modules/electron-log/src/log.js\").log);\n\nmodule.exports = scopeFactory;\n\n/**\n * @param {ElectronLog.ElectronLog} electronLog\n * @return {ElectronLog.Scope}\n */\nfunction scopeFactory(electronLog) {\n scope.labelPadding = true;\n scope.defaultLabel = '';\n\n /** @private */\n scope.maxLabelLength = 0;\n\n /**\n * @type {typeof getOptions}\n * @package\n */\n scope.getOptions = getOptions;\n\n return scope;\n\n function scope(label) {\n var instance = {\n label: label,\n toJSON: function () {\n return {\n label: this.label,\n };\n },\n };\n\n electronLog.levels.forEach(function (level) {\n instance[level] = log.bind(null, electronLog, {\n level: level,\n scope: instance,\n });\n });\n\n instance.log = instance.info;\n\n scope.maxLabelLength = Math.max(scope.maxLabelLength, label.length);\n\n return instance;\n }\n\n function getOptions() {\n return {\n defaultLabel: scope.defaultLabel,\n labelLength: getLabelLength(),\n };\n }\n\n function getLabelLength() {\n if (scope.labelPadding === true) {\n return scope.maxLabelLength;\n }\n\n if (scope.labelPadding === false) {\n return 0;\n }\n\n if (typeof scope.labelPadding === 'number') {\n return scope.labelPadding;\n }\n\n return 0;\n }\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-log/src/scope.js?"); - -/***/ }), - -/***/ "./node_modules/electron-log/src/transform/index.js": -/*!**********************************************************!*\ - !*** ./node_modules/electron-log/src/transform/index.js ***! - \**********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nvar object = __webpack_require__(/*! ./object */ \"./node_modules/electron-log/src/transform/object.js\");\nvar style = __webpack_require__(/*! ./style */ \"./node_modules/electron-log/src/transform/style.js\");\nvar template = __webpack_require__(/*! ./template */ \"./node_modules/electron-log/src/transform/template.js\");\n\nmodule.exports = {\n applyAnsiStyles: style.applyAnsiStyles,\n concatFirstStringElements: template.concatFirstStringElements,\n customFormatterFactory: customFormatterFactory,\n maxDepthFactory: object.maxDepthFactory,\n removeStyles: style.removeStyles,\n toJSON: object.toJSON,\n toStringFactory: object.toStringFactory,\n transform: transform,\n};\n\nfunction customFormatterFactory(customFormat, concatFirst, scopeOptions) {\n if (typeof customFormat === 'string') {\n return function customStringFormatter(data, message) {\n return transform(message, [\n template.templateVariables,\n template.templateScopeFactory(scopeOptions),\n template.templateDate,\n template.templateText,\n concatFirst && template.concatFirstStringElements,\n ], [customFormat].concat(data));\n };\n }\n\n if (typeof customFormat === 'function') {\n return function customFunctionFormatter(data, message) {\n var modifiedMessage = Object.assign({}, message, { data: data });\n var texts = customFormat(modifiedMessage, data);\n return [].concat(texts);\n };\n }\n\n return function (data) {\n return [].concat(data);\n };\n}\n\nfunction transform(message, transformers, initialData) {\n return transformers.reduce(function (data, transformer) {\n if (typeof transformer === 'function') {\n return transformer(data, message);\n }\n\n return data;\n }, initialData || message.data);\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-log/src/transform/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-log/src/transform/object.js": -/*!***********************************************************!*\ - !*** ./node_modules/electron-log/src/transform/object.js ***! - \***********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nvar util = __webpack_require__(/*! util */ \"util\");\n\nmodule.exports = {\n maxDepthFactory: maxDepthFactory,\n serialize: serialize,\n toJSON: toJSON,\n toStringFactory: toStringFactory,\n};\n\n/**\n * @param {object} options?\n * @param {boolean} options.serializeMapAndSet?\n * @return {function}\n */\nfunction createSerializer(options) {\n var seen = createWeakSet();\n\n return function (key, value) {\n if (typeof value === 'object' && value !== null) {\n if (seen.has(value)) {\n return undefined;\n }\n\n seen.add(value);\n }\n\n return serialize(key, value, options);\n };\n}\n\n/**\n * @return {WeakSet}\n */\nfunction createWeakSet() {\n if (typeof WeakSet !== 'undefined') {\n return new WeakSet();\n }\n\n var cache = [];\n return {\n add: function (value) { cache.push(value) },\n has: function (value) { return cache.indexOf(value) !== -1 },\n };\n}\n\nfunction maxDepth(data, depth) {\n if (!data) {\n return data;\n }\n\n if (depth < 1) {\n if (isArray(data)) return '[array]';\n if (typeof data === 'object' && data) return '[object]';\n\n return data;\n }\n\n if (isArray(data)) {\n return data.map(function (child) {\n return maxDepth(child, depth - 1);\n });\n }\n\n if (typeof data !== 'object') {\n return data;\n }\n\n if (data && typeof data.toISOString === 'function') {\n return data;\n }\n\n // noinspection PointlessBooleanExpressionJS\n if (data === null) {\n return null;\n }\n\n if (data instanceof Error) {\n return data;\n }\n\n var newJson = {};\n for (var i in data) {\n if (!Object.prototype.hasOwnProperty.call(data, i)) continue;\n newJson[i] = maxDepth(data[i], depth - 1);\n }\n\n return newJson;\n}\n\nfunction maxDepthFactory(depth) {\n depth = depth || 6;\n\n return function maxDepthFunction(data) {\n return maxDepth(data, depth);\n };\n}\n\n/**\n * @param {string} key\n * @param {any} value\n * @param {object} options?\n * @return {any}\n */\nfunction serialize(key, value, options) {\n var serializeMapAndSet = !options || options.serializeMapAndSet !== false;\n\n if (value instanceof Error) {\n return value.stack;\n }\n\n if (!value) {\n return value;\n }\n\n if (typeof value.toJSON === 'function') {\n return value.toJSON();\n }\n\n if (typeof value === 'function') {\n return '[function] ' + value.toString();\n }\n\n if (serializeMapAndSet && value instanceof Map && Object.fromEntries) {\n return Object.fromEntries(value);\n }\n\n if (serializeMapAndSet && value instanceof Set && Array.from) {\n return Array.from(value);\n }\n\n return value;\n}\n\nfunction toJSON(data) {\n return JSON.parse(JSON.stringify(data, createSerializer()));\n}\n\nfunction toStringFactory(inspectOptions) {\n return function toStringFunction(data) {\n var simplifiedData = data.map(function (item) {\n if (item === undefined) {\n return undefined;\n }\n\n try {\n var str = JSON.stringify(item, createSerializer(), ' ');\n return str === undefined ? undefined : JSON.parse(str);\n } catch (e) {\n // There are some rare cases when an item can't be simplified.\n // In that case, it's fine to pass it to util.format directly.\n return item;\n }\n });\n\n if (util.formatWithOptions) {\n simplifiedData.unshift(inspectOptions || {});\n return util.formatWithOptions.apply(util, simplifiedData);\n }\n\n return util.format.apply(util, simplifiedData);\n };\n}\n\nfunction isArray(value) {\n return Object.prototype.toString.call(value) === '[object Array]';\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-log/src/transform/object.js?"); - -/***/ }), - -/***/ "./node_modules/electron-log/src/transform/style.js": -/*!**********************************************************!*\ - !*** ./node_modules/electron-log/src/transform/style.js ***! - \**********************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\nmodule.exports = {\n applyAnsiStyles: applyAnsiStyles,\n removeStyles: removeStyles,\n transformStyles: transformStyles,\n};\n\nvar ANSI_COLORS = {\n unset: '\\x1b[0m',\n black: '\\x1b[30m',\n red: '\\x1b[31m',\n green: '\\x1b[32m',\n yellow: '\\x1b[33m',\n blue: '\\x1b[34m',\n magenta: '\\x1b[35m',\n cyan: '\\x1b[36m',\n white: '\\x1b[37m',\n};\n\nfunction applyAnsiStyles(data) {\n return transformStyles(data, styleToAnsi, resetAnsiStyle);\n}\n\nfunction styleToAnsi(style) {\n var color = style.replace(/color:\\s*(\\w+).*/, '$1').toLowerCase();\n return ANSI_COLORS[color] || '';\n}\n\nfunction resetAnsiStyle(string) {\n return string + ANSI_COLORS.unset;\n}\n\nfunction removeStyles(data) {\n return transformStyles(data, function () { return '' });\n}\n\nfunction transformStyles(data, onStyleFound, onStyleApplied) {\n var foundStyles = {};\n\n return data.reduce(function (result, item, index, array) {\n if (foundStyles[index]) {\n return result;\n }\n\n if (typeof item === 'string') {\n var valueIndex = index;\n var styleApplied = false;\n\n item = item.replace(/%[1cdfiOos]/g, function (match) {\n valueIndex += 1;\n\n if (match !== '%c') {\n return match;\n }\n\n var style = array[valueIndex];\n if (typeof style === 'string') {\n foundStyles[valueIndex] = true;\n styleApplied = true;\n return onStyleFound(style, item);\n }\n\n return match;\n });\n\n if (styleApplied && onStyleApplied) {\n item = onStyleApplied(item);\n }\n }\n\n result.push(item);\n return result;\n }, []);\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-log/src/transform/style.js?"); - -/***/ }), - -/***/ "./node_modules/electron-log/src/transform/template.js": -/*!*************************************************************!*\ - !*** ./node_modules/electron-log/src/transform/template.js ***! - \*************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\nmodule.exports = {\n concatFirstStringElements: concatFirstStringElements,\n formatDate: formatDate,\n formatTimeZone: formatTimeZone,\n pad: pad,\n padString: padString,\n templateDate: templateDate,\n templateVariables: templateVariables,\n templateScopeFactory: templateScopeFactory,\n templateText: templateText,\n};\n\n/**\n * The first argument of console.log may contain templates. In the library\n * the first element is a string related to transports.console.format. So\n * this function concatenates first two elements to make templates like %d\n * work\n * @param {*[]} data\n * @return {*[]}\n */\nfunction concatFirstStringElements(data) {\n if (typeof data[0] !== 'string' || typeof data[1] !== 'string') {\n return data;\n }\n\n if (data[0].match(/%[1cdfiOos]/)) {\n return data;\n }\n\n data[1] = data[0] + ' ' + data[1];\n data.shift();\n\n return data;\n}\n\nfunction formatDate(template, date) {\n return template\n .replace('{y}', String(date.getFullYear()))\n .replace('{m}', pad(date.getMonth() + 1))\n .replace('{d}', pad(date.getDate()))\n .replace('{h}', pad(date.getHours()))\n .replace('{i}', pad(date.getMinutes()))\n .replace('{s}', pad(date.getSeconds()))\n .replace('{ms}', pad(date.getMilliseconds(), 3))\n .replace('{z}', formatTimeZone(date.getTimezoneOffset()))\n .replace('{iso}', date.toISOString());\n}\n\nfunction formatTimeZone(minutesOffset) {\n var m = Math.abs(minutesOffset);\n return (minutesOffset >= 0 ? '-' : '+')\n + pad(Math.floor(m / 60)) + ':'\n + pad(m % 60);\n}\n\nfunction pad(number, zeros) {\n zeros = zeros || 2;\n return (new Array(zeros + 1).join('0') + number).substr(-zeros, zeros);\n}\n\nfunction padString(value, length) {\n length = Math.max(length, value.length);\n var padValue = Array(length + 1).join(' ');\n return (value + padValue).substring(0, length);\n}\n\nfunction templateDate(data, message) {\n var template = data[0];\n if (typeof template !== 'string') {\n return data;\n }\n\n data[0] = formatDate(template, message.date);\n return data;\n}\n\n/**\n * @param {{ labelLength: number, defaultLabel: string }} options\n */\nfunction templateScopeFactory(options) {\n options = options || {};\n var labelLength = options.labelLength || 0;\n\n return function templateScope(data, message) {\n var template = data[0];\n var label = message.scope && message.scope.label;\n\n if (!label) {\n label = options.defaultLabel;\n }\n\n var scopeText;\n if (label === '') {\n scopeText = labelLength > 0 ? padString('', labelLength + 3) : '';\n } else if (typeof label === 'string') {\n scopeText = padString(' (' + label + ')', labelLength + 3);\n } else {\n scopeText = '';\n }\n\n data[0] = template.replace('{scope}', scopeText);\n return data;\n };\n}\n\nfunction templateVariables(data, message) {\n var template = data[0];\n var variables = message.variables;\n\n if (typeof template !== 'string' || !message.variables) {\n return data;\n }\n\n for (var i in variables) {\n if (!Object.prototype.hasOwnProperty.call(variables, i)) continue;\n template = template.replace('{' + i + '}', variables[i]);\n }\n\n // Add additional space to the end of {level}] template to align messages\n template = template.replace('{level}]', padString(message.level + ']', 6));\n template = template.replace('{level}', message.level);\n\n data[0] = template;\n return data;\n}\n\nfunction templateText(data) {\n var template = data[0];\n if (typeof template !== 'string') {\n return data;\n }\n\n var textTplPosition = template.lastIndexOf('{text}');\n if (textTplPosition === template.length - 6) {\n data[0] = template.replace(/\\s?{text}/, '');\n if (data[0] === '') {\n data.shift();\n }\n\n return data;\n }\n\n var templatePieces = template.split('{text}');\n var result = [];\n\n if (templatePieces[0] !== '') {\n result.push(templatePieces[0]);\n }\n\n result = result.concat(data.slice(1));\n\n if (templatePieces[1] !== '') {\n result.push(templatePieces[1]);\n }\n\n return result;\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-log/src/transform/template.js?"); - -/***/ }), - -/***/ "./node_modules/electron-log/src/transports/console.js": -/*!*************************************************************!*\ - !*** ./node_modules/electron-log/src/transports/console.js ***! - \*************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\n/* eslint-disable no-multi-spaces, no-console */\n\nvar transform = __webpack_require__(/*! ../transform */ \"./node_modules/electron-log/src/transform/index.js\");\n\nvar consoleMethods = {\n context: console,\n error: console.error,\n warn: console.warn,\n info: console.info,\n verbose: console.verbose,\n debug: console.debug,\n silly: console.silly,\n log: console.log,\n};\n\nmodule.exports = consoleTransportFactory;\nmodule.exports.transformRenderer = transformRenderer;\nmodule.exports.transformMain = transformMain;\n\nvar separator = process.platform === 'win32' ? '>' : '›';\nvar DEFAULT_FORMAT = {\n browser: '%c{h}:{i}:{s}.{ms}{scope}%c ' + separator + ' {text}',\n renderer: '{h}:{i}:{s}.{ms}{scope} › {text}',\n worker: '{h}:{i}:{s}.{ms}{scope} › {text}',\n};\n\nfunction consoleTransportFactory(electronLog) {\n transport.level = 'silly';\n transport.useStyles = process.env.FORCE_STYLES;\n transport.format = DEFAULT_FORMAT[process.type] || DEFAULT_FORMAT.browser;\n\n return transport;\n\n function transport(message) {\n var scopeOptions = electronLog.scope.getOptions();\n\n var data;\n if (process.type === 'renderer' || process.type === 'worker') {\n data = transformRenderer(message, transport, scopeOptions);\n } else {\n data = transformMain(message, transport, scopeOptions);\n }\n\n consoleLog(message.level, data);\n }\n}\n\nfunction transformRenderer(message, transport, scopeOptions) {\n return transform.transform(message, [\n transform.customFormatterFactory(transport.format, true, scopeOptions),\n ]);\n}\n\nfunction transformMain(message, transport, scopeOptions) {\n var useStyles = canUseStyles(transport.useStyles, message.level);\n\n return transform.transform(message, [\n addTemplateColorFactory(transport.format),\n transform.customFormatterFactory(transport.format, false, scopeOptions),\n useStyles ? transform.applyAnsiStyles : transform.removeStyles,\n transform.concatFirstStringElements,\n transform.maxDepthFactory(4),\n transform.toJSON,\n ]);\n}\n\nfunction addTemplateColorFactory(format) {\n return function addTemplateColors(data, message) {\n if (format !== DEFAULT_FORMAT.browser) {\n return data;\n }\n\n return ['color:' + levelToStyle(message.level), 'color:unset'].concat(data);\n };\n}\n\nfunction canUseStyles(useStyleValue, level) {\n if (useStyleValue === true || useStyleValue === false) {\n return useStyleValue;\n }\n\n var useStderr = level === 'error' || level === 'warn';\n var stream = useStderr ? process.stderr : process.stdout;\n return stream && stream.isTTY;\n}\n\nfunction consoleLog(level, args) {\n var consoleMethod = consoleMethods[level] || consoleMethods.info;\n\n if (process.type === 'renderer') {\n setTimeout(consoleMethod.bind.apply(\n consoleMethod,\n [consoleMethod.context].concat(args)\n ));\n return;\n }\n\n consoleMethod.apply(consoleMethods.context, args);\n}\n\nfunction levelToStyle(level) {\n switch (level) {\n case 'error': return 'red';\n case 'warn': return 'yellow';\n case 'info': return 'cyan';\n default: return 'unset';\n }\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-log/src/transports/console.js?"); - -/***/ }), - -/***/ "./node_modules/electron-log/src/transports/file/file.js": -/*!***************************************************************!*\ - !*** ./node_modules/electron-log/src/transports/file/file.js ***! - \***************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nvar EventEmitter = __webpack_require__(/*! events */ \"events\");\nvar fs = __webpack_require__(/*! fs */ \"fs\");\nvar os = __webpack_require__(/*! os */ \"os\");\nvar path = __webpack_require__(/*! path */ \"path\");\nvar url = __webpack_require__(/*! url */ \"url\");\nvar util = __webpack_require__(/*! util */ \"util\");\n\nmodule.exports = {\n File: File,\n FileRegistry: FileRegistry,\n NullFile: NullFile,\n};\n\n/**\n * File manipulations on filesystem\n * @class\n * @extends EventEmitter\n * @property {number} size\n *\n * @constructor\n * @param {string} filePath\n * @param {WriteOptions} [writeOptions]\n * @param {boolean} [writeAsync]\n */\nfunction File(filePath, writeOptions, writeAsync) {\n EventEmitter.call(this);\n\n /**\n * @type {string}\n * @readonly\n */\n this.path = filePath;\n\n /**\n * @type {number}\n * @private\n */\n this.initialSize = undefined;\n\n /**\n * @type {number}\n * @readonly\n */\n this.bytesWritten = 0;\n\n /**\n * @type {boolean}\n * @private\n */\n this.writeAsync = Boolean(writeAsync);\n\n /**\n * @type {string[]}\n * @private\n */\n this.asyncWriteQueue = [];\n\n /**\n * @type {boolean}\n * @private\n */\n this.hasActiveAsyncWritting = false;\n\n /**\n * @type {WriteOptions}\n * @private\n */\n this.writeOptions = writeOptions || {\n flag: 'a',\n mode: 438, // 0666\n encoding: 'utf8',\n };\n\n Object.defineProperty(this, 'size', {\n get: this.getSize.bind(this),\n });\n}\n\nutil.inherits(File, EventEmitter);\n\nFile.prototype.clear = function () {\n try {\n fs.writeFileSync(this.path, '', {\n mode: this.writeOptions.mode,\n flag: 'w',\n });\n this.reset();\n return true;\n } catch (e) {\n if (e.code === 'ENOENT') {\n return true;\n }\n\n this.emit('error', e, this);\n return false;\n }\n};\n\nFile.prototype.crop = function (bytesAfter) {\n try {\n var content = readFileSyncFromEnd(this.path, bytesAfter || 4096);\n this.clear();\n this.writeLine('[log cropped]' + os.EOL + content);\n } catch (e) {\n this.emit(\n 'error',\n new Error('Couldn\\'t crop file ' + this.path + '. ' + e.message),\n this\n );\n }\n};\n\nFile.prototype.toString = function () {\n return this.path;\n};\n\n/**\n * @package\n */\nFile.prototype.reset = function () {\n this.initialSize = undefined;\n this.bytesWritten = 0;\n};\n\n/**\n * @package\n */\nFile.prototype.writeLine = function (text) {\n text += os.EOL;\n\n if (this.writeAsync) {\n this.asyncWriteQueue.push(text);\n this.nextAsyncWrite();\n return;\n }\n\n try {\n fs.writeFileSync(this.path, text, this.writeOptions);\n this.increaseBytesWrittenCounter(text);\n } catch (e) {\n this.emit(\n 'error',\n new Error('Couldn\\'t write to ' + this.path + '. ' + e.message),\n this\n );\n }\n};\n\n/**\n * @return {number}\n * @protected\n */\nFile.prototype.getSize = function () {\n if (this.initialSize === undefined) {\n try {\n var stats = fs.statSync(this.path);\n this.initialSize = stats.size;\n } catch (e) {\n this.initialSize = 0;\n }\n }\n\n return this.initialSize + this.bytesWritten;\n};\n\n/**\n * @return {boolean}\n * @package\n */\nFile.prototype.isNull = function () {\n return false;\n};\n\n/**\n * @private\n */\nFile.prototype.increaseBytesWrittenCounter = function (text) {\n this.bytesWritten += Buffer.byteLength(text, this.writeOptions.encoding);\n};\n\n/**\n * @private\n */\nFile.prototype.nextAsyncWrite = function () {\n var file = this;\n\n if (this.hasActiveAsyncWritting || this.asyncWriteQueue.length < 1) {\n return;\n }\n\n var text = this.asyncWriteQueue.shift();\n this.hasActiveAsyncWritting = true;\n\n fs.writeFile(this.path, text, this.writeOptions, function (e) {\n file.hasActiveAsyncWritting = false;\n\n if (e) {\n file.emit(\n 'error',\n new Error('Couldn\\'t write to ' + file.path + '. ' + e.message),\n this\n );\n } else {\n file.increaseBytesWrittenCounter(text);\n }\n\n file.nextAsyncWrite();\n });\n};\n\n/**\n * File manipulations on filesystem\n * @class\n * @property {number} size\n *\n * @constructor\n * @param {string} filePath\n */\nfunction NullFile(filePath) {\n File.call(this, filePath);\n}\n\nutil.inherits(NullFile, File);\n\nNullFile.prototype.clear = function () {};\nNullFile.prototype.crop = function () {};\nNullFile.prototype.writeLine = function () {};\nNullFile.prototype.getSize = function () { return 0 };\nNullFile.prototype.isNull = function () { return true };\n\n/**\n * Collection, key is a file path, value is a File instance\n * @class\n *\n * @constructor\n */\nfunction FileRegistry() {\n EventEmitter.call(this);\n this.store = {};\n\n this.emitError = this.emitError.bind(this);\n}\n\nutil.inherits(FileRegistry, EventEmitter);\n\n/**\n * Provide a File object corresponding to the filePath\n * @param {string} filePath\n * @param {WriteOptions} [writeOptions]\n * @param {boolean} [async]\n * @return {File}\n */\nFileRegistry.prototype.provide = function (filePath, writeOptions, async) {\n var file;\n try {\n filePath = path.resolve(filePath);\n\n if (this.store[filePath]) {\n return this.store[filePath];\n }\n\n file = this.createFile(filePath, writeOptions, Boolean(async));\n } catch (e) {\n file = new NullFile(filePath);\n this.emitError(e, file);\n }\n\n file.on('error', this.emitError);\n this.store[filePath] = file;\n return file;\n};\n\n/**\n * @param {string} filePath\n * @param {WriteOptions} writeOptions\n * @param {boolean} async\n * @return {File}\n * @private\n */\nFileRegistry.prototype.createFile = function (filePath, writeOptions, async) {\n this.testFileWriting(filePath);\n return new File(filePath, writeOptions, async);\n};\n\n/**\n * @param {Error} error\n * @param {File} file\n * @private\n */\nFileRegistry.prototype.emitError = function (error, file) {\n this.emit('error', error, file);\n};\n\n/**\n * @param {string} filePath\n * @private\n */\nFileRegistry.prototype.testFileWriting = function (filePath) {\n mkDir(path.dirname(filePath));\n fs.writeFileSync(filePath, '', { flag: 'a' });\n};\n\nfunction mkDir(dirPath) {\n var isNode1012 = Boolean(url.fileURLToPath);\n if (isNode1012) {\n fs.mkdirSync(dirPath, { recursive: true });\n return true;\n }\n\n try {\n fs.mkdirSync(dirPath);\n return true;\n } catch (error) {\n if (error.code === 'ENOENT') {\n return mkDir(path.dirname(dirPath)) && mkDir(dirPath);\n }\n\n // eslint-disable-next-line no-useless-catch\n try {\n if (fs.statSync(dirPath).isDirectory()) {\n return true;\n }\n\n // noinspection ExceptionCaughtLocallyJS\n throw error;\n } catch (e) {\n throw e;\n }\n }\n}\n\nfunction readFileSyncFromEnd(filePath, bytesCount) {\n var buffer = Buffer.alloc(bytesCount);\n var stats = fs.statSync(filePath);\n\n var readLength = Math.min(stats.size, bytesCount);\n var offset = Math.max(0, stats.size - bytesCount);\n\n var fd = fs.openSync(filePath, 'r');\n var totalBytes = fs.readSync(fd, buffer, 0, readLength, offset);\n fs.closeSync(fd);\n\n return buffer.toString('utf8', 0, totalBytes);\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-log/src/transports/file/file.js?"); - -/***/ }), - -/***/ "./node_modules/electron-log/src/transports/file/index.js": -/*!****************************************************************!*\ - !*** ./node_modules/electron-log/src/transports/file/index.js ***! - \****************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nvar fs = __webpack_require__(/*! fs */ \"fs\");\nvar path = __webpack_require__(/*! path */ \"path\");\nvar os = __webpack_require__(/*! os */ \"os\");\nvar util = __webpack_require__(/*! util */ \"util\");\nvar transform = __webpack_require__(/*! ../../transform */ \"./node_modules/electron-log/src/transform/index.js\");\nvar FileRegistry = (__webpack_require__(/*! ./file */ \"./node_modules/electron-log/src/transports/file/file.js\").FileRegistry);\nvar variables = __webpack_require__(/*! ./variables */ \"./node_modules/electron-log/src/transports/file/variables.js\");\n\nmodule.exports = fileTransportFactory;\n\n// Shared between multiple file transport instances\nvar globalRegistry = new FileRegistry();\n\nfunction fileTransportFactory(electronLog, customRegistry) {\n var pathVariables = variables.getPathVariables(process.platform);\n\n var registry = customRegistry || globalRegistry;\n if (registry.listenerCount('error') < 1) {\n registry.on('error', function (e, file) {\n logConsole('Can\\'t write to ' + file, e);\n });\n }\n\n /* eslint-disable no-multi-spaces */\n transport.archiveLog = archiveLog;\n transport.depth = 5;\n transport.fileName = getDefaultFileName();\n transport\n .format = '[{y}-{m}-{d} {h}:{i}:{s}.{ms}] [{level}]{scope} {text}';\n transport.getFile = getFile;\n transport.level = 'silly';\n transport.maxSize = 1024 * 1024;\n transport.readAllLogs = readAllLogs;\n transport.resolvePath = resolvePath;\n transport.sync = true;\n transport.writeOptions = {\n flag: 'a',\n mode: 438, // 0666\n encoding: 'utf8',\n };\n transport.inspectOptions = {};\n\n initDeprecated();\n\n return transport;\n\n function transport(message) {\n var file = getFile(message);\n\n var needLogRotation = transport.maxSize > 0\n && file.size > transport.maxSize;\n\n if (needLogRotation) {\n transport.archiveLog(file);\n file.reset();\n }\n\n var scopeOptions = electronLog.scope.getOptions();\n var inspectOptions = Object.assign(\n { depth: transport.depth },\n transport.inspectOptions\n );\n var content = transform.transform(message, [\n transform.removeStyles,\n transform.customFormatterFactory(transport.format, false, scopeOptions),\n transform.concatFirstStringElements,\n transform.toStringFactory(inspectOptions),\n ]);\n\n file.writeLine(content);\n }\n\n function archiveLog(file) {\n var oldPath = file.toString();\n var inf = path.parse(oldPath);\n try {\n fs.renameSync(oldPath, path.join(inf.dir, inf.name + '.old' + inf.ext));\n } catch (e) {\n logConsole('Could not rotate log', e);\n var quarterOfMaxSize = Math.round(transport.maxSize / 4);\n file.crop(Math.min(quarterOfMaxSize, 256 * 1024));\n }\n }\n\n function logConsole(message, error) {\n var data = ['electron-log.transports.file: ' + message];\n\n if (error) {\n data.push(error);\n }\n\n electronLog.transports.console({\n data: data,\n date: new Date(),\n level: 'warn',\n });\n }\n\n function getFile(msg) {\n var vars = Object.assign({}, pathVariables, {\n fileName: transport.fileName,\n });\n\n var filePath = transport.resolvePath(vars, msg);\n return registry.provide(filePath, transport.writeOptions, !transport.sync);\n }\n\n /**\n * @param {PathVariables} vars\n */\n function resolvePath(vars) {\n return path.join(vars.libraryDefaultDir, vars.fileName);\n }\n\n function readAllLogs(options) {\n var fileFilter = options && typeof options.fileFilter === 'function'\n ? options.fileFilter\n : function (fileName) { return fileName.endsWith('.log') };\n\n var vars = Object.assign({}, pathVariables, {\n fileName: transport.fileName,\n });\n var logsPath = path.dirname(transport.resolvePath(vars));\n\n return fs.readdirSync(logsPath)\n .map(function (fileName) { return path.join(logsPath, fileName) })\n .filter(fileFilter)\n .map(function (logPath) {\n try {\n return {\n path: logPath,\n lines: fs.readFileSync(logPath, 'utf8').split(os.EOL),\n };\n } catch (e) {\n return null;\n }\n })\n .filter(Boolean);\n }\n\n function initDeprecated() {\n var isDeprecatedText = ' is deprecated and will be removed in v5.';\n var isDeprecatedProp = ' property' + isDeprecatedText;\n\n Object.defineProperties(transport, {\n bytesWritten: {\n get: util.deprecate(getBytesWritten, 'bytesWritten' + isDeprecatedProp),\n },\n\n file: {\n get: util.deprecate(getLogFile, 'file' + isDeprecatedProp),\n set: util.deprecate(setLogFile, 'file' + isDeprecatedProp),\n },\n\n fileSize: {\n get: util.deprecate(getFileSize, 'file' + isDeprecatedProp),\n },\n });\n\n transport.clear = util.deprecate(clear, 'clear()' + isDeprecatedText);\n transport.findLogPath = util.deprecate(\n getLogFile,\n 'findLogPath()' + isDeprecatedText\n );\n transport.init = util.deprecate(init, 'init()' + isDeprecatedText);\n\n function getBytesWritten() {\n return getFile().bytesWritten;\n }\n\n function getLogFile() {\n return getFile().path;\n }\n\n function setLogFile(filePath) {\n transport.resolvePath = function () {\n return filePath;\n };\n }\n\n function getFileSize() {\n return getFile().size;\n }\n\n function clear() {\n getFile().clear();\n }\n\n function init() {}\n }\n}\n\nfunction getDefaultFileName() {\n switch (process.type) {\n case 'renderer': return 'renderer.log';\n case 'worker': return 'worker.log';\n default: return 'main.log';\n }\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-log/src/transports/file/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-log/src/transports/file/packageJson.js": -/*!**********************************************************************!*\ - !*** ./node_modules/electron-log/src/transports/file/packageJson.js ***! - \**********************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\n/* eslint-disable consistent-return */\n\nvar fs = __webpack_require__(/*! fs */ \"fs\");\nvar path = __webpack_require__(/*! path */ \"path\");\n\nmodule.exports = {\n readPackageJson: readPackageJson,\n tryReadJsonAt: tryReadJsonAt,\n};\n\n/**\n * @return {{ name?: string, version?: string}}\n */\nfunction readPackageJson() {\n return tryReadJsonAt(__webpack_require__.c[__webpack_require__.s] && __webpack_require__.c[__webpack_require__.s].filename)\n || tryReadJsonAt(extractPathFromArgs())\n || tryReadJsonAt(process.resourcesPath, 'app.asar')\n || tryReadJsonAt(process.resourcesPath, 'app')\n || tryReadJsonAt(process.cwd())\n || { name: null, version: null };\n}\n\n/**\n * @param {...string} searchPath\n * @return {{ name?: string, version?: string } | null}\n */\nfunction tryReadJsonAt(searchPath) {\n if (!searchPath) {\n return null;\n }\n\n try {\n searchPath = path.join.apply(path, arguments);\n var fileName = findUp('package.json', searchPath);\n if (!fileName) {\n return null;\n }\n\n var json = JSON.parse(fs.readFileSync(fileName, 'utf8'));\n var name = json.productName || json.name;\n if (!name || name.toLowerCase() === 'electron') {\n return null;\n }\n\n if (json.productName || json.name) {\n return {\n name: name,\n version: json.version,\n };\n }\n } catch (e) {\n return null;\n }\n}\n\n/**\n * @param {string} fileName\n * @param {string} [cwd]\n * @return {string | null}\n */\nfunction findUp(fileName, cwd) {\n var currentPath = cwd;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n var parsedPath = path.parse(currentPath);\n var root = parsedPath.root;\n var dir = parsedPath.dir;\n\n if (fs.existsSync(path.join(currentPath, fileName))) {\n return path.resolve(path.join(currentPath, fileName));\n }\n\n if (currentPath === root) {\n return null;\n }\n\n currentPath = dir;\n }\n}\n\n/**\n * Get app path from --user-data-dir cmd arg, passed to a renderer process\n * @return {string|null}\n */\nfunction extractPathFromArgs() {\n var matchedArgs = process.argv.filter(function (arg) {\n return arg.indexOf('--user-data-dir=') === 0;\n });\n\n if (matchedArgs.length === 0 || typeof matchedArgs[0] !== 'string') {\n return null;\n }\n\n var userDataDir = matchedArgs[0];\n return userDataDir.replace('--user-data-dir=', '');\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-log/src/transports/file/packageJson.js?"); - -/***/ }), - -/***/ "./node_modules/electron-log/src/transports/file/variables.js": -/*!********************************************************************!*\ - !*** ./node_modules/electron-log/src/transports/file/variables.js ***! - \********************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nvar os = __webpack_require__(/*! os */ \"os\");\nvar path = __webpack_require__(/*! path */ \"path\");\nvar electronApi = __webpack_require__(/*! ../../electronApi */ \"./node_modules/electron-log/src/electronApi.js\");\nvar packageJson = __webpack_require__(/*! ./packageJson */ \"./node_modules/electron-log/src/transports/file/packageJson.js\");\n\nmodule.exports = {\n getAppData: getAppData,\n getLibraryDefaultDir: getLibraryDefaultDir,\n getLibraryTemplate: getLibraryTemplate,\n getNameAndVersion: getNameAndVersion,\n getPathVariables: getPathVariables,\n getUserData: getUserData,\n};\n\nfunction getAppData(platform) {\n var appData = electronApi.getPath('appData');\n if (appData) {\n return appData;\n }\n\n var home = getHome();\n\n switch (platform) {\n case 'darwin': {\n return path.join(home, 'Library/Application Support');\n }\n\n case 'win32': {\n return process.env.APPDATA || path.join(home, 'AppData/Roaming');\n }\n\n default: {\n return process.env.XDG_CONFIG_HOME || path.join(home, '.config');\n }\n }\n}\n\nfunction getHome() {\n return os.homedir ? os.homedir() : process.env.HOME;\n}\n\nfunction getLibraryDefaultDir(platform, appName) {\n if (platform === 'darwin') {\n return path.join(getHome(), 'Library/Logs', appName);\n }\n\n return path.join(getUserData(platform, appName), 'logs');\n}\n\nfunction getLibraryTemplate(platform) {\n if (platform === 'darwin') {\n return path.join(getHome(), 'Library/Logs', '{appName}');\n }\n\n return path.join(getAppData(platform), '{appName}', 'logs');\n}\n\nfunction getNameAndVersion() {\n var name = electronApi.getName() || '';\n var version = electronApi.getVersion();\n\n if (name.toLowerCase() === 'electron') {\n name = '';\n version = '';\n }\n\n if (name && version) {\n return { name: name, version: version };\n }\n\n var packageValues = packageJson.readPackageJson();\n if (!name) {\n name = packageValues.name;\n }\n\n if (!version) {\n version = packageValues.version;\n }\n\n if (!name) {\n // Fallback, otherwise file transport can't be initialized\n name = 'Electron';\n }\n\n return { name: name, version: version };\n}\n\n/**\n * @param {string} platform\n * @return {PathVariables}\n */\nfunction getPathVariables(platform) {\n var nameAndVersion = getNameAndVersion();\n var appName = nameAndVersion.name;\n var appVersion = nameAndVersion.version;\n\n return {\n appData: getAppData(platform),\n appName: appName,\n appVersion: appVersion,\n electronDefaultDir: electronApi.getPath('logs'),\n home: getHome(),\n libraryDefaultDir: getLibraryDefaultDir(platform, appName),\n libraryTemplate: getLibraryTemplate(platform),\n temp: electronApi.getPath('temp') || os.tmpdir(),\n userData: getUserData(platform, appName),\n };\n}\n\nfunction getUserData(platform, appName) {\n if (electronApi.getName() !== appName) {\n return path.join(getAppData(platform), appName);\n }\n\n return electronApi.getPath('userData')\n || path.join(getAppData(platform), appName);\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-log/src/transports/file/variables.js?"); - -/***/ }), - -/***/ "./node_modules/electron-log/src/transports/ipc.js": -/*!*********************************************************!*\ - !*** ./node_modules/electron-log/src/transports/ipc.js ***! - \*********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nvar transform = __webpack_require__(/*! ../transform */ \"./node_modules/electron-log/src/transform/index.js\");\nvar electronApi = __webpack_require__(/*! ../electronApi */ \"./node_modules/electron-log/src/electronApi.js\");\nvar log = __webpack_require__(/*! ../log.js */ \"./node_modules/electron-log/src/log.js\");\n\nmodule.exports = ipcTransportFactory;\n\nfunction ipcTransportFactory(electronLog) {\n transport.eventId = '__ELECTRON_LOG_IPC_' + electronLog.logId + '__';\n transport.level = electronLog.isDev ? 'silly' : false;\n\n // Prevent problems when there are multiple instances after webpack\n if (electronApi.isIpcChannelListened(transport.eventId)) {\n return function () {};\n }\n\n electronApi.onIpc(transport.eventId, function (_, message) {\n message.date = new Date(message.date);\n\n log.runTransport(\n electronLog.transports.console,\n message,\n electronLog\n );\n });\n\n electronApi.loadRemoteModule('electron-log');\n\n return electronApi.isElectron() ? transport : null;\n\n function transport(message) {\n var ipcMessage = Object.assign({}, message, {\n data: transform.transform(message, [\n transform.toJSON,\n transform.maxDepthFactory(3),\n ]),\n });\n\n electronApi.sendIpc(transport.eventId, ipcMessage);\n }\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-log/src/transports/ipc.js?"); - -/***/ }), - -/***/ "./node_modules/electron-log/src/transports/remote.js": -/*!************************************************************!*\ - !*** ./node_modules/electron-log/src/transports/remote.js ***! - \************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nvar http = __webpack_require__(/*! http */ \"http\");\nvar https = __webpack_require__(/*! https */ \"https\");\nvar url = __webpack_require__(/*! url */ \"url\");\nvar transform = __webpack_require__(/*! ../transform */ \"./node_modules/electron-log/src/transform/index.js\");\n\nmodule.exports = remoteTransportFactory;\n\nfunction remoteTransportFactory(electronLog) {\n transport.client = { name: 'electron-application' };\n transport.depth = 6;\n transport.level = false;\n transport.requestOptions = {};\n transport.url = null;\n transport.onError = null;\n transport.transformBody = function (body) { return JSON.stringify(body) };\n\n return transport;\n\n function transport(message) {\n if (!transport.url) return;\n\n var body = transport.transformBody({\n client: transport.client,\n data: transform.transform(message, [\n transform.removeStyles,\n transform.toJSON,\n transform.maxDepthFactory(transport.depth + 1),\n ]),\n date: message.date.getTime(),\n level: message.level,\n variables: message.variables,\n });\n\n var request = post(\n transport.url,\n transport.requestOptions,\n Buffer.from(body, 'utf8')\n );\n\n request.on('error', transport.onError || onError);\n\n function onError(error) {\n electronLog.logMessageWithTransports(\n {\n data: [\n 'electron-log.transports.remote:'\n + ' cannot send HTTP request to ' + transport.url,\n error,\n ],\n level: 'warn',\n },\n [\n electronLog.transports.console,\n electronLog.transports.ipc,\n electronLog.transports.file,\n ]\n );\n }\n }\n}\n\nfunction post(serverUrl, requestOptions, body) {\n var urlObject = url.parse(serverUrl);\n var httpTransport = urlObject.protocol === 'https:' ? https : http;\n\n var options = {\n hostname: urlObject.hostname,\n port: urlObject.port,\n path: urlObject.path,\n method: 'POST',\n headers: {},\n };\n\n Object.assign(options, requestOptions);\n\n options.headers['Content-Length'] = body.length;\n if (!options.headers['Content-Type']) {\n options.headers['Content-Type'] = 'application/json';\n }\n\n var request = httpTransport.request(options);\n request.write(body);\n request.end();\n\n return request;\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-log/src/transports/remote.js?"); - -/***/ }), - -/***/ "./node_modules/electron-store/index.js": -/*!**********************************************!*\ - !*** ./node_modules/electron-store/index.js ***! - \**********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nconst path = __webpack_require__(/*! path */ \"path\");\nconst {app, ipcMain, ipcRenderer, shell} = __webpack_require__(/*! electron */ \"electron\");\nconst Conf = __webpack_require__(/*! conf */ \"./node_modules/conf/dist/source/index.js\");\n\nlet isInitialized = false;\n\n// Set up the `ipcMain` handler for communication between renderer and main process.\nconst initDataListener = () => {\n\tif (!ipcMain || !app) {\n\t\tthrow new Error('Electron Store: You need to call `.initRenderer()` from the main process.');\n\t}\n\n\tconst appData = {\n\t\tdefaultCwd: app.getPath('userData'),\n\t\tappVersion: app.getVersion()\n\t};\n\n\tif (isInitialized) {\n\t\treturn appData;\n\t}\n\n\tipcMain.on('electron-store-get-data', event => {\n\t\tevent.returnValue = appData;\n\t});\n\n\tisInitialized = true;\n\n\treturn appData;\n};\n\nclass ElectronStore extends Conf {\n\tconstructor(options) {\n\t\tlet defaultCwd;\n\t\tlet appVersion;\n\n\t\t// If we are in the renderer process, we communicate with the main process\n\t\t// to get the required data for the module otherwise, we pull from the main process.\n\t\tif (ipcRenderer) {\n\t\t\tconst appData = ipcRenderer.sendSync('electron-store-get-data');\n\n\t\t\tif (!appData) {\n\t\t\t\tthrow new Error('Electron Store: You need to call `.initRenderer()` from the main process.');\n\t\t\t}\n\n\t\t\t({defaultCwd, appVersion} = appData);\n\t\t} else if (ipcMain && app) {\n\t\t\t({defaultCwd, appVersion} = initDataListener());\n\t\t}\n\n\t\toptions = {\n\t\t\tname: 'config',\n\t\t\t...options\n\t\t};\n\n\t\tif (!options.projectVersion) {\n\t\t\toptions.projectVersion = appVersion;\n\t\t}\n\n\t\tif (options.cwd) {\n\t\t\toptions.cwd = path.isAbsolute(options.cwd) ? options.cwd : path.join(defaultCwd, options.cwd);\n\t\t} else {\n\t\t\toptions.cwd = defaultCwd;\n\t\t}\n\n\t\toptions.configName = options.name;\n\t\tdelete options.name;\n\n\t\tsuper(options);\n\t}\n\n\tstatic initRenderer() {\n\t\tinitDataListener();\n\t}\n\n\topenInEditor() {\n\t\tshell.openPath(this.path);\n\t}\n}\n\nmodule.exports = ElectronStore;\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-store/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-to-chromium/versions.js": -/*!*******************************************************!*\ - !*** ./node_modules/electron-to-chromium/versions.js ***! - \*******************************************************/ -/***/ ((module) => { - -eval("module.exports = {\n\t\"0.20\": \"39\",\n\t\"0.21\": \"41\",\n\t\"0.22\": \"41\",\n\t\"0.23\": \"41\",\n\t\"0.24\": \"41\",\n\t\"0.25\": \"42\",\n\t\"0.26\": \"42\",\n\t\"0.27\": \"43\",\n\t\"0.28\": \"43\",\n\t\"0.29\": \"43\",\n\t\"0.30\": \"44\",\n\t\"0.31\": \"45\",\n\t\"0.32\": \"45\",\n\t\"0.33\": \"45\",\n\t\"0.34\": \"45\",\n\t\"0.35\": \"45\",\n\t\"0.36\": \"47\",\n\t\"0.37\": \"49\",\n\t\"1.0\": \"49\",\n\t\"1.1\": \"50\",\n\t\"1.2\": \"51\",\n\t\"1.3\": \"52\",\n\t\"1.4\": \"53\",\n\t\"1.5\": \"54\",\n\t\"1.6\": \"56\",\n\t\"1.7\": \"58\",\n\t\"1.8\": \"59\",\n\t\"2.0\": \"61\",\n\t\"2.1\": \"61\",\n\t\"3.0\": \"66\",\n\t\"3.1\": \"66\",\n\t\"4.0\": \"69\",\n\t\"4.1\": \"69\",\n\t\"4.2\": \"69\",\n\t\"5.0\": \"73\",\n\t\"6.0\": \"76\",\n\t\"6.1\": \"76\",\n\t\"7.0\": \"78\",\n\t\"7.1\": \"78\",\n\t\"7.2\": \"78\",\n\t\"7.3\": \"78\",\n\t\"8.0\": \"80\",\n\t\"8.1\": \"80\",\n\t\"8.2\": \"80\",\n\t\"8.3\": \"80\",\n\t\"8.4\": \"80\",\n\t\"8.5\": \"80\",\n\t\"9.0\": \"83\",\n\t\"9.1\": \"83\",\n\t\"9.2\": \"83\",\n\t\"9.3\": \"83\",\n\t\"9.4\": \"83\",\n\t\"10.0\": \"85\",\n\t\"10.1\": \"85\",\n\t\"10.2\": \"85\",\n\t\"10.3\": \"85\",\n\t\"10.4\": \"85\",\n\t\"11.0\": \"87\",\n\t\"11.1\": \"87\",\n\t\"11.2\": \"87\",\n\t\"11.3\": \"87\",\n\t\"11.4\": \"87\",\n\t\"11.5\": \"87\",\n\t\"12.0\": \"89\",\n\t\"12.1\": \"89\",\n\t\"12.2\": \"89\",\n\t\"13.0\": \"91\",\n\t\"13.1\": \"91\",\n\t\"13.2\": \"91\",\n\t\"13.3\": \"91\",\n\t\"13.4\": \"91\",\n\t\"13.5\": \"91\",\n\t\"13.6\": \"91\",\n\t\"14.0\": \"93\",\n\t\"14.1\": \"93\",\n\t\"14.2\": \"93\",\n\t\"15.0\": \"94\",\n\t\"15.1\": \"94\",\n\t\"15.2\": \"94\",\n\t\"15.3\": \"94\",\n\t\"15.4\": \"94\",\n\t\"15.5\": \"94\",\n\t\"16.0\": \"96\",\n\t\"16.1\": \"96\",\n\t\"16.2\": \"96\",\n\t\"17.0\": \"98\",\n\t\"17.1\": \"98\",\n\t\"17.2\": \"98\",\n\t\"17.3\": \"98\",\n\t\"17.4\": \"98\",\n\t\"18.0\": \"100\",\n\t\"18.1\": \"100\",\n\t\"18.2\": \"100\",\n\t\"18.3\": \"100\",\n\t\"19.0\": \"102\",\n\t\"19.1\": \"102\",\n\t\"20.0\": \"104\",\n\t\"20.1\": \"104\",\n\t\"20.2\": \"104\",\n\t\"20.3\": \"104\",\n\t\"21.0\": \"106\",\n\t\"21.1\": \"106\",\n\t\"21.2\": \"106\",\n\t\"21.3\": \"106\",\n\t\"21.4\": \"106\",\n\t\"22.0\": \"108\",\n\t\"22.1\": \"108\",\n\t\"22.2\": \"108\",\n\t\"22.3\": \"108\",\n\t\"23.0\": \"110\",\n\t\"23.1\": \"110\",\n\t\"23.2\": \"110\",\n\t\"23.3\": \"110\",\n\t\"24.0\": \"112\",\n\t\"24.1\": \"112\",\n\t\"24.2\": \"112\",\n\t\"24.3\": \"112\",\n\t\"24.4\": \"112\",\n\t\"24.5\": \"112\",\n\t\"24.6\": \"112\",\n\t\"24.7\": \"112\",\n\t\"24.8\": \"112\",\n\t\"25.0\": \"114\",\n\t\"25.1\": \"114\",\n\t\"25.2\": \"114\",\n\t\"25.3\": \"114\",\n\t\"25.4\": \"114\",\n\t\"25.5\": \"114\",\n\t\"25.6\": \"114\",\n\t\"25.7\": \"114\",\n\t\"25.8\": \"114\",\n\t\"25.9\": \"114\",\n\t\"26.0\": \"116\",\n\t\"26.1\": \"116\",\n\t\"26.2\": \"116\",\n\t\"26.3\": \"116\",\n\t\"26.4\": \"116\",\n\t\"26.5\": \"116\",\n\t\"27.0\": \"118\",\n\t\"28.0\": \"120\"\n};\n\n//# sourceURL=webpack://renderer/./node_modules/electron-to-chromium/versions.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/copy/copy-sync.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/copy/copy-sync.js ***! - \***********************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst mkdirsSync = (__webpack_require__(/*! ../mkdirs */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/index.js\").mkdirsSync)\nconst utimesMillisSync = (__webpack_require__(/*! ../util/utimes */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/util/utimes.js\").utimesMillisSync)\nconst stat = __webpack_require__(/*! ../util/stat */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/util/stat.js\")\n\nfunction copySync (src, dest, opts) {\n if (typeof opts === 'function') {\n opts = { filter: opts }\n }\n\n opts = opts || {}\n opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n // Warn about using preserveTimestamps on 32-bit node\n if (opts.preserveTimestamps && process.arch === 'ia32') {\n process.emitWarning(\n 'Using the preserveTimestamps option in 32-bit node is not recommended;\\n\\n' +\n '\\tsee https://github.com/jprichardson/node-fs-extra/issues/269',\n 'Warning', 'fs-extra-WARN0002'\n )\n }\n\n const { srcStat, destStat } = stat.checkPathsSync(src, dest, 'copy', opts)\n stat.checkParentPathsSync(src, srcStat, dest, 'copy')\n return handleFilterAndCopy(destStat, src, dest, opts)\n}\n\nfunction handleFilterAndCopy (destStat, src, dest, opts) {\n if (opts.filter && !opts.filter(src, dest)) return\n const destParent = path.dirname(dest)\n if (!fs.existsSync(destParent)) mkdirsSync(destParent)\n return getStats(destStat, src, dest, opts)\n}\n\nfunction startCopy (destStat, src, dest, opts) {\n if (opts.filter && !opts.filter(src, dest)) return\n return getStats(destStat, src, dest, opts)\n}\n\nfunction getStats (destStat, src, dest, opts) {\n const statSync = opts.dereference ? fs.statSync : fs.lstatSync\n const srcStat = statSync(src)\n\n if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts)\n else if (srcStat.isFile() ||\n srcStat.isCharacterDevice() ||\n srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts)\n else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts)\n else if (srcStat.isSocket()) throw new Error(`Cannot copy a socket file: ${src}`)\n else if (srcStat.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${src}`)\n throw new Error(`Unknown file: ${src}`)\n}\n\nfunction onFile (srcStat, destStat, src, dest, opts) {\n if (!destStat) return copyFile(srcStat, src, dest, opts)\n return mayCopyFile(srcStat, src, dest, opts)\n}\n\nfunction mayCopyFile (srcStat, src, dest, opts) {\n if (opts.overwrite) {\n fs.unlinkSync(dest)\n return copyFile(srcStat, src, dest, opts)\n } else if (opts.errorOnExist) {\n throw new Error(`'${dest}' already exists`)\n }\n}\n\nfunction copyFile (srcStat, src, dest, opts) {\n fs.copyFileSync(src, dest)\n if (opts.preserveTimestamps) handleTimestamps(srcStat.mode, src, dest)\n return setDestMode(dest, srcStat.mode)\n}\n\nfunction handleTimestamps (srcMode, src, dest) {\n // Make sure the file is writable before setting the timestamp\n // otherwise open fails with EPERM when invoked with 'r+'\n // (through utimes call)\n if (fileIsNotWritable(srcMode)) makeFileWritable(dest, srcMode)\n return setDestTimestamps(src, dest)\n}\n\nfunction fileIsNotWritable (srcMode) {\n return (srcMode & 0o200) === 0\n}\n\nfunction makeFileWritable (dest, srcMode) {\n return setDestMode(dest, srcMode | 0o200)\n}\n\nfunction setDestMode (dest, srcMode) {\n return fs.chmodSync(dest, srcMode)\n}\n\nfunction setDestTimestamps (src, dest) {\n // The initial srcStat.atime cannot be trusted\n // because it is modified by the read(2) system call\n // (See https://nodejs.org/api/fs.html#fs_stat_time_values)\n const updatedSrcStat = fs.statSync(src)\n return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime)\n}\n\nfunction onDir (srcStat, destStat, src, dest, opts) {\n if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts)\n return copyDir(src, dest, opts)\n}\n\nfunction mkDirAndCopy (srcMode, src, dest, opts) {\n fs.mkdirSync(dest)\n copyDir(src, dest, opts)\n return setDestMode(dest, srcMode)\n}\n\nfunction copyDir (src, dest, opts) {\n fs.readdirSync(src).forEach(item => copyDirItem(item, src, dest, opts))\n}\n\nfunction copyDirItem (item, src, dest, opts) {\n const srcItem = path.join(src, item)\n const destItem = path.join(dest, item)\n const { destStat } = stat.checkPathsSync(srcItem, destItem, 'copy', opts)\n return startCopy(destStat, srcItem, destItem, opts)\n}\n\nfunction onLink (destStat, src, dest, opts) {\n let resolvedSrc = fs.readlinkSync(src)\n if (opts.dereference) {\n resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n }\n\n if (!destStat) {\n return fs.symlinkSync(resolvedSrc, dest)\n } else {\n let resolvedDest\n try {\n resolvedDest = fs.readlinkSync(dest)\n } catch (err) {\n // dest exists and is a regular file or directory,\n // Windows may throw UNKNOWN error. If dest already exists,\n // fs throws error anyway, so no need to guard against it here.\n if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlinkSync(resolvedSrc, dest)\n throw err\n }\n if (opts.dereference) {\n resolvedDest = path.resolve(process.cwd(), resolvedDest)\n }\n if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)\n }\n\n // prevent copy if src is a subdir of dest since unlinking\n // dest in this case would result in removing src contents\n // and therefore a broken symlink would be created.\n if (fs.statSync(dest).isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)\n }\n return copyLink(resolvedSrc, dest)\n }\n}\n\nfunction copyLink (resolvedSrc, dest) {\n fs.unlinkSync(dest)\n return fs.symlinkSync(resolvedSrc, dest)\n}\n\nmodule.exports = copySync\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/copy/copy-sync.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/copy/copy.js": -/*!******************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/copy/copy.js ***! - \******************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst mkdirs = (__webpack_require__(/*! ../mkdirs */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/index.js\").mkdirs)\nconst pathExists = (__webpack_require__(/*! ../path-exists */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/path-exists/index.js\").pathExists)\nconst utimesMillis = (__webpack_require__(/*! ../util/utimes */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/util/utimes.js\").utimesMillis)\nconst stat = __webpack_require__(/*! ../util/stat */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/util/stat.js\")\n\nfunction copy (src, dest, opts, cb) {\n if (typeof opts === 'function' && !cb) {\n cb = opts\n opts = {}\n } else if (typeof opts === 'function') {\n opts = { filter: opts }\n }\n\n cb = cb || function () {}\n opts = opts || {}\n\n opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now\n opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber\n\n // Warn about using preserveTimestamps on 32-bit node\n if (opts.preserveTimestamps && process.arch === 'ia32') {\n process.emitWarning(\n 'Using the preserveTimestamps option in 32-bit node is not recommended;\\n\\n' +\n '\\tsee https://github.com/jprichardson/node-fs-extra/issues/269',\n 'Warning', 'fs-extra-WARN0001'\n )\n }\n\n stat.checkPaths(src, dest, 'copy', opts, (err, stats) => {\n if (err) return cb(err)\n const { srcStat, destStat } = stats\n stat.checkParentPaths(src, srcStat, dest, 'copy', err => {\n if (err) return cb(err)\n if (opts.filter) return handleFilter(checkParentDir, destStat, src, dest, opts, cb)\n return checkParentDir(destStat, src, dest, opts, cb)\n })\n })\n}\n\nfunction checkParentDir (destStat, src, dest, opts, cb) {\n const destParent = path.dirname(dest)\n pathExists(destParent, (err, dirExists) => {\n if (err) return cb(err)\n if (dirExists) return getStats(destStat, src, dest, opts, cb)\n mkdirs(destParent, err => {\n if (err) return cb(err)\n return getStats(destStat, src, dest, opts, cb)\n })\n })\n}\n\nfunction handleFilter (onInclude, destStat, src, dest, opts, cb) {\n Promise.resolve(opts.filter(src, dest)).then(include => {\n if (include) return onInclude(destStat, src, dest, opts, cb)\n return cb()\n }, error => cb(error))\n}\n\nfunction startCopy (destStat, src, dest, opts, cb) {\n if (opts.filter) return handleFilter(getStats, destStat, src, dest, opts, cb)\n return getStats(destStat, src, dest, opts, cb)\n}\n\nfunction getStats (destStat, src, dest, opts, cb) {\n const stat = opts.dereference ? fs.stat : fs.lstat\n stat(src, (err, srcStat) => {\n if (err) return cb(err)\n\n if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts, cb)\n else if (srcStat.isFile() ||\n srcStat.isCharacterDevice() ||\n srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts, cb)\n else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts, cb)\n else if (srcStat.isSocket()) return cb(new Error(`Cannot copy a socket file: ${src}`))\n else if (srcStat.isFIFO()) return cb(new Error(`Cannot copy a FIFO pipe: ${src}`))\n return cb(new Error(`Unknown file: ${src}`))\n })\n}\n\nfunction onFile (srcStat, destStat, src, dest, opts, cb) {\n if (!destStat) return copyFile(srcStat, src, dest, opts, cb)\n return mayCopyFile(srcStat, src, dest, opts, cb)\n}\n\nfunction mayCopyFile (srcStat, src, dest, opts, cb) {\n if (opts.overwrite) {\n fs.unlink(dest, err => {\n if (err) return cb(err)\n return copyFile(srcStat, src, dest, opts, cb)\n })\n } else if (opts.errorOnExist) {\n return cb(new Error(`'${dest}' already exists`))\n } else return cb()\n}\n\nfunction copyFile (srcStat, src, dest, opts, cb) {\n fs.copyFile(src, dest, err => {\n if (err) return cb(err)\n if (opts.preserveTimestamps) return handleTimestampsAndMode(srcStat.mode, src, dest, cb)\n return setDestMode(dest, srcStat.mode, cb)\n })\n}\n\nfunction handleTimestampsAndMode (srcMode, src, dest, cb) {\n // Make sure the file is writable before setting the timestamp\n // otherwise open fails with EPERM when invoked with 'r+'\n // (through utimes call)\n if (fileIsNotWritable(srcMode)) {\n return makeFileWritable(dest, srcMode, err => {\n if (err) return cb(err)\n return setDestTimestampsAndMode(srcMode, src, dest, cb)\n })\n }\n return setDestTimestampsAndMode(srcMode, src, dest, cb)\n}\n\nfunction fileIsNotWritable (srcMode) {\n return (srcMode & 0o200) === 0\n}\n\nfunction makeFileWritable (dest, srcMode, cb) {\n return setDestMode(dest, srcMode | 0o200, cb)\n}\n\nfunction setDestTimestampsAndMode (srcMode, src, dest, cb) {\n setDestTimestamps(src, dest, err => {\n if (err) return cb(err)\n return setDestMode(dest, srcMode, cb)\n })\n}\n\nfunction setDestMode (dest, srcMode, cb) {\n return fs.chmod(dest, srcMode, cb)\n}\n\nfunction setDestTimestamps (src, dest, cb) {\n // The initial srcStat.atime cannot be trusted\n // because it is modified by the read(2) system call\n // (See https://nodejs.org/api/fs.html#fs_stat_time_values)\n fs.stat(src, (err, updatedSrcStat) => {\n if (err) return cb(err)\n return utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime, cb)\n })\n}\n\nfunction onDir (srcStat, destStat, src, dest, opts, cb) {\n if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts, cb)\n return copyDir(src, dest, opts, cb)\n}\n\nfunction mkDirAndCopy (srcMode, src, dest, opts, cb) {\n fs.mkdir(dest, err => {\n if (err) return cb(err)\n copyDir(src, dest, opts, err => {\n if (err) return cb(err)\n return setDestMode(dest, srcMode, cb)\n })\n })\n}\n\nfunction copyDir (src, dest, opts, cb) {\n fs.readdir(src, (err, items) => {\n if (err) return cb(err)\n return copyDirItems(items, src, dest, opts, cb)\n })\n}\n\nfunction copyDirItems (items, src, dest, opts, cb) {\n const item = items.pop()\n if (!item) return cb()\n return copyDirItem(items, item, src, dest, opts, cb)\n}\n\nfunction copyDirItem (items, item, src, dest, opts, cb) {\n const srcItem = path.join(src, item)\n const destItem = path.join(dest, item)\n stat.checkPaths(srcItem, destItem, 'copy', opts, (err, stats) => {\n if (err) return cb(err)\n const { destStat } = stats\n startCopy(destStat, srcItem, destItem, opts, err => {\n if (err) return cb(err)\n return copyDirItems(items, src, dest, opts, cb)\n })\n })\n}\n\nfunction onLink (destStat, src, dest, opts, cb) {\n fs.readlink(src, (err, resolvedSrc) => {\n if (err) return cb(err)\n if (opts.dereference) {\n resolvedSrc = path.resolve(process.cwd(), resolvedSrc)\n }\n\n if (!destStat) {\n return fs.symlink(resolvedSrc, dest, cb)\n } else {\n fs.readlink(dest, (err, resolvedDest) => {\n if (err) {\n // dest exists and is a regular file or directory,\n // Windows may throw UNKNOWN error. If dest already exists,\n // fs throws error anyway, so no need to guard against it here.\n if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlink(resolvedSrc, dest, cb)\n return cb(err)\n }\n if (opts.dereference) {\n resolvedDest = path.resolve(process.cwd(), resolvedDest)\n }\n if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {\n return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`))\n }\n\n // do not copy if src is a subdir of dest since unlinking\n // dest in this case would result in removing src contents\n // and therefore a broken symlink would be created.\n if (destStat.isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {\n return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`))\n }\n return copyLink(resolvedSrc, dest, cb)\n })\n }\n })\n}\n\nfunction copyLink (resolvedSrc, dest, cb) {\n fs.unlink(dest, err => {\n if (err) return cb(err)\n return fs.symlink(resolvedSrc, dest, cb)\n })\n}\n\nmodule.exports = copy\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/copy/copy.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/copy/index.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/copy/index.js ***! - \*******************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst u = (__webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback)\nmodule.exports = {\n copy: u(__webpack_require__(/*! ./copy */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/copy/copy.js\")),\n copySync: __webpack_require__(/*! ./copy-sync */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/copy/copy-sync.js\")\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/copy/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/empty/index.js": -/*!********************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/empty/index.js ***! - \********************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst u = (__webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromPromise)\nconst fs = __webpack_require__(/*! ../fs */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/fs/index.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst mkdir = __webpack_require__(/*! ../mkdirs */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/index.js\")\nconst remove = __webpack_require__(/*! ../remove */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/remove/index.js\")\n\nconst emptyDir = u(async function emptyDir (dir) {\n let items\n try {\n items = await fs.readdir(dir)\n } catch {\n return mkdir.mkdirs(dir)\n }\n\n return Promise.all(items.map(item => remove.remove(path.join(dir, item))))\n})\n\nfunction emptyDirSync (dir) {\n let items\n try {\n items = fs.readdirSync(dir)\n } catch {\n return mkdir.mkdirsSync(dir)\n }\n\n items.forEach(item => {\n item = path.join(dir, item)\n remove.removeSync(item)\n })\n}\n\nmodule.exports = {\n emptyDirSync,\n emptydirSync: emptyDirSync,\n emptyDir,\n emptydir: emptyDir\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/empty/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/file.js": -/*!********************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/file.js ***! - \********************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst u = (__webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback)\nconst path = __webpack_require__(/*! path */ \"path\")\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst mkdir = __webpack_require__(/*! ../mkdirs */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/index.js\")\n\nfunction createFile (file, callback) {\n function makeFile () {\n fs.writeFile(file, '', err => {\n if (err) return callback(err)\n callback()\n })\n }\n\n fs.stat(file, (err, stats) => { // eslint-disable-line handle-callback-err\n if (!err && stats.isFile()) return callback()\n const dir = path.dirname(file)\n fs.stat(dir, (err, stats) => {\n if (err) {\n // if the directory doesn't exist, make it\n if (err.code === 'ENOENT') {\n return mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n makeFile()\n })\n }\n return callback(err)\n }\n\n if (stats.isDirectory()) makeFile()\n else {\n // parent is not a directory\n // This is just to cause an internal ENOTDIR error to be thrown\n fs.readdir(dir, err => {\n if (err) return callback(err)\n })\n }\n })\n })\n}\n\nfunction createFileSync (file) {\n let stats\n try {\n stats = fs.statSync(file)\n } catch {}\n if (stats && stats.isFile()) return\n\n const dir = path.dirname(file)\n try {\n if (!fs.statSync(dir).isDirectory()) {\n // parent is not a directory\n // This is just to cause an internal ENOTDIR error to be thrown\n fs.readdirSync(dir)\n }\n } catch (err) {\n // If the stat call above failed because the directory doesn't exist, create it\n if (err && err.code === 'ENOENT') mkdir.mkdirsSync(dir)\n else throw err\n }\n\n fs.writeFileSync(file, '')\n}\n\nmodule.exports = {\n createFile: u(createFile),\n createFileSync\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/file.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/index.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/index.js ***! - \*********************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst { createFile, createFileSync } = __webpack_require__(/*! ./file */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/file.js\")\nconst { createLink, createLinkSync } = __webpack_require__(/*! ./link */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/link.js\")\nconst { createSymlink, createSymlinkSync } = __webpack_require__(/*! ./symlink */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/symlink.js\")\n\nmodule.exports = {\n // file\n createFile,\n createFileSync,\n ensureFile: createFile,\n ensureFileSync: createFileSync,\n // link\n createLink,\n createLinkSync,\n ensureLink: createLink,\n ensureLinkSync: createLinkSync,\n // symlink\n createSymlink,\n createSymlinkSync,\n ensureSymlink: createSymlink,\n ensureSymlinkSync: createSymlinkSync\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/link.js": -/*!********************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/link.js ***! - \********************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst u = (__webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback)\nconst path = __webpack_require__(/*! path */ \"path\")\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst mkdir = __webpack_require__(/*! ../mkdirs */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/index.js\")\nconst pathExists = (__webpack_require__(/*! ../path-exists */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/path-exists/index.js\").pathExists)\nconst { areIdentical } = __webpack_require__(/*! ../util/stat */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/util/stat.js\")\n\nfunction createLink (srcpath, dstpath, callback) {\n function makeLink (srcpath, dstpath) {\n fs.link(srcpath, dstpath, err => {\n if (err) return callback(err)\n callback(null)\n })\n }\n\n fs.lstat(dstpath, (_, dstStat) => {\n fs.lstat(srcpath, (err, srcStat) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureLink')\n return callback(err)\n }\n if (dstStat && areIdentical(srcStat, dstStat)) return callback(null)\n\n const dir = path.dirname(dstpath)\n pathExists(dir, (err, dirExists) => {\n if (err) return callback(err)\n if (dirExists) return makeLink(srcpath, dstpath)\n mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n makeLink(srcpath, dstpath)\n })\n })\n })\n })\n}\n\nfunction createLinkSync (srcpath, dstpath) {\n let dstStat\n try {\n dstStat = fs.lstatSync(dstpath)\n } catch {}\n\n try {\n const srcStat = fs.lstatSync(srcpath)\n if (dstStat && areIdentical(srcStat, dstStat)) return\n } catch (err) {\n err.message = err.message.replace('lstat', 'ensureLink')\n throw err\n }\n\n const dir = path.dirname(dstpath)\n const dirExists = fs.existsSync(dir)\n if (dirExists) return fs.linkSync(srcpath, dstpath)\n mkdir.mkdirsSync(dir)\n\n return fs.linkSync(srcpath, dstpath)\n}\n\nmodule.exports = {\n createLink: u(createLink),\n createLinkSync\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/link.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/symlink-paths.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/symlink-paths.js ***! - \*****************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst path = __webpack_require__(/*! path */ \"path\")\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst pathExists = (__webpack_require__(/*! ../path-exists */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/path-exists/index.js\").pathExists)\n\n/**\n * Function that returns two types of paths, one relative to symlink, and one\n * relative to the current working directory. Checks if path is absolute or\n * relative. If the path is relative, this function checks if the path is\n * relative to symlink or relative to current working directory. This is an\n * initiative to find a smarter `srcpath` to supply when building symlinks.\n * This allows you to determine which path to use out of one of three possible\n * types of source paths. The first is an absolute path. This is detected by\n * `path.isAbsolute()`. When an absolute path is provided, it is checked to\n * see if it exists. If it does it's used, if not an error is returned\n * (callback)/ thrown (sync). The other two options for `srcpath` are a\n * relative url. By default Node's `fs.symlink` works by creating a symlink\n * using `dstpath` and expects the `srcpath` to be relative to the newly\n * created symlink. If you provide a `srcpath` that does not exist on the file\n * system it results in a broken symlink. To minimize this, the function\n * checks to see if the 'relative to symlink' source file exists, and if it\n * does it will use it. If it does not, it checks if there's a file that\n * exists that is relative to the current working directory, if does its used.\n * This preserves the expectations of the original fs.symlink spec and adds\n * the ability to pass in `relative to current working direcotry` paths.\n */\n\nfunction symlinkPaths (srcpath, dstpath, callback) {\n if (path.isAbsolute(srcpath)) {\n return fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureSymlink')\n return callback(err)\n }\n return callback(null, {\n toCwd: srcpath,\n toDst: srcpath\n })\n })\n } else {\n const dstdir = path.dirname(dstpath)\n const relativeToDst = path.join(dstdir, srcpath)\n return pathExists(relativeToDst, (err, exists) => {\n if (err) return callback(err)\n if (exists) {\n return callback(null, {\n toCwd: relativeToDst,\n toDst: srcpath\n })\n } else {\n return fs.lstat(srcpath, (err) => {\n if (err) {\n err.message = err.message.replace('lstat', 'ensureSymlink')\n return callback(err)\n }\n return callback(null, {\n toCwd: srcpath,\n toDst: path.relative(dstdir, srcpath)\n })\n })\n }\n })\n }\n}\n\nfunction symlinkPathsSync (srcpath, dstpath) {\n let exists\n if (path.isAbsolute(srcpath)) {\n exists = fs.existsSync(srcpath)\n if (!exists) throw new Error('absolute srcpath does not exist')\n return {\n toCwd: srcpath,\n toDst: srcpath\n }\n } else {\n const dstdir = path.dirname(dstpath)\n const relativeToDst = path.join(dstdir, srcpath)\n exists = fs.existsSync(relativeToDst)\n if (exists) {\n return {\n toCwd: relativeToDst,\n toDst: srcpath\n }\n } else {\n exists = fs.existsSync(srcpath)\n if (!exists) throw new Error('relative srcpath does not exist')\n return {\n toCwd: srcpath,\n toDst: path.relative(dstdir, srcpath)\n }\n }\n }\n}\n\nmodule.exports = {\n symlinkPaths,\n symlinkPathsSync\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/symlink-paths.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/symlink-type.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/symlink-type.js ***! - \****************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\n\nfunction symlinkType (srcpath, type, callback) {\n callback = (typeof type === 'function') ? type : callback\n type = (typeof type === 'function') ? false : type\n if (type) return callback(null, type)\n fs.lstat(srcpath, (err, stats) => {\n if (err) return callback(null, 'file')\n type = (stats && stats.isDirectory()) ? 'dir' : 'file'\n callback(null, type)\n })\n}\n\nfunction symlinkTypeSync (srcpath, type) {\n let stats\n\n if (type) return type\n try {\n stats = fs.lstatSync(srcpath)\n } catch {\n return 'file'\n }\n return (stats && stats.isDirectory()) ? 'dir' : 'file'\n}\n\nmodule.exports = {\n symlinkType,\n symlinkTypeSync\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/symlink-type.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/symlink.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/symlink.js ***! - \***********************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst u = (__webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback)\nconst path = __webpack_require__(/*! path */ \"path\")\nconst fs = __webpack_require__(/*! ../fs */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/fs/index.js\")\nconst _mkdirs = __webpack_require__(/*! ../mkdirs */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/index.js\")\nconst mkdirs = _mkdirs.mkdirs\nconst mkdirsSync = _mkdirs.mkdirsSync\n\nconst _symlinkPaths = __webpack_require__(/*! ./symlink-paths */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/symlink-paths.js\")\nconst symlinkPaths = _symlinkPaths.symlinkPaths\nconst symlinkPathsSync = _symlinkPaths.symlinkPathsSync\n\nconst _symlinkType = __webpack_require__(/*! ./symlink-type */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/symlink-type.js\")\nconst symlinkType = _symlinkType.symlinkType\nconst symlinkTypeSync = _symlinkType.symlinkTypeSync\n\nconst pathExists = (__webpack_require__(/*! ../path-exists */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/path-exists/index.js\").pathExists)\n\nconst { areIdentical } = __webpack_require__(/*! ../util/stat */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/util/stat.js\")\n\nfunction createSymlink (srcpath, dstpath, type, callback) {\n callback = (typeof type === 'function') ? type : callback\n type = (typeof type === 'function') ? false : type\n\n fs.lstat(dstpath, (err, stats) => {\n if (!err && stats.isSymbolicLink()) {\n Promise.all([\n fs.stat(srcpath),\n fs.stat(dstpath)\n ]).then(([srcStat, dstStat]) => {\n if (areIdentical(srcStat, dstStat)) return callback(null)\n _createSymlink(srcpath, dstpath, type, callback)\n })\n } else _createSymlink(srcpath, dstpath, type, callback)\n })\n}\n\nfunction _createSymlink (srcpath, dstpath, type, callback) {\n symlinkPaths(srcpath, dstpath, (err, relative) => {\n if (err) return callback(err)\n srcpath = relative.toDst\n symlinkType(relative.toCwd, type, (err, type) => {\n if (err) return callback(err)\n const dir = path.dirname(dstpath)\n pathExists(dir, (err, dirExists) => {\n if (err) return callback(err)\n if (dirExists) return fs.symlink(srcpath, dstpath, type, callback)\n mkdirs(dir, err => {\n if (err) return callback(err)\n fs.symlink(srcpath, dstpath, type, callback)\n })\n })\n })\n })\n}\n\nfunction createSymlinkSync (srcpath, dstpath, type) {\n let stats\n try {\n stats = fs.lstatSync(dstpath)\n } catch {}\n if (stats && stats.isSymbolicLink()) {\n const srcStat = fs.statSync(srcpath)\n const dstStat = fs.statSync(dstpath)\n if (areIdentical(srcStat, dstStat)) return\n }\n\n const relative = symlinkPathsSync(srcpath, dstpath)\n srcpath = relative.toDst\n type = symlinkTypeSync(relative.toCwd, type)\n const dir = path.dirname(dstpath)\n const exists = fs.existsSync(dir)\n if (exists) return fs.symlinkSync(srcpath, dstpath, type)\n mkdirsSync(dir)\n return fs.symlinkSync(srcpath, dstpath, type)\n}\n\nmodule.exports = {\n createSymlink: u(createSymlink),\n createSymlinkSync\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/symlink.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/fs/index.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/fs/index.js ***! - \*****************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\n// This is adapted from https://github.com/normalize/mz\n// Copyright (c) 2014-2016 Jonathan Ong me@jongleberry.com and Contributors\nconst u = (__webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback)\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\n\nconst api = [\n 'access',\n 'appendFile',\n 'chmod',\n 'chown',\n 'close',\n 'copyFile',\n 'fchmod',\n 'fchown',\n 'fdatasync',\n 'fstat',\n 'fsync',\n 'ftruncate',\n 'futimes',\n 'lchmod',\n 'lchown',\n 'link',\n 'lstat',\n 'mkdir',\n 'mkdtemp',\n 'open',\n 'opendir',\n 'readdir',\n 'readFile',\n 'readlink',\n 'realpath',\n 'rename',\n 'rm',\n 'rmdir',\n 'stat',\n 'symlink',\n 'truncate',\n 'unlink',\n 'utimes',\n 'writeFile'\n].filter(key => {\n // Some commands are not available on some systems. Ex:\n // fs.opendir was added in Node.js v12.12.0\n // fs.rm was added in Node.js v14.14.0\n // fs.lchown is not available on at least some Linux\n return typeof fs[key] === 'function'\n})\n\n// Export cloned fs:\nObject.assign(exports, fs)\n\n// Universalify async methods:\napi.forEach(method => {\n exports[method] = u(fs[method])\n})\n\n// We differ from mz/fs in that we still ship the old, broken, fs.exists()\n// since we are a drop-in replacement for the native module\nexports.exists = function (filename, callback) {\n if (typeof callback === 'function') {\n return fs.exists(filename, callback)\n }\n return new Promise(resolve => {\n return fs.exists(filename, resolve)\n })\n}\n\n// fs.read(), fs.write(), & fs.writev() need special treatment due to multiple callback args\n\nexports.read = function (fd, buffer, offset, length, position, callback) {\n if (typeof callback === 'function') {\n return fs.read(fd, buffer, offset, length, position, callback)\n }\n return new Promise((resolve, reject) => {\n fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer) => {\n if (err) return reject(err)\n resolve({ bytesRead, buffer })\n })\n })\n}\n\n// Function signature can be\n// fs.write(fd, buffer[, offset[, length[, position]]], callback)\n// OR\n// fs.write(fd, string[, position[, encoding]], callback)\n// We need to handle both cases, so we use ...args\nexports.write = function (fd, buffer, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.write(fd, buffer, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.write(fd, buffer, ...args, (err, bytesWritten, buffer) => {\n if (err) return reject(err)\n resolve({ bytesWritten, buffer })\n })\n })\n}\n\n// fs.writev only available in Node v12.9.0+\nif (typeof fs.writev === 'function') {\n // Function signature is\n // s.writev(fd, buffers[, position], callback)\n // We need to handle the optional arg, so we use ...args\n exports.writev = function (fd, buffers, ...args) {\n if (typeof args[args.length - 1] === 'function') {\n return fs.writev(fd, buffers, ...args)\n }\n\n return new Promise((resolve, reject) => {\n fs.writev(fd, buffers, ...args, (err, bytesWritten, buffers) => {\n if (err) return reject(err)\n resolve({ bytesWritten, buffers })\n })\n })\n }\n}\n\n// fs.realpath.native sometimes not available if fs is monkey-patched\nif (typeof fs.realpath.native === 'function') {\n exports.realpath.native = u(fs.realpath.native)\n} else {\n process.emitWarning(\n 'fs.realpath.native is not a function. Is fs being monkey-patched?',\n 'Warning', 'fs-extra-WARN0003'\n )\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/fs/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/index.js": -/*!**************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/index.js ***! - \**************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nmodule.exports = {\n // Export promiseified graceful-fs:\n ...__webpack_require__(/*! ./fs */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/fs/index.js\"),\n // Export extra methods:\n ...__webpack_require__(/*! ./copy */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/copy/index.js\"),\n ...__webpack_require__(/*! ./empty */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/empty/index.js\"),\n ...__webpack_require__(/*! ./ensure */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/ensure/index.js\"),\n ...__webpack_require__(/*! ./json */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/json/index.js\"),\n ...__webpack_require__(/*! ./mkdirs */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/index.js\"),\n ...__webpack_require__(/*! ./move */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/move/index.js\"),\n ...__webpack_require__(/*! ./output-file */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/output-file/index.js\"),\n ...__webpack_require__(/*! ./path-exists */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/path-exists/index.js\"),\n ...__webpack_require__(/*! ./remove */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/remove/index.js\")\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/json/index.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/json/index.js ***! - \*******************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst u = (__webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromPromise)\nconst jsonFile = __webpack_require__(/*! ./jsonfile */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/json/jsonfile.js\")\n\njsonFile.outputJson = u(__webpack_require__(/*! ./output-json */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/json/output-json.js\"))\njsonFile.outputJsonSync = __webpack_require__(/*! ./output-json-sync */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/json/output-json-sync.js\")\n// aliases\njsonFile.outputJSON = jsonFile.outputJson\njsonFile.outputJSONSync = jsonFile.outputJsonSync\njsonFile.writeJSON = jsonFile.writeJson\njsonFile.writeJSONSync = jsonFile.writeJsonSync\njsonFile.readJSON = jsonFile.readJson\njsonFile.readJSONSync = jsonFile.readJsonSync\n\nmodule.exports = jsonFile\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/json/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/json/jsonfile.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/json/jsonfile.js ***! - \**********************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst jsonFile = __webpack_require__(/*! jsonfile */ \"./node_modules/jsonfile/index.js\")\n\nmodule.exports = {\n // jsonfile exports\n readJson: jsonFile.readFile,\n readJsonSync: jsonFile.readFileSync,\n writeJson: jsonFile.writeFile,\n writeJsonSync: jsonFile.writeFileSync\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/json/jsonfile.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/json/output-json-sync.js": -/*!******************************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/json/output-json-sync.js ***! - \******************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst { stringify } = __webpack_require__(/*! jsonfile/utils */ \"./node_modules/jsonfile/utils.js\")\nconst { outputFileSync } = __webpack_require__(/*! ../output-file */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/output-file/index.js\")\n\nfunction outputJsonSync (file, data, options) {\n const str = stringify(data, options)\n\n outputFileSync(file, str, options)\n}\n\nmodule.exports = outputJsonSync\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/json/output-json-sync.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/json/output-json.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/json/output-json.js ***! - \*************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst { stringify } = __webpack_require__(/*! jsonfile/utils */ \"./node_modules/jsonfile/utils.js\")\nconst { outputFile } = __webpack_require__(/*! ../output-file */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/output-file/index.js\")\n\nasync function outputJson (file, data, options = {}) {\n const str = stringify(data, options)\n\n await outputFile(file, str, options)\n}\n\nmodule.exports = outputJson\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/json/output-json.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/index.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/index.js ***! - \*********************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nconst u = (__webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromPromise)\nconst { makeDir: _makeDir, makeDirSync } = __webpack_require__(/*! ./make-dir */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/make-dir.js\")\nconst makeDir = u(_makeDir)\n\nmodule.exports = {\n mkdirs: makeDir,\n mkdirsSync: makeDirSync,\n // alias\n mkdirp: makeDir,\n mkdirpSync: makeDirSync,\n ensureDir: makeDir,\n ensureDirSync: makeDirSync\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/make-dir.js": -/*!************************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/make-dir.js ***! - \************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nconst fs = __webpack_require__(/*! ../fs */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/fs/index.js\")\nconst { checkPath } = __webpack_require__(/*! ./utils */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/utils.js\")\n\nconst getMode = options => {\n const defaults = { mode: 0o777 }\n if (typeof options === 'number') return options\n return ({ ...defaults, ...options }).mode\n}\n\nmodule.exports.makeDir = async (dir, options) => {\n checkPath(dir)\n\n return fs.mkdir(dir, {\n mode: getMode(options),\n recursive: true\n })\n}\n\nmodule.exports.makeDirSync = (dir, options) => {\n checkPath(dir)\n\n return fs.mkdirSync(dir, {\n mode: getMode(options),\n recursive: true\n })\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/make-dir.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/utils.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/utils.js ***! - \*********************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("// Adapted from https://github.com/sindresorhus/make-dir\n// Copyright (c) Sindre Sorhus (sindresorhus.com)\n// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nconst path = __webpack_require__(/*! path */ \"path\")\n\n// https://github.com/nodejs/node/issues/8987\n// https://github.com/libuv/libuv/pull/1088\nmodule.exports.checkPath = function checkPath (pth) {\n if (process.platform === 'win32') {\n const pathHasInvalidWinCharacters = /[<>:\"|?*]/.test(pth.replace(path.parse(pth).root, ''))\n\n if (pathHasInvalidWinCharacters) {\n const error = new Error(`Path contains invalid characters: ${pth}`)\n error.code = 'EINVAL'\n throw error\n }\n }\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/utils.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/move/index.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/move/index.js ***! - \*******************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst u = (__webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback)\nmodule.exports = {\n move: u(__webpack_require__(/*! ./move */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/move/move.js\")),\n moveSync: __webpack_require__(/*! ./move-sync */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/move/move-sync.js\")\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/move/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/move/move-sync.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/move/move-sync.js ***! - \***********************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst copySync = (__webpack_require__(/*! ../copy */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/copy/index.js\").copySync)\nconst removeSync = (__webpack_require__(/*! ../remove */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/remove/index.js\").removeSync)\nconst mkdirpSync = (__webpack_require__(/*! ../mkdirs */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/index.js\").mkdirpSync)\nconst stat = __webpack_require__(/*! ../util/stat */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/util/stat.js\")\n\nfunction moveSync (src, dest, opts) {\n opts = opts || {}\n const overwrite = opts.overwrite || opts.clobber || false\n\n const { srcStat, isChangingCase = false } = stat.checkPathsSync(src, dest, 'move', opts)\n stat.checkParentPathsSync(src, srcStat, dest, 'move')\n if (!isParentRoot(dest)) mkdirpSync(path.dirname(dest))\n return doRename(src, dest, overwrite, isChangingCase)\n}\n\nfunction isParentRoot (dest) {\n const parent = path.dirname(dest)\n const parsedPath = path.parse(parent)\n return parsedPath.root === parent\n}\n\nfunction doRename (src, dest, overwrite, isChangingCase) {\n if (isChangingCase) return rename(src, dest, overwrite)\n if (overwrite) {\n removeSync(dest)\n return rename(src, dest, overwrite)\n }\n if (fs.existsSync(dest)) throw new Error('dest already exists.')\n return rename(src, dest, overwrite)\n}\n\nfunction rename (src, dest, overwrite) {\n try {\n fs.renameSync(src, dest)\n } catch (err) {\n if (err.code !== 'EXDEV') throw err\n return moveAcrossDevice(src, dest, overwrite)\n }\n}\n\nfunction moveAcrossDevice (src, dest, overwrite) {\n const opts = {\n overwrite,\n errorOnExist: true\n }\n copySync(src, dest, opts)\n return removeSync(src)\n}\n\nmodule.exports = moveSync\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/move/move-sync.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/move/move.js": -/*!******************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/move/move.js ***! - \******************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst copy = (__webpack_require__(/*! ../copy */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/copy/index.js\").copy)\nconst remove = (__webpack_require__(/*! ../remove */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/remove/index.js\").remove)\nconst mkdirp = (__webpack_require__(/*! ../mkdirs */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/index.js\").mkdirp)\nconst pathExists = (__webpack_require__(/*! ../path-exists */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/path-exists/index.js\").pathExists)\nconst stat = __webpack_require__(/*! ../util/stat */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/util/stat.js\")\n\nfunction move (src, dest, opts, cb) {\n if (typeof opts === 'function') {\n cb = opts\n opts = {}\n }\n\n opts = opts || {}\n\n const overwrite = opts.overwrite || opts.clobber || false\n\n stat.checkPaths(src, dest, 'move', opts, (err, stats) => {\n if (err) return cb(err)\n const { srcStat, isChangingCase = false } = stats\n stat.checkParentPaths(src, srcStat, dest, 'move', err => {\n if (err) return cb(err)\n if (isParentRoot(dest)) return doRename(src, dest, overwrite, isChangingCase, cb)\n mkdirp(path.dirname(dest), err => {\n if (err) return cb(err)\n return doRename(src, dest, overwrite, isChangingCase, cb)\n })\n })\n })\n}\n\nfunction isParentRoot (dest) {\n const parent = path.dirname(dest)\n const parsedPath = path.parse(parent)\n return parsedPath.root === parent\n}\n\nfunction doRename (src, dest, overwrite, isChangingCase, cb) {\n if (isChangingCase) return rename(src, dest, overwrite, cb)\n if (overwrite) {\n return remove(dest, err => {\n if (err) return cb(err)\n return rename(src, dest, overwrite, cb)\n })\n }\n pathExists(dest, (err, destExists) => {\n if (err) return cb(err)\n if (destExists) return cb(new Error('dest already exists.'))\n return rename(src, dest, overwrite, cb)\n })\n}\n\nfunction rename (src, dest, overwrite, cb) {\n fs.rename(src, dest, err => {\n if (!err) return cb()\n if (err.code !== 'EXDEV') return cb(err)\n return moveAcrossDevice(src, dest, overwrite, cb)\n })\n}\n\nfunction moveAcrossDevice (src, dest, overwrite, cb) {\n const opts = {\n overwrite,\n errorOnExist: true\n }\n copy(src, dest, opts, err => {\n if (err) return cb(err)\n return remove(src, cb)\n })\n}\n\nmodule.exports = move\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/move/move.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/output-file/index.js": -/*!**************************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/output-file/index.js ***! - \**************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst u = (__webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback)\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst mkdir = __webpack_require__(/*! ../mkdirs */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/mkdirs/index.js\")\nconst pathExists = (__webpack_require__(/*! ../path-exists */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/path-exists/index.js\").pathExists)\n\nfunction outputFile (file, data, encoding, callback) {\n if (typeof encoding === 'function') {\n callback = encoding\n encoding = 'utf8'\n }\n\n const dir = path.dirname(file)\n pathExists(dir, (err, itDoes) => {\n if (err) return callback(err)\n if (itDoes) return fs.writeFile(file, data, encoding, callback)\n\n mkdir.mkdirs(dir, err => {\n if (err) return callback(err)\n\n fs.writeFile(file, data, encoding, callback)\n })\n })\n}\n\nfunction outputFileSync (file, ...args) {\n const dir = path.dirname(file)\n if (fs.existsSync(dir)) {\n return fs.writeFileSync(file, ...args)\n }\n mkdir.mkdirsSync(dir)\n fs.writeFileSync(file, ...args)\n}\n\nmodule.exports = {\n outputFile: u(outputFile),\n outputFileSync\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/output-file/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/path-exists/index.js": -/*!**************************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/path-exists/index.js ***! - \**************************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nconst u = (__webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromPromise)\nconst fs = __webpack_require__(/*! ../fs */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/fs/index.js\")\n\nfunction pathExists (path) {\n return fs.access(path).then(() => true).catch(() => false)\n}\n\nmodule.exports = {\n pathExists: u(pathExists),\n pathExistsSync: fs.existsSync\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/path-exists/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/remove/index.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/remove/index.js ***! - \*********************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst u = (__webpack_require__(/*! universalify */ \"./node_modules/universalify/index.js\").fromCallback)\nconst rimraf = __webpack_require__(/*! ./rimraf */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/remove/rimraf.js\")\n\nfunction remove (path, callback) {\n // Node 14.14.0+\n if (fs.rm) return fs.rm(path, { recursive: true, force: true }, callback)\n rimraf(path, callback)\n}\n\nfunction removeSync (path) {\n // Node 14.14.0+\n if (fs.rmSync) return fs.rmSync(path, { recursive: true, force: true })\n rimraf.sync(path)\n}\n\nmodule.exports = {\n remove: u(remove),\n removeSync\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/remove/index.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/remove/rimraf.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/remove/rimraf.js ***! - \**********************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst assert = __webpack_require__(/*! assert */ \"assert\")\n\nconst isWindows = (process.platform === 'win32')\n\nfunction defaults (options) {\n const methods = [\n 'unlink',\n 'chmod',\n 'stat',\n 'lstat',\n 'rmdir',\n 'readdir'\n ]\n methods.forEach(m => {\n options[m] = options[m] || fs[m]\n m = m + 'Sync'\n options[m] = options[m] || fs[m]\n })\n\n options.maxBusyTries = options.maxBusyTries || 3\n}\n\nfunction rimraf (p, options, cb) {\n let busyTries = 0\n\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n assert(p, 'rimraf: missing path')\n assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')\n assert.strictEqual(typeof cb, 'function', 'rimraf: callback function required')\n assert(options, 'rimraf: invalid options argument provided')\n assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')\n\n defaults(options)\n\n rimraf_(p, options, function CB (er) {\n if (er) {\n if ((er.code === 'EBUSY' || er.code === 'ENOTEMPTY' || er.code === 'EPERM') &&\n busyTries < options.maxBusyTries) {\n busyTries++\n const time = busyTries * 100\n // try again, with the same exact callback as this one.\n return setTimeout(() => rimraf_(p, options, CB), time)\n }\n\n // already gone\n if (er.code === 'ENOENT') er = null\n }\n\n cb(er)\n })\n}\n\n// Two possible strategies.\n// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR\n// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR\n//\n// Both result in an extra syscall when you guess wrong. However, there\n// are likely far more normal files in the world than directories. This\n// is based on the assumption that a the average number of files per\n// directory is >= 1.\n//\n// If anyone ever complains about this, then I guess the strategy could\n// be made configurable somehow. But until then, YAGNI.\nfunction rimraf_ (p, options, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n // sunos lets the root user unlink directories, which is... weird.\n // so we have to lstat here and make sure it's not a dir.\n options.lstat(p, (er, st) => {\n if (er && er.code === 'ENOENT') {\n return cb(null)\n }\n\n // Windows can EPERM on stat. Life is suffering.\n if (er && er.code === 'EPERM' && isWindows) {\n return fixWinEPERM(p, options, er, cb)\n }\n\n if (st && st.isDirectory()) {\n return rmdir(p, options, er, cb)\n }\n\n options.unlink(p, er => {\n if (er) {\n if (er.code === 'ENOENT') {\n return cb(null)\n }\n if (er.code === 'EPERM') {\n return (isWindows)\n ? fixWinEPERM(p, options, er, cb)\n : rmdir(p, options, er, cb)\n }\n if (er.code === 'EISDIR') {\n return rmdir(p, options, er, cb)\n }\n }\n return cb(er)\n })\n })\n}\n\nfunction fixWinEPERM (p, options, er, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n options.chmod(p, 0o666, er2 => {\n if (er2) {\n cb(er2.code === 'ENOENT' ? null : er)\n } else {\n options.stat(p, (er3, stats) => {\n if (er3) {\n cb(er3.code === 'ENOENT' ? null : er)\n } else if (stats.isDirectory()) {\n rmdir(p, options, er, cb)\n } else {\n options.unlink(p, cb)\n }\n })\n }\n })\n}\n\nfunction fixWinEPERMSync (p, options, er) {\n let stats\n\n assert(p)\n assert(options)\n\n try {\n options.chmodSync(p, 0o666)\n } catch (er2) {\n if (er2.code === 'ENOENT') {\n return\n } else {\n throw er\n }\n }\n\n try {\n stats = options.statSync(p)\n } catch (er3) {\n if (er3.code === 'ENOENT') {\n return\n } else {\n throw er\n }\n }\n\n if (stats.isDirectory()) {\n rmdirSync(p, options, er)\n } else {\n options.unlinkSync(p)\n }\n}\n\nfunction rmdir (p, options, originalEr, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS)\n // if we guessed wrong, and it's not a directory, then\n // raise the original error.\n options.rmdir(p, er => {\n if (er && (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM')) {\n rmkids(p, options, cb)\n } else if (er && er.code === 'ENOTDIR') {\n cb(originalEr)\n } else {\n cb(er)\n }\n })\n}\n\nfunction rmkids (p, options, cb) {\n assert(p)\n assert(options)\n assert(typeof cb === 'function')\n\n options.readdir(p, (er, files) => {\n if (er) return cb(er)\n\n let n = files.length\n let errState\n\n if (n === 0) return options.rmdir(p, cb)\n\n files.forEach(f => {\n rimraf(path.join(p, f), options, er => {\n if (errState) {\n return\n }\n if (er) return cb(errState = er)\n if (--n === 0) {\n options.rmdir(p, cb)\n }\n })\n })\n })\n}\n\n// this looks simpler, and is strictly *faster*, but will\n// tie up the JavaScript thread and fail on excessively\n// deep directory trees.\nfunction rimrafSync (p, options) {\n let st\n\n options = options || {}\n defaults(options)\n\n assert(p, 'rimraf: missing path')\n assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')\n assert(options, 'rimraf: missing options')\n assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')\n\n try {\n st = options.lstatSync(p)\n } catch (er) {\n if (er.code === 'ENOENT') {\n return\n }\n\n // Windows can EPERM on stat. Life is suffering.\n if (er.code === 'EPERM' && isWindows) {\n fixWinEPERMSync(p, options, er)\n }\n }\n\n try {\n // sunos lets the root user unlink directories, which is... weird.\n if (st && st.isDirectory()) {\n rmdirSync(p, options, null)\n } else {\n options.unlinkSync(p)\n }\n } catch (er) {\n if (er.code === 'ENOENT') {\n return\n } else if (er.code === 'EPERM') {\n return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er)\n } else if (er.code !== 'EISDIR') {\n throw er\n }\n rmdirSync(p, options, er)\n }\n}\n\nfunction rmdirSync (p, options, originalEr) {\n assert(p)\n assert(options)\n\n try {\n options.rmdirSync(p)\n } catch (er) {\n if (er.code === 'ENOTDIR') {\n throw originalEr\n } else if (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM') {\n rmkidsSync(p, options)\n } else if (er.code !== 'ENOENT') {\n throw er\n }\n }\n}\n\nfunction rmkidsSync (p, options) {\n assert(p)\n assert(options)\n options.readdirSync(p).forEach(f => rimrafSync(path.join(p, f), options))\n\n if (isWindows) {\n // We only end up here once we got ENOTEMPTY at least once, and\n // at this point, we are guaranteed to have removed all the kids.\n // So, we know that it won't be ENOENT or ENOTDIR or anything else.\n // try really hard to delete stuff on windows, because it has a\n // PROFOUNDLY annoying habit of not closing handles promptly when\n // files are deleted, resulting in spurious ENOTEMPTY errors.\n const startTime = Date.now()\n do {\n try {\n const ret = options.rmdirSync(p, options)\n return ret\n } catch {}\n } while (Date.now() - startTime < 500) // give up after 500ms\n } else {\n const ret = options.rmdirSync(p, options)\n return ret\n }\n}\n\nmodule.exports = rimraf\nrimraf.sync = rimrafSync\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/remove/rimraf.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/util/stat.js": -/*!******************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/util/stat.js ***! - \******************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst fs = __webpack_require__(/*! ../fs */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/fs/index.js\")\nconst path = __webpack_require__(/*! path */ \"path\")\nconst util = __webpack_require__(/*! util */ \"util\")\n\nfunction getStats (src, dest, opts) {\n const statFunc = opts.dereference\n ? (file) => fs.stat(file, { bigint: true })\n : (file) => fs.lstat(file, { bigint: true })\n return Promise.all([\n statFunc(src),\n statFunc(dest).catch(err => {\n if (err.code === 'ENOENT') return null\n throw err\n })\n ]).then(([srcStat, destStat]) => ({ srcStat, destStat }))\n}\n\nfunction getStatsSync (src, dest, opts) {\n let destStat\n const statFunc = opts.dereference\n ? (file) => fs.statSync(file, { bigint: true })\n : (file) => fs.lstatSync(file, { bigint: true })\n const srcStat = statFunc(src)\n try {\n destStat = statFunc(dest)\n } catch (err) {\n if (err.code === 'ENOENT') return { srcStat, destStat: null }\n throw err\n }\n return { srcStat, destStat }\n}\n\nfunction checkPaths (src, dest, funcName, opts, cb) {\n util.callbackify(getStats)(src, dest, opts, (err, stats) => {\n if (err) return cb(err)\n const { srcStat, destStat } = stats\n\n if (destStat) {\n if (areIdentical(srcStat, destStat)) {\n const srcBaseName = path.basename(src)\n const destBaseName = path.basename(dest)\n if (funcName === 'move' &&\n srcBaseName !== destBaseName &&\n srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {\n return cb(null, { srcStat, destStat, isChangingCase: true })\n }\n return cb(new Error('Source and destination must not be the same.'))\n }\n if (srcStat.isDirectory() && !destStat.isDirectory()) {\n return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`))\n }\n if (!srcStat.isDirectory() && destStat.isDirectory()) {\n return cb(new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`))\n }\n }\n\n if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {\n return cb(new Error(errMsg(src, dest, funcName)))\n }\n return cb(null, { srcStat, destStat })\n })\n}\n\nfunction checkPathsSync (src, dest, funcName, opts) {\n const { srcStat, destStat } = getStatsSync(src, dest, opts)\n\n if (destStat) {\n if (areIdentical(srcStat, destStat)) {\n const srcBaseName = path.basename(src)\n const destBaseName = path.basename(dest)\n if (funcName === 'move' &&\n srcBaseName !== destBaseName &&\n srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {\n return { srcStat, destStat, isChangingCase: true }\n }\n throw new Error('Source and destination must not be the same.')\n }\n if (srcStat.isDirectory() && !destStat.isDirectory()) {\n throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)\n }\n if (!srcStat.isDirectory() && destStat.isDirectory()) {\n throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`)\n }\n }\n\n if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {\n throw new Error(errMsg(src, dest, funcName))\n }\n return { srcStat, destStat }\n}\n\n// recursively check if dest parent is a subdirectory of src.\n// It works for all file types including symlinks since it\n// checks the src and dest inodes. It starts from the deepest\n// parent and stops once it reaches the src parent or the root path.\nfunction checkParentPaths (src, srcStat, dest, funcName, cb) {\n const srcParent = path.resolve(path.dirname(src))\n const destParent = path.resolve(path.dirname(dest))\n if (destParent === srcParent || destParent === path.parse(destParent).root) return cb()\n fs.stat(destParent, { bigint: true }, (err, destStat) => {\n if (err) {\n if (err.code === 'ENOENT') return cb()\n return cb(err)\n }\n if (areIdentical(srcStat, destStat)) {\n return cb(new Error(errMsg(src, dest, funcName)))\n }\n return checkParentPaths(src, srcStat, destParent, funcName, cb)\n })\n}\n\nfunction checkParentPathsSync (src, srcStat, dest, funcName) {\n const srcParent = path.resolve(path.dirname(src))\n const destParent = path.resolve(path.dirname(dest))\n if (destParent === srcParent || destParent === path.parse(destParent).root) return\n let destStat\n try {\n destStat = fs.statSync(destParent, { bigint: true })\n } catch (err) {\n if (err.code === 'ENOENT') return\n throw err\n }\n if (areIdentical(srcStat, destStat)) {\n throw new Error(errMsg(src, dest, funcName))\n }\n return checkParentPathsSync(src, srcStat, destParent, funcName)\n}\n\nfunction areIdentical (srcStat, destStat) {\n return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev\n}\n\n// return true if dest is a subdir of src, otherwise false.\n// It only checks the path strings.\nfunction isSrcSubdir (src, dest) {\n const srcArr = path.resolve(src).split(path.sep).filter(i => i)\n const destArr = path.resolve(dest).split(path.sep).filter(i => i)\n return srcArr.reduce((acc, cur, i) => acc && destArr[i] === cur, true)\n}\n\nfunction errMsg (src, dest, funcName) {\n return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`\n}\n\nmodule.exports = {\n checkPaths,\n checkPathsSync,\n checkParentPaths,\n checkParentPathsSync,\n isSrcSubdir,\n areIdentical\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/util/stat.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/node_modules/fs-extra/lib/util/utimes.js": -/*!********************************************************************************!*\ - !*** ./node_modules/electron-updater/node_modules/fs-extra/lib/util/utimes.js ***! - \********************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nconst fs = __webpack_require__(/*! graceful-fs */ \"./node_modules/graceful-fs/graceful-fs.js\")\n\nfunction utimesMillis (path, atime, mtime, callback) {\n // if (!HAS_MILLIS_RES) return fs.utimes(path, atime, mtime, callback)\n fs.open(path, 'r+', (err, fd) => {\n if (err) return callback(err)\n fs.futimes(fd, atime, mtime, futimesErr => {\n fs.close(fd, closeErr => {\n if (callback) callback(futimesErr || closeErr)\n })\n })\n })\n}\n\nfunction utimesMillisSync (path, atime, mtime) {\n const fd = fs.openSync(path, 'r+')\n fs.futimesSync(fd, atime, mtime)\n return fs.closeSync(fd)\n}\n\nmodule.exports = {\n utimesMillis,\n utimesMillisSync\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/node_modules/fs-extra/lib/util/utimes.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/AppAdapter.js": -/*!*********************************************************!*\ - !*** ./node_modules/electron-updater/out/AppAdapter.js ***! - \*********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getAppCacheDir = void 0;\nconst path = __webpack_require__(/*! path */ \"path\");\nconst os_1 = __webpack_require__(/*! os */ \"os\");\nfunction getAppCacheDir() {\n const homedir = (0, os_1.homedir)();\n // https://github.com/electron/electron/issues/1404#issuecomment-194391247\n let result;\n if (process.platform === \"win32\") {\n result = process.env[\"LOCALAPPDATA\"] || path.join(homedir, \"AppData\", \"Local\");\n }\n else if (process.platform === \"darwin\") {\n result = path.join(homedir, \"Library\", \"Caches\");\n }\n else {\n result = process.env[\"XDG_CACHE_HOME\"] || path.join(homedir, \".cache\");\n }\n return result;\n}\nexports.getAppCacheDir = getAppCacheDir;\n//# sourceMappingURL=AppAdapter.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/AppAdapter.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/AppImageUpdater.js": -/*!**************************************************************!*\ - !*** ./node_modules/electron-updater/out/AppImageUpdater.js ***! - \**************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AppImageUpdater = void 0;\nconst builder_util_runtime_1 = __webpack_require__(/*! builder-util-runtime */ \"./node_modules/builder-util-runtime/out/index.js\");\nconst child_process_1 = __webpack_require__(/*! child_process */ \"child_process\");\nconst fs_extra_1 = __webpack_require__(/*! fs-extra */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/index.js\");\nconst fs_1 = __webpack_require__(/*! fs */ \"fs\");\nconst path = __webpack_require__(/*! path */ \"path\");\nconst BaseUpdater_1 = __webpack_require__(/*! ./BaseUpdater */ \"./node_modules/electron-updater/out/BaseUpdater.js\");\nconst FileWithEmbeddedBlockMapDifferentialDownloader_1 = __webpack_require__(/*! ./differentialDownloader/FileWithEmbeddedBlockMapDifferentialDownloader */ \"./node_modules/electron-updater/out/differentialDownloader/FileWithEmbeddedBlockMapDifferentialDownloader.js\");\nconst main_1 = __webpack_require__(/*! ./main */ \"./node_modules/electron-updater/out/main.js\");\nconst Provider_1 = __webpack_require__(/*! ./providers/Provider */ \"./node_modules/electron-updater/out/providers/Provider.js\");\nclass AppImageUpdater extends BaseUpdater_1.BaseUpdater {\n constructor(options, app) {\n super(options, app);\n }\n isUpdaterActive() {\n if (process.env[\"APPIMAGE\"] == null) {\n if (process.env[\"SNAP\"] == null) {\n this._logger.warn(\"APPIMAGE env is not defined, current application is not an AppImage\");\n }\n else {\n this._logger.info(\"SNAP env is defined, updater is disabled\");\n }\n return false;\n }\n return super.isUpdaterActive();\n }\n /*** @private */\n doDownloadUpdate(downloadUpdateOptions) {\n const provider = downloadUpdateOptions.updateInfoAndProvider.provider;\n const fileInfo = (0, Provider_1.findFile)(provider.resolveFiles(downloadUpdateOptions.updateInfoAndProvider.info), \"AppImage\", [\"rpm\", \"deb\"]);\n return this.executeDownload({\n fileExtension: \"AppImage\",\n fileInfo,\n downloadUpdateOptions,\n task: async (updateFile, downloadOptions) => {\n const oldFile = process.env[\"APPIMAGE\"];\n if (oldFile == null) {\n throw (0, builder_util_runtime_1.newError)(\"APPIMAGE env is not defined\", \"ERR_UPDATER_OLD_FILE_NOT_FOUND\");\n }\n let isDownloadFull = false;\n try {\n const downloadOptions = {\n newUrl: fileInfo.url,\n oldFile,\n logger: this._logger,\n newFile: updateFile,\n isUseMultipleRangeRequest: provider.isUseMultipleRangeRequest,\n requestHeaders: downloadUpdateOptions.requestHeaders,\n cancellationToken: downloadUpdateOptions.cancellationToken,\n };\n if (this.listenerCount(main_1.DOWNLOAD_PROGRESS) > 0) {\n downloadOptions.onProgress = it => this.emit(main_1.DOWNLOAD_PROGRESS, it);\n }\n await new FileWithEmbeddedBlockMapDifferentialDownloader_1.FileWithEmbeddedBlockMapDifferentialDownloader(fileInfo.info, this.httpExecutor, downloadOptions).download();\n }\n catch (e) {\n this._logger.error(`Cannot download differentially, fallback to full download: ${e.stack || e}`);\n // during test (developer machine mac) we must throw error\n isDownloadFull = process.platform === \"linux\";\n }\n if (isDownloadFull) {\n await this.httpExecutor.download(fileInfo.url, updateFile, downloadOptions);\n }\n await (0, fs_extra_1.chmod)(updateFile, 0o755);\n },\n });\n }\n doInstall(options) {\n const appImageFile = process.env[\"APPIMAGE\"];\n if (appImageFile == null) {\n throw (0, builder_util_runtime_1.newError)(\"APPIMAGE env is not defined\", \"ERR_UPDATER_OLD_FILE_NOT_FOUND\");\n }\n // https://stackoverflow.com/a/1712051/1910191\n (0, fs_1.unlinkSync)(appImageFile);\n let destination;\n const existingBaseName = path.basename(appImageFile);\n // https://github.com/electron-userland/electron-builder/issues/2964\n // if no version in existing file name, it means that user wants to preserve current custom name\n if (path.basename(options.installerPath) === existingBaseName || !/\\d+\\.\\d+\\.\\d+/.test(existingBaseName)) {\n // no version in the file name, overwrite existing\n destination = appImageFile;\n }\n else {\n destination = path.join(path.dirname(appImageFile), path.basename(options.installerPath));\n }\n (0, child_process_1.execFileSync)(\"mv\", [\"-f\", options.installerPath, destination]);\n if (destination !== appImageFile) {\n this.emit(\"appimage-filename-updated\", destination);\n }\n const env = {\n ...process.env,\n APPIMAGE_SILENT_INSTALL: \"true\",\n };\n if (options.isForceRunAfter) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.spawnLog(destination, [], env);\n }\n else {\n env.APPIMAGE_EXIT_AFTER_INSTALL = \"true\";\n (0, child_process_1.execFileSync)(destination, [], { env });\n }\n return true;\n }\n}\nexports.AppImageUpdater = AppImageUpdater;\n//# sourceMappingURL=AppImageUpdater.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/AppImageUpdater.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/AppUpdater.js": -/*!*********************************************************!*\ - !*** ./node_modules/electron-updater/out/AppUpdater.js ***! - \*********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NoOpLogger = exports.AppUpdater = void 0;\nconst builder_util_runtime_1 = __webpack_require__(/*! builder-util-runtime */ \"./node_modules/builder-util-runtime/out/index.js\");\nconst crypto_1 = __webpack_require__(/*! crypto */ \"crypto\");\nconst events_1 = __webpack_require__(/*! events */ \"events\");\nconst fs_extra_1 = __webpack_require__(/*! fs-extra */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/index.js\");\nconst js_yaml_1 = __webpack_require__(/*! js-yaml */ \"./node_modules/js-yaml/index.js\");\nconst lazy_val_1 = __webpack_require__(/*! lazy-val */ \"./node_modules/lazy-val/out/main.js\");\nconst path = __webpack_require__(/*! path */ \"path\");\nconst semver_1 = __webpack_require__(/*! semver */ \"./node_modules/semver/index.js\");\nconst DownloadedUpdateHelper_1 = __webpack_require__(/*! ./DownloadedUpdateHelper */ \"./node_modules/electron-updater/out/DownloadedUpdateHelper.js\");\nconst ElectronAppAdapter_1 = __webpack_require__(/*! ./ElectronAppAdapter */ \"./node_modules/electron-updater/out/ElectronAppAdapter.js\");\nconst electronHttpExecutor_1 = __webpack_require__(/*! ./electronHttpExecutor */ \"./node_modules/electron-updater/out/electronHttpExecutor.js\");\nconst GenericProvider_1 = __webpack_require__(/*! ./providers/GenericProvider */ \"./node_modules/electron-updater/out/providers/GenericProvider.js\");\nconst main_1 = __webpack_require__(/*! ./main */ \"./node_modules/electron-updater/out/main.js\");\nconst providerFactory_1 = __webpack_require__(/*! ./providerFactory */ \"./node_modules/electron-updater/out/providerFactory.js\");\nclass AppUpdater extends events_1.EventEmitter {\n constructor(options, app) {\n super();\n /**\n * Whether to automatically download an update when it is found.\n */\n this.autoDownload = true;\n /**\n * Whether to automatically install a downloaded update on app quit (if `quitAndInstall` was not called before).\n */\n this.autoInstallOnAppQuit = true;\n /**\n * *windows-only* Whether to run the app after finish install when run the installer NOT in silent mode.\n * @default true\n */\n this.autoRunAppAfterInstall = true;\n /**\n * *GitHub provider only.* Whether to allow update to pre-release versions. Defaults to `true` if application version contains prerelease components (e.g. `0.12.1-alpha.1`, here `alpha` is a prerelease component), otherwise `false`.\n *\n * If `true`, downgrade will be allowed (`allowDowngrade` will be set to `true`).\n */\n this.allowPrerelease = false;\n /**\n * *GitHub provider only.* Get all release notes (from current version to latest), not just the latest.\n * @default false\n */\n this.fullChangelog = false;\n /**\n * Whether to allow version downgrade (when a user from the beta channel wants to go back to the stable channel).\n *\n * Taken in account only if channel differs (pre-release version component in terms of semantic versioning).\n *\n * @default false\n */\n this.allowDowngrade = false;\n /**\n * Web installer files might not have signature verification, this switch prevents to load them unless it is needed.\n *\n * Currently false to prevent breaking the current API, but it should be changed to default true at some point that\n * breaking changes are allowed.\n *\n * @default false\n */\n this.disableWebInstaller = false;\n /**\n * Allows developer to force the updater to work in \"dev\" mode, looking for \"dev-app-update.yml\" instead of \"app-update.yml\"\n * Dev: `path.join(this.app.getAppPath(), \"dev-app-update.yml\")`\n * Prod: `path.join(process.resourcesPath!, \"app-update.yml\")`\n *\n * @default false\n */\n this.forceDevUpdateConfig = false;\n this._channel = null;\n this.downloadedUpdateHelper = null;\n /**\n * The request headers.\n */\n this.requestHeaders = null;\n this._logger = console;\n // noinspection JSUnusedGlobalSymbols\n /**\n * For type safety you can use signals, e.g. `autoUpdater.signals.updateDownloaded(() => {})` instead of `autoUpdater.on('update-available', () => {})`\n */\n this.signals = new main_1.UpdaterSignal(this);\n this._appUpdateConfigPath = null;\n this.clientPromise = null;\n this.stagingUserIdPromise = new lazy_val_1.Lazy(() => this.getOrCreateStagingUserId());\n // public, allow to read old config for anyone\n /** @internal */\n this.configOnDisk = new lazy_val_1.Lazy(() => this.loadUpdateConfig());\n this.checkForUpdatesPromise = null;\n this.updateInfoAndProvider = null;\n /**\n * @private\n * @internal\n */\n this._testOnlyOptions = null;\n this.on(\"error\", (error) => {\n this._logger.error(`Error: ${error.stack || error.message}`);\n });\n if (app == null) {\n this.app = new ElectronAppAdapter_1.ElectronAppAdapter();\n this.httpExecutor = new electronHttpExecutor_1.ElectronHttpExecutor((authInfo, callback) => this.emit(\"login\", authInfo, callback));\n }\n else {\n this.app = app;\n this.httpExecutor = null;\n }\n const currentVersionString = this.app.version;\n const currentVersion = (0, semver_1.parse)(currentVersionString);\n if (currentVersion == null) {\n throw (0, builder_util_runtime_1.newError)(`App version is not a valid semver version: \"${currentVersionString}\"`, \"ERR_UPDATER_INVALID_VERSION\");\n }\n this.currentVersion = currentVersion;\n this.allowPrerelease = hasPrereleaseComponents(currentVersion);\n if (options != null) {\n this.setFeedURL(options);\n if (typeof options !== \"string\" && options.requestHeaders) {\n this.requestHeaders = options.requestHeaders;\n }\n }\n }\n /**\n * Get the update channel. Not applicable for GitHub. Doesn't return `channel` from the update configuration, only if was previously set.\n */\n get channel() {\n return this._channel;\n }\n /**\n * Set the update channel. Not applicable for GitHub. Overrides `channel` in the update configuration.\n *\n * `allowDowngrade` will be automatically set to `true`. If this behavior is not suitable for you, simple set `allowDowngrade` explicitly after.\n */\n set channel(value) {\n if (this._channel != null) {\n // noinspection SuspiciousTypeOfGuard\n if (typeof value !== \"string\") {\n throw (0, builder_util_runtime_1.newError)(`Channel must be a string, but got: ${value}`, \"ERR_UPDATER_INVALID_CHANNEL\");\n }\n else if (value.length === 0) {\n throw (0, builder_util_runtime_1.newError)(`Channel must be not an empty string`, \"ERR_UPDATER_INVALID_CHANNEL\");\n }\n }\n this._channel = value;\n this.allowDowngrade = true;\n }\n /**\n * Shortcut for explicitly adding auth tokens to request headers\n */\n addAuthHeader(token) {\n this.requestHeaders = Object.assign({}, this.requestHeaders, {\n authorization: token,\n });\n }\n // noinspection JSMethodCanBeStatic,JSUnusedGlobalSymbols\n get netSession() {\n return (0, electronHttpExecutor_1.getNetSession)();\n }\n /**\n * The logger. You can pass [electron-log](https://github.com/megahertz/electron-log), [winston](https://github.com/winstonjs/winston) or another logger with the following interface: `{ info(), warn(), error() }`.\n * Set it to `null` if you would like to disable a logging feature.\n */\n get logger() {\n return this._logger;\n }\n set logger(value) {\n this._logger = value == null ? new NoOpLogger() : value;\n }\n // noinspection JSUnusedGlobalSymbols\n /**\n * test only\n * @private\n */\n set updateConfigPath(value) {\n this.clientPromise = null;\n this._appUpdateConfigPath = value;\n this.configOnDisk = new lazy_val_1.Lazy(() => this.loadUpdateConfig());\n }\n //noinspection JSMethodCanBeStatic,JSUnusedGlobalSymbols\n getFeedURL() {\n return \"Deprecated. Do not use it.\";\n }\n /**\n * Configure update provider. If value is `string`, [GenericServerOptions](/configuration/publish#genericserveroptions) will be set with value as `url`.\n * @param options If you want to override configuration in the `app-update.yml`.\n */\n setFeedURL(options) {\n const runtimeOptions = this.createProviderRuntimeOptions();\n // https://github.com/electron-userland/electron-builder/issues/1105\n let provider;\n if (typeof options === \"string\") {\n provider = new GenericProvider_1.GenericProvider({ provider: \"generic\", url: options }, this, {\n ...runtimeOptions,\n isUseMultipleRangeRequest: (0, providerFactory_1.isUrlProbablySupportMultiRangeRequests)(options),\n });\n }\n else {\n provider = (0, providerFactory_1.createClient)(options, this, runtimeOptions);\n }\n this.clientPromise = Promise.resolve(provider);\n }\n /**\n * Asks the server whether there is an update.\n */\n checkForUpdates() {\n if (!this.isUpdaterActive()) {\n return Promise.resolve(null);\n }\n let checkForUpdatesPromise = this.checkForUpdatesPromise;\n if (checkForUpdatesPromise != null) {\n this._logger.info(\"Checking for update (already in progress)\");\n return checkForUpdatesPromise;\n }\n const nullizePromise = () => (this.checkForUpdatesPromise = null);\n this._logger.info(\"Checking for update\");\n checkForUpdatesPromise = this.doCheckForUpdates()\n .then(it => {\n nullizePromise();\n return it;\n })\n .catch((e) => {\n nullizePromise();\n this.emit(\"error\", e, `Cannot check for updates: ${(e.stack || e).toString()}`);\n throw e;\n });\n this.checkForUpdatesPromise = checkForUpdatesPromise;\n return checkForUpdatesPromise;\n }\n isUpdaterActive() {\n const isEnabled = this.app.isPackaged || this.forceDevUpdateConfig;\n if (!isEnabled) {\n this._logger.info(\"Skip checkForUpdates because application is not packed and dev update config is not forced\");\n return false;\n }\n return true;\n }\n // noinspection JSUnusedGlobalSymbols\n checkForUpdatesAndNotify(downloadNotification) {\n return this.checkForUpdates().then(it => {\n if (!(it === null || it === void 0 ? void 0 : it.downloadPromise)) {\n if (this._logger.debug != null) {\n this._logger.debug(\"checkForUpdatesAndNotify called, downloadPromise is null\");\n }\n return it;\n }\n void it.downloadPromise.then(() => {\n const notificationContent = AppUpdater.formatDownloadNotification(it.updateInfo.version, this.app.name, downloadNotification);\n new ((__webpack_require__(/*! electron */ \"electron\").Notification))(notificationContent).show();\n });\n return it;\n });\n }\n static formatDownloadNotification(version, appName, downloadNotification) {\n if (downloadNotification == null) {\n downloadNotification = {\n title: \"A new update is ready to install\",\n body: `{appName} version {version} has been downloaded and will be automatically installed on exit`,\n };\n }\n downloadNotification = {\n title: downloadNotification.title.replace(\"{appName}\", appName).replace(\"{version}\", version),\n body: downloadNotification.body.replace(\"{appName}\", appName).replace(\"{version}\", version),\n };\n return downloadNotification;\n }\n async isStagingMatch(updateInfo) {\n const rawStagingPercentage = updateInfo.stagingPercentage;\n let stagingPercentage = rawStagingPercentage;\n if (stagingPercentage == null) {\n return true;\n }\n stagingPercentage = parseInt(stagingPercentage, 10);\n if (isNaN(stagingPercentage)) {\n this._logger.warn(`Staging percentage is NaN: ${rawStagingPercentage}`);\n return true;\n }\n // convert from user 0-100 to internal 0-1\n stagingPercentage = stagingPercentage / 100;\n const stagingUserId = await this.stagingUserIdPromise.value;\n const val = builder_util_runtime_1.UUID.parse(stagingUserId).readUInt32BE(12);\n const percentage = val / 0xffffffff;\n this._logger.info(`Staging percentage: ${stagingPercentage}, percentage: ${percentage}, user id: ${stagingUserId}`);\n return percentage < stagingPercentage;\n }\n computeFinalHeaders(headers) {\n if (this.requestHeaders != null) {\n Object.assign(headers, this.requestHeaders);\n }\n return headers;\n }\n async isUpdateAvailable(updateInfo) {\n const latestVersion = (0, semver_1.parse)(updateInfo.version);\n if (latestVersion == null) {\n throw (0, builder_util_runtime_1.newError)(`This file could not be downloaded, or the latest version (from update server) does not have a valid semver version: \"${updateInfo.version}\"`, \"ERR_UPDATER_INVALID_VERSION\");\n }\n const currentVersion = this.currentVersion;\n if ((0, semver_1.eq)(latestVersion, currentVersion)) {\n return false;\n }\n const isStagingMatch = await this.isStagingMatch(updateInfo);\n if (!isStagingMatch) {\n return false;\n }\n // https://github.com/electron-userland/electron-builder/pull/3111#issuecomment-405033227\n // https://github.com/electron-userland/electron-builder/pull/3111#issuecomment-405030797\n const isLatestVersionNewer = (0, semver_1.gt)(latestVersion, currentVersion);\n const isLatestVersionOlder = (0, semver_1.lt)(latestVersion, currentVersion);\n if (isLatestVersionNewer) {\n return true;\n }\n return this.allowDowngrade && isLatestVersionOlder;\n }\n async getUpdateInfoAndProvider() {\n await this.app.whenReady();\n if (this.clientPromise == null) {\n this.clientPromise = this.configOnDisk.value.then(it => (0, providerFactory_1.createClient)(it, this, this.createProviderRuntimeOptions()));\n }\n const client = await this.clientPromise;\n const stagingUserId = await this.stagingUserIdPromise.value;\n client.setRequestHeaders(this.computeFinalHeaders({ \"x-user-staging-id\": stagingUserId }));\n return {\n info: await client.getLatestVersion(),\n provider: client,\n };\n }\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n createProviderRuntimeOptions() {\n return {\n isUseMultipleRangeRequest: true,\n platform: this._testOnlyOptions == null ? process.platform : this._testOnlyOptions.platform,\n executor: this.httpExecutor,\n };\n }\n async doCheckForUpdates() {\n this.emit(\"checking-for-update\");\n const result = await this.getUpdateInfoAndProvider();\n const updateInfo = result.info;\n if (!(await this.isUpdateAvailable(updateInfo))) {\n this._logger.info(`Update for version ${this.currentVersion} is not available (latest version: ${updateInfo.version}, downgrade is ${this.allowDowngrade ? \"allowed\" : \"disallowed\"}).`);\n this.emit(\"update-not-available\", updateInfo);\n return {\n versionInfo: updateInfo,\n updateInfo,\n };\n }\n this.updateInfoAndProvider = result;\n this.onUpdateAvailable(updateInfo);\n const cancellationToken = new builder_util_runtime_1.CancellationToken();\n //noinspection ES6MissingAwait\n return {\n versionInfo: updateInfo,\n updateInfo,\n cancellationToken,\n downloadPromise: this.autoDownload ? this.downloadUpdate(cancellationToken) : null,\n };\n }\n onUpdateAvailable(updateInfo) {\n this._logger.info(`Found version ${updateInfo.version} (url: ${(0, builder_util_runtime_1.asArray)(updateInfo.files)\n .map(it => it.url)\n .join(\", \")})`);\n this.emit(\"update-available\", updateInfo);\n }\n /**\n * Start downloading update manually. You can use this method if `autoDownload` option is set to `false`.\n * @returns {Promise>} Paths to downloaded files.\n */\n downloadUpdate(cancellationToken = new builder_util_runtime_1.CancellationToken()) {\n const updateInfoAndProvider = this.updateInfoAndProvider;\n if (updateInfoAndProvider == null) {\n const error = new Error(\"Please check update first\");\n this.dispatchError(error);\n return Promise.reject(error);\n }\n this._logger.info(`Downloading update from ${(0, builder_util_runtime_1.asArray)(updateInfoAndProvider.info.files)\n .map(it => it.url)\n .join(\", \")}`);\n const errorHandler = (e) => {\n // https://github.com/electron-userland/electron-builder/issues/1150#issuecomment-436891159\n if (!(e instanceof builder_util_runtime_1.CancellationError)) {\n try {\n this.dispatchError(e);\n }\n catch (nestedError) {\n this._logger.warn(`Cannot dispatch error event: ${nestedError.stack || nestedError}`);\n }\n }\n return e;\n };\n try {\n return this.doDownloadUpdate({\n updateInfoAndProvider,\n requestHeaders: this.computeRequestHeaders(updateInfoAndProvider.provider),\n cancellationToken,\n disableWebInstaller: this.disableWebInstaller,\n }).catch((e) => {\n throw errorHandler(e);\n });\n }\n catch (e) {\n return Promise.reject(errorHandler(e));\n }\n }\n dispatchError(e) {\n this.emit(\"error\", e, (e.stack || e).toString());\n }\n dispatchUpdateDownloaded(event) {\n this.emit(main_1.UPDATE_DOWNLOADED, event);\n }\n async loadUpdateConfig() {\n if (this._appUpdateConfigPath == null) {\n this._appUpdateConfigPath = this.app.appUpdateConfigPath;\n }\n return (0, js_yaml_1.load)(await (0, fs_extra_1.readFile)(this._appUpdateConfigPath, \"utf-8\"));\n }\n computeRequestHeaders(provider) {\n const fileExtraDownloadHeaders = provider.fileExtraDownloadHeaders;\n if (fileExtraDownloadHeaders != null) {\n const requestHeaders = this.requestHeaders;\n return requestHeaders == null\n ? fileExtraDownloadHeaders\n : {\n ...fileExtraDownloadHeaders,\n ...requestHeaders,\n };\n }\n return this.computeFinalHeaders({ accept: \"*/*\" });\n }\n async getOrCreateStagingUserId() {\n const file = path.join(this.app.userDataPath, \".updaterId\");\n try {\n const id = await (0, fs_extra_1.readFile)(file, \"utf-8\");\n if (builder_util_runtime_1.UUID.check(id)) {\n return id;\n }\n else {\n this._logger.warn(`Staging user id file exists, but content was invalid: ${id}`);\n }\n }\n catch (e) {\n if (e.code !== \"ENOENT\") {\n this._logger.warn(`Couldn't read staging user ID, creating a blank one: ${e}`);\n }\n }\n const id = builder_util_runtime_1.UUID.v5((0, crypto_1.randomBytes)(4096), builder_util_runtime_1.UUID.OID);\n this._logger.info(`Generated new staging user ID: ${id}`);\n try {\n await (0, fs_extra_1.outputFile)(file, id);\n }\n catch (e) {\n this._logger.warn(`Couldn't write out staging user ID: ${e}`);\n }\n return id;\n }\n /** @internal */\n get isAddNoCacheQuery() {\n const headers = this.requestHeaders;\n // https://github.com/electron-userland/electron-builder/issues/3021\n if (headers == null) {\n return true;\n }\n for (const headerName of Object.keys(headers)) {\n const s = headerName.toLowerCase();\n if (s === \"authorization\" || s === \"private-token\") {\n return false;\n }\n }\n return true;\n }\n async getOrCreateDownloadHelper() {\n let result = this.downloadedUpdateHelper;\n if (result == null) {\n const dirName = (await this.configOnDisk.value).updaterCacheDirName;\n const logger = this._logger;\n if (dirName == null) {\n logger.error(\"updaterCacheDirName is not specified in app-update.yml Was app build using at least electron-builder 20.34.0?\");\n }\n const cacheDir = path.join(this.app.baseCachePath, dirName || this.app.name);\n if (logger.debug != null) {\n logger.debug(`updater cache dir: ${cacheDir}`);\n }\n result = new DownloadedUpdateHelper_1.DownloadedUpdateHelper(cacheDir);\n this.downloadedUpdateHelper = result;\n }\n return result;\n }\n async executeDownload(taskOptions) {\n const fileInfo = taskOptions.fileInfo;\n const downloadOptions = {\n headers: taskOptions.downloadUpdateOptions.requestHeaders,\n cancellationToken: taskOptions.downloadUpdateOptions.cancellationToken,\n sha2: fileInfo.info.sha2,\n sha512: fileInfo.info.sha512,\n };\n if (this.listenerCount(main_1.DOWNLOAD_PROGRESS) > 0) {\n downloadOptions.onProgress = it => this.emit(main_1.DOWNLOAD_PROGRESS, it);\n }\n const updateInfo = taskOptions.downloadUpdateOptions.updateInfoAndProvider.info;\n const version = updateInfo.version;\n const packageInfo = fileInfo.packageInfo;\n function getCacheUpdateFileName() {\n // NodeJS URL doesn't decode automatically\n const urlPath = decodeURIComponent(taskOptions.fileInfo.url.pathname);\n if (urlPath.endsWith(`.${taskOptions.fileExtension}`)) {\n return path.basename(urlPath);\n }\n else {\n // url like /latest, generate name\n return taskOptions.fileInfo.info.url;\n }\n }\n const downloadedUpdateHelper = await this.getOrCreateDownloadHelper();\n const cacheDir = downloadedUpdateHelper.cacheDirForPendingUpdate;\n await (0, fs_extra_1.mkdir)(cacheDir, { recursive: true });\n const updateFileName = getCacheUpdateFileName();\n let updateFile = path.join(cacheDir, updateFileName);\n const packageFile = packageInfo == null ? null : path.join(cacheDir, `package-${version}${path.extname(packageInfo.path) || \".7z\"}`);\n const done = async (isSaveCache) => {\n await downloadedUpdateHelper.setDownloadedFile(updateFile, packageFile, updateInfo, fileInfo, updateFileName, isSaveCache);\n await taskOptions.done({\n ...updateInfo,\n downloadedFile: updateFile,\n });\n return packageFile == null ? [updateFile] : [updateFile, packageFile];\n };\n const log = this._logger;\n const cachedUpdateFile = await downloadedUpdateHelper.validateDownloadedPath(updateFile, updateInfo, fileInfo, log);\n if (cachedUpdateFile != null) {\n updateFile = cachedUpdateFile;\n return await done(false);\n }\n const removeFileIfAny = async () => {\n await downloadedUpdateHelper.clear().catch(() => {\n // ignore\n });\n return await (0, fs_extra_1.unlink)(updateFile).catch(() => {\n // ignore\n });\n };\n const tempUpdateFile = await (0, DownloadedUpdateHelper_1.createTempUpdateFile)(`temp-${updateFileName}`, cacheDir, log);\n try {\n await taskOptions.task(tempUpdateFile, downloadOptions, packageFile, removeFileIfAny);\n await (0, fs_extra_1.rename)(tempUpdateFile, updateFile);\n }\n catch (e) {\n await removeFileIfAny();\n if (e instanceof builder_util_runtime_1.CancellationError) {\n log.info(\"cancelled\");\n this.emit(\"update-cancelled\", updateInfo);\n }\n throw e;\n }\n log.info(`New version ${version} has been downloaded to ${updateFile}`);\n return await done(true);\n }\n}\nexports.AppUpdater = AppUpdater;\nfunction hasPrereleaseComponents(version) {\n const versionPrereleaseComponent = (0, semver_1.prerelease)(version);\n return versionPrereleaseComponent != null && versionPrereleaseComponent.length > 0;\n}\n/** @private */\nclass NoOpLogger {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n info(message) {\n // ignore\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n warn(message) {\n // ignore\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n error(message) {\n // ignore\n }\n}\nexports.NoOpLogger = NoOpLogger;\n//# sourceMappingURL=AppUpdater.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/AppUpdater.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/BaseUpdater.js": -/*!**********************************************************!*\ - !*** ./node_modules/electron-updater/out/BaseUpdater.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BaseUpdater = void 0;\nconst child_process_1 = __webpack_require__(/*! child_process */ \"child_process\");\nconst AppUpdater_1 = __webpack_require__(/*! ./AppUpdater */ \"./node_modules/electron-updater/out/AppUpdater.js\");\nclass BaseUpdater extends AppUpdater_1.AppUpdater {\n constructor(options, app) {\n super(options, app);\n this.quitAndInstallCalled = false;\n this.quitHandlerAdded = false;\n }\n quitAndInstall(isSilent = false, isForceRunAfter = false) {\n this._logger.info(`Install on explicit quitAndInstall`);\n // If NOT in silent mode use `autoRunAppAfterInstall` to determine whether to force run the app\n const isInstalled = this.install(isSilent, isSilent ? isForceRunAfter : this.autoRunAppAfterInstall);\n if (isInstalled) {\n setImmediate(() => {\n // this event is normally emitted when calling quitAndInstall, this emulates that\n (__webpack_require__(/*! electron */ \"electron\").autoUpdater).emit(\"before-quit-for-update\");\n this.app.quit();\n });\n }\n else {\n this.quitAndInstallCalled = false;\n }\n }\n executeDownload(taskOptions) {\n return super.executeDownload({\n ...taskOptions,\n done: event => {\n this.dispatchUpdateDownloaded(event);\n this.addQuitHandler();\n return Promise.resolve();\n },\n });\n }\n // must be sync (because quit even handler is not async)\n install(isSilent = false, isForceRunAfter = false) {\n if (this.quitAndInstallCalled) {\n this._logger.warn(\"install call ignored: quitAndInstallCalled is set to true\");\n return false;\n }\n const downloadedUpdateHelper = this.downloadedUpdateHelper;\n const installerPath = downloadedUpdateHelper == null ? null : downloadedUpdateHelper.file;\n const downloadedFileInfo = downloadedUpdateHelper == null ? null : downloadedUpdateHelper.downloadedFileInfo;\n if (installerPath == null || downloadedFileInfo == null) {\n this.dispatchError(new Error(\"No valid update available, can't quit and install\"));\n return false;\n }\n // prevent calling several times\n this.quitAndInstallCalled = true;\n try {\n this._logger.info(`Install: isSilent: ${isSilent}, isForceRunAfter: ${isForceRunAfter}`);\n return this.doInstall({\n installerPath,\n isSilent,\n isForceRunAfter,\n isAdminRightsRequired: downloadedFileInfo.isAdminRightsRequired,\n });\n }\n catch (e) {\n this.dispatchError(e);\n return false;\n }\n }\n addQuitHandler() {\n if (this.quitHandlerAdded || !this.autoInstallOnAppQuit) {\n return;\n }\n this.quitHandlerAdded = true;\n this.app.onQuit(exitCode => {\n if (this.quitAndInstallCalled) {\n this._logger.info(\"Update installer has already been triggered. Quitting application.\");\n return;\n }\n if (!this.autoInstallOnAppQuit) {\n this._logger.info(\"Update will not be installed on quit because autoInstallOnAppQuit is set to false.\");\n return;\n }\n if (exitCode !== 0) {\n this._logger.info(`Update will be not installed on quit because application is quitting with exit code ${exitCode}`);\n return;\n }\n this._logger.info(\"Auto install update on quit\");\n this.install(true, false);\n });\n }\n wrapSudo() {\n const { name } = this.app;\n const installComment = `\"${name} would like to update\"`;\n const sudo = this.spawnSyncLog(\"which gksudo || which kdesudo || which pkexec || which beesu\");\n const command = [sudo];\n if (/kdesudo/i.test(sudo)) {\n command.push(\"--comment\", installComment);\n command.push(\"-c\");\n }\n else if (/gksudo/i.test(sudo)) {\n command.push(\"--message\", installComment);\n }\n else if (/pkexec/i.test(sudo)) {\n command.push(\"--disable-internal-agent\");\n }\n return command.join(\" \");\n }\n spawnSyncLog(cmd, args = [], env = {}) {\n this._logger.info(`Executing: ${cmd} with args: ${args}`);\n const response = (0, child_process_1.spawnSync)(cmd, args, {\n env: { ...process.env, ...env },\n encoding: \"utf-8\",\n shell: true,\n });\n return response.stdout.trim();\n }\n /**\n * This handles both node 8 and node 10 way of emitting error when spawning a process\n * - node 8: Throws the error\n * - node 10: Emit the error(Need to listen with on)\n */\n // https://github.com/electron-userland/electron-builder/issues/1129\n // Node 8 sends errors: https://nodejs.org/dist/latest-v8.x/docs/api/errors.html#errors_common_system_errors\n async spawnLog(cmd, args = [], env = undefined, stdio = \"ignore\") {\n this._logger.info(`Executing: ${cmd} with args: ${args}`);\n return new Promise((resolve, reject) => {\n try {\n const params = { stdio, env, detached: true };\n const p = (0, child_process_1.spawn)(cmd, args, params);\n p.on(\"error\", error => {\n reject(error);\n });\n p.unref();\n if (p.pid !== undefined) {\n resolve(true);\n }\n }\n catch (error) {\n reject(error);\n }\n });\n }\n}\nexports.BaseUpdater = BaseUpdater;\n//# sourceMappingURL=BaseUpdater.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/BaseUpdater.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/DebUpdater.js": -/*!*********************************************************!*\ - !*** ./node_modules/electron-updater/out/DebUpdater.js ***! - \*********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DebUpdater = void 0;\nconst BaseUpdater_1 = __webpack_require__(/*! ./BaseUpdater */ \"./node_modules/electron-updater/out/BaseUpdater.js\");\nconst main_1 = __webpack_require__(/*! ./main */ \"./node_modules/electron-updater/out/main.js\");\nconst Provider_1 = __webpack_require__(/*! ./providers/Provider */ \"./node_modules/electron-updater/out/providers/Provider.js\");\nclass DebUpdater extends BaseUpdater_1.BaseUpdater {\n constructor(options, app) {\n super(options, app);\n }\n /*** @private */\n doDownloadUpdate(downloadUpdateOptions) {\n const provider = downloadUpdateOptions.updateInfoAndProvider.provider;\n const fileInfo = (0, Provider_1.findFile)(provider.resolveFiles(downloadUpdateOptions.updateInfoAndProvider.info), \"deb\", [\"AppImage\", \"rpm\"]);\n return this.executeDownload({\n fileExtension: \"deb\",\n fileInfo,\n downloadUpdateOptions,\n task: async (updateFile, downloadOptions) => {\n if (this.listenerCount(main_1.DOWNLOAD_PROGRESS) > 0) {\n downloadOptions.onProgress = it => this.emit(main_1.DOWNLOAD_PROGRESS, it);\n }\n await this.httpExecutor.download(fileInfo.url, updateFile, downloadOptions);\n },\n });\n }\n doInstall(options) {\n const sudo = this.wrapSudo();\n // pkexec doesn't want the command to be wrapped in \" quotes\n const wrapper = /pkexec/i.test(sudo) ? \"\" : `\"`;\n const cmd = [\"dpkg\", \"-i\", options.installerPath, \"||\", \"apt-get\", \"install\", \"-f\", \"-y\"];\n this.spawnSyncLog(sudo, [`${wrapper}/bin/bash`, \"-c\", `'${cmd.join(\" \")}'${wrapper}`]);\n if (options.isForceRunAfter) {\n this.app.relaunch();\n }\n return true;\n }\n}\nexports.DebUpdater = DebUpdater;\n//# sourceMappingURL=DebUpdater.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/DebUpdater.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/DownloadedUpdateHelper.js": -/*!*********************************************************************!*\ - !*** ./node_modules/electron-updater/out/DownloadedUpdateHelper.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createTempUpdateFile = exports.DownloadedUpdateHelper = void 0;\nconst crypto_1 = __webpack_require__(/*! crypto */ \"crypto\");\nconst fs_1 = __webpack_require__(/*! fs */ \"fs\");\n// @ts-ignore\nconst isEqual = __webpack_require__(/*! lodash.isequal */ \"./node_modules/lodash.isequal/index.js\");\nconst fs_extra_1 = __webpack_require__(/*! fs-extra */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/index.js\");\nconst path = __webpack_require__(/*! path */ \"path\");\n/** @private **/\nclass DownloadedUpdateHelper {\n constructor(cacheDir) {\n this.cacheDir = cacheDir;\n this._file = null;\n this._packageFile = null;\n this.versionInfo = null;\n this.fileInfo = null;\n this._downloadedFileInfo = null;\n }\n get downloadedFileInfo() {\n return this._downloadedFileInfo;\n }\n get file() {\n return this._file;\n }\n get packageFile() {\n return this._packageFile;\n }\n get cacheDirForPendingUpdate() {\n return path.join(this.cacheDir, \"pending\");\n }\n async validateDownloadedPath(updateFile, updateInfo, fileInfo, logger) {\n if (this.versionInfo != null && this.file === updateFile && this.fileInfo != null) {\n // update has already been downloaded from this running instance\n // check here only existence, not checksum\n if (isEqual(this.versionInfo, updateInfo) && isEqual(this.fileInfo.info, fileInfo.info) && (await (0, fs_extra_1.pathExists)(updateFile))) {\n return updateFile;\n }\n else {\n return null;\n }\n }\n // update has already been downloaded from some previous app launch\n const cachedUpdateFile = await this.getValidCachedUpdateFile(fileInfo, logger);\n if (cachedUpdateFile === null) {\n return null;\n }\n logger.info(`Update has already been downloaded to ${updateFile}).`);\n this._file = cachedUpdateFile;\n return cachedUpdateFile;\n }\n async setDownloadedFile(downloadedFile, packageFile, versionInfo, fileInfo, updateFileName, isSaveCache) {\n this._file = downloadedFile;\n this._packageFile = packageFile;\n this.versionInfo = versionInfo;\n this.fileInfo = fileInfo;\n this._downloadedFileInfo = {\n fileName: updateFileName,\n sha512: fileInfo.info.sha512,\n isAdminRightsRequired: fileInfo.info.isAdminRightsRequired === true,\n };\n if (isSaveCache) {\n await (0, fs_extra_1.outputJson)(this.getUpdateInfoFile(), this._downloadedFileInfo);\n }\n }\n async clear() {\n this._file = null;\n this._packageFile = null;\n this.versionInfo = null;\n this.fileInfo = null;\n await this.cleanCacheDirForPendingUpdate();\n }\n async cleanCacheDirForPendingUpdate() {\n try {\n // remove stale data\n await (0, fs_extra_1.emptyDir)(this.cacheDirForPendingUpdate);\n }\n catch (ignore) {\n // ignore\n }\n }\n /**\n * Returns \"update-info.json\" which is created in the update cache directory's \"pending\" subfolder after the first update is downloaded. If the update file does not exist then the cache is cleared and recreated. If the update file exists then its properties are validated.\n * @param fileInfo\n * @param logger\n */\n async getValidCachedUpdateFile(fileInfo, logger) {\n var _a;\n const updateInfoFilePath = this.getUpdateInfoFile();\n const doesUpdateInfoFileExist = await (0, fs_extra_1.pathExists)(updateInfoFilePath);\n if (!doesUpdateInfoFileExist) {\n return null;\n }\n let cachedInfo;\n try {\n cachedInfo = await (0, fs_extra_1.readJson)(updateInfoFilePath);\n }\n catch (error) {\n let message = `No cached update info available`;\n if (error.code !== \"ENOENT\") {\n await this.cleanCacheDirForPendingUpdate();\n message += ` (error on read: ${error.message})`;\n }\n logger.info(message);\n return null;\n }\n const isCachedInfoFileNameValid = (_a = (cachedInfo === null || cachedInfo === void 0 ? void 0 : cachedInfo.fileName) !== null) !== null && _a !== void 0 ? _a : false;\n if (!isCachedInfoFileNameValid) {\n logger.warn(`Cached update info is corrupted: no fileName, directory for cached update will be cleaned`);\n await this.cleanCacheDirForPendingUpdate();\n return null;\n }\n if (fileInfo.info.sha512 !== cachedInfo.sha512) {\n logger.info(`Cached update sha512 checksum doesn't match the latest available update. New update must be downloaded. Cached: ${cachedInfo.sha512}, expected: ${fileInfo.info.sha512}. Directory for cached update will be cleaned`);\n await this.cleanCacheDirForPendingUpdate();\n return null;\n }\n const updateFile = path.join(this.cacheDirForPendingUpdate, cachedInfo.fileName);\n if (!(await (0, fs_extra_1.pathExists)(updateFile))) {\n logger.info(\"Cached update file doesn't exist\");\n return null;\n }\n const sha512 = await hashFile(updateFile);\n if (fileInfo.info.sha512 !== sha512) {\n logger.warn(`Sha512 checksum doesn't match the latest available update. New update must be downloaded. Cached: ${sha512}, expected: ${fileInfo.info.sha512}`);\n await this.cleanCacheDirForPendingUpdate();\n return null;\n }\n this._downloadedFileInfo = cachedInfo;\n return updateFile;\n }\n getUpdateInfoFile() {\n return path.join(this.cacheDirForPendingUpdate, \"update-info.json\");\n }\n}\nexports.DownloadedUpdateHelper = DownloadedUpdateHelper;\nfunction hashFile(file, algorithm = \"sha512\", encoding = \"base64\", options) {\n return new Promise((resolve, reject) => {\n const hash = (0, crypto_1.createHash)(algorithm);\n hash.on(\"error\", reject).setEncoding(encoding);\n (0, fs_1.createReadStream)(file, { ...options, highWaterMark: 1024 * 1024 /* better to use more memory but hash faster */ })\n .on(\"error\", reject)\n .on(\"end\", () => {\n hash.end();\n resolve(hash.read());\n })\n .pipe(hash, { end: false });\n });\n}\nasync function createTempUpdateFile(name, cacheDir, log) {\n // https://github.com/electron-userland/electron-builder/pull/2474#issuecomment-366481912\n let nameCounter = 0;\n let result = path.join(cacheDir, name);\n for (let i = 0; i < 3; i++) {\n try {\n await (0, fs_extra_1.unlink)(result);\n return result;\n }\n catch (e) {\n if (e.code === \"ENOENT\") {\n return result;\n }\n log.warn(`Error on remove temp update file: ${e}`);\n result = path.join(cacheDir, `${nameCounter++}-${name}`);\n }\n }\n return result;\n}\nexports.createTempUpdateFile = createTempUpdateFile;\n//# sourceMappingURL=DownloadedUpdateHelper.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/DownloadedUpdateHelper.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/ElectronAppAdapter.js": -/*!*****************************************************************!*\ - !*** ./node_modules/electron-updater/out/ElectronAppAdapter.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ElectronAppAdapter = void 0;\nconst path = __webpack_require__(/*! path */ \"path\");\nconst AppAdapter_1 = __webpack_require__(/*! ./AppAdapter */ \"./node_modules/electron-updater/out/AppAdapter.js\");\nclass ElectronAppAdapter {\n constructor(app = (__webpack_require__(/*! electron */ \"electron\").app)) {\n this.app = app;\n }\n whenReady() {\n return this.app.whenReady();\n }\n get version() {\n return this.app.getVersion();\n }\n get name() {\n return this.app.getName();\n }\n get isPackaged() {\n return this.app.isPackaged === true;\n }\n get appUpdateConfigPath() {\n return this.isPackaged ? path.join(process.resourcesPath, \"app-update.yml\") : path.join(this.app.getAppPath(), \"dev-app-update.yml\");\n }\n get userDataPath() {\n return this.app.getPath(\"userData\");\n }\n get baseCachePath() {\n return (0, AppAdapter_1.getAppCacheDir)();\n }\n quit() {\n this.app.quit();\n }\n relaunch() {\n this.app.relaunch();\n }\n onQuit(handler) {\n this.app.once(\"quit\", (_, exitCode) => handler(exitCode));\n }\n}\nexports.ElectronAppAdapter = ElectronAppAdapter;\n//# sourceMappingURL=ElectronAppAdapter.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/ElectronAppAdapter.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/MacUpdater.js": -/*!*********************************************************!*\ - !*** ./node_modules/electron-updater/out/MacUpdater.js ***! - \*********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MacUpdater = void 0;\nconst builder_util_runtime_1 = __webpack_require__(/*! builder-util-runtime */ \"./node_modules/builder-util-runtime/out/index.js\");\nconst fs_extra_1 = __webpack_require__(/*! fs-extra */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/index.js\");\nconst fs_1 = __webpack_require__(/*! fs */ \"fs\");\nconst http_1 = __webpack_require__(/*! http */ \"http\");\nconst AppUpdater_1 = __webpack_require__(/*! ./AppUpdater */ \"./node_modules/electron-updater/out/AppUpdater.js\");\nconst Provider_1 = __webpack_require__(/*! ./providers/Provider */ \"./node_modules/electron-updater/out/providers/Provider.js\");\nconst child_process_1 = __webpack_require__(/*! child_process */ \"child_process\");\nconst crypto_1 = __webpack_require__(/*! crypto */ \"crypto\");\nclass MacUpdater extends AppUpdater_1.AppUpdater {\n constructor(options, app) {\n super(options, app);\n this.nativeUpdater = (__webpack_require__(/*! electron */ \"electron\").autoUpdater);\n this.squirrelDownloadedUpdate = false;\n this.nativeUpdater.on(\"error\", it => {\n this._logger.warn(it);\n this.emit(\"error\", it);\n });\n this.nativeUpdater.on(\"update-downloaded\", () => {\n this.squirrelDownloadedUpdate = true;\n });\n }\n debug(message) {\n if (this._logger.debug != null) {\n this._logger.debug(message);\n }\n }\n async doDownloadUpdate(downloadUpdateOptions) {\n let files = downloadUpdateOptions.updateInfoAndProvider.provider.resolveFiles(downloadUpdateOptions.updateInfoAndProvider.info);\n const log = this._logger;\n // detect if we are running inside Rosetta emulation\n const sysctlRosettaInfoKey = \"sysctl.proc_translated\";\n let isRosetta = false;\n try {\n this.debug(\"Checking for macOS Rosetta environment\");\n const result = (0, child_process_1.execFileSync)(\"sysctl\", [sysctlRosettaInfoKey], { encoding: \"utf8\" });\n isRosetta = result.includes(`${sysctlRosettaInfoKey}: 1`);\n log.info(`Checked for macOS Rosetta environment (isRosetta=${isRosetta})`);\n }\n catch (e) {\n log.warn(`sysctl shell command to check for macOS Rosetta environment failed: ${e}`);\n }\n let isArm64Mac = false;\n try {\n this.debug(\"Checking for arm64 in uname\");\n const result = (0, child_process_1.execFileSync)(\"uname\", [\"-a\"], { encoding: \"utf8\" });\n const isArm = result.includes(\"ARM\");\n log.info(`Checked 'uname -a': arm64=${isArm}`);\n isArm64Mac = isArm64Mac || isArm;\n }\n catch (e) {\n log.warn(`uname shell command to check for arm64 failed: ${e}`);\n }\n isArm64Mac = isArm64Mac || process.arch === \"arm64\" || isRosetta;\n // allow arm64 macs to install universal or rosetta2(x64) - https://github.com/electron-userland/electron-builder/pull/5524\n const isArm64 = (file) => { var _a; return file.url.pathname.includes(\"arm64\") || ((_a = file.info.url) === null || _a === void 0 ? void 0 : _a.includes(\"arm64\")); };\n if (isArm64Mac && files.some(isArm64)) {\n files = files.filter(file => isArm64Mac === isArm64(file));\n }\n else {\n files = files.filter(file => !isArm64(file));\n }\n const zipFileInfo = (0, Provider_1.findFile)(files, \"zip\", [\"pkg\", \"dmg\"]);\n if (zipFileInfo == null) {\n throw (0, builder_util_runtime_1.newError)(`ZIP file not provided: ${(0, builder_util_runtime_1.safeStringifyJson)(files)}`, \"ERR_UPDATER_ZIP_FILE_NOT_FOUND\");\n }\n return this.executeDownload({\n fileExtension: \"zip\",\n fileInfo: zipFileInfo,\n downloadUpdateOptions,\n task: (destinationFile, downloadOptions) => {\n return this.httpExecutor.download(zipFileInfo.url, destinationFile, downloadOptions);\n },\n done: event => this.updateDownloaded(zipFileInfo, event),\n });\n }\n async updateDownloaded(zipFileInfo, event) {\n var _a, _b;\n const downloadedFile = event.downloadedFile;\n const updateFileSize = (_a = zipFileInfo.info.size) !== null && _a !== void 0 ? _a : (await (0, fs_extra_1.stat)(downloadedFile)).size;\n const log = this._logger;\n const logContext = `fileToProxy=${zipFileInfo.url.href}`;\n this.debug(`Creating proxy server for native Squirrel.Mac (${logContext})`);\n (_b = this.server) === null || _b === void 0 ? void 0 : _b.close();\n this.server = (0, http_1.createServer)();\n this.debug(`Proxy server for native Squirrel.Mac is created (${logContext})`);\n this.server.on(\"close\", () => {\n log.info(`Proxy server for native Squirrel.Mac is closed (${logContext})`);\n });\n // must be called after server is listening, otherwise address is null\n const getServerUrl = (s) => {\n const address = s.address();\n if (typeof address === \"string\") {\n return address;\n }\n return `http://127.0.0.1:${address === null || address === void 0 ? void 0 : address.port}`;\n };\n return await new Promise((resolve, reject) => {\n const pass = (0, crypto_1.randomBytes)(64).toString(\"base64\").replace(/\\//g, \"_\").replace(/\\+/g, \"-\");\n const authInfo = Buffer.from(`autoupdater:${pass}`, \"ascii\");\n // insecure random is ok\n const fileUrl = `/${(0, crypto_1.randomBytes)(64).toString(\"hex\")}.zip`;\n this.server.on(\"request\", (request, response) => {\n const requestUrl = request.url;\n log.info(`${requestUrl} requested`);\n if (requestUrl === \"/\") {\n // check for basic auth header\n if (!request.headers.authorization || request.headers.authorization.indexOf(\"Basic \") === -1) {\n response.statusCode = 401;\n response.statusMessage = \"Invalid Authentication Credentials\";\n response.end();\n log.warn(\"No authenthication info\");\n return;\n }\n // verify auth credentials\n const base64Credentials = request.headers.authorization.split(\" \")[1];\n const credentials = Buffer.from(base64Credentials, \"base64\").toString(\"ascii\");\n const [username, password] = credentials.split(\":\");\n if (username !== \"autoupdater\" || password !== pass) {\n response.statusCode = 401;\n response.statusMessage = \"Invalid Authentication Credentials\";\n response.end();\n log.warn(\"Invalid authenthication credentials\");\n return;\n }\n const data = Buffer.from(`{ \"url\": \"${getServerUrl(this.server)}${fileUrl}\" }`);\n response.writeHead(200, { \"Content-Type\": \"application/json\", \"Content-Length\": data.length });\n response.end(data);\n return;\n }\n if (!requestUrl.startsWith(fileUrl)) {\n log.warn(`${requestUrl} requested, but not supported`);\n response.writeHead(404);\n response.end();\n return;\n }\n log.info(`${fileUrl} requested by Squirrel.Mac, pipe ${downloadedFile}`);\n let errorOccurred = false;\n response.on(\"finish\", () => {\n if (!errorOccurred) {\n this.nativeUpdater.removeListener(\"error\", reject);\n resolve([]);\n }\n });\n const readStream = (0, fs_1.createReadStream)(downloadedFile);\n readStream.on(\"error\", error => {\n try {\n response.end();\n }\n catch (e) {\n log.warn(`cannot end response: ${e}`);\n }\n errorOccurred = true;\n this.nativeUpdater.removeListener(\"error\", reject);\n reject(new Error(`Cannot pipe \"${downloadedFile}\": ${error}`));\n });\n response.writeHead(200, {\n \"Content-Type\": \"application/zip\",\n \"Content-Length\": updateFileSize,\n });\n readStream.pipe(response);\n });\n this.debug(`Proxy server for native Squirrel.Mac is starting to listen (${logContext})`);\n this.server.listen(0, \"127.0.0.1\", () => {\n this.debug(`Proxy server for native Squirrel.Mac is listening (address=${getServerUrl(this.server)}, ${logContext})`);\n this.nativeUpdater.setFeedURL({\n url: getServerUrl(this.server),\n headers: {\n \"Cache-Control\": \"no-cache\",\n Authorization: `Basic ${authInfo.toString(\"base64\")}`,\n },\n });\n // The update has been downloaded and is ready to be served to Squirrel\n this.dispatchUpdateDownloaded(event);\n if (this.autoInstallOnAppQuit) {\n this.nativeUpdater.once(\"error\", reject);\n // This will trigger fetching and installing the file on Squirrel side\n this.nativeUpdater.checkForUpdates();\n }\n else {\n resolve([]);\n }\n });\n });\n }\n quitAndInstall() {\n var _a;\n if (this.squirrelDownloadedUpdate) {\n // update already fetched by Squirrel, it's ready to install\n this.nativeUpdater.quitAndInstall();\n (_a = this.server) === null || _a === void 0 ? void 0 : _a.close();\n }\n else {\n // Quit and install as soon as Squirrel get the update\n this.nativeUpdater.on(\"update-downloaded\", () => {\n var _a;\n this.nativeUpdater.quitAndInstall();\n (_a = this.server) === null || _a === void 0 ? void 0 : _a.close();\n });\n if (!this.autoInstallOnAppQuit) {\n /**\n * If this was not `true` previously then MacUpdater.doDownloadUpdate()\n * would not actually initiate the downloading by electron's autoUpdater\n */\n this.nativeUpdater.checkForUpdates();\n }\n }\n }\n}\nexports.MacUpdater = MacUpdater;\n//# sourceMappingURL=MacUpdater.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/MacUpdater.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/NsisUpdater.js": -/*!**********************************************************!*\ - !*** ./node_modules/electron-updater/out/NsisUpdater.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NsisUpdater = void 0;\nconst builder_util_runtime_1 = __webpack_require__(/*! builder-util-runtime */ \"./node_modules/builder-util-runtime/out/index.js\");\nconst path = __webpack_require__(/*! path */ \"path\");\nconst BaseUpdater_1 = __webpack_require__(/*! ./BaseUpdater */ \"./node_modules/electron-updater/out/BaseUpdater.js\");\nconst FileWithEmbeddedBlockMapDifferentialDownloader_1 = __webpack_require__(/*! ./differentialDownloader/FileWithEmbeddedBlockMapDifferentialDownloader */ \"./node_modules/electron-updater/out/differentialDownloader/FileWithEmbeddedBlockMapDifferentialDownloader.js\");\nconst GenericDifferentialDownloader_1 = __webpack_require__(/*! ./differentialDownloader/GenericDifferentialDownloader */ \"./node_modules/electron-updater/out/differentialDownloader/GenericDifferentialDownloader.js\");\nconst main_1 = __webpack_require__(/*! ./main */ \"./node_modules/electron-updater/out/main.js\");\nconst util_1 = __webpack_require__(/*! ./util */ \"./node_modules/electron-updater/out/util.js\");\nconst Provider_1 = __webpack_require__(/*! ./providers/Provider */ \"./node_modules/electron-updater/out/providers/Provider.js\");\nconst fs_extra_1 = __webpack_require__(/*! fs-extra */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/index.js\");\nconst windowsExecutableCodeSignatureVerifier_1 = __webpack_require__(/*! ./windowsExecutableCodeSignatureVerifier */ \"./node_modules/electron-updater/out/windowsExecutableCodeSignatureVerifier.js\");\nconst url_1 = __webpack_require__(/*! url */ \"url\");\nconst zlib_1 = __webpack_require__(/*! zlib */ \"zlib\");\nclass NsisUpdater extends BaseUpdater_1.BaseUpdater {\n constructor(options, app) {\n super(options, app);\n this._verifyUpdateCodeSignature = (publisherNames, unescapedTempUpdateFile) => (0, windowsExecutableCodeSignatureVerifier_1.verifySignature)(publisherNames, unescapedTempUpdateFile, this._logger);\n }\n /**\n * The verifyUpdateCodeSignature. You can pass [win-verify-signature](https://github.com/beyondkmp/win-verify-trust) or another custom verify function: ` (publisherName: string[], path: string) => Promise`.\n * The default verify function uses [windowsExecutableCodeSignatureVerifier](https://github.com/electron-userland/electron-builder/blob/master/packages/electron-updater/src/windowsExecutableCodeSignatureVerifier.ts)\n */\n get verifyUpdateCodeSignature() {\n return this._verifyUpdateCodeSignature;\n }\n set verifyUpdateCodeSignature(value) {\n if (value) {\n this._verifyUpdateCodeSignature = value;\n }\n }\n /*** @private */\n doDownloadUpdate(downloadUpdateOptions) {\n const provider = downloadUpdateOptions.updateInfoAndProvider.provider;\n const fileInfo = (0, Provider_1.findFile)(provider.resolveFiles(downloadUpdateOptions.updateInfoAndProvider.info), \"exe\");\n return this.executeDownload({\n fileExtension: \"exe\",\n downloadUpdateOptions,\n fileInfo,\n task: async (destinationFile, downloadOptions, packageFile, removeTempDirIfAny) => {\n const packageInfo = fileInfo.packageInfo;\n const isWebInstaller = packageInfo != null && packageFile != null;\n if (isWebInstaller && downloadUpdateOptions.disableWebInstaller) {\n throw (0, builder_util_runtime_1.newError)(`Unable to download new version ${downloadUpdateOptions.updateInfoAndProvider.info.version}. Web Installers are disabled`, \"ERR_UPDATER_WEB_INSTALLER_DISABLED\");\n }\n if (!isWebInstaller && !downloadUpdateOptions.disableWebInstaller) {\n this._logger.warn(\"disableWebInstaller is set to false, you should set it to true if you do not plan on using a web installer. This will default to true in a future version.\");\n }\n if (isWebInstaller || (await this.differentialDownloadInstaller(fileInfo, downloadUpdateOptions, destinationFile, provider))) {\n await this.httpExecutor.download(fileInfo.url, destinationFile, downloadOptions);\n }\n const signatureVerificationStatus = await this.verifySignature(destinationFile);\n if (signatureVerificationStatus != null) {\n await removeTempDirIfAny();\n // noinspection ThrowInsideFinallyBlockJS\n throw (0, builder_util_runtime_1.newError)(`New version ${downloadUpdateOptions.updateInfoAndProvider.info.version} is not signed by the application owner: ${signatureVerificationStatus}`, \"ERR_UPDATER_INVALID_SIGNATURE\");\n }\n if (isWebInstaller) {\n if (await this.differentialDownloadWebPackage(downloadUpdateOptions, packageInfo, packageFile, provider)) {\n try {\n await this.httpExecutor.download(new url_1.URL(packageInfo.path), packageFile, {\n headers: downloadUpdateOptions.requestHeaders,\n cancellationToken: downloadUpdateOptions.cancellationToken,\n sha512: packageInfo.sha512,\n });\n }\n catch (e) {\n try {\n await (0, fs_extra_1.unlink)(packageFile);\n }\n catch (ignored) {\n // ignore\n }\n throw e;\n }\n }\n }\n },\n });\n }\n // $certificateInfo = (Get-AuthenticodeSignature 'xxx\\yyy.exe'\n // | where {$_.Status.Equals([System.Management.Automation.SignatureStatus]::Valid) -and $_.SignerCertificate.Subject.Contains(\"CN=siemens.com\")})\n // | Out-String ; if ($certificateInfo) { exit 0 } else { exit 1 }\n async verifySignature(tempUpdateFile) {\n let publisherName;\n try {\n publisherName = (await this.configOnDisk.value).publisherName;\n if (publisherName == null) {\n return null;\n }\n }\n catch (e) {\n if (e.code === \"ENOENT\") {\n // no app-update.yml\n return null;\n }\n throw e;\n }\n return await this._verifyUpdateCodeSignature(Array.isArray(publisherName) ? publisherName : [publisherName], tempUpdateFile);\n }\n doInstall(options) {\n const args = [\"--updated\"];\n if (options.isSilent) {\n args.push(\"/S\");\n }\n if (options.isForceRunAfter) {\n args.push(\"--force-run\");\n }\n if (this.installDirectory) {\n // maybe check if folder exists\n args.push(`/D=${this.installDirectory}`);\n }\n const packagePath = this.downloadedUpdateHelper == null ? null : this.downloadedUpdateHelper.packageFile;\n if (packagePath != null) {\n // only = form is supported\n args.push(`--package-file=${packagePath}`);\n }\n const callUsingElevation = () => {\n this.spawnLog(path.join(process.resourcesPath, \"elevate.exe\"), [options.installerPath].concat(args)).catch(e => this.dispatchError(e));\n };\n if (options.isAdminRightsRequired) {\n this._logger.info(\"isAdminRightsRequired is set to true, run installer using elevate.exe\");\n callUsingElevation();\n return true;\n }\n this.spawnLog(options.installerPath, args).catch((e) => {\n // https://github.com/electron-userland/electron-builder/issues/1129\n // Node 8 sends errors: https://nodejs.org/dist/latest-v8.x/docs/api/errors.html#errors_common_system_errors\n const errorCode = e.code;\n this._logger.info(`Cannot run installer: error code: ${errorCode}, error message: \"${e.message}\", will be executed again using elevate if EACCES\"`);\n if (errorCode === \"UNKNOWN\" || errorCode === \"EACCES\") {\n callUsingElevation();\n }\n else {\n this.dispatchError(e);\n }\n });\n return true;\n }\n async differentialDownloadInstaller(fileInfo, downloadUpdateOptions, installerPath, provider) {\n try {\n if (this._testOnlyOptions != null && !this._testOnlyOptions.isUseDifferentialDownload) {\n return true;\n }\n const blockmapFileUrls = (0, util_1.blockmapFiles)(fileInfo.url, this.app.version, downloadUpdateOptions.updateInfoAndProvider.info.version);\n this._logger.info(`Download block maps (old: \"${blockmapFileUrls[0]}\", new: ${blockmapFileUrls[1]})`);\n const downloadBlockMap = async (url) => {\n const data = await this.httpExecutor.downloadToBuffer(url, {\n headers: downloadUpdateOptions.requestHeaders,\n cancellationToken: downloadUpdateOptions.cancellationToken,\n });\n if (data == null || data.length === 0) {\n throw new Error(`Blockmap \"${url.href}\" is empty`);\n }\n try {\n return JSON.parse((0, zlib_1.gunzipSync)(data).toString());\n }\n catch (e) {\n throw new Error(`Cannot parse blockmap \"${url.href}\", error: ${e}`);\n }\n };\n const downloadOptions = {\n newUrl: fileInfo.url,\n oldFile: path.join(this.downloadedUpdateHelper.cacheDir, builder_util_runtime_1.CURRENT_APP_INSTALLER_FILE_NAME),\n logger: this._logger,\n newFile: installerPath,\n isUseMultipleRangeRequest: provider.isUseMultipleRangeRequest,\n requestHeaders: downloadUpdateOptions.requestHeaders,\n cancellationToken: downloadUpdateOptions.cancellationToken,\n };\n if (this.listenerCount(main_1.DOWNLOAD_PROGRESS) > 0) {\n downloadOptions.onProgress = it => this.emit(main_1.DOWNLOAD_PROGRESS, it);\n }\n const blockMapDataList = await Promise.all(blockmapFileUrls.map(u => downloadBlockMap(u)));\n await new GenericDifferentialDownloader_1.GenericDifferentialDownloader(fileInfo.info, this.httpExecutor, downloadOptions).download(blockMapDataList[0], blockMapDataList[1]);\n return false;\n }\n catch (e) {\n this._logger.error(`Cannot download differentially, fallback to full download: ${e.stack || e}`);\n if (this._testOnlyOptions != null) {\n // test mode\n throw e;\n }\n return true;\n }\n }\n async differentialDownloadWebPackage(downloadUpdateOptions, packageInfo, packagePath, provider) {\n if (packageInfo.blockMapSize == null) {\n return true;\n }\n try {\n const downloadOptions = {\n newUrl: new url_1.URL(packageInfo.path),\n oldFile: path.join(this.downloadedUpdateHelper.cacheDir, builder_util_runtime_1.CURRENT_APP_PACKAGE_FILE_NAME),\n logger: this._logger,\n newFile: packagePath,\n requestHeaders: this.requestHeaders,\n isUseMultipleRangeRequest: provider.isUseMultipleRangeRequest,\n cancellationToken: downloadUpdateOptions.cancellationToken,\n };\n if (this.listenerCount(main_1.DOWNLOAD_PROGRESS) > 0) {\n downloadOptions.onProgress = it => this.emit(main_1.DOWNLOAD_PROGRESS, it);\n }\n await new FileWithEmbeddedBlockMapDifferentialDownloader_1.FileWithEmbeddedBlockMapDifferentialDownloader(packageInfo, this.httpExecutor, downloadOptions).download();\n }\n catch (e) {\n this._logger.error(`Cannot download differentially, fallback to full download: ${e.stack || e}`);\n // during test (developer machine mac or linux) we must throw error\n return process.platform === \"win32\";\n }\n return false;\n }\n}\nexports.NsisUpdater = NsisUpdater;\n//# sourceMappingURL=NsisUpdater.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/NsisUpdater.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/RpmUpdater.js": -/*!*********************************************************!*\ - !*** ./node_modules/electron-updater/out/RpmUpdater.js ***! - \*********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RpmUpdater = void 0;\nconst BaseUpdater_1 = __webpack_require__(/*! ./BaseUpdater */ \"./node_modules/electron-updater/out/BaseUpdater.js\");\nconst main_1 = __webpack_require__(/*! ./main */ \"./node_modules/electron-updater/out/main.js\");\nconst Provider_1 = __webpack_require__(/*! ./providers/Provider */ \"./node_modules/electron-updater/out/providers/Provider.js\");\nclass RpmUpdater extends BaseUpdater_1.BaseUpdater {\n constructor(options, app) {\n super(options, app);\n }\n /*** @private */\n doDownloadUpdate(downloadUpdateOptions) {\n const provider = downloadUpdateOptions.updateInfoAndProvider.provider;\n const fileInfo = (0, Provider_1.findFile)(provider.resolveFiles(downloadUpdateOptions.updateInfoAndProvider.info), \"rpm\", [\"AppImage\", \"deb\"]);\n return this.executeDownload({\n fileExtension: \"rpm\",\n fileInfo,\n downloadUpdateOptions,\n task: async (updateFile, downloadOptions) => {\n if (this.listenerCount(main_1.DOWNLOAD_PROGRESS) > 0) {\n downloadOptions.onProgress = it => this.emit(main_1.DOWNLOAD_PROGRESS, it);\n }\n await this.httpExecutor.download(fileInfo.url, updateFile, downloadOptions);\n },\n });\n }\n doInstall(options) {\n const upgradePath = options.installerPath;\n const sudo = this.wrapSudo();\n // pkexec doesn't want the command to be wrapped in \" quotes\n const wrapper = /pkexec/i.test(sudo) ? \"\" : `\"`;\n const packageManager = this.spawnSyncLog(\"which zypper\");\n let cmd;\n if (!packageManager) {\n const packageManager = this.spawnSyncLog(\"which dnf || which yum\");\n cmd = [packageManager, \"-y\", \"remove\", `'${this.app.name}'`, \";\", packageManager, \"-y\", \"install\", upgradePath];\n }\n else {\n cmd = [\n packageManager,\n \"remove\",\n \"-y\",\n `'${this.app.name}'`,\n \";\",\n packageManager,\n \"clean\",\n \"--all\",\n \";\",\n packageManager,\n \"--no-refresh\",\n \"install\",\n \"--allow-unsigned-rpm\",\n \"-y\",\n \"-f\",\n upgradePath,\n ];\n }\n this.spawnSyncLog(sudo, [`${wrapper}/bin/bash`, \"-c\", `'${cmd.join(\" \")}'${wrapper}`]);\n if (options.isForceRunAfter) {\n this.app.relaunch();\n }\n return true;\n }\n}\nexports.RpmUpdater = RpmUpdater;\n//# sourceMappingURL=RpmUpdater.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/RpmUpdater.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/differentialDownloader/DataSplitter.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/electron-updater/out/differentialDownloader/DataSplitter.js ***! - \**********************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DataSplitter = exports.copyData = void 0;\nconst builder_util_runtime_1 = __webpack_require__(/*! builder-util-runtime */ \"./node_modules/builder-util-runtime/out/index.js\");\nconst fs_1 = __webpack_require__(/*! fs */ \"fs\");\nconst stream_1 = __webpack_require__(/*! stream */ \"stream\");\nconst downloadPlanBuilder_1 = __webpack_require__(/*! ./downloadPlanBuilder */ \"./node_modules/electron-updater/out/differentialDownloader/downloadPlanBuilder.js\");\nconst DOUBLE_CRLF = Buffer.from(\"\\r\\n\\r\\n\");\nvar ReadState;\n(function (ReadState) {\n ReadState[ReadState[\"INIT\"] = 0] = \"INIT\";\n ReadState[ReadState[\"HEADER\"] = 1] = \"HEADER\";\n ReadState[ReadState[\"BODY\"] = 2] = \"BODY\";\n})(ReadState || (ReadState = {}));\nfunction copyData(task, out, oldFileFd, reject, resolve) {\n const readStream = (0, fs_1.createReadStream)(\"\", {\n fd: oldFileFd,\n autoClose: false,\n start: task.start,\n // end is inclusive\n end: task.end - 1,\n });\n readStream.on(\"error\", reject);\n readStream.once(\"end\", resolve);\n readStream.pipe(out, {\n end: false,\n });\n}\nexports.copyData = copyData;\nclass DataSplitter extends stream_1.Writable {\n constructor(out, options, partIndexToTaskIndex, boundary, partIndexToLength, finishHandler) {\n super();\n this.out = out;\n this.options = options;\n this.partIndexToTaskIndex = partIndexToTaskIndex;\n this.partIndexToLength = partIndexToLength;\n this.finishHandler = finishHandler;\n this.partIndex = -1;\n this.headerListBuffer = null;\n this.readState = ReadState.INIT;\n this.ignoreByteCount = 0;\n this.remainingPartDataCount = 0;\n this.actualPartLength = 0;\n this.boundaryLength = boundary.length + 4; /* size of \\r\\n-- */\n // first chunk doesn't start with \\r\\n\n this.ignoreByteCount = this.boundaryLength - 2;\n }\n get isFinished() {\n return this.partIndex === this.partIndexToLength.length;\n }\n // noinspection JSUnusedGlobalSymbols\n _write(data, encoding, callback) {\n if (this.isFinished) {\n console.error(`Trailing ignored data: ${data.length} bytes`);\n return;\n }\n this.handleData(data).then(callback).catch(callback);\n }\n async handleData(chunk) {\n let start = 0;\n if (this.ignoreByteCount !== 0 && this.remainingPartDataCount !== 0) {\n throw (0, builder_util_runtime_1.newError)(\"Internal error\", \"ERR_DATA_SPLITTER_BYTE_COUNT_MISMATCH\");\n }\n if (this.ignoreByteCount > 0) {\n const toIgnore = Math.min(this.ignoreByteCount, chunk.length);\n this.ignoreByteCount -= toIgnore;\n start = toIgnore;\n }\n else if (this.remainingPartDataCount > 0) {\n const toRead = Math.min(this.remainingPartDataCount, chunk.length);\n this.remainingPartDataCount -= toRead;\n await this.processPartData(chunk, 0, toRead);\n start = toRead;\n }\n if (start === chunk.length) {\n return;\n }\n if (this.readState === ReadState.HEADER) {\n const headerListEnd = this.searchHeaderListEnd(chunk, start);\n if (headerListEnd === -1) {\n return;\n }\n start = headerListEnd;\n this.readState = ReadState.BODY;\n // header list is ignored, we don't need it\n this.headerListBuffer = null;\n }\n while (true) {\n if (this.readState === ReadState.BODY) {\n this.readState = ReadState.INIT;\n }\n else {\n this.partIndex++;\n let taskIndex = this.partIndexToTaskIndex.get(this.partIndex);\n if (taskIndex == null) {\n if (this.isFinished) {\n taskIndex = this.options.end;\n }\n else {\n throw (0, builder_util_runtime_1.newError)(\"taskIndex is null\", \"ERR_DATA_SPLITTER_TASK_INDEX_IS_NULL\");\n }\n }\n const prevTaskIndex = this.partIndex === 0 ? this.options.start : this.partIndexToTaskIndex.get(this.partIndex - 1) + 1; /* prev part is download, next maybe copy */\n if (prevTaskIndex < taskIndex) {\n await this.copyExistingData(prevTaskIndex, taskIndex);\n }\n else if (prevTaskIndex > taskIndex) {\n throw (0, builder_util_runtime_1.newError)(\"prevTaskIndex must be < taskIndex\", \"ERR_DATA_SPLITTER_TASK_INDEX_ASSERT_FAILED\");\n }\n if (this.isFinished) {\n this.onPartEnd();\n this.finishHandler();\n return;\n }\n start = this.searchHeaderListEnd(chunk, start);\n if (start === -1) {\n this.readState = ReadState.HEADER;\n return;\n }\n }\n const partLength = this.partIndexToLength[this.partIndex];\n const end = start + partLength;\n const effectiveEnd = Math.min(end, chunk.length);\n await this.processPartStarted(chunk, start, effectiveEnd);\n this.remainingPartDataCount = partLength - (effectiveEnd - start);\n if (this.remainingPartDataCount > 0) {\n return;\n }\n start = end + this.boundaryLength;\n if (start >= chunk.length) {\n this.ignoreByteCount = this.boundaryLength - (chunk.length - end);\n return;\n }\n }\n }\n copyExistingData(index, end) {\n return new Promise((resolve, reject) => {\n const w = () => {\n if (index === end) {\n resolve();\n return;\n }\n const task = this.options.tasks[index];\n if (task.kind !== downloadPlanBuilder_1.OperationKind.COPY) {\n reject(new Error(\"Task kind must be COPY\"));\n return;\n }\n copyData(task, this.out, this.options.oldFileFd, reject, () => {\n index++;\n w();\n });\n };\n w();\n });\n }\n searchHeaderListEnd(chunk, readOffset) {\n const headerListEnd = chunk.indexOf(DOUBLE_CRLF, readOffset);\n if (headerListEnd !== -1) {\n return headerListEnd + DOUBLE_CRLF.length;\n }\n // not all headers data were received, save to buffer\n const partialChunk = readOffset === 0 ? chunk : chunk.slice(readOffset);\n if (this.headerListBuffer == null) {\n this.headerListBuffer = partialChunk;\n }\n else {\n this.headerListBuffer = Buffer.concat([this.headerListBuffer, partialChunk]);\n }\n return -1;\n }\n onPartEnd() {\n const expectedLength = this.partIndexToLength[this.partIndex - 1];\n if (this.actualPartLength !== expectedLength) {\n throw (0, builder_util_runtime_1.newError)(`Expected length: ${expectedLength} differs from actual: ${this.actualPartLength}`, \"ERR_DATA_SPLITTER_LENGTH_MISMATCH\");\n }\n this.actualPartLength = 0;\n }\n processPartStarted(data, start, end) {\n if (this.partIndex !== 0) {\n this.onPartEnd();\n }\n return this.processPartData(data, start, end);\n }\n processPartData(data, start, end) {\n this.actualPartLength += end - start;\n const out = this.out;\n if (out.write(start === 0 && data.length === end ? data : data.slice(start, end))) {\n return Promise.resolve();\n }\n else {\n return new Promise((resolve, reject) => {\n out.on(\"error\", reject);\n out.once(\"drain\", () => {\n out.removeListener(\"error\", reject);\n resolve();\n });\n });\n }\n }\n}\nexports.DataSplitter = DataSplitter;\n//# sourceMappingURL=DataSplitter.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/differentialDownloader/DataSplitter.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/differentialDownloader/DifferentialDownloader.js": -/*!********************************************************************************************!*\ - !*** ./node_modules/electron-updater/out/differentialDownloader/DifferentialDownloader.js ***! - \********************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DifferentialDownloader = void 0;\nconst builder_util_runtime_1 = __webpack_require__(/*! builder-util-runtime */ \"./node_modules/builder-util-runtime/out/index.js\");\nconst fs_extra_1 = __webpack_require__(/*! fs-extra */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/index.js\");\nconst fs_1 = __webpack_require__(/*! fs */ \"fs\");\nconst DataSplitter_1 = __webpack_require__(/*! ./DataSplitter */ \"./node_modules/electron-updater/out/differentialDownloader/DataSplitter.js\");\nconst url_1 = __webpack_require__(/*! url */ \"url\");\nconst downloadPlanBuilder_1 = __webpack_require__(/*! ./downloadPlanBuilder */ \"./node_modules/electron-updater/out/differentialDownloader/downloadPlanBuilder.js\");\nconst multipleRangeDownloader_1 = __webpack_require__(/*! ./multipleRangeDownloader */ \"./node_modules/electron-updater/out/differentialDownloader/multipleRangeDownloader.js\");\nconst ProgressDifferentialDownloadCallbackTransform_1 = __webpack_require__(/*! ./ProgressDifferentialDownloadCallbackTransform */ \"./node_modules/electron-updater/out/differentialDownloader/ProgressDifferentialDownloadCallbackTransform.js\");\nclass DifferentialDownloader {\n // noinspection TypeScriptAbstractClassConstructorCanBeMadeProtected\n constructor(blockAwareFileInfo, httpExecutor, options) {\n this.blockAwareFileInfo = blockAwareFileInfo;\n this.httpExecutor = httpExecutor;\n this.options = options;\n this.fileMetadataBuffer = null;\n this.logger = options.logger;\n }\n createRequestOptions() {\n const result = {\n headers: {\n ...this.options.requestHeaders,\n accept: \"*/*\",\n },\n };\n (0, builder_util_runtime_1.configureRequestUrl)(this.options.newUrl, result);\n // user-agent, cache-control and other common options\n (0, builder_util_runtime_1.configureRequestOptions)(result);\n return result;\n }\n doDownload(oldBlockMap, newBlockMap) {\n // we don't check other metadata like compressionMethod - generic check that it is make sense to differentially update is suitable for it\n if (oldBlockMap.version !== newBlockMap.version) {\n throw new Error(`version is different (${oldBlockMap.version} - ${newBlockMap.version}), full download is required`);\n }\n const logger = this.logger;\n const operations = (0, downloadPlanBuilder_1.computeOperations)(oldBlockMap, newBlockMap, logger);\n if (logger.debug != null) {\n logger.debug(JSON.stringify(operations, null, 2));\n }\n let downloadSize = 0;\n let copySize = 0;\n for (const operation of operations) {\n const length = operation.end - operation.start;\n if (operation.kind === downloadPlanBuilder_1.OperationKind.DOWNLOAD) {\n downloadSize += length;\n }\n else {\n copySize += length;\n }\n }\n const newSize = this.blockAwareFileInfo.size;\n if (downloadSize + copySize + (this.fileMetadataBuffer == null ? 0 : this.fileMetadataBuffer.length) !== newSize) {\n throw new Error(`Internal error, size mismatch: downloadSize: ${downloadSize}, copySize: ${copySize}, newSize: ${newSize}`);\n }\n logger.info(`Full: ${formatBytes(newSize)}, To download: ${formatBytes(downloadSize)} (${Math.round(downloadSize / (newSize / 100))}%)`);\n return this.downloadFile(operations);\n }\n downloadFile(tasks) {\n const fdList = [];\n const closeFiles = () => {\n return Promise.all(fdList.map(openedFile => {\n return (0, fs_extra_1.close)(openedFile.descriptor).catch((e) => {\n this.logger.error(`cannot close file \"${openedFile.path}\": ${e}`);\n });\n }));\n };\n return this.doDownloadFile(tasks, fdList)\n .then(closeFiles)\n .catch((e) => {\n // then must be after catch here (since then always throws error)\n return closeFiles()\n .catch(closeFilesError => {\n // closeFiles never throw error, but just to be sure\n try {\n this.logger.error(`cannot close files: ${closeFilesError}`);\n }\n catch (errorOnLog) {\n try {\n console.error(errorOnLog);\n }\n catch (ignored) {\n // ok, give up and ignore error\n }\n }\n throw e;\n })\n .then(() => {\n throw e;\n });\n });\n }\n async doDownloadFile(tasks, fdList) {\n const oldFileFd = await (0, fs_extra_1.open)(this.options.oldFile, \"r\");\n fdList.push({ descriptor: oldFileFd, path: this.options.oldFile });\n const newFileFd = await (0, fs_extra_1.open)(this.options.newFile, \"w\");\n fdList.push({ descriptor: newFileFd, path: this.options.newFile });\n const fileOut = (0, fs_1.createWriteStream)(this.options.newFile, { fd: newFileFd });\n await new Promise((resolve, reject) => {\n const streams = [];\n // Create our download info transformer if we have one\n let downloadInfoTransform = undefined;\n if (!this.options.isUseMultipleRangeRequest && this.options.onProgress) {\n // TODO: Does not support multiple ranges (someone feel free to PR this!)\n const expectedByteCounts = [];\n let grandTotalBytes = 0;\n for (const task of tasks) {\n if (task.kind === downloadPlanBuilder_1.OperationKind.DOWNLOAD) {\n expectedByteCounts.push(task.end - task.start);\n grandTotalBytes += task.end - task.start;\n }\n }\n const progressDifferentialDownloadInfo = {\n expectedByteCounts: expectedByteCounts,\n grandTotal: grandTotalBytes,\n };\n downloadInfoTransform = new ProgressDifferentialDownloadCallbackTransform_1.ProgressDifferentialDownloadCallbackTransform(progressDifferentialDownloadInfo, this.options.cancellationToken, this.options.onProgress);\n streams.push(downloadInfoTransform);\n }\n const digestTransform = new builder_util_runtime_1.DigestTransform(this.blockAwareFileInfo.sha512);\n // to simply debug, do manual validation to allow file to be fully written\n digestTransform.isValidateOnEnd = false;\n streams.push(digestTransform);\n // noinspection JSArrowFunctionCanBeReplacedWithShorthand\n fileOut.on(\"finish\", () => {\n ;\n fileOut.close(() => {\n // remove from fd list because closed successfully\n fdList.splice(1, 1);\n try {\n digestTransform.validate();\n }\n catch (e) {\n reject(e);\n return;\n }\n resolve(undefined);\n });\n });\n streams.push(fileOut);\n let lastStream = null;\n for (const stream of streams) {\n stream.on(\"error\", reject);\n if (lastStream == null) {\n lastStream = stream;\n }\n else {\n lastStream = lastStream.pipe(stream);\n }\n }\n const firstStream = streams[0];\n let w;\n if (this.options.isUseMultipleRangeRequest) {\n w = (0, multipleRangeDownloader_1.executeTasksUsingMultipleRangeRequests)(this, tasks, firstStream, oldFileFd, reject);\n w(0);\n return;\n }\n let downloadOperationCount = 0;\n let actualUrl = null;\n this.logger.info(`Differential download: ${this.options.newUrl}`);\n const requestOptions = this.createRequestOptions();\n requestOptions.redirect = \"manual\";\n w = (index) => {\n var _a, _b;\n if (index >= tasks.length) {\n if (this.fileMetadataBuffer != null) {\n firstStream.write(this.fileMetadataBuffer);\n }\n firstStream.end();\n return;\n }\n const operation = tasks[index++];\n if (operation.kind === downloadPlanBuilder_1.OperationKind.COPY) {\n // We are copying, let's not send status updates to the UI\n if (downloadInfoTransform) {\n downloadInfoTransform.beginFileCopy();\n }\n (0, DataSplitter_1.copyData)(operation, firstStream, oldFileFd, reject, () => w(index));\n return;\n }\n const range = `bytes=${operation.start}-${operation.end - 1}`;\n requestOptions.headers.range = range;\n (_b = (_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug) === null || _b === void 0 ? void 0 : _b.call(_a, `download range: ${range}`);\n // We are starting to download\n if (downloadInfoTransform) {\n downloadInfoTransform.beginRangeDownload();\n }\n const request = this.httpExecutor.createRequest(requestOptions, response => {\n response.on(\"error\", reject);\n response.on(\"abort\", () => {\n reject(new Error(\"response has been aborted by the server\"));\n });\n // Electron net handles redirects automatically, our NodeJS test server doesn't use redirects - so, we don't check 3xx codes.\n if (response.statusCode >= 400) {\n reject((0, builder_util_runtime_1.createHttpError)(response));\n }\n response.pipe(firstStream, {\n end: false,\n });\n response.once(\"end\", () => {\n // Pass on that we are downloading a segment\n if (downloadInfoTransform) {\n downloadInfoTransform.endRangeDownload();\n }\n if (++downloadOperationCount === 100) {\n downloadOperationCount = 0;\n setTimeout(() => w(index), 1000);\n }\n else {\n w(index);\n }\n });\n });\n request.on(\"redirect\", (statusCode, method, redirectUrl) => {\n this.logger.info(`Redirect to ${removeQuery(redirectUrl)}`);\n actualUrl = redirectUrl;\n (0, builder_util_runtime_1.configureRequestUrl)(new url_1.URL(actualUrl), requestOptions);\n request.followRedirect();\n });\n this.httpExecutor.addErrorAndTimeoutHandlers(request, reject);\n request.end();\n };\n w(0);\n });\n }\n async readRemoteBytes(start, endInclusive) {\n const buffer = Buffer.allocUnsafe(endInclusive + 1 - start);\n const requestOptions = this.createRequestOptions();\n requestOptions.headers.range = `bytes=${start}-${endInclusive}`;\n let position = 0;\n await this.request(requestOptions, chunk => {\n chunk.copy(buffer, position);\n position += chunk.length;\n });\n if (position !== buffer.length) {\n throw new Error(`Received data length ${position} is not equal to expected ${buffer.length}`);\n }\n return buffer;\n }\n request(requestOptions, dataHandler) {\n return new Promise((resolve, reject) => {\n const request = this.httpExecutor.createRequest(requestOptions, response => {\n if (!(0, multipleRangeDownloader_1.checkIsRangesSupported)(response, reject)) {\n return;\n }\n response.on(\"data\", dataHandler);\n response.on(\"end\", () => resolve());\n });\n this.httpExecutor.addErrorAndTimeoutHandlers(request, reject);\n request.end();\n });\n }\n}\nexports.DifferentialDownloader = DifferentialDownloader;\nfunction formatBytes(value, symbol = \" KB\") {\n return new Intl.NumberFormat(\"en\").format((value / 1024).toFixed(2)) + symbol;\n}\n// safety\nfunction removeQuery(url) {\n const index = url.indexOf(\"?\");\n return index < 0 ? url : url.substring(0, index);\n}\n//# sourceMappingURL=DifferentialDownloader.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/differentialDownloader/DifferentialDownloader.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/differentialDownloader/FileWithEmbeddedBlockMapDifferentialDownloader.js": -/*!********************************************************************************************************************!*\ - !*** ./node_modules/electron-updater/out/differentialDownloader/FileWithEmbeddedBlockMapDifferentialDownloader.js ***! - \********************************************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FileWithEmbeddedBlockMapDifferentialDownloader = void 0;\nconst fs_extra_1 = __webpack_require__(/*! fs-extra */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/index.js\");\nconst DifferentialDownloader_1 = __webpack_require__(/*! ./DifferentialDownloader */ \"./node_modules/electron-updater/out/differentialDownloader/DifferentialDownloader.js\");\nconst zlib_1 = __webpack_require__(/*! zlib */ \"zlib\");\nclass FileWithEmbeddedBlockMapDifferentialDownloader extends DifferentialDownloader_1.DifferentialDownloader {\n async download() {\n const packageInfo = this.blockAwareFileInfo;\n const fileSize = packageInfo.size;\n const offset = fileSize - (packageInfo.blockMapSize + 4);\n this.fileMetadataBuffer = await this.readRemoteBytes(offset, fileSize - 1);\n const newBlockMap = readBlockMap(this.fileMetadataBuffer.slice(0, this.fileMetadataBuffer.length - 4));\n await this.doDownload(await readEmbeddedBlockMapData(this.options.oldFile), newBlockMap);\n }\n}\nexports.FileWithEmbeddedBlockMapDifferentialDownloader = FileWithEmbeddedBlockMapDifferentialDownloader;\nfunction readBlockMap(data) {\n return JSON.parse((0, zlib_1.inflateRawSync)(data).toString());\n}\nasync function readEmbeddedBlockMapData(file) {\n const fd = await (0, fs_extra_1.open)(file, \"r\");\n try {\n const fileSize = (await (0, fs_extra_1.fstat)(fd)).size;\n const sizeBuffer = Buffer.allocUnsafe(4);\n await (0, fs_extra_1.read)(fd, sizeBuffer, 0, sizeBuffer.length, fileSize - sizeBuffer.length);\n const dataBuffer = Buffer.allocUnsafe(sizeBuffer.readUInt32BE(0));\n await (0, fs_extra_1.read)(fd, dataBuffer, 0, dataBuffer.length, fileSize - sizeBuffer.length - dataBuffer.length);\n await (0, fs_extra_1.close)(fd);\n return readBlockMap(dataBuffer);\n }\n catch (e) {\n await (0, fs_extra_1.close)(fd);\n throw e;\n }\n}\n//# sourceMappingURL=FileWithEmbeddedBlockMapDifferentialDownloader.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/differentialDownloader/FileWithEmbeddedBlockMapDifferentialDownloader.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/differentialDownloader/GenericDifferentialDownloader.js": -/*!***************************************************************************************************!*\ - !*** ./node_modules/electron-updater/out/differentialDownloader/GenericDifferentialDownloader.js ***! - \***************************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GenericDifferentialDownloader = void 0;\nconst DifferentialDownloader_1 = __webpack_require__(/*! ./DifferentialDownloader */ \"./node_modules/electron-updater/out/differentialDownloader/DifferentialDownloader.js\");\nclass GenericDifferentialDownloader extends DifferentialDownloader_1.DifferentialDownloader {\n download(oldBlockMap, newBlockMap) {\n return this.doDownload(oldBlockMap, newBlockMap);\n }\n}\nexports.GenericDifferentialDownloader = GenericDifferentialDownloader;\n//# sourceMappingURL=GenericDifferentialDownloader.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/differentialDownloader/GenericDifferentialDownloader.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/differentialDownloader/ProgressDifferentialDownloadCallbackTransform.js": -/*!*******************************************************************************************************************!*\ - !*** ./node_modules/electron-updater/out/differentialDownloader/ProgressDifferentialDownloadCallbackTransform.js ***! - \*******************************************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ProgressDifferentialDownloadCallbackTransform = void 0;\nconst stream_1 = __webpack_require__(/*! stream */ \"stream\");\nvar OperationKind;\n(function (OperationKind) {\n OperationKind[OperationKind[\"COPY\"] = 0] = \"COPY\";\n OperationKind[OperationKind[\"DOWNLOAD\"] = 1] = \"DOWNLOAD\";\n})(OperationKind || (OperationKind = {}));\nclass ProgressDifferentialDownloadCallbackTransform extends stream_1.Transform {\n constructor(progressDifferentialDownloadInfo, cancellationToken, onProgress) {\n super();\n this.progressDifferentialDownloadInfo = progressDifferentialDownloadInfo;\n this.cancellationToken = cancellationToken;\n this.onProgress = onProgress;\n this.start = Date.now();\n this.transferred = 0;\n this.delta = 0;\n this.expectedBytes = 0;\n this.index = 0;\n this.operationType = OperationKind.COPY;\n this.nextUpdate = this.start + 1000;\n }\n _transform(chunk, encoding, callback) {\n if (this.cancellationToken.cancelled) {\n callback(new Error(\"cancelled\"), null);\n return;\n }\n // Don't send progress update when copying from disk\n if (this.operationType == OperationKind.COPY) {\n callback(null, chunk);\n return;\n }\n this.transferred += chunk.length;\n this.delta += chunk.length;\n const now = Date.now();\n if (now >= this.nextUpdate &&\n this.transferred !== this.expectedBytes /* will be emitted by endRangeDownload() */ &&\n this.transferred !== this.progressDifferentialDownloadInfo.grandTotal /* will be emitted on _flush */) {\n this.nextUpdate = now + 1000;\n this.onProgress({\n total: this.progressDifferentialDownloadInfo.grandTotal,\n delta: this.delta,\n transferred: this.transferred,\n percent: (this.transferred / this.progressDifferentialDownloadInfo.grandTotal) * 100,\n bytesPerSecond: Math.round(this.transferred / ((now - this.start) / 1000)),\n });\n this.delta = 0;\n }\n callback(null, chunk);\n }\n beginFileCopy() {\n this.operationType = OperationKind.COPY;\n }\n beginRangeDownload() {\n this.operationType = OperationKind.DOWNLOAD;\n this.expectedBytes += this.progressDifferentialDownloadInfo.expectedByteCounts[this.index++];\n }\n endRangeDownload() {\n // _flush() will doour final 100%\n if (this.transferred !== this.progressDifferentialDownloadInfo.grandTotal) {\n this.onProgress({\n total: this.progressDifferentialDownloadInfo.grandTotal,\n delta: this.delta,\n transferred: this.transferred,\n percent: (this.transferred / this.progressDifferentialDownloadInfo.grandTotal) * 100,\n bytesPerSecond: Math.round(this.transferred / ((Date.now() - this.start) / 1000)),\n });\n }\n }\n // Called when we are 100% done with the connection/download\n _flush(callback) {\n if (this.cancellationToken.cancelled) {\n callback(new Error(\"cancelled\"));\n return;\n }\n this.onProgress({\n total: this.progressDifferentialDownloadInfo.grandTotal,\n delta: this.delta,\n transferred: this.transferred,\n percent: 100,\n bytesPerSecond: Math.round(this.transferred / ((Date.now() - this.start) / 1000)),\n });\n this.delta = 0;\n this.transferred = 0;\n callback(null);\n }\n}\nexports.ProgressDifferentialDownloadCallbackTransform = ProgressDifferentialDownloadCallbackTransform;\n//# sourceMappingURL=ProgressDifferentialDownloadCallbackTransform.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/differentialDownloader/ProgressDifferentialDownloadCallbackTransform.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/differentialDownloader/downloadPlanBuilder.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/electron-updater/out/differentialDownloader/downloadPlanBuilder.js ***! - \*****************************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.computeOperations = exports.OperationKind = void 0;\nvar OperationKind;\n(function (OperationKind) {\n OperationKind[OperationKind[\"COPY\"] = 0] = \"COPY\";\n OperationKind[OperationKind[\"DOWNLOAD\"] = 1] = \"DOWNLOAD\";\n})(OperationKind = exports.OperationKind || (exports.OperationKind = {}));\nfunction computeOperations(oldBlockMap, newBlockMap, logger) {\n const nameToOldBlocks = buildBlockFileMap(oldBlockMap.files);\n const nameToNewBlocks = buildBlockFileMap(newBlockMap.files);\n let lastOperation = null;\n // for now only one file is supported in block map\n const blockMapFile = newBlockMap.files[0];\n const operations = [];\n const name = blockMapFile.name;\n const oldEntry = nameToOldBlocks.get(name);\n if (oldEntry == null) {\n // new file (unrealistic case for now, because in any case both blockmap contain the only file named as \"file\")\n throw new Error(`no file ${name} in old blockmap`);\n }\n const newFile = nameToNewBlocks.get(name);\n let changedBlockCount = 0;\n const { checksumToOffset: checksumToOldOffset, checksumToOldSize } = buildChecksumMap(nameToOldBlocks.get(name), oldEntry.offset, logger);\n let newOffset = blockMapFile.offset;\n for (let i = 0; i < newFile.checksums.length; newOffset += newFile.sizes[i], i++) {\n const blockSize = newFile.sizes[i];\n const checksum = newFile.checksums[i];\n let oldOffset = checksumToOldOffset.get(checksum);\n if (oldOffset != null && checksumToOldSize.get(checksum) !== blockSize) {\n logger.warn(`Checksum (\"${checksum}\") matches, but size differs (old: ${checksumToOldSize.get(checksum)}, new: ${blockSize})`);\n oldOffset = undefined;\n }\n if (oldOffset === undefined) {\n // download data from new file\n changedBlockCount++;\n if (lastOperation != null && lastOperation.kind === OperationKind.DOWNLOAD && lastOperation.end === newOffset) {\n lastOperation.end += blockSize;\n }\n else {\n lastOperation = {\n kind: OperationKind.DOWNLOAD,\n start: newOffset,\n end: newOffset + blockSize,\n // oldBlocks: null,\n };\n validateAndAdd(lastOperation, operations, checksum, i);\n }\n }\n else {\n // reuse data from old file\n if (lastOperation != null && lastOperation.kind === OperationKind.COPY && lastOperation.end === oldOffset) {\n lastOperation.end += blockSize;\n // lastOperation.oldBlocks!!.push(checksum)\n }\n else {\n lastOperation = {\n kind: OperationKind.COPY,\n start: oldOffset,\n end: oldOffset + blockSize,\n // oldBlocks: [checksum]\n };\n validateAndAdd(lastOperation, operations, checksum, i);\n }\n }\n }\n if (changedBlockCount > 0) {\n logger.info(`File${blockMapFile.name === \"file\" ? \"\" : \" \" + blockMapFile.name} has ${changedBlockCount} changed blocks`);\n }\n return operations;\n}\nexports.computeOperations = computeOperations;\nconst isValidateOperationRange = process.env[\"DIFFERENTIAL_DOWNLOAD_PLAN_BUILDER_VALIDATE_RANGES\"] === \"true\";\nfunction validateAndAdd(operation, operations, checksum, index) {\n if (isValidateOperationRange && operations.length !== 0) {\n const lastOperation = operations[operations.length - 1];\n if (lastOperation.kind === operation.kind && operation.start < lastOperation.end && operation.start > lastOperation.start) {\n const min = [lastOperation.start, lastOperation.end, operation.start, operation.end].reduce((p, v) => (p < v ? p : v));\n throw new Error(`operation (block index: ${index}, checksum: ${checksum}, kind: ${OperationKind[operation.kind]}) overlaps previous operation (checksum: ${checksum}):\\n` +\n `abs: ${lastOperation.start} until ${lastOperation.end} and ${operation.start} until ${operation.end}\\n` +\n `rel: ${lastOperation.start - min} until ${lastOperation.end - min} and ${operation.start - min} until ${operation.end - min}`);\n }\n }\n operations.push(operation);\n}\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nfunction buildChecksumMap(file, fileOffset, logger) {\n const checksumToOffset = new Map();\n const checksumToSize = new Map();\n let offset = fileOffset;\n for (let i = 0; i < file.checksums.length; i++) {\n const checksum = file.checksums[i];\n const size = file.sizes[i];\n const existing = checksumToSize.get(checksum);\n if (existing === undefined) {\n checksumToOffset.set(checksum, offset);\n checksumToSize.set(checksum, size);\n }\n else if (logger.debug != null) {\n const sizeExplanation = existing === size ? \"(same size)\" : `(size: ${existing}, this size: ${size})`;\n logger.debug(`${checksum} duplicated in blockmap ${sizeExplanation}, it doesn't lead to broken differential downloader, just corresponding block will be skipped)`);\n }\n offset += size;\n }\n return { checksumToOffset, checksumToOldSize: checksumToSize };\n}\nfunction buildBlockFileMap(list) {\n const result = new Map();\n for (const item of list) {\n result.set(item.name, item);\n }\n return result;\n}\n//# sourceMappingURL=downloadPlanBuilder.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/differentialDownloader/downloadPlanBuilder.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/differentialDownloader/multipleRangeDownloader.js": -/*!*********************************************************************************************!*\ - !*** ./node_modules/electron-updater/out/differentialDownloader/multipleRangeDownloader.js ***! - \*********************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.checkIsRangesSupported = exports.executeTasksUsingMultipleRangeRequests = void 0;\nconst builder_util_runtime_1 = __webpack_require__(/*! builder-util-runtime */ \"./node_modules/builder-util-runtime/out/index.js\");\nconst DataSplitter_1 = __webpack_require__(/*! ./DataSplitter */ \"./node_modules/electron-updater/out/differentialDownloader/DataSplitter.js\");\nconst downloadPlanBuilder_1 = __webpack_require__(/*! ./downloadPlanBuilder */ \"./node_modules/electron-updater/out/differentialDownloader/downloadPlanBuilder.js\");\nfunction executeTasksUsingMultipleRangeRequests(differentialDownloader, tasks, out, oldFileFd, reject) {\n const w = (taskOffset) => {\n if (taskOffset >= tasks.length) {\n if (differentialDownloader.fileMetadataBuffer != null) {\n out.write(differentialDownloader.fileMetadataBuffer);\n }\n out.end();\n return;\n }\n const nextOffset = taskOffset + 1000;\n doExecuteTasks(differentialDownloader, {\n tasks,\n start: taskOffset,\n end: Math.min(tasks.length, nextOffset),\n oldFileFd,\n }, out, () => w(nextOffset), reject);\n };\n return w;\n}\nexports.executeTasksUsingMultipleRangeRequests = executeTasksUsingMultipleRangeRequests;\nfunction doExecuteTasks(differentialDownloader, options, out, resolve, reject) {\n let ranges = \"bytes=\";\n let partCount = 0;\n const partIndexToTaskIndex = new Map();\n const partIndexToLength = [];\n for (let i = options.start; i < options.end; i++) {\n const task = options.tasks[i];\n if (task.kind === downloadPlanBuilder_1.OperationKind.DOWNLOAD) {\n ranges += `${task.start}-${task.end - 1}, `;\n partIndexToTaskIndex.set(partCount, i);\n partCount++;\n partIndexToLength.push(task.end - task.start);\n }\n }\n if (partCount <= 1) {\n // the only remote range - copy\n const w = (index) => {\n if (index >= options.end) {\n resolve();\n return;\n }\n const task = options.tasks[index++];\n if (task.kind === downloadPlanBuilder_1.OperationKind.COPY) {\n (0, DataSplitter_1.copyData)(task, out, options.oldFileFd, reject, () => w(index));\n }\n else {\n const requestOptions = differentialDownloader.createRequestOptions();\n requestOptions.headers.Range = `bytes=${task.start}-${task.end - 1}`;\n const request = differentialDownloader.httpExecutor.createRequest(requestOptions, response => {\n if (!checkIsRangesSupported(response, reject)) {\n return;\n }\n response.pipe(out, {\n end: false,\n });\n response.once(\"end\", () => w(index));\n });\n differentialDownloader.httpExecutor.addErrorAndTimeoutHandlers(request, reject);\n request.end();\n }\n };\n w(options.start);\n return;\n }\n const requestOptions = differentialDownloader.createRequestOptions();\n requestOptions.headers.Range = ranges.substring(0, ranges.length - 2);\n const request = differentialDownloader.httpExecutor.createRequest(requestOptions, response => {\n if (!checkIsRangesSupported(response, reject)) {\n return;\n }\n const contentType = (0, builder_util_runtime_1.safeGetHeader)(response, \"content-type\");\n const m = /^multipart\\/.+?(?:; boundary=(?:(?:\"(.+)\")|(?:([^\\s]+))))$/i.exec(contentType);\n if (m == null) {\n reject(new Error(`Content-Type \"multipart/byteranges\" is expected, but got \"${contentType}\"`));\n return;\n }\n const dicer = new DataSplitter_1.DataSplitter(out, options, partIndexToTaskIndex, m[1] || m[2], partIndexToLength, resolve);\n dicer.on(\"error\", reject);\n response.pipe(dicer);\n response.on(\"end\", () => {\n setTimeout(() => {\n request.abort();\n reject(new Error(\"Response ends without calling any handlers\"));\n }, 10000);\n });\n });\n differentialDownloader.httpExecutor.addErrorAndTimeoutHandlers(request, reject);\n request.end();\n}\nfunction checkIsRangesSupported(response, reject) {\n // Electron net handles redirects automatically, our NodeJS test server doesn't use redirects - so, we don't check 3xx codes.\n if (response.statusCode >= 400) {\n reject((0, builder_util_runtime_1.createHttpError)(response));\n return false;\n }\n if (response.statusCode !== 206) {\n const acceptRanges = (0, builder_util_runtime_1.safeGetHeader)(response, \"accept-ranges\");\n if (acceptRanges == null || acceptRanges === \"none\") {\n reject(new Error(`Server doesn't support Accept-Ranges (response code ${response.statusCode})`));\n return false;\n }\n }\n return true;\n}\nexports.checkIsRangesSupported = checkIsRangesSupported;\n//# sourceMappingURL=multipleRangeDownloader.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/differentialDownloader/multipleRangeDownloader.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/electronHttpExecutor.js": -/*!*******************************************************************!*\ - !*** ./node_modules/electron-updater/out/electronHttpExecutor.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ElectronHttpExecutor = exports.getNetSession = exports.NET_SESSION_NAME = void 0;\nconst builder_util_runtime_1 = __webpack_require__(/*! builder-util-runtime */ \"./node_modules/builder-util-runtime/out/index.js\");\nexports.NET_SESSION_NAME = \"electron-updater\";\nfunction getNetSession() {\n return (__webpack_require__(/*! electron */ \"electron\").session).fromPartition(exports.NET_SESSION_NAME, {\n cache: false,\n });\n}\nexports.getNetSession = getNetSession;\nclass ElectronHttpExecutor extends builder_util_runtime_1.HttpExecutor {\n constructor(proxyLoginCallback) {\n super();\n this.proxyLoginCallback = proxyLoginCallback;\n this.cachedSession = null;\n }\n async download(url, destination, options) {\n return await options.cancellationToken.createPromise((resolve, reject, onCancel) => {\n const requestOptions = {\n headers: options.headers || undefined,\n redirect: \"manual\",\n };\n (0, builder_util_runtime_1.configureRequestUrl)(url, requestOptions);\n (0, builder_util_runtime_1.configureRequestOptions)(requestOptions);\n this.doDownload(requestOptions, {\n destination,\n options,\n onCancel,\n callback: error => {\n if (error == null) {\n resolve(destination);\n }\n else {\n reject(error);\n }\n },\n responseHandler: null,\n }, 0);\n });\n }\n createRequest(options, callback) {\n // fix (node 7+) for making electron updater work when using AWS private buckets, check if headers contain Host property\n if (options.headers && options.headers.Host) {\n // set host value from headers.Host\n options.host = options.headers.Host;\n // remove header property 'Host', if not removed causes net::ERR_INVALID_ARGUMENT exception\n delete options.headers.Host;\n }\n // differential downloader can call this method very often, so, better to cache session\n if (this.cachedSession == null) {\n this.cachedSession = getNetSession();\n }\n const request = (__webpack_require__(/*! electron */ \"electron\").net).request({\n ...options,\n session: this.cachedSession,\n });\n request.on(\"response\", callback);\n if (this.proxyLoginCallback != null) {\n request.on(\"login\", this.proxyLoginCallback);\n }\n return request;\n }\n addRedirectHandlers(request, options, reject, redirectCount, handler) {\n request.on(\"redirect\", (statusCode, method, redirectUrl) => {\n // no way to modify request options, abort old and make a new one\n // https://github.com/electron/electron/issues/11505\n request.abort();\n if (redirectCount > this.maxRedirects) {\n reject(this.createMaxRedirectError());\n }\n else {\n handler(builder_util_runtime_1.HttpExecutor.prepareRedirectUrlOptions(redirectUrl, options));\n }\n });\n }\n}\nexports.ElectronHttpExecutor = ElectronHttpExecutor;\n//# sourceMappingURL=electronHttpExecutor.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/electronHttpExecutor.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/main.js": -/*!***************************************************!*\ - !*** ./node_modules/electron-updater/out/main.js ***! - \***************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UpdaterSignal = exports.UPDATE_DOWNLOADED = exports.DOWNLOAD_PROGRESS = exports.NsisUpdater = exports.MacUpdater = exports.RpmUpdater = exports.DebUpdater = exports.AppImageUpdater = exports.Provider = exports.CancellationToken = exports.NoOpLogger = exports.AppUpdater = void 0;\nconst builder_util_runtime_1 = __webpack_require__(/*! builder-util-runtime */ \"./node_modules/builder-util-runtime/out/index.js\");\nObject.defineProperty(exports, \"CancellationToken\", ({ enumerable: true, get: function () { return builder_util_runtime_1.CancellationToken; } }));\nconst fs_extra_1 = __webpack_require__(/*! fs-extra */ \"./node_modules/electron-updater/node_modules/fs-extra/lib/index.js\");\nconst path = __webpack_require__(/*! path */ \"path\");\nvar AppUpdater_1 = __webpack_require__(/*! ./AppUpdater */ \"./node_modules/electron-updater/out/AppUpdater.js\");\nObject.defineProperty(exports, \"AppUpdater\", ({ enumerable: true, get: function () { return AppUpdater_1.AppUpdater; } }));\nObject.defineProperty(exports, \"NoOpLogger\", ({ enumerable: true, get: function () { return AppUpdater_1.NoOpLogger; } }));\nvar Provider_1 = __webpack_require__(/*! ./providers/Provider */ \"./node_modules/electron-updater/out/providers/Provider.js\");\nObject.defineProperty(exports, \"Provider\", ({ enumerable: true, get: function () { return Provider_1.Provider; } }));\nvar AppImageUpdater_1 = __webpack_require__(/*! ./AppImageUpdater */ \"./node_modules/electron-updater/out/AppImageUpdater.js\");\nObject.defineProperty(exports, \"AppImageUpdater\", ({ enumerable: true, get: function () { return AppImageUpdater_1.AppImageUpdater; } }));\nvar DebUpdater_1 = __webpack_require__(/*! ./DebUpdater */ \"./node_modules/electron-updater/out/DebUpdater.js\");\nObject.defineProperty(exports, \"DebUpdater\", ({ enumerable: true, get: function () { return DebUpdater_1.DebUpdater; } }));\nvar RpmUpdater_1 = __webpack_require__(/*! ./RpmUpdater */ \"./node_modules/electron-updater/out/RpmUpdater.js\");\nObject.defineProperty(exports, \"RpmUpdater\", ({ enumerable: true, get: function () { return RpmUpdater_1.RpmUpdater; } }));\nvar MacUpdater_1 = __webpack_require__(/*! ./MacUpdater */ \"./node_modules/electron-updater/out/MacUpdater.js\");\nObject.defineProperty(exports, \"MacUpdater\", ({ enumerable: true, get: function () { return MacUpdater_1.MacUpdater; } }));\nvar NsisUpdater_1 = __webpack_require__(/*! ./NsisUpdater */ \"./node_modules/electron-updater/out/NsisUpdater.js\");\nObject.defineProperty(exports, \"NsisUpdater\", ({ enumerable: true, get: function () { return NsisUpdater_1.NsisUpdater; } }));\n// autoUpdater to mimic electron bundled autoUpdater\nlet _autoUpdater;\nfunction doLoadAutoUpdater() {\n // tslint:disable:prefer-conditional-expression\n if (process.platform === \"win32\") {\n _autoUpdater = new ((__webpack_require__(/*! ./NsisUpdater */ \"./node_modules/electron-updater/out/NsisUpdater.js\").NsisUpdater))();\n }\n else if (process.platform === \"darwin\") {\n _autoUpdater = new ((__webpack_require__(/*! ./MacUpdater */ \"./node_modules/electron-updater/out/MacUpdater.js\").MacUpdater))();\n }\n else {\n _autoUpdater = new ((__webpack_require__(/*! ./AppImageUpdater */ \"./node_modules/electron-updater/out/AppImageUpdater.js\").AppImageUpdater))();\n try {\n const identity = path.join(process.resourcesPath, \"package-type\");\n if (!(0, fs_extra_1.existsSync)(identity)) {\n return _autoUpdater;\n }\n console.info(\"Checking for beta autoupdate feature for deb/rpm distributions\");\n const fileType = (0, fs_extra_1.readFileSync)(identity).toString().trim();\n console.info(\"Found package-type:\", fileType);\n switch (fileType) {\n case \"deb\":\n _autoUpdater = new ((__webpack_require__(/*! ./DebUpdater */ \"./node_modules/electron-updater/out/DebUpdater.js\").DebUpdater))();\n break;\n case \"rpm\":\n _autoUpdater = new ((__webpack_require__(/*! ./RpmUpdater */ \"./node_modules/electron-updater/out/RpmUpdater.js\").RpmUpdater))();\n break;\n default:\n break;\n }\n }\n catch (error) {\n console.warn(\"Unable to detect 'package-type' for autoUpdater (beta rpm/deb support). If you'd like to expand support, please consider contributing to electron-builder\", error.message);\n }\n }\n return _autoUpdater;\n}\nObject.defineProperty(exports, \"autoUpdater\", ({\n enumerable: true,\n get: () => {\n return _autoUpdater || doLoadAutoUpdater();\n },\n}));\nexports.DOWNLOAD_PROGRESS = \"download-progress\";\nexports.UPDATE_DOWNLOADED = \"update-downloaded\";\nclass UpdaterSignal {\n constructor(emitter) {\n this.emitter = emitter;\n }\n /**\n * Emitted when an authenticating proxy is [asking for user credentials](https://github.com/electron/electron/blob/master/docs/api/client-request.md#event-login).\n */\n login(handler) {\n addHandler(this.emitter, \"login\", handler);\n }\n progress(handler) {\n addHandler(this.emitter, exports.DOWNLOAD_PROGRESS, handler);\n }\n updateDownloaded(handler) {\n addHandler(this.emitter, exports.UPDATE_DOWNLOADED, handler);\n }\n updateCancelled(handler) {\n addHandler(this.emitter, \"update-cancelled\", handler);\n }\n}\nexports.UpdaterSignal = UpdaterSignal;\nconst isLogEvent = false;\nfunction addHandler(emitter, event, handler) {\n if (isLogEvent) {\n emitter.on(event, (...args) => {\n console.log(\"%s %s\", event, args);\n handler(...args);\n });\n }\n else {\n emitter.on(event, handler);\n }\n}\n//# sourceMappingURL=main.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/main.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/providerFactory.js": -/*!**************************************************************!*\ - !*** ./node_modules/electron-updater/out/providerFactory.js ***! - \**************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createClient = exports.isUrlProbablySupportMultiRangeRequests = void 0;\nconst builder_util_runtime_1 = __webpack_require__(/*! builder-util-runtime */ \"./node_modules/builder-util-runtime/out/index.js\");\nconst BitbucketProvider_1 = __webpack_require__(/*! ./providers/BitbucketProvider */ \"./node_modules/electron-updater/out/providers/BitbucketProvider.js\");\nconst GenericProvider_1 = __webpack_require__(/*! ./providers/GenericProvider */ \"./node_modules/electron-updater/out/providers/GenericProvider.js\");\nconst GitHubProvider_1 = __webpack_require__(/*! ./providers/GitHubProvider */ \"./node_modules/electron-updater/out/providers/GitHubProvider.js\");\nconst KeygenProvider_1 = __webpack_require__(/*! ./providers/KeygenProvider */ \"./node_modules/electron-updater/out/providers/KeygenProvider.js\");\nconst PrivateGitHubProvider_1 = __webpack_require__(/*! ./providers/PrivateGitHubProvider */ \"./node_modules/electron-updater/out/providers/PrivateGitHubProvider.js\");\nfunction isUrlProbablySupportMultiRangeRequests(url) {\n return !url.includes(\"s3.amazonaws.com\");\n}\nexports.isUrlProbablySupportMultiRangeRequests = isUrlProbablySupportMultiRangeRequests;\nfunction createClient(data, updater, runtimeOptions) {\n // noinspection SuspiciousTypeOfGuard\n if (typeof data === \"string\") {\n throw (0, builder_util_runtime_1.newError)(\"Please pass PublishConfiguration object\", \"ERR_UPDATER_INVALID_PROVIDER_CONFIGURATION\");\n }\n const provider = data.provider;\n switch (provider) {\n case \"github\": {\n const githubOptions = data;\n const token = (githubOptions.private ? process.env[\"GH_TOKEN\"] || process.env[\"GITHUB_TOKEN\"] : null) || githubOptions.token;\n if (token == null) {\n return new GitHubProvider_1.GitHubProvider(githubOptions, updater, runtimeOptions);\n }\n else {\n return new PrivateGitHubProvider_1.PrivateGitHubProvider(githubOptions, updater, token, runtimeOptions);\n }\n }\n case \"bitbucket\":\n return new BitbucketProvider_1.BitbucketProvider(data, updater, runtimeOptions);\n case \"keygen\":\n return new KeygenProvider_1.KeygenProvider(data, updater, runtimeOptions);\n case \"s3\":\n case \"spaces\":\n return new GenericProvider_1.GenericProvider({\n provider: \"generic\",\n url: (0, builder_util_runtime_1.getS3LikeProviderBaseUrl)(data),\n channel: data.channel || null,\n }, updater, {\n ...runtimeOptions,\n // https://github.com/minio/minio/issues/5285#issuecomment-350428955\n isUseMultipleRangeRequest: false,\n });\n case \"generic\": {\n const options = data;\n return new GenericProvider_1.GenericProvider(options, updater, {\n ...runtimeOptions,\n isUseMultipleRangeRequest: options.useMultipleRangeRequest !== false && isUrlProbablySupportMultiRangeRequests(options.url),\n });\n }\n case \"custom\": {\n const options = data;\n const constructor = options.updateProvider;\n if (!constructor) {\n throw (0, builder_util_runtime_1.newError)(\"Custom provider not specified\", \"ERR_UPDATER_INVALID_PROVIDER_CONFIGURATION\");\n }\n return new constructor(options, updater, runtimeOptions);\n }\n default:\n throw (0, builder_util_runtime_1.newError)(`Unsupported provider: ${provider}`, \"ERR_UPDATER_UNSUPPORTED_PROVIDER\");\n }\n}\nexports.createClient = createClient;\n//# sourceMappingURL=providerFactory.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/providerFactory.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/providers/BitbucketProvider.js": -/*!**************************************************************************!*\ - !*** ./node_modules/electron-updater/out/providers/BitbucketProvider.js ***! - \**************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BitbucketProvider = void 0;\nconst builder_util_runtime_1 = __webpack_require__(/*! builder-util-runtime */ \"./node_modules/builder-util-runtime/out/index.js\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/electron-updater/out/util.js\");\nconst Provider_1 = __webpack_require__(/*! ./Provider */ \"./node_modules/electron-updater/out/providers/Provider.js\");\nclass BitbucketProvider extends Provider_1.Provider {\n constructor(configuration, updater, runtimeOptions) {\n super({\n ...runtimeOptions,\n isUseMultipleRangeRequest: false,\n });\n this.configuration = configuration;\n this.updater = updater;\n const { owner, slug } = configuration;\n this.baseUrl = (0, util_1.newBaseUrl)(`https://api.bitbucket.org/2.0/repositories/${owner}/${slug}/downloads`);\n }\n get channel() {\n return this.updater.channel || this.configuration.channel || \"latest\";\n }\n async getLatestVersion() {\n const cancellationToken = new builder_util_runtime_1.CancellationToken();\n const channelFile = (0, util_1.getChannelFilename)(this.getCustomChannelName(this.channel));\n const channelUrl = (0, util_1.newUrlFromBase)(channelFile, this.baseUrl, this.updater.isAddNoCacheQuery);\n try {\n const updateInfo = await this.httpRequest(channelUrl, undefined, cancellationToken);\n return (0, Provider_1.parseUpdateInfo)(updateInfo, channelFile, channelUrl);\n }\n catch (e) {\n throw (0, builder_util_runtime_1.newError)(`Unable to find latest version on ${this.toString()}, please ensure release exists: ${e.stack || e.message}`, \"ERR_UPDATER_LATEST_VERSION_NOT_FOUND\");\n }\n }\n resolveFiles(updateInfo) {\n return (0, Provider_1.resolveFiles)(updateInfo, this.baseUrl);\n }\n toString() {\n const { owner, slug } = this.configuration;\n return `Bitbucket (owner: ${owner}, slug: ${slug}, channel: ${this.channel})`;\n }\n}\nexports.BitbucketProvider = BitbucketProvider;\n//# sourceMappingURL=BitbucketProvider.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/providers/BitbucketProvider.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/providers/GenericProvider.js": -/*!************************************************************************!*\ - !*** ./node_modules/electron-updater/out/providers/GenericProvider.js ***! - \************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GenericProvider = void 0;\nconst builder_util_runtime_1 = __webpack_require__(/*! builder-util-runtime */ \"./node_modules/builder-util-runtime/out/index.js\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/electron-updater/out/util.js\");\nconst Provider_1 = __webpack_require__(/*! ./Provider */ \"./node_modules/electron-updater/out/providers/Provider.js\");\nclass GenericProvider extends Provider_1.Provider {\n constructor(configuration, updater, runtimeOptions) {\n super(runtimeOptions);\n this.configuration = configuration;\n this.updater = updater;\n this.baseUrl = (0, util_1.newBaseUrl)(this.configuration.url);\n }\n get channel() {\n const result = this.updater.channel || this.configuration.channel;\n return result == null ? this.getDefaultChannelName() : this.getCustomChannelName(result);\n }\n async getLatestVersion() {\n const channelFile = (0, util_1.getChannelFilename)(this.channel);\n const channelUrl = (0, util_1.newUrlFromBase)(channelFile, this.baseUrl, this.updater.isAddNoCacheQuery);\n for (let attemptNumber = 0;; attemptNumber++) {\n try {\n return (0, Provider_1.parseUpdateInfo)(await this.httpRequest(channelUrl), channelFile, channelUrl);\n }\n catch (e) {\n if (e instanceof builder_util_runtime_1.HttpError && e.statusCode === 404) {\n throw (0, builder_util_runtime_1.newError)(`Cannot find channel \"${channelFile}\" update info: ${e.stack || e.message}`, \"ERR_UPDATER_CHANNEL_FILE_NOT_FOUND\");\n }\n else if (e.code === \"ECONNREFUSED\") {\n if (attemptNumber < 3) {\n await new Promise((resolve, reject) => {\n try {\n setTimeout(resolve, 1000 * attemptNumber);\n }\n catch (e) {\n reject(e);\n }\n });\n continue;\n }\n }\n throw e;\n }\n }\n }\n resolveFiles(updateInfo) {\n return (0, Provider_1.resolveFiles)(updateInfo, this.baseUrl);\n }\n}\nexports.GenericProvider = GenericProvider;\n//# sourceMappingURL=GenericProvider.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/providers/GenericProvider.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/providers/GitHubProvider.js": -/*!***********************************************************************!*\ - !*** ./node_modules/electron-updater/out/providers/GitHubProvider.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.computeReleaseNotes = exports.GitHubProvider = exports.BaseGitHubProvider = void 0;\nconst builder_util_runtime_1 = __webpack_require__(/*! builder-util-runtime */ \"./node_modules/builder-util-runtime/out/index.js\");\nconst semver = __webpack_require__(/*! semver */ \"./node_modules/semver/index.js\");\nconst url_1 = __webpack_require__(/*! url */ \"url\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/electron-updater/out/util.js\");\nconst Provider_1 = __webpack_require__(/*! ./Provider */ \"./node_modules/electron-updater/out/providers/Provider.js\");\nconst hrefRegExp = /\\/tag\\/([^/]+)$/;\nclass BaseGitHubProvider extends Provider_1.Provider {\n constructor(options, defaultHost, runtimeOptions) {\n super({\n ...runtimeOptions,\n /* because GitHib uses S3 */\n isUseMultipleRangeRequest: false,\n });\n this.options = options;\n this.baseUrl = (0, util_1.newBaseUrl)((0, builder_util_runtime_1.githubUrl)(options, defaultHost));\n const apiHost = defaultHost === \"github.com\" ? \"api.github.com\" : defaultHost;\n this.baseApiUrl = (0, util_1.newBaseUrl)((0, builder_util_runtime_1.githubUrl)(options, apiHost));\n }\n computeGithubBasePath(result) {\n // https://github.com/electron-userland/electron-builder/issues/1903#issuecomment-320881211\n const host = this.options.host;\n return host && ![\"github.com\", \"api.github.com\"].includes(host) ? `/api/v3${result}` : result;\n }\n}\nexports.BaseGitHubProvider = BaseGitHubProvider;\nclass GitHubProvider extends BaseGitHubProvider {\n constructor(options, updater, runtimeOptions) {\n super(options, \"github.com\", runtimeOptions);\n this.options = options;\n this.updater = updater;\n }\n async getLatestVersion() {\n var _a, _b, _c, _d;\n const cancellationToken = new builder_util_runtime_1.CancellationToken();\n const feedXml = (await this.httpRequest((0, util_1.newUrlFromBase)(`${this.basePath}.atom`, this.baseUrl), {\n accept: \"application/xml, application/atom+xml, text/xml, */*\",\n }, cancellationToken));\n const feed = (0, builder_util_runtime_1.parseXml)(feedXml);\n // noinspection TypeScriptValidateJSTypes\n let latestRelease = feed.element(\"entry\", false, `No published versions on GitHub`);\n let tag = null;\n try {\n if (this.updater.allowPrerelease) {\n const currentChannel = ((_a = this.updater) === null || _a === void 0 ? void 0 : _a.channel) || ((_b = semver.prerelease(this.updater.currentVersion)) === null || _b === void 0 ? void 0 : _b[0]) || null;\n if (currentChannel === null) {\n // noinspection TypeScriptValidateJSTypes\n tag = hrefRegExp.exec(latestRelease.element(\"link\").attribute(\"href\"))[1];\n }\n else {\n for (const element of feed.getElements(\"entry\")) {\n // noinspection TypeScriptValidateJSTypes\n const hrefElement = hrefRegExp.exec(element.element(\"link\").attribute(\"href\"));\n // If this is null then something is wrong and skip this release\n if (hrefElement === null)\n continue;\n // This Release's Tag\n const hrefTag = hrefElement[1];\n //Get Channel from this release's tag\n const hrefChannel = ((_c = semver.prerelease(hrefTag)) === null || _c === void 0 ? void 0 : _c[0]) || null;\n const shouldFetchVersion = !currentChannel || [\"alpha\", \"beta\"].includes(currentChannel);\n const isCustomChannel = hrefChannel !== null && ![\"alpha\", \"beta\"].includes(String(hrefChannel));\n // Allow moving from alpha to beta but not down\n const channelMismatch = currentChannel === \"beta\" && hrefChannel === \"alpha\";\n if (shouldFetchVersion && !isCustomChannel && !channelMismatch) {\n tag = hrefTag;\n break;\n }\n const isNextPreRelease = hrefChannel && hrefChannel === currentChannel;\n if (isNextPreRelease) {\n tag = hrefTag;\n break;\n }\n }\n }\n }\n else {\n tag = await this.getLatestTagName(cancellationToken);\n for (const element of feed.getElements(\"entry\")) {\n // noinspection TypeScriptValidateJSTypes\n if (hrefRegExp.exec(element.element(\"link\").attribute(\"href\"))[1] === tag) {\n latestRelease = element;\n break;\n }\n }\n }\n }\n catch (e) {\n throw (0, builder_util_runtime_1.newError)(`Cannot parse releases feed: ${e.stack || e.message},\\nXML:\\n${feedXml}`, \"ERR_UPDATER_INVALID_RELEASE_FEED\");\n }\n if (tag == null) {\n throw (0, builder_util_runtime_1.newError)(`No published versions on GitHub`, \"ERR_UPDATER_NO_PUBLISHED_VERSIONS\");\n }\n let rawData;\n let channelFile = \"\";\n let channelFileUrl = \"\";\n const fetchData = async (channelName) => {\n channelFile = (0, util_1.getChannelFilename)(channelName);\n channelFileUrl = (0, util_1.newUrlFromBase)(this.getBaseDownloadPath(String(tag), channelFile), this.baseUrl);\n const requestOptions = this.createRequestOptions(channelFileUrl);\n try {\n return (await this.executor.request(requestOptions, cancellationToken));\n }\n catch (e) {\n if (e instanceof builder_util_runtime_1.HttpError && e.statusCode === 404) {\n throw (0, builder_util_runtime_1.newError)(`Cannot find ${channelFile} in the latest release artifacts (${channelFileUrl}): ${e.stack || e.message}`, \"ERR_UPDATER_CHANNEL_FILE_NOT_FOUND\");\n }\n throw e;\n }\n };\n try {\n const channel = this.updater.allowPrerelease ? this.getCustomChannelName(String(((_d = semver.prerelease(tag)) === null || _d === void 0 ? void 0 : _d[0]) || \"latest\")) : this.getDefaultChannelName();\n rawData = await fetchData(channel);\n }\n catch (e) {\n if (this.updater.allowPrerelease) {\n // Allow fallback to `latest.yml`\n rawData = await fetchData(this.getDefaultChannelName());\n }\n else {\n throw e;\n }\n }\n const result = (0, Provider_1.parseUpdateInfo)(rawData, channelFile, channelFileUrl);\n if (result.releaseName == null) {\n result.releaseName = latestRelease.elementValueOrEmpty(\"title\");\n }\n if (result.releaseNotes == null) {\n result.releaseNotes = computeReleaseNotes(this.updater.currentVersion, this.updater.fullChangelog, feed, latestRelease);\n }\n return {\n tag: tag,\n ...result,\n };\n }\n async getLatestTagName(cancellationToken) {\n const options = this.options;\n // do not use API for GitHub to avoid limit, only for custom host or GitHub Enterprise\n const url = options.host == null || options.host === \"github.com\"\n ? (0, util_1.newUrlFromBase)(`${this.basePath}/latest`, this.baseUrl)\n : new url_1.URL(`${this.computeGithubBasePath(`/repos/${options.owner}/${options.repo}/releases`)}/latest`, this.baseApiUrl);\n try {\n const rawData = await this.httpRequest(url, { Accept: \"application/json\" }, cancellationToken);\n if (rawData == null) {\n return null;\n }\n const releaseInfo = JSON.parse(rawData);\n return releaseInfo.tag_name;\n }\n catch (e) {\n throw (0, builder_util_runtime_1.newError)(`Unable to find latest version on GitHub (${url}), please ensure a production release exists: ${e.stack || e.message}`, \"ERR_UPDATER_LATEST_VERSION_NOT_FOUND\");\n }\n }\n get basePath() {\n return `/${this.options.owner}/${this.options.repo}/releases`;\n }\n resolveFiles(updateInfo) {\n // still replace space to - due to backward compatibility\n return (0, Provider_1.resolveFiles)(updateInfo, this.baseUrl, p => this.getBaseDownloadPath(updateInfo.tag, p.replace(/ /g, \"-\")));\n }\n getBaseDownloadPath(tag, fileName) {\n return `${this.basePath}/download/${tag}/${fileName}`;\n }\n}\nexports.GitHubProvider = GitHubProvider;\nfunction getNoteValue(parent) {\n const result = parent.elementValueOrEmpty(\"content\");\n // GitHub reports empty notes as No content.\n return result === \"No content.\" ? \"\" : result;\n}\nfunction computeReleaseNotes(currentVersion, isFullChangelog, feed, latestRelease) {\n if (!isFullChangelog) {\n return getNoteValue(latestRelease);\n }\n const releaseNotes = [];\n for (const release of feed.getElements(\"entry\")) {\n // noinspection TypeScriptValidateJSTypes\n const versionRelease = /\\/tag\\/v?([^/]+)$/.exec(release.element(\"link\").attribute(\"href\"))[1];\n if (semver.lt(currentVersion, versionRelease)) {\n releaseNotes.push({\n version: versionRelease,\n note: getNoteValue(release),\n });\n }\n }\n return releaseNotes.sort((a, b) => semver.rcompare(a.version, b.version));\n}\nexports.computeReleaseNotes = computeReleaseNotes;\n//# sourceMappingURL=GitHubProvider.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/providers/GitHubProvider.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/providers/KeygenProvider.js": -/*!***********************************************************************!*\ - !*** ./node_modules/electron-updater/out/providers/KeygenProvider.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.KeygenProvider = void 0;\nconst builder_util_runtime_1 = __webpack_require__(/*! builder-util-runtime */ \"./node_modules/builder-util-runtime/out/index.js\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/electron-updater/out/util.js\");\nconst Provider_1 = __webpack_require__(/*! ./Provider */ \"./node_modules/electron-updater/out/providers/Provider.js\");\nclass KeygenProvider extends Provider_1.Provider {\n constructor(configuration, updater, runtimeOptions) {\n super({\n ...runtimeOptions,\n isUseMultipleRangeRequest: false,\n });\n this.configuration = configuration;\n this.updater = updater;\n this.baseUrl = (0, util_1.newBaseUrl)(`https://api.keygen.sh/v1/accounts/${this.configuration.account}/artifacts?product=${this.configuration.product}`);\n }\n get channel() {\n return this.updater.channel || this.configuration.channel || \"stable\";\n }\n async getLatestVersion() {\n const cancellationToken = new builder_util_runtime_1.CancellationToken();\n const channelFile = (0, util_1.getChannelFilename)(this.getCustomChannelName(this.channel));\n const channelUrl = (0, util_1.newUrlFromBase)(channelFile, this.baseUrl, this.updater.isAddNoCacheQuery);\n try {\n const updateInfo = await this.httpRequest(channelUrl, {\n Accept: \"application/vnd.api+json\",\n \"Keygen-Version\": \"1.1\",\n }, cancellationToken);\n return (0, Provider_1.parseUpdateInfo)(updateInfo, channelFile, channelUrl);\n }\n catch (e) {\n throw (0, builder_util_runtime_1.newError)(`Unable to find latest version on ${this.toString()}, please ensure release exists: ${e.stack || e.message}`, \"ERR_UPDATER_LATEST_VERSION_NOT_FOUND\");\n }\n }\n resolveFiles(updateInfo) {\n return (0, Provider_1.resolveFiles)(updateInfo, this.baseUrl);\n }\n toString() {\n const { account, product, platform } = this.configuration;\n return `Keygen (account: ${account}, product: ${product}, platform: ${platform}, channel: ${this.channel})`;\n }\n}\nexports.KeygenProvider = KeygenProvider;\n//# sourceMappingURL=KeygenProvider.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/providers/KeygenProvider.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/providers/PrivateGitHubProvider.js": -/*!******************************************************************************!*\ - !*** ./node_modules/electron-updater/out/providers/PrivateGitHubProvider.js ***! - \******************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PrivateGitHubProvider = void 0;\nconst builder_util_runtime_1 = __webpack_require__(/*! builder-util-runtime */ \"./node_modules/builder-util-runtime/out/index.js\");\nconst js_yaml_1 = __webpack_require__(/*! js-yaml */ \"./node_modules/js-yaml/index.js\");\nconst path = __webpack_require__(/*! path */ \"path\");\nconst url_1 = __webpack_require__(/*! url */ \"url\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/electron-updater/out/util.js\");\nconst GitHubProvider_1 = __webpack_require__(/*! ./GitHubProvider */ \"./node_modules/electron-updater/out/providers/GitHubProvider.js\");\nconst Provider_1 = __webpack_require__(/*! ./Provider */ \"./node_modules/electron-updater/out/providers/Provider.js\");\nclass PrivateGitHubProvider extends GitHubProvider_1.BaseGitHubProvider {\n constructor(options, updater, token, runtimeOptions) {\n super(options, \"api.github.com\", runtimeOptions);\n this.updater = updater;\n this.token = token;\n }\n createRequestOptions(url, headers) {\n const result = super.createRequestOptions(url, headers);\n result.redirect = \"manual\";\n return result;\n }\n async getLatestVersion() {\n const cancellationToken = new builder_util_runtime_1.CancellationToken();\n const channelFile = (0, util_1.getChannelFilename)(this.getDefaultChannelName());\n const releaseInfo = await this.getLatestVersionInfo(cancellationToken);\n const asset = releaseInfo.assets.find(it => it.name === channelFile);\n if (asset == null) {\n // html_url must be always, but just to be sure\n throw (0, builder_util_runtime_1.newError)(`Cannot find ${channelFile} in the release ${releaseInfo.html_url || releaseInfo.name}`, \"ERR_UPDATER_CHANNEL_FILE_NOT_FOUND\");\n }\n const url = new url_1.URL(asset.url);\n let result;\n try {\n result = (0, js_yaml_1.load)((await this.httpRequest(url, this.configureHeaders(\"application/octet-stream\"), cancellationToken)));\n }\n catch (e) {\n if (e instanceof builder_util_runtime_1.HttpError && e.statusCode === 404) {\n throw (0, builder_util_runtime_1.newError)(`Cannot find ${channelFile} in the latest release artifacts (${url}): ${e.stack || e.message}`, \"ERR_UPDATER_CHANNEL_FILE_NOT_FOUND\");\n }\n throw e;\n }\n ;\n result.assets = releaseInfo.assets;\n return result;\n }\n get fileExtraDownloadHeaders() {\n return this.configureHeaders(\"application/octet-stream\");\n }\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n configureHeaders(accept) {\n return {\n accept,\n authorization: `token ${this.token}`,\n };\n }\n async getLatestVersionInfo(cancellationToken) {\n const allowPrerelease = this.updater.allowPrerelease;\n let basePath = this.basePath;\n if (!allowPrerelease) {\n basePath = `${basePath}/latest`;\n }\n const url = (0, util_1.newUrlFromBase)(basePath, this.baseUrl);\n try {\n const version = JSON.parse((await this.httpRequest(url, this.configureHeaders(\"application/vnd.github.v3+json\"), cancellationToken)));\n if (allowPrerelease) {\n return version.find(it => it.prerelease) || version[0];\n }\n else {\n return version;\n }\n }\n catch (e) {\n throw (0, builder_util_runtime_1.newError)(`Unable to find latest version on GitHub (${url}), please ensure a production release exists: ${e.stack || e.message}`, \"ERR_UPDATER_LATEST_VERSION_NOT_FOUND\");\n }\n }\n get basePath() {\n return this.computeGithubBasePath(`/repos/${this.options.owner}/${this.options.repo}/releases`);\n }\n resolveFiles(updateInfo) {\n return (0, Provider_1.getFileList)(updateInfo).map(it => {\n const name = path.posix.basename(it.url).replace(/ /g, \"-\");\n const asset = updateInfo.assets.find(it => it != null && it.name === name);\n if (asset == null) {\n throw (0, builder_util_runtime_1.newError)(`Cannot find asset \"${name}\" in: ${JSON.stringify(updateInfo.assets, null, 2)}`, \"ERR_UPDATER_ASSET_NOT_FOUND\");\n }\n return {\n url: new url_1.URL(asset.url),\n info: it,\n };\n });\n }\n}\nexports.PrivateGitHubProvider = PrivateGitHubProvider;\n//# sourceMappingURL=PrivateGitHubProvider.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/providers/PrivateGitHubProvider.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/providers/Provider.js": -/*!*****************************************************************!*\ - !*** ./node_modules/electron-updater/out/providers/Provider.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.resolveFiles = exports.getFileList = exports.parseUpdateInfo = exports.findFile = exports.Provider = void 0;\nconst builder_util_runtime_1 = __webpack_require__(/*! builder-util-runtime */ \"./node_modules/builder-util-runtime/out/index.js\");\nconst js_yaml_1 = __webpack_require__(/*! js-yaml */ \"./node_modules/js-yaml/index.js\");\nconst util_1 = __webpack_require__(/*! ../util */ \"./node_modules/electron-updater/out/util.js\");\nclass Provider {\n constructor(runtimeOptions) {\n this.runtimeOptions = runtimeOptions;\n this.requestHeaders = null;\n this.executor = runtimeOptions.executor;\n }\n get isUseMultipleRangeRequest() {\n return this.runtimeOptions.isUseMultipleRangeRequest !== false;\n }\n getChannelFilePrefix() {\n if (this.runtimeOptions.platform === \"linux\") {\n const arch = process.env[\"TEST_UPDATER_ARCH\"] || process.arch;\n const archSuffix = arch === \"x64\" ? \"\" : `-${arch}`;\n return \"-linux\" + archSuffix;\n }\n else {\n return this.runtimeOptions.platform === \"darwin\" ? \"-mac\" : \"\";\n }\n }\n // due to historical reasons for windows we use channel name without platform specifier\n getDefaultChannelName() {\n return this.getCustomChannelName(\"latest\");\n }\n getCustomChannelName(channel) {\n return `${channel}${this.getChannelFilePrefix()}`;\n }\n get fileExtraDownloadHeaders() {\n return null;\n }\n setRequestHeaders(value) {\n this.requestHeaders = value;\n }\n /**\n * Method to perform API request only to resolve update info, but not to download update.\n */\n httpRequest(url, headers, cancellationToken) {\n return this.executor.request(this.createRequestOptions(url, headers), cancellationToken);\n }\n createRequestOptions(url, headers) {\n const result = {};\n if (this.requestHeaders == null) {\n if (headers != null) {\n result.headers = headers;\n }\n }\n else {\n result.headers = headers == null ? this.requestHeaders : { ...this.requestHeaders, ...headers };\n }\n (0, builder_util_runtime_1.configureRequestUrl)(url, result);\n return result;\n }\n}\nexports.Provider = Provider;\nfunction findFile(files, extension, not) {\n if (files.length === 0) {\n throw (0, builder_util_runtime_1.newError)(\"No files provided\", \"ERR_UPDATER_NO_FILES_PROVIDED\");\n }\n const result = files.find(it => it.url.pathname.toLowerCase().endsWith(`.${extension}`));\n if (result != null) {\n return result;\n }\n else if (not == null) {\n return files[0];\n }\n else {\n return files.find(fileInfo => !not.some(ext => fileInfo.url.pathname.toLowerCase().endsWith(`.${ext}`)));\n }\n}\nexports.findFile = findFile;\nfunction parseUpdateInfo(rawData, channelFile, channelFileUrl) {\n if (rawData == null) {\n throw (0, builder_util_runtime_1.newError)(`Cannot parse update info from ${channelFile} in the latest release artifacts (${channelFileUrl}): rawData: null`, \"ERR_UPDATER_INVALID_UPDATE_INFO\");\n }\n let result;\n try {\n result = (0, js_yaml_1.load)(rawData);\n }\n catch (e) {\n throw (0, builder_util_runtime_1.newError)(`Cannot parse update info from ${channelFile} in the latest release artifacts (${channelFileUrl}): ${e.stack || e.message}, rawData: ${rawData}`, \"ERR_UPDATER_INVALID_UPDATE_INFO\");\n }\n return result;\n}\nexports.parseUpdateInfo = parseUpdateInfo;\nfunction getFileList(updateInfo) {\n const files = updateInfo.files;\n if (files != null && files.length > 0) {\n return files;\n }\n // noinspection JSDeprecatedSymbols\n if (updateInfo.path != null) {\n // noinspection JSDeprecatedSymbols\n return [\n {\n url: updateInfo.path,\n sha2: updateInfo.sha2,\n sha512: updateInfo.sha512,\n },\n ];\n }\n else {\n throw (0, builder_util_runtime_1.newError)(`No files provided: ${(0, builder_util_runtime_1.safeStringifyJson)(updateInfo)}`, \"ERR_UPDATER_NO_FILES_PROVIDED\");\n }\n}\nexports.getFileList = getFileList;\nfunction resolveFiles(updateInfo, baseUrl, pathTransformer = (p) => p) {\n const files = getFileList(updateInfo);\n const result = files.map(fileInfo => {\n if (fileInfo.sha2 == null && fileInfo.sha512 == null) {\n throw (0, builder_util_runtime_1.newError)(`Update info doesn't contain nor sha256 neither sha512 checksum: ${(0, builder_util_runtime_1.safeStringifyJson)(fileInfo)}`, \"ERR_UPDATER_NO_CHECKSUM\");\n }\n return {\n url: (0, util_1.newUrlFromBase)(pathTransformer(fileInfo.url), baseUrl),\n info: fileInfo,\n };\n });\n const packages = updateInfo.packages;\n const packageInfo = packages == null ? null : packages[process.arch] || packages.ia32;\n if (packageInfo != null) {\n ;\n result[0].packageInfo = {\n ...packageInfo,\n path: (0, util_1.newUrlFromBase)(pathTransformer(packageInfo.path), baseUrl).href,\n };\n }\n return result;\n}\nexports.resolveFiles = resolveFiles;\n//# sourceMappingURL=Provider.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/providers/Provider.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/util.js": -/*!***************************************************!*\ - !*** ./node_modules/electron-updater/out/util.js ***! - \***************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.blockmapFiles = exports.getChannelFilename = exports.newUrlFromBase = exports.newBaseUrl = void 0;\n// if baseUrl path doesn't ends with /, this path will be not prepended to passed pathname for new URL(input, base)\nconst url_1 = __webpack_require__(/*! url */ \"url\");\n// @ts-ignore\nconst escapeRegExp = __webpack_require__(/*! lodash.escaperegexp */ \"./node_modules/lodash.escaperegexp/index.js\");\n/** @internal */\nfunction newBaseUrl(url) {\n const result = new url_1.URL(url);\n if (!result.pathname.endsWith(\"/\")) {\n result.pathname += \"/\";\n }\n return result;\n}\nexports.newBaseUrl = newBaseUrl;\n// addRandomQueryToAvoidCaching is false by default because in most cases URL already contains version number,\n// so, it makes sense only for Generic Provider for channel files\nfunction newUrlFromBase(pathname, baseUrl, addRandomQueryToAvoidCaching = false) {\n const result = new url_1.URL(pathname, baseUrl);\n // search is not propagated (search is an empty string if not specified)\n const search = baseUrl.search;\n if (search != null && search.length !== 0) {\n result.search = search;\n }\n else if (addRandomQueryToAvoidCaching) {\n result.search = `noCache=${Date.now().toString(32)}`;\n }\n return result;\n}\nexports.newUrlFromBase = newUrlFromBase;\nfunction getChannelFilename(channel) {\n return `${channel}.yml`;\n}\nexports.getChannelFilename = getChannelFilename;\nfunction blockmapFiles(baseUrl, oldVersion, newVersion) {\n const newBlockMapUrl = newUrlFromBase(`${baseUrl.pathname}.blockmap`, baseUrl);\n const oldBlockMapUrl = newUrlFromBase(`${baseUrl.pathname.replace(new RegExp(escapeRegExp(newVersion), \"g\"), oldVersion)}.blockmap`, baseUrl);\n return [oldBlockMapUrl, newBlockMapUrl];\n}\nexports.blockmapFiles = blockmapFiles;\n//# sourceMappingURL=util.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/util.js?"); - -/***/ }), - -/***/ "./node_modules/electron-updater/out/windowsExecutableCodeSignatureVerifier.js": -/*!*************************************************************************************!*\ - !*** ./node_modules/electron-updater/out/windowsExecutableCodeSignatureVerifier.js ***! - \*************************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.verifySignature = void 0;\nconst builder_util_runtime_1 = __webpack_require__(/*! builder-util-runtime */ \"./node_modules/builder-util-runtime/out/index.js\");\nconst child_process_1 = __webpack_require__(/*! child_process */ \"child_process\");\nconst os = __webpack_require__(/*! os */ \"os\");\n// $certificateInfo = (Get-AuthenticodeSignature 'xxx\\yyy.exe'\n// | where {$_.Status.Equals([System.Management.Automation.SignatureStatus]::Valid) -and $_.SignerCertificate.Subject.Contains(\"CN=siemens.com\")})\n// | Out-String ; if ($certificateInfo) { exit 0 } else { exit 1 }\nfunction verifySignature(publisherNames, unescapedTempUpdateFile, logger) {\n return new Promise((resolve, reject) => {\n // Escape quotes and backticks in filenames to prevent user from breaking the\n // arguments and perform a remote command injection.\n //\n // Consider example powershell command:\n // ```powershell\n // Get-AuthenticodeSignature 'C:\\\\path\\\\my-bad-';calc;'filename.exe'\n // ```\n // The above would work expected and find the file name, however, it will also execute `;calc;`\n // command and start the calculator app.\n //\n // From Powershell quoting rules:\n // https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-7\n // * Double quotes `\"` are treated literally within single-quoted strings;\n // * Single quotes can be escaped by doubling them: 'don''t' -> don't;\n //\n // Also note that at this point the file has already been written to the disk, thus we are\n // guaranteed that the path will not contain any illegal characters like <>:\"/\\|?*\n // https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file\n const tempUpdateFile = unescapedTempUpdateFile.replace(/'/g, \"''\");\n // https://github.com/electron-userland/electron-builder/issues/2421\n // https://github.com/electron-userland/electron-builder/issues/2535\n (0, child_process_1.execFile)(\"chcp 65001 >NUL & powershell.exe\", [\"-NoProfile\", \"-NonInteractive\", \"-InputFormat\", \"None\", \"-Command\", `\"Get-AuthenticodeSignature -LiteralPath '${tempUpdateFile}' | ConvertTo-Json -Compress\"`], {\n shell: true,\n timeout: 20 * 1000,\n }, (error, stdout, stderr) => {\n try {\n if (error != null || stderr) {\n handleError(logger, error, stderr, reject);\n resolve(null);\n return;\n }\n const data = parseOut(stdout);\n if (data.Status === 0) {\n const subject = (0, builder_util_runtime_1.parseDn)(data.SignerCertificate.Subject);\n let match = false;\n for (const name of publisherNames) {\n const dn = (0, builder_util_runtime_1.parseDn)(name);\n if (dn.size) {\n // if we have a full DN, compare all values\n const allKeys = Array.from(dn.keys());\n match = allKeys.every(key => {\n return dn.get(key) === subject.get(key);\n });\n }\n else if (name === subject.get(\"CN\")) {\n logger.warn(`Signature validated using only CN ${name}. Please add your full Distinguished Name (DN) to publisherNames configuration`);\n match = true;\n }\n if (match) {\n resolve(null);\n return;\n }\n }\n }\n const result = `publisherNames: ${publisherNames.join(\" | \")}, raw info: ` + JSON.stringify(data, (name, value) => (name === \"RawData\" ? undefined : value), 2);\n logger.warn(`Sign verification failed, installer signed with incorrect certificate: ${result}`);\n resolve(result);\n }\n catch (e) {\n handleError(logger, e, null, reject);\n resolve(null);\n return;\n }\n });\n });\n}\nexports.verifySignature = verifySignature;\nfunction parseOut(out) {\n const data = JSON.parse(out);\n delete data.PrivateKey;\n delete data.IsOSBinary;\n delete data.SignatureType;\n const signerCertificate = data.SignerCertificate;\n if (signerCertificate != null) {\n delete signerCertificate.Archived;\n delete signerCertificate.Extensions;\n delete signerCertificate.Handle;\n delete signerCertificate.HasPrivateKey;\n // duplicates data.SignerCertificate (contains RawData)\n delete signerCertificate.SubjectName;\n }\n delete data.Path;\n return data;\n}\nfunction handleError(logger, error, stderr, reject) {\n if (isOldWin6()) {\n logger.warn(`Cannot execute Get-AuthenticodeSignature: ${error || stderr}. Ignoring signature validation due to unsupported powershell version. Please upgrade to powershell 3 or higher.`);\n return;\n }\n try {\n (0, child_process_1.execFileSync)(\"powershell.exe\", [\"-NoProfile\", \"-NonInteractive\", \"-Command\", \"ConvertTo-Json test\"], { timeout: 10 * 1000 });\n }\n catch (testError) {\n logger.warn(`Cannot execute ConvertTo-Json: ${testError.message}. Ignoring signature validation due to unsupported powershell version. Please upgrade to powershell 3 or higher.`);\n return;\n }\n if (error != null) {\n reject(error);\n }\n if (stderr) {\n reject(new Error(`Cannot execute Get-AuthenticodeSignature, stderr: ${stderr}. Failing signature validation due to unknown stderr.`));\n }\n}\nfunction isOldWin6() {\n const winVersion = os.release();\n return winVersion.startsWith(\"6.\") && !winVersion.startsWith(\"6.3\");\n}\n//# sourceMappingURL=windowsExecutableCodeSignatureVerifier.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/electron-updater/out/windowsExecutableCodeSignatureVerifier.js?"); - -/***/ }), - -/***/ "./node_modules/entities/lib/decode.js": -/*!*********************************************!*\ - !*** ./node_modules/entities/lib/decode.js ***! - \*********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -"use strict"; -eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.decodeXML = exports.decodeHTMLStrict = exports.decodeHTMLAttribute = exports.decodeHTML = exports.determineBranch = exports.EntityDecoder = exports.DecodingMode = exports.BinTrieFlags = exports.fromCodePoint = exports.replaceCodePoint = exports.decodeCodePoint = exports.xmlDecodeTree = exports.htmlDecodeTree = void 0;\nvar decode_data_html_js_1 = __importDefault(__webpack_require__(/*! ./generated/decode-data-html.js */ \"./node_modules/entities/lib/generated/decode-data-html.js\"));\nexports.htmlDecodeTree = decode_data_html_js_1.default;\nvar decode_data_xml_js_1 = __importDefault(__webpack_require__(/*! ./generated/decode-data-xml.js */ \"./node_modules/entities/lib/generated/decode-data-xml.js\"));\nexports.xmlDecodeTree = decode_data_xml_js_1.default;\nvar decode_codepoint_js_1 = __importStar(__webpack_require__(/*! ./decode_codepoint.js */ \"./node_modules/entities/lib/decode_codepoint.js\"));\nexports.decodeCodePoint = decode_codepoint_js_1.default;\nvar decode_codepoint_js_2 = __webpack_require__(/*! ./decode_codepoint.js */ \"./node_modules/entities/lib/decode_codepoint.js\");\nObject.defineProperty(exports, \"replaceCodePoint\", ({ enumerable: true, get: function () { return decode_codepoint_js_2.replaceCodePoint; } }));\nObject.defineProperty(exports, \"fromCodePoint\", ({ enumerable: true, get: function () { return decode_codepoint_js_2.fromCodePoint; } }));\nvar CharCodes;\n(function (CharCodes) {\n CharCodes[CharCodes[\"NUM\"] = 35] = \"NUM\";\n CharCodes[CharCodes[\"SEMI\"] = 59] = \"SEMI\";\n CharCodes[CharCodes[\"EQUALS\"] = 61] = \"EQUALS\";\n CharCodes[CharCodes[\"ZERO\"] = 48] = \"ZERO\";\n CharCodes[CharCodes[\"NINE\"] = 57] = \"NINE\";\n CharCodes[CharCodes[\"LOWER_A\"] = 97] = \"LOWER_A\";\n CharCodes[CharCodes[\"LOWER_F\"] = 102] = \"LOWER_F\";\n CharCodes[CharCodes[\"LOWER_X\"] = 120] = \"LOWER_X\";\n CharCodes[CharCodes[\"LOWER_Z\"] = 122] = \"LOWER_Z\";\n CharCodes[CharCodes[\"UPPER_A\"] = 65] = \"UPPER_A\";\n CharCodes[CharCodes[\"UPPER_F\"] = 70] = \"UPPER_F\";\n CharCodes[CharCodes[\"UPPER_Z\"] = 90] = \"UPPER_Z\";\n})(CharCodes || (CharCodes = {}));\n/** Bit that needs to be set to convert an upper case ASCII character to lower case */\nvar TO_LOWER_BIT = 32;\nvar BinTrieFlags;\n(function (BinTrieFlags) {\n BinTrieFlags[BinTrieFlags[\"VALUE_LENGTH\"] = 49152] = \"VALUE_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"BRANCH_LENGTH\"] = 16256] = \"BRANCH_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"JUMP_TABLE\"] = 127] = \"JUMP_TABLE\";\n})(BinTrieFlags = exports.BinTrieFlags || (exports.BinTrieFlags = {}));\nfunction isNumber(code) {\n return code >= CharCodes.ZERO && code <= CharCodes.NINE;\n}\nfunction isHexadecimalCharacter(code) {\n return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F) ||\n (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F));\n}\nfunction isAsciiAlphaNumeric(code) {\n return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z) ||\n (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z) ||\n isNumber(code));\n}\n/**\n * Checks if the given character is a valid end character for an entity in an attribute.\n *\n * Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.\n * See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state\n */\nfunction isEntityInAttributeInvalidEnd(code) {\n return code === CharCodes.EQUALS || isAsciiAlphaNumeric(code);\n}\nvar EntityDecoderState;\n(function (EntityDecoderState) {\n EntityDecoderState[EntityDecoderState[\"EntityStart\"] = 0] = \"EntityStart\";\n EntityDecoderState[EntityDecoderState[\"NumericStart\"] = 1] = \"NumericStart\";\n EntityDecoderState[EntityDecoderState[\"NumericDecimal\"] = 2] = \"NumericDecimal\";\n EntityDecoderState[EntityDecoderState[\"NumericHex\"] = 3] = \"NumericHex\";\n EntityDecoderState[EntityDecoderState[\"NamedEntity\"] = 4] = \"NamedEntity\";\n})(EntityDecoderState || (EntityDecoderState = {}));\nvar DecodingMode;\n(function (DecodingMode) {\n /** Entities in text nodes that can end with any character. */\n DecodingMode[DecodingMode[\"Legacy\"] = 0] = \"Legacy\";\n /** Only allow entities terminated with a semicolon. */\n DecodingMode[DecodingMode[\"Strict\"] = 1] = \"Strict\";\n /** Entities in attributes have limitations on ending characters. */\n DecodingMode[DecodingMode[\"Attribute\"] = 2] = \"Attribute\";\n})(DecodingMode = exports.DecodingMode || (exports.DecodingMode = {}));\n/**\n * Token decoder with support of writing partial entities.\n */\nvar EntityDecoder = /** @class */ (function () {\n function EntityDecoder(\n /** The tree used to decode entities. */\n decodeTree, \n /**\n * The function that is called when a codepoint is decoded.\n *\n * For multi-byte named entities, this will be called multiple times,\n * with the second codepoint, and the same `consumed` value.\n *\n * @param codepoint The decoded codepoint.\n * @param consumed The number of bytes consumed by the decoder.\n */\n emitCodePoint, \n /** An object that is used to produce errors. */\n errors) {\n this.decodeTree = decodeTree;\n this.emitCodePoint = emitCodePoint;\n this.errors = errors;\n /** The current state of the decoder. */\n this.state = EntityDecoderState.EntityStart;\n /** Characters that were consumed while parsing an entity. */\n this.consumed = 1;\n /**\n * The result of the entity.\n *\n * Either the result index of a numeric entity, or the codepoint of a\n * numeric entity.\n */\n this.result = 0;\n /** The current index in the decode tree. */\n this.treeIndex = 0;\n /** The number of characters that were consumed in excess. */\n this.excess = 1;\n /** The mode in which the decoder is operating. */\n this.decodeMode = DecodingMode.Strict;\n }\n /** Resets the instance to make it reusable. */\n EntityDecoder.prototype.startEntity = function (decodeMode) {\n this.decodeMode = decodeMode;\n this.state = EntityDecoderState.EntityStart;\n this.result = 0;\n this.treeIndex = 0;\n this.excess = 1;\n this.consumed = 1;\n };\n /**\n * Write an entity to the decoder. This can be called multiple times with partial entities.\n * If the entity is incomplete, the decoder will return -1.\n *\n * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the\n * entity is incomplete, and resume when the next string is written.\n *\n * @param string The string containing the entity (or a continuation of the entity).\n * @param offset The offset at which the entity begins. Should be 0 if this is not the first call.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.write = function (str, offset) {\n switch (this.state) {\n case EntityDecoderState.EntityStart: {\n if (str.charCodeAt(offset) === CharCodes.NUM) {\n this.state = EntityDecoderState.NumericStart;\n this.consumed += 1;\n return this.stateNumericStart(str, offset + 1);\n }\n this.state = EntityDecoderState.NamedEntity;\n return this.stateNamedEntity(str, offset);\n }\n case EntityDecoderState.NumericStart: {\n return this.stateNumericStart(str, offset);\n }\n case EntityDecoderState.NumericDecimal: {\n return this.stateNumericDecimal(str, offset);\n }\n case EntityDecoderState.NumericHex: {\n return this.stateNumericHex(str, offset);\n }\n case EntityDecoderState.NamedEntity: {\n return this.stateNamedEntity(str, offset);\n }\n }\n };\n /**\n * Switches between the numeric decimal and hexadecimal states.\n *\n * Equivalent to the `Numeric character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericStart = function (str, offset) {\n if (offset >= str.length) {\n return -1;\n }\n if ((str.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) {\n this.state = EntityDecoderState.NumericHex;\n this.consumed += 1;\n return this.stateNumericHex(str, offset + 1);\n }\n this.state = EntityDecoderState.NumericDecimal;\n return this.stateNumericDecimal(str, offset);\n };\n EntityDecoder.prototype.addToNumericResult = function (str, start, end, base) {\n if (start !== end) {\n var digitCount = end - start;\n this.result =\n this.result * Math.pow(base, digitCount) +\n parseInt(str.substr(start, digitCount), base);\n this.consumed += digitCount;\n }\n };\n /**\n * Parses a hexadecimal numeric entity.\n *\n * Equivalent to the `Hexademical character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericHex = function (str, offset) {\n var startIdx = offset;\n while (offset < str.length) {\n var char = str.charCodeAt(offset);\n if (isNumber(char) || isHexadecimalCharacter(char)) {\n offset += 1;\n }\n else {\n this.addToNumericResult(str, startIdx, offset, 16);\n return this.emitNumericEntity(char, 3);\n }\n }\n this.addToNumericResult(str, startIdx, offset, 16);\n return -1;\n };\n /**\n * Parses a decimal numeric entity.\n *\n * Equivalent to the `Decimal character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericDecimal = function (str, offset) {\n var startIdx = offset;\n while (offset < str.length) {\n var char = str.charCodeAt(offset);\n if (isNumber(char)) {\n offset += 1;\n }\n else {\n this.addToNumericResult(str, startIdx, offset, 10);\n return this.emitNumericEntity(char, 2);\n }\n }\n this.addToNumericResult(str, startIdx, offset, 10);\n return -1;\n };\n /**\n * Validate and emit a numeric entity.\n *\n * Implements the logic from the `Hexademical character reference start\n * state` and `Numeric character reference end state` in the HTML spec.\n *\n * @param lastCp The last code point of the entity. Used to see if the\n * entity was terminated with a semicolon.\n * @param expectedLength The minimum number of characters that should be\n * consumed. Used to validate that at least one digit\n * was consumed.\n * @returns The number of characters that were consumed.\n */\n EntityDecoder.prototype.emitNumericEntity = function (lastCp, expectedLength) {\n var _a;\n // Ensure we consumed at least one digit.\n if (this.consumed <= expectedLength) {\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n return 0;\n }\n // Figure out if this is a legit end of the entity\n if (lastCp === CharCodes.SEMI) {\n this.consumed += 1;\n }\n else if (this.decodeMode === DecodingMode.Strict) {\n return 0;\n }\n this.emitCodePoint((0, decode_codepoint_js_1.replaceCodePoint)(this.result), this.consumed);\n if (this.errors) {\n if (lastCp !== CharCodes.SEMI) {\n this.errors.missingSemicolonAfterCharacterReference();\n }\n this.errors.validateNumericCharacterReference(this.result);\n }\n return this.consumed;\n };\n /**\n * Parses a named entity.\n *\n * Equivalent to the `Named character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNamedEntity = function (str, offset) {\n var decodeTree = this.decodeTree;\n var current = decodeTree[this.treeIndex];\n // The mask is the number of bytes of the value, including the current byte.\n var valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n for (; offset < str.length; offset++, this.excess++) {\n var char = str.charCodeAt(offset);\n this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);\n if (this.treeIndex < 0) {\n return this.result === 0 ||\n // If we are parsing an attribute\n (this.decodeMode === DecodingMode.Attribute &&\n // We shouldn't have consumed any characters after the entity,\n (valueLength === 0 ||\n // And there should be no invalid characters.\n isEntityInAttributeInvalidEnd(char)))\n ? 0\n : this.emitNotTerminatedNamedEntity();\n }\n current = decodeTree[this.treeIndex];\n valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n // If the branch is a value, store it and continue\n if (valueLength !== 0) {\n // If the entity is terminated by a semicolon, we are done.\n if (char === CharCodes.SEMI) {\n return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);\n }\n // If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it.\n if (this.decodeMode !== DecodingMode.Strict) {\n this.result = this.treeIndex;\n this.consumed += this.excess;\n this.excess = 0;\n }\n }\n }\n return -1;\n };\n /**\n * Emit a named entity that was not terminated with a semicolon.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.emitNotTerminatedNamedEntity = function () {\n var _a;\n var _b = this, result = _b.result, decodeTree = _b.decodeTree;\n var valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;\n this.emitNamedEntityData(result, valueLength, this.consumed);\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();\n return this.consumed;\n };\n /**\n * Emit a named entity.\n *\n * @param result The index of the entity in the decode tree.\n * @param valueLength The number of bytes in the entity.\n * @param consumed The number of characters consumed.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.emitNamedEntityData = function (result, valueLength, consumed) {\n var decodeTree = this.decodeTree;\n this.emitCodePoint(valueLength === 1\n ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH\n : decodeTree[result + 1], consumed);\n if (valueLength === 3) {\n // For multi-byte values, we need to emit the second byte.\n this.emitCodePoint(decodeTree[result + 2], consumed);\n }\n return consumed;\n };\n /**\n * Signal to the parser that the end of the input was reached.\n *\n * Remaining data will be emitted and relevant errors will be produced.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.end = function () {\n var _a;\n switch (this.state) {\n case EntityDecoderState.NamedEntity: {\n // Emit a named entity if we have one.\n return this.result !== 0 &&\n (this.decodeMode !== DecodingMode.Attribute ||\n this.result === this.treeIndex)\n ? this.emitNotTerminatedNamedEntity()\n : 0;\n }\n // Otherwise, emit a numeric entity if we have one.\n case EntityDecoderState.NumericDecimal: {\n return this.emitNumericEntity(0, 2);\n }\n case EntityDecoderState.NumericHex: {\n return this.emitNumericEntity(0, 3);\n }\n case EntityDecoderState.NumericStart: {\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n return 0;\n }\n case EntityDecoderState.EntityStart: {\n // Return 0 if we have no entity.\n return 0;\n }\n }\n };\n return EntityDecoder;\n}());\nexports.EntityDecoder = EntityDecoder;\n/**\n * Creates a function that decodes entities in a string.\n *\n * @param decodeTree The decode tree.\n * @returns A function that decodes entities in a string.\n */\nfunction getDecoder(decodeTree) {\n var ret = \"\";\n var decoder = new EntityDecoder(decodeTree, function (str) { return (ret += (0, decode_codepoint_js_1.fromCodePoint)(str)); });\n return function decodeWithTrie(str, decodeMode) {\n var lastIndex = 0;\n var offset = 0;\n while ((offset = str.indexOf(\"&\", offset)) >= 0) {\n ret += str.slice(lastIndex, offset);\n decoder.startEntity(decodeMode);\n var len = decoder.write(str, \n // Skip the \"&\"\n offset + 1);\n if (len < 0) {\n lastIndex = offset + decoder.end();\n break;\n }\n lastIndex = offset + len;\n // If `len` is 0, skip the current `&` and continue.\n offset = len === 0 ? lastIndex + 1 : lastIndex;\n }\n var result = ret + str.slice(lastIndex);\n // Make sure we don't keep a reference to the final string.\n ret = \"\";\n return result;\n };\n}\n/**\n * Determines the branch of the current node that is taken given the current\n * character. This function is used to traverse the trie.\n *\n * @param decodeTree The trie.\n * @param current The current node.\n * @param nodeIdx The index right after the current node and its value.\n * @param char The current character.\n * @returns The index of the next node, or -1 if no branch is taken.\n */\nfunction determineBranch(decodeTree, current, nodeIdx, char) {\n var branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;\n var jumpOffset = current & BinTrieFlags.JUMP_TABLE;\n // Case 1: Single branch encoded in jump offset\n if (branchCount === 0) {\n return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1;\n }\n // Case 2: Multiple branches encoded in jump table\n if (jumpOffset) {\n var value = char - jumpOffset;\n return value < 0 || value >= branchCount\n ? -1\n : decodeTree[nodeIdx + value] - 1;\n }\n // Case 3: Multiple branches encoded in dictionary\n // Binary search for the character.\n var lo = nodeIdx;\n var hi = lo + branchCount - 1;\n while (lo <= hi) {\n var mid = (lo + hi) >>> 1;\n var midVal = decodeTree[mid];\n if (midVal < char) {\n lo = mid + 1;\n }\n else if (midVal > char) {\n hi = mid - 1;\n }\n else {\n return decodeTree[mid + branchCount];\n }\n }\n return -1;\n}\nexports.determineBranch = determineBranch;\nvar htmlDecoder = getDecoder(decode_data_html_js_1.default);\nvar xmlDecoder = getDecoder(decode_data_xml_js_1.default);\n/**\n * Decodes an HTML string.\n *\n * @param str The string to decode.\n * @param mode The decoding mode.\n * @returns The decoded string.\n */\nfunction decodeHTML(str, mode) {\n if (mode === void 0) { mode = DecodingMode.Legacy; }\n return htmlDecoder(str, mode);\n}\nexports.decodeHTML = decodeHTML;\n/**\n * Decodes an HTML string in an attribute.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeHTMLAttribute(str) {\n return htmlDecoder(str, DecodingMode.Attribute);\n}\nexports.decodeHTMLAttribute = decodeHTMLAttribute;\n/**\n * Decodes an HTML string, requiring all entities to be terminated by a semicolon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeHTMLStrict(str) {\n return htmlDecoder(str, DecodingMode.Strict);\n}\nexports.decodeHTMLStrict = decodeHTMLStrict;\n/**\n * Decodes an XML string, requiring all entities to be terminated by a semicolon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeXML(str) {\n return xmlDecoder(str, DecodingMode.Strict);\n}\nexports.decodeXML = decodeXML;\n//# sourceMappingURL=decode.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/entities/lib/decode.js?"); - -/***/ }), - -/***/ "./node_modules/entities/lib/decode_codepoint.js": -/*!*******************************************************!*\ - !*** ./node_modules/entities/lib/decode_codepoint.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\n// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134\nvar _a;\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.replaceCodePoint = exports.fromCodePoint = void 0;\nvar decodeMap = new Map([\n [0, 65533],\n // C1 Unicode control character reference replacements\n [128, 8364],\n [130, 8218],\n [131, 402],\n [132, 8222],\n [133, 8230],\n [134, 8224],\n [135, 8225],\n [136, 710],\n [137, 8240],\n [138, 352],\n [139, 8249],\n [140, 338],\n [142, 381],\n [145, 8216],\n [146, 8217],\n [147, 8220],\n [148, 8221],\n [149, 8226],\n [150, 8211],\n [151, 8212],\n [152, 732],\n [153, 8482],\n [154, 353],\n [155, 8250],\n [156, 339],\n [158, 382],\n [159, 376],\n]);\n/**\n * Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point.\n */\nexports.fromCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins\n(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function (codePoint) {\n var output = \"\";\n if (codePoint > 0xffff) {\n codePoint -= 0x10000;\n output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);\n codePoint = 0xdc00 | (codePoint & 0x3ff);\n }\n output += String.fromCharCode(codePoint);\n return output;\n};\n/**\n * Replace the given code point with a replacement character if it is a\n * surrogate or is outside the valid range. Otherwise return the code\n * point unchanged.\n */\nfunction replaceCodePoint(codePoint) {\n var _a;\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\n return 0xfffd;\n }\n return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;\n}\nexports.replaceCodePoint = replaceCodePoint;\n/**\n * Replace the code point if relevant, then convert it to a string.\n *\n * @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead.\n * @param codePoint The code point to decode.\n * @returns The decoded code point.\n */\nfunction decodeCodePoint(codePoint) {\n return (0, exports.fromCodePoint)(replaceCodePoint(codePoint));\n}\nexports[\"default\"] = decodeCodePoint;\n//# sourceMappingURL=decode_codepoint.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/entities/lib/decode_codepoint.js?"); - -/***/ }), - -/***/ "./node_modules/entities/lib/escape.js": -/*!*********************************************!*\ - !*** ./node_modules/entities/lib/escape.js ***! - \*********************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.getCodePoint = exports.xmlReplacer = void 0;\nexports.xmlReplacer = /[\"&'<>$\\x80-\\uFFFF]/g;\nvar xmlCodeMap = new Map([\n [34, \""\"],\n [38, \"&\"],\n [39, \"'\"],\n [60, \"<\"],\n [62, \">\"],\n]);\n// For compatibility with node < 4, we wrap `codePointAt`\nexports.getCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\nString.prototype.codePointAt != null\n ? function (str, index) { return str.codePointAt(index); }\n : // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n function (c, index) {\n return (c.charCodeAt(index) & 0xfc00) === 0xd800\n ? (c.charCodeAt(index) - 0xd800) * 0x400 +\n c.charCodeAt(index + 1) -\n 0xdc00 +\n 0x10000\n : c.charCodeAt(index);\n };\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using XML entities.\n *\n * If a character has no equivalent entity, a\n * numeric hexadecimal reference (eg. `ü`) will be used.\n */\nfunction encodeXML(str) {\n var ret = \"\";\n var lastIdx = 0;\n var match;\n while ((match = exports.xmlReplacer.exec(str)) !== null) {\n var i = match.index;\n var char = str.charCodeAt(i);\n var next = xmlCodeMap.get(char);\n if (next !== undefined) {\n ret += str.substring(lastIdx, i) + next;\n lastIdx = i + 1;\n }\n else {\n ret += \"\".concat(str.substring(lastIdx, i), \"&#x\").concat((0, exports.getCodePoint)(str, i).toString(16), \";\");\n // Increase by 1 if we have a surrogate pair\n lastIdx = exports.xmlReplacer.lastIndex += Number((char & 0xfc00) === 0xd800);\n }\n }\n return ret + str.substr(lastIdx);\n}\nexports.encodeXML = encodeXML;\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using numeric hexadecimal reference (eg. `ü`).\n *\n * Have a look at `escapeUTF8` if you want a more concise output at the expense\n * of reduced transportability.\n *\n * @param data String to escape.\n */\nexports.escape = encodeXML;\n/**\n * Creates a function that escapes all characters matched by the given regular\n * expression using the given map of characters to escape to their entities.\n *\n * @param regex Regular expression to match characters to escape.\n * @param map Map of characters to escape to their entities.\n *\n * @returns Function that escapes all characters matched by the given regular\n * expression using the given map of characters to escape to their entities.\n */\nfunction getEscaper(regex, map) {\n return function escape(data) {\n var match;\n var lastIdx = 0;\n var result = \"\";\n while ((match = regex.exec(data))) {\n if (lastIdx !== match.index) {\n result += data.substring(lastIdx, match.index);\n }\n // We know that this character will be in the map.\n result += map.get(match[0].charCodeAt(0));\n // Every match will be of length 1\n lastIdx = match.index + 1;\n }\n return result + data.substring(lastIdx);\n };\n}\n/**\n * Encodes all characters not valid in XML documents using XML entities.\n *\n * Note that the output will be character-set dependent.\n *\n * @param data String to escape.\n */\nexports.escapeUTF8 = getEscaper(/[&<>'\"]/g, xmlCodeMap);\n/**\n * Encodes all characters that have to be escaped in HTML attributes,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n *\n * @param data String to escape.\n */\nexports.escapeAttribute = getEscaper(/[\"&\\u00A0]/g, new Map([\n [34, \""\"],\n [38, \"&\"],\n [160, \" \"],\n]));\n/**\n * Encodes all characters that have to be escaped in HTML text,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n *\n * @param data String to escape.\n */\nexports.escapeText = getEscaper(/[&<>\\u00A0]/g, new Map([\n [38, \"&\"],\n [60, \"<\"],\n [62, \">\"],\n [160, \" \"],\n]));\n//# sourceMappingURL=escape.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/entities/lib/escape.js?"); - -/***/ }), - -/***/ "./node_modules/entities/lib/generated/decode-data-html.js": -/*!*****************************************************************!*\ - !*** ./node_modules/entities/lib/generated/decode-data-html.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\n// Generated using scripts/write-decode-map.ts\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports[\"default\"] = new Uint16Array(\n// prettier-ignore\n\"\\u1d41<\\xd5\\u0131\\u028a\\u049d\\u057b\\u05d0\\u0675\\u06de\\u07a2\\u07d6\\u080f\\u0a4a\\u0a91\\u0da1\\u0e6d\\u0f09\\u0f26\\u10ca\\u1228\\u12e1\\u1415\\u149d\\u14c3\\u14df\\u1525\\0\\0\\0\\0\\0\\0\\u156b\\u16cd\\u198d\\u1c12\\u1ddd\\u1f7e\\u2060\\u21b0\\u228d\\u23c0\\u23fb\\u2442\\u2824\\u2912\\u2d08\\u2e48\\u2fce\\u3016\\u32ba\\u3639\\u37ac\\u38fe\\u3a28\\u3a71\\u3ae0\\u3b2e\\u0800EMabcfglmnoprstu\\\\bfms\\x7f\\x84\\x8b\\x90\\x95\\x98\\xa6\\xb3\\xb9\\xc8\\xcflig\\u803b\\xc6\\u40c6P\\u803b&\\u4026cute\\u803b\\xc1\\u40c1reve;\\u4102\\u0100iyx}rc\\u803b\\xc2\\u40c2;\\u4410r;\\uc000\\ud835\\udd04rave\\u803b\\xc0\\u40c0pha;\\u4391acr;\\u4100d;\\u6a53\\u0100gp\\x9d\\xa1on;\\u4104f;\\uc000\\ud835\\udd38plyFunction;\\u6061ing\\u803b\\xc5\\u40c5\\u0100cs\\xbe\\xc3r;\\uc000\\ud835\\udc9cign;\\u6254ilde\\u803b\\xc3\\u40c3ml\\u803b\\xc4\\u40c4\\u0400aceforsu\\xe5\\xfb\\xfe\\u0117\\u011c\\u0122\\u0127\\u012a\\u0100cr\\xea\\xf2kslash;\\u6216\\u0176\\xf6\\xf8;\\u6ae7ed;\\u6306y;\\u4411\\u0180crt\\u0105\\u010b\\u0114ause;\\u6235noullis;\\u612ca;\\u4392r;\\uc000\\ud835\\udd05pf;\\uc000\\ud835\\udd39eve;\\u42d8c\\xf2\\u0113mpeq;\\u624e\\u0700HOacdefhilorsu\\u014d\\u0151\\u0156\\u0180\\u019e\\u01a2\\u01b5\\u01b7\\u01ba\\u01dc\\u0215\\u0273\\u0278\\u027ecy;\\u4427PY\\u803b\\xa9\\u40a9\\u0180cpy\\u015d\\u0162\\u017aute;\\u4106\\u0100;i\\u0167\\u0168\\u62d2talDifferentialD;\\u6145leys;\\u612d\\u0200aeio\\u0189\\u018e\\u0194\\u0198ron;\\u410cdil\\u803b\\xc7\\u40c7rc;\\u4108nint;\\u6230ot;\\u410a\\u0100dn\\u01a7\\u01adilla;\\u40b8terDot;\\u40b7\\xf2\\u017fi;\\u43a7rcle\\u0200DMPT\\u01c7\\u01cb\\u01d1\\u01d6ot;\\u6299inus;\\u6296lus;\\u6295imes;\\u6297o\\u0100cs\\u01e2\\u01f8kwiseContourIntegral;\\u6232eCurly\\u0100DQ\\u0203\\u020foubleQuote;\\u601duote;\\u6019\\u0200lnpu\\u021e\\u0228\\u0247\\u0255on\\u0100;e\\u0225\\u0226\\u6237;\\u6a74\\u0180git\\u022f\\u0236\\u023aruent;\\u6261nt;\\u622fourIntegral;\\u622e\\u0100fr\\u024c\\u024e;\\u6102oduct;\\u6210nterClockwiseContourIntegral;\\u6233oss;\\u6a2fcr;\\uc000\\ud835\\udc9ep\\u0100;C\\u0284\\u0285\\u62d3ap;\\u624d\\u0580DJSZacefios\\u02a0\\u02ac\\u02b0\\u02b4\\u02b8\\u02cb\\u02d7\\u02e1\\u02e6\\u0333\\u048d\\u0100;o\\u0179\\u02a5trahd;\\u6911cy;\\u4402cy;\\u4405cy;\\u440f\\u0180grs\\u02bf\\u02c4\\u02c7ger;\\u6021r;\\u61a1hv;\\u6ae4\\u0100ay\\u02d0\\u02d5ron;\\u410e;\\u4414l\\u0100;t\\u02dd\\u02de\\u6207a;\\u4394r;\\uc000\\ud835\\udd07\\u0100af\\u02eb\\u0327\\u0100cm\\u02f0\\u0322ritical\\u0200ADGT\\u0300\\u0306\\u0316\\u031ccute;\\u40b4o\\u0174\\u030b\\u030d;\\u42d9bleAcute;\\u42ddrave;\\u4060ilde;\\u42dcond;\\u62c4ferentialD;\\u6146\\u0470\\u033d\\0\\0\\0\\u0342\\u0354\\0\\u0405f;\\uc000\\ud835\\udd3b\\u0180;DE\\u0348\\u0349\\u034d\\u40a8ot;\\u60dcqual;\\u6250ble\\u0300CDLRUV\\u0363\\u0372\\u0382\\u03cf\\u03e2\\u03f8ontourIntegra\\xec\\u0239o\\u0274\\u0379\\0\\0\\u037b\\xbb\\u0349nArrow;\\u61d3\\u0100eo\\u0387\\u03a4ft\\u0180ART\\u0390\\u0396\\u03a1rrow;\\u61d0ightArrow;\\u61d4e\\xe5\\u02cang\\u0100LR\\u03ab\\u03c4eft\\u0100AR\\u03b3\\u03b9rrow;\\u67f8ightArrow;\\u67faightArrow;\\u67f9ight\\u0100AT\\u03d8\\u03derrow;\\u61d2ee;\\u62a8p\\u0241\\u03e9\\0\\0\\u03efrrow;\\u61d1ownArrow;\\u61d5erticalBar;\\u6225n\\u0300ABLRTa\\u0412\\u042a\\u0430\\u045e\\u047f\\u037crrow\\u0180;BU\\u041d\\u041e\\u0422\\u6193ar;\\u6913pArrow;\\u61f5reve;\\u4311eft\\u02d2\\u043a\\0\\u0446\\0\\u0450ightVector;\\u6950eeVector;\\u695eector\\u0100;B\\u0459\\u045a\\u61bdar;\\u6956ight\\u01d4\\u0467\\0\\u0471eeVector;\\u695fector\\u0100;B\\u047a\\u047b\\u61c1ar;\\u6957ee\\u0100;A\\u0486\\u0487\\u62a4rrow;\\u61a7\\u0100ct\\u0492\\u0497r;\\uc000\\ud835\\udc9frok;\\u4110\\u0800NTacdfglmopqstux\\u04bd\\u04c0\\u04c4\\u04cb\\u04de\\u04e2\\u04e7\\u04ee\\u04f5\\u0521\\u052f\\u0536\\u0552\\u055d\\u0560\\u0565G;\\u414aH\\u803b\\xd0\\u40d0cute\\u803b\\xc9\\u40c9\\u0180aiy\\u04d2\\u04d7\\u04dcron;\\u411arc\\u803b\\xca\\u40ca;\\u442dot;\\u4116r;\\uc000\\ud835\\udd08rave\\u803b\\xc8\\u40c8ement;\\u6208\\u0100ap\\u04fa\\u04fecr;\\u4112ty\\u0253\\u0506\\0\\0\\u0512mallSquare;\\u65fberySmallSquare;\\u65ab\\u0100gp\\u0526\\u052aon;\\u4118f;\\uc000\\ud835\\udd3csilon;\\u4395u\\u0100ai\\u053c\\u0549l\\u0100;T\\u0542\\u0543\\u6a75ilde;\\u6242librium;\\u61cc\\u0100ci\\u0557\\u055ar;\\u6130m;\\u6a73a;\\u4397ml\\u803b\\xcb\\u40cb\\u0100ip\\u056a\\u056fsts;\\u6203onentialE;\\u6147\\u0280cfios\\u0585\\u0588\\u058d\\u05b2\\u05ccy;\\u4424r;\\uc000\\ud835\\udd09lled\\u0253\\u0597\\0\\0\\u05a3mallSquare;\\u65fcerySmallSquare;\\u65aa\\u0370\\u05ba\\0\\u05bf\\0\\0\\u05c4f;\\uc000\\ud835\\udd3dAll;\\u6200riertrf;\\u6131c\\xf2\\u05cb\\u0600JTabcdfgorst\\u05e8\\u05ec\\u05ef\\u05fa\\u0600\\u0612\\u0616\\u061b\\u061d\\u0623\\u066c\\u0672cy;\\u4403\\u803b>\\u403emma\\u0100;d\\u05f7\\u05f8\\u4393;\\u43dcreve;\\u411e\\u0180eiy\\u0607\\u060c\\u0610dil;\\u4122rc;\\u411c;\\u4413ot;\\u4120r;\\uc000\\ud835\\udd0a;\\u62d9pf;\\uc000\\ud835\\udd3eeater\\u0300EFGLST\\u0635\\u0644\\u064e\\u0656\\u065b\\u0666qual\\u0100;L\\u063e\\u063f\\u6265ess;\\u62dbullEqual;\\u6267reater;\\u6aa2ess;\\u6277lantEqual;\\u6a7eilde;\\u6273cr;\\uc000\\ud835\\udca2;\\u626b\\u0400Aacfiosu\\u0685\\u068b\\u0696\\u069b\\u069e\\u06aa\\u06be\\u06caRDcy;\\u442a\\u0100ct\\u0690\\u0694ek;\\u42c7;\\u405eirc;\\u4124r;\\u610clbertSpace;\\u610b\\u01f0\\u06af\\0\\u06b2f;\\u610dizontalLine;\\u6500\\u0100ct\\u06c3\\u06c5\\xf2\\u06a9rok;\\u4126mp\\u0144\\u06d0\\u06d8ownHum\\xf0\\u012fqual;\\u624f\\u0700EJOacdfgmnostu\\u06fa\\u06fe\\u0703\\u0707\\u070e\\u071a\\u071e\\u0721\\u0728\\u0744\\u0778\\u078b\\u078f\\u0795cy;\\u4415lig;\\u4132cy;\\u4401cute\\u803b\\xcd\\u40cd\\u0100iy\\u0713\\u0718rc\\u803b\\xce\\u40ce;\\u4418ot;\\u4130r;\\u6111rave\\u803b\\xcc\\u40cc\\u0180;ap\\u0720\\u072f\\u073f\\u0100cg\\u0734\\u0737r;\\u412ainaryI;\\u6148lie\\xf3\\u03dd\\u01f4\\u0749\\0\\u0762\\u0100;e\\u074d\\u074e\\u622c\\u0100gr\\u0753\\u0758ral;\\u622bsection;\\u62c2isible\\u0100CT\\u076c\\u0772omma;\\u6063imes;\\u6062\\u0180gpt\\u077f\\u0783\\u0788on;\\u412ef;\\uc000\\ud835\\udd40a;\\u4399cr;\\u6110ilde;\\u4128\\u01eb\\u079a\\0\\u079ecy;\\u4406l\\u803b\\xcf\\u40cf\\u0280cfosu\\u07ac\\u07b7\\u07bc\\u07c2\\u07d0\\u0100iy\\u07b1\\u07b5rc;\\u4134;\\u4419r;\\uc000\\ud835\\udd0dpf;\\uc000\\ud835\\udd41\\u01e3\\u07c7\\0\\u07ccr;\\uc000\\ud835\\udca5rcy;\\u4408kcy;\\u4404\\u0380HJacfos\\u07e4\\u07e8\\u07ec\\u07f1\\u07fd\\u0802\\u0808cy;\\u4425cy;\\u440cppa;\\u439a\\u0100ey\\u07f6\\u07fbdil;\\u4136;\\u441ar;\\uc000\\ud835\\udd0epf;\\uc000\\ud835\\udd42cr;\\uc000\\ud835\\udca6\\u0580JTaceflmost\\u0825\\u0829\\u082c\\u0850\\u0863\\u09b3\\u09b8\\u09c7\\u09cd\\u0a37\\u0a47cy;\\u4409\\u803b<\\u403c\\u0280cmnpr\\u0837\\u083c\\u0841\\u0844\\u084dute;\\u4139bda;\\u439bg;\\u67ealacetrf;\\u6112r;\\u619e\\u0180aey\\u0857\\u085c\\u0861ron;\\u413ddil;\\u413b;\\u441b\\u0100fs\\u0868\\u0970t\\u0500ACDFRTUVar\\u087e\\u08a9\\u08b1\\u08e0\\u08e6\\u08fc\\u092f\\u095b\\u0390\\u096a\\u0100nr\\u0883\\u088fgleBracket;\\u67e8row\\u0180;BR\\u0899\\u089a\\u089e\\u6190ar;\\u61e4ightArrow;\\u61c6eiling;\\u6308o\\u01f5\\u08b7\\0\\u08c3bleBracket;\\u67e6n\\u01d4\\u08c8\\0\\u08d2eeVector;\\u6961ector\\u0100;B\\u08db\\u08dc\\u61c3ar;\\u6959loor;\\u630aight\\u0100AV\\u08ef\\u08f5rrow;\\u6194ector;\\u694e\\u0100er\\u0901\\u0917e\\u0180;AV\\u0909\\u090a\\u0910\\u62a3rrow;\\u61a4ector;\\u695aiangle\\u0180;BE\\u0924\\u0925\\u0929\\u62b2ar;\\u69cfqual;\\u62b4p\\u0180DTV\\u0937\\u0942\\u094cownVector;\\u6951eeVector;\\u6960ector\\u0100;B\\u0956\\u0957\\u61bfar;\\u6958ector\\u0100;B\\u0965\\u0966\\u61bcar;\\u6952ight\\xe1\\u039cs\\u0300EFGLST\\u097e\\u098b\\u0995\\u099d\\u09a2\\u09adqualGreater;\\u62daullEqual;\\u6266reater;\\u6276ess;\\u6aa1lantEqual;\\u6a7dilde;\\u6272r;\\uc000\\ud835\\udd0f\\u0100;e\\u09bd\\u09be\\u62d8ftarrow;\\u61daidot;\\u413f\\u0180npw\\u09d4\\u0a16\\u0a1bg\\u0200LRlr\\u09de\\u09f7\\u0a02\\u0a10eft\\u0100AR\\u09e6\\u09ecrrow;\\u67f5ightArrow;\\u67f7ightArrow;\\u67f6eft\\u0100ar\\u03b3\\u0a0aight\\xe1\\u03bfight\\xe1\\u03caf;\\uc000\\ud835\\udd43er\\u0100LR\\u0a22\\u0a2ceftArrow;\\u6199ightArrow;\\u6198\\u0180cht\\u0a3e\\u0a40\\u0a42\\xf2\\u084c;\\u61b0rok;\\u4141;\\u626a\\u0400acefiosu\\u0a5a\\u0a5d\\u0a60\\u0a77\\u0a7c\\u0a85\\u0a8b\\u0a8ep;\\u6905y;\\u441c\\u0100dl\\u0a65\\u0a6fiumSpace;\\u605flintrf;\\u6133r;\\uc000\\ud835\\udd10nusPlus;\\u6213pf;\\uc000\\ud835\\udd44c\\xf2\\u0a76;\\u439c\\u0480Jacefostu\\u0aa3\\u0aa7\\u0aad\\u0ac0\\u0b14\\u0b19\\u0d91\\u0d97\\u0d9ecy;\\u440acute;\\u4143\\u0180aey\\u0ab4\\u0ab9\\u0aberon;\\u4147dil;\\u4145;\\u441d\\u0180gsw\\u0ac7\\u0af0\\u0b0eative\\u0180MTV\\u0ad3\\u0adf\\u0ae8ediumSpace;\\u600bhi\\u0100cn\\u0ae6\\u0ad8\\xeb\\u0ad9eryThi\\xee\\u0ad9ted\\u0100GL\\u0af8\\u0b06reaterGreate\\xf2\\u0673essLes\\xf3\\u0a48Line;\\u400ar;\\uc000\\ud835\\udd11\\u0200Bnpt\\u0b22\\u0b28\\u0b37\\u0b3areak;\\u6060BreakingSpace;\\u40a0f;\\u6115\\u0680;CDEGHLNPRSTV\\u0b55\\u0b56\\u0b6a\\u0b7c\\u0ba1\\u0beb\\u0c04\\u0c5e\\u0c84\\u0ca6\\u0cd8\\u0d61\\u0d85\\u6aec\\u0100ou\\u0b5b\\u0b64ngruent;\\u6262pCap;\\u626doubleVerticalBar;\\u6226\\u0180lqx\\u0b83\\u0b8a\\u0b9bement;\\u6209ual\\u0100;T\\u0b92\\u0b93\\u6260ilde;\\uc000\\u2242\\u0338ists;\\u6204reater\\u0380;EFGLST\\u0bb6\\u0bb7\\u0bbd\\u0bc9\\u0bd3\\u0bd8\\u0be5\\u626fqual;\\u6271ullEqual;\\uc000\\u2267\\u0338reater;\\uc000\\u226b\\u0338ess;\\u6279lantEqual;\\uc000\\u2a7e\\u0338ilde;\\u6275ump\\u0144\\u0bf2\\u0bfdownHump;\\uc000\\u224e\\u0338qual;\\uc000\\u224f\\u0338e\\u0100fs\\u0c0a\\u0c27tTriangle\\u0180;BE\\u0c1a\\u0c1b\\u0c21\\u62eaar;\\uc000\\u29cf\\u0338qual;\\u62ecs\\u0300;EGLST\\u0c35\\u0c36\\u0c3c\\u0c44\\u0c4b\\u0c58\\u626equal;\\u6270reater;\\u6278ess;\\uc000\\u226a\\u0338lantEqual;\\uc000\\u2a7d\\u0338ilde;\\u6274ested\\u0100GL\\u0c68\\u0c79reaterGreater;\\uc000\\u2aa2\\u0338essLess;\\uc000\\u2aa1\\u0338recedes\\u0180;ES\\u0c92\\u0c93\\u0c9b\\u6280qual;\\uc000\\u2aaf\\u0338lantEqual;\\u62e0\\u0100ei\\u0cab\\u0cb9verseElement;\\u620cghtTriangle\\u0180;BE\\u0ccb\\u0ccc\\u0cd2\\u62ebar;\\uc000\\u29d0\\u0338qual;\\u62ed\\u0100qu\\u0cdd\\u0d0cuareSu\\u0100bp\\u0ce8\\u0cf9set\\u0100;E\\u0cf0\\u0cf3\\uc000\\u228f\\u0338qual;\\u62e2erset\\u0100;E\\u0d03\\u0d06\\uc000\\u2290\\u0338qual;\\u62e3\\u0180bcp\\u0d13\\u0d24\\u0d4eset\\u0100;E\\u0d1b\\u0d1e\\uc000\\u2282\\u20d2qual;\\u6288ceeds\\u0200;EST\\u0d32\\u0d33\\u0d3b\\u0d46\\u6281qual;\\uc000\\u2ab0\\u0338lantEqual;\\u62e1ilde;\\uc000\\u227f\\u0338erset\\u0100;E\\u0d58\\u0d5b\\uc000\\u2283\\u20d2qual;\\u6289ilde\\u0200;EFT\\u0d6e\\u0d6f\\u0d75\\u0d7f\\u6241qual;\\u6244ullEqual;\\u6247ilde;\\u6249erticalBar;\\u6224cr;\\uc000\\ud835\\udca9ilde\\u803b\\xd1\\u40d1;\\u439d\\u0700Eacdfgmoprstuv\\u0dbd\\u0dc2\\u0dc9\\u0dd5\\u0ddb\\u0de0\\u0de7\\u0dfc\\u0e02\\u0e20\\u0e22\\u0e32\\u0e3f\\u0e44lig;\\u4152cute\\u803b\\xd3\\u40d3\\u0100iy\\u0dce\\u0dd3rc\\u803b\\xd4\\u40d4;\\u441eblac;\\u4150r;\\uc000\\ud835\\udd12rave\\u803b\\xd2\\u40d2\\u0180aei\\u0dee\\u0df2\\u0df6cr;\\u414cga;\\u43a9cron;\\u439fpf;\\uc000\\ud835\\udd46enCurly\\u0100DQ\\u0e0e\\u0e1aoubleQuote;\\u601cuote;\\u6018;\\u6a54\\u0100cl\\u0e27\\u0e2cr;\\uc000\\ud835\\udcaaash\\u803b\\xd8\\u40d8i\\u016c\\u0e37\\u0e3cde\\u803b\\xd5\\u40d5es;\\u6a37ml\\u803b\\xd6\\u40d6er\\u0100BP\\u0e4b\\u0e60\\u0100ar\\u0e50\\u0e53r;\\u603eac\\u0100ek\\u0e5a\\u0e5c;\\u63deet;\\u63b4arenthesis;\\u63dc\\u0480acfhilors\\u0e7f\\u0e87\\u0e8a\\u0e8f\\u0e92\\u0e94\\u0e9d\\u0eb0\\u0efcrtialD;\\u6202y;\\u441fr;\\uc000\\ud835\\udd13i;\\u43a6;\\u43a0usMinus;\\u40b1\\u0100ip\\u0ea2\\u0eadncareplan\\xe5\\u069df;\\u6119\\u0200;eio\\u0eb9\\u0eba\\u0ee0\\u0ee4\\u6abbcedes\\u0200;EST\\u0ec8\\u0ec9\\u0ecf\\u0eda\\u627aqual;\\u6aaflantEqual;\\u627cilde;\\u627eme;\\u6033\\u0100dp\\u0ee9\\u0eeeuct;\\u620fortion\\u0100;a\\u0225\\u0ef9l;\\u621d\\u0100ci\\u0f01\\u0f06r;\\uc000\\ud835\\udcab;\\u43a8\\u0200Ufos\\u0f11\\u0f16\\u0f1b\\u0f1fOT\\u803b\\\"\\u4022r;\\uc000\\ud835\\udd14pf;\\u611acr;\\uc000\\ud835\\udcac\\u0600BEacefhiorsu\\u0f3e\\u0f43\\u0f47\\u0f60\\u0f73\\u0fa7\\u0faa\\u0fad\\u1096\\u10a9\\u10b4\\u10bearr;\\u6910G\\u803b\\xae\\u40ae\\u0180cnr\\u0f4e\\u0f53\\u0f56ute;\\u4154g;\\u67ebr\\u0100;t\\u0f5c\\u0f5d\\u61a0l;\\u6916\\u0180aey\\u0f67\\u0f6c\\u0f71ron;\\u4158dil;\\u4156;\\u4420\\u0100;v\\u0f78\\u0f79\\u611cerse\\u0100EU\\u0f82\\u0f99\\u0100lq\\u0f87\\u0f8eement;\\u620builibrium;\\u61cbpEquilibrium;\\u696fr\\xbb\\u0f79o;\\u43a1ght\\u0400ACDFTUVa\\u0fc1\\u0feb\\u0ff3\\u1022\\u1028\\u105b\\u1087\\u03d8\\u0100nr\\u0fc6\\u0fd2gleBracket;\\u67e9row\\u0180;BL\\u0fdc\\u0fdd\\u0fe1\\u6192ar;\\u61e5eftArrow;\\u61c4eiling;\\u6309o\\u01f5\\u0ff9\\0\\u1005bleBracket;\\u67e7n\\u01d4\\u100a\\0\\u1014eeVector;\\u695dector\\u0100;B\\u101d\\u101e\\u61c2ar;\\u6955loor;\\u630b\\u0100er\\u102d\\u1043e\\u0180;AV\\u1035\\u1036\\u103c\\u62a2rrow;\\u61a6ector;\\u695biangle\\u0180;BE\\u1050\\u1051\\u1055\\u62b3ar;\\u69d0qual;\\u62b5p\\u0180DTV\\u1063\\u106e\\u1078ownVector;\\u694feeVector;\\u695cector\\u0100;B\\u1082\\u1083\\u61bear;\\u6954ector\\u0100;B\\u1091\\u1092\\u61c0ar;\\u6953\\u0100pu\\u109b\\u109ef;\\u611dndImplies;\\u6970ightarrow;\\u61db\\u0100ch\\u10b9\\u10bcr;\\u611b;\\u61b1leDelayed;\\u69f4\\u0680HOacfhimoqstu\\u10e4\\u10f1\\u10f7\\u10fd\\u1119\\u111e\\u1151\\u1156\\u1161\\u1167\\u11b5\\u11bb\\u11bf\\u0100Cc\\u10e9\\u10eeHcy;\\u4429y;\\u4428FTcy;\\u442ccute;\\u415a\\u0280;aeiy\\u1108\\u1109\\u110e\\u1113\\u1117\\u6abcron;\\u4160dil;\\u415erc;\\u415c;\\u4421r;\\uc000\\ud835\\udd16ort\\u0200DLRU\\u112a\\u1134\\u113e\\u1149ownArrow\\xbb\\u041eeftArrow\\xbb\\u089aightArrow\\xbb\\u0fddpArrow;\\u6191gma;\\u43a3allCircle;\\u6218pf;\\uc000\\ud835\\udd4a\\u0272\\u116d\\0\\0\\u1170t;\\u621aare\\u0200;ISU\\u117b\\u117c\\u1189\\u11af\\u65a1ntersection;\\u6293u\\u0100bp\\u118f\\u119eset\\u0100;E\\u1197\\u1198\\u628fqual;\\u6291erset\\u0100;E\\u11a8\\u11a9\\u6290qual;\\u6292nion;\\u6294cr;\\uc000\\ud835\\udcaear;\\u62c6\\u0200bcmp\\u11c8\\u11db\\u1209\\u120b\\u0100;s\\u11cd\\u11ce\\u62d0et\\u0100;E\\u11cd\\u11d5qual;\\u6286\\u0100ch\\u11e0\\u1205eeds\\u0200;EST\\u11ed\\u11ee\\u11f4\\u11ff\\u627bqual;\\u6ab0lantEqual;\\u627dilde;\\u627fTh\\xe1\\u0f8c;\\u6211\\u0180;es\\u1212\\u1213\\u1223\\u62d1rset\\u0100;E\\u121c\\u121d\\u6283qual;\\u6287et\\xbb\\u1213\\u0580HRSacfhiors\\u123e\\u1244\\u1249\\u1255\\u125e\\u1271\\u1276\\u129f\\u12c2\\u12c8\\u12d1ORN\\u803b\\xde\\u40deADE;\\u6122\\u0100Hc\\u124e\\u1252cy;\\u440by;\\u4426\\u0100bu\\u125a\\u125c;\\u4009;\\u43a4\\u0180aey\\u1265\\u126a\\u126fron;\\u4164dil;\\u4162;\\u4422r;\\uc000\\ud835\\udd17\\u0100ei\\u127b\\u1289\\u01f2\\u1280\\0\\u1287efore;\\u6234a;\\u4398\\u0100cn\\u128e\\u1298kSpace;\\uc000\\u205f\\u200aSpace;\\u6009lde\\u0200;EFT\\u12ab\\u12ac\\u12b2\\u12bc\\u623cqual;\\u6243ullEqual;\\u6245ilde;\\u6248pf;\\uc000\\ud835\\udd4bipleDot;\\u60db\\u0100ct\\u12d6\\u12dbr;\\uc000\\ud835\\udcafrok;\\u4166\\u0ae1\\u12f7\\u130e\\u131a\\u1326\\0\\u132c\\u1331\\0\\0\\0\\0\\0\\u1338\\u133d\\u1377\\u1385\\0\\u13ff\\u1404\\u140a\\u1410\\u0100cr\\u12fb\\u1301ute\\u803b\\xda\\u40dar\\u0100;o\\u1307\\u1308\\u619fcir;\\u6949r\\u01e3\\u1313\\0\\u1316y;\\u440eve;\\u416c\\u0100iy\\u131e\\u1323rc\\u803b\\xdb\\u40db;\\u4423blac;\\u4170r;\\uc000\\ud835\\udd18rave\\u803b\\xd9\\u40d9acr;\\u416a\\u0100di\\u1341\\u1369er\\u0100BP\\u1348\\u135d\\u0100ar\\u134d\\u1350r;\\u405fac\\u0100ek\\u1357\\u1359;\\u63dfet;\\u63b5arenthesis;\\u63ddon\\u0100;P\\u1370\\u1371\\u62c3lus;\\u628e\\u0100gp\\u137b\\u137fon;\\u4172f;\\uc000\\ud835\\udd4c\\u0400ADETadps\\u1395\\u13ae\\u13b8\\u13c4\\u03e8\\u13d2\\u13d7\\u13f3rrow\\u0180;BD\\u1150\\u13a0\\u13a4ar;\\u6912ownArrow;\\u61c5ownArrow;\\u6195quilibrium;\\u696eee\\u0100;A\\u13cb\\u13cc\\u62a5rrow;\\u61a5own\\xe1\\u03f3er\\u0100LR\\u13de\\u13e8eftArrow;\\u6196ightArrow;\\u6197i\\u0100;l\\u13f9\\u13fa\\u43d2on;\\u43a5ing;\\u416ecr;\\uc000\\ud835\\udcb0ilde;\\u4168ml\\u803b\\xdc\\u40dc\\u0480Dbcdefosv\\u1427\\u142c\\u1430\\u1433\\u143e\\u1485\\u148a\\u1490\\u1496ash;\\u62abar;\\u6aeby;\\u4412ash\\u0100;l\\u143b\\u143c\\u62a9;\\u6ae6\\u0100er\\u1443\\u1445;\\u62c1\\u0180bty\\u144c\\u1450\\u147aar;\\u6016\\u0100;i\\u144f\\u1455cal\\u0200BLST\\u1461\\u1465\\u146a\\u1474ar;\\u6223ine;\\u407ceparator;\\u6758ilde;\\u6240ThinSpace;\\u600ar;\\uc000\\ud835\\udd19pf;\\uc000\\ud835\\udd4dcr;\\uc000\\ud835\\udcb1dash;\\u62aa\\u0280cefos\\u14a7\\u14ac\\u14b1\\u14b6\\u14bcirc;\\u4174dge;\\u62c0r;\\uc000\\ud835\\udd1apf;\\uc000\\ud835\\udd4ecr;\\uc000\\ud835\\udcb2\\u0200fios\\u14cb\\u14d0\\u14d2\\u14d8r;\\uc000\\ud835\\udd1b;\\u439epf;\\uc000\\ud835\\udd4fcr;\\uc000\\ud835\\udcb3\\u0480AIUacfosu\\u14f1\\u14f5\\u14f9\\u14fd\\u1504\\u150f\\u1514\\u151a\\u1520cy;\\u442fcy;\\u4407cy;\\u442ecute\\u803b\\xdd\\u40dd\\u0100iy\\u1509\\u150drc;\\u4176;\\u442br;\\uc000\\ud835\\udd1cpf;\\uc000\\ud835\\udd50cr;\\uc000\\ud835\\udcb4ml;\\u4178\\u0400Hacdefos\\u1535\\u1539\\u153f\\u154b\\u154f\\u155d\\u1560\\u1564cy;\\u4416cute;\\u4179\\u0100ay\\u1544\\u1549ron;\\u417d;\\u4417ot;\\u417b\\u01f2\\u1554\\0\\u155boWidt\\xe8\\u0ad9a;\\u4396r;\\u6128pf;\\u6124cr;\\uc000\\ud835\\udcb5\\u0be1\\u1583\\u158a\\u1590\\0\\u15b0\\u15b6\\u15bf\\0\\0\\0\\0\\u15c6\\u15db\\u15eb\\u165f\\u166d\\0\\u1695\\u169b\\u16b2\\u16b9\\0\\u16becute\\u803b\\xe1\\u40e1reve;\\u4103\\u0300;Ediuy\\u159c\\u159d\\u15a1\\u15a3\\u15a8\\u15ad\\u623e;\\uc000\\u223e\\u0333;\\u623frc\\u803b\\xe2\\u40e2te\\u80bb\\xb4\\u0306;\\u4430lig\\u803b\\xe6\\u40e6\\u0100;r\\xb2\\u15ba;\\uc000\\ud835\\udd1erave\\u803b\\xe0\\u40e0\\u0100ep\\u15ca\\u15d6\\u0100fp\\u15cf\\u15d4sym;\\u6135\\xe8\\u15d3ha;\\u43b1\\u0100ap\\u15dfc\\u0100cl\\u15e4\\u15e7r;\\u4101g;\\u6a3f\\u0264\\u15f0\\0\\0\\u160a\\u0280;adsv\\u15fa\\u15fb\\u15ff\\u1601\\u1607\\u6227nd;\\u6a55;\\u6a5clope;\\u6a58;\\u6a5a\\u0380;elmrsz\\u1618\\u1619\\u161b\\u161e\\u163f\\u164f\\u1659\\u6220;\\u69a4e\\xbb\\u1619sd\\u0100;a\\u1625\\u1626\\u6221\\u0461\\u1630\\u1632\\u1634\\u1636\\u1638\\u163a\\u163c\\u163e;\\u69a8;\\u69a9;\\u69aa;\\u69ab;\\u69ac;\\u69ad;\\u69ae;\\u69aft\\u0100;v\\u1645\\u1646\\u621fb\\u0100;d\\u164c\\u164d\\u62be;\\u699d\\u0100pt\\u1654\\u1657h;\\u6222\\xbb\\xb9arr;\\u637c\\u0100gp\\u1663\\u1667on;\\u4105f;\\uc000\\ud835\\udd52\\u0380;Eaeiop\\u12c1\\u167b\\u167d\\u1682\\u1684\\u1687\\u168a;\\u6a70cir;\\u6a6f;\\u624ad;\\u624bs;\\u4027rox\\u0100;e\\u12c1\\u1692\\xf1\\u1683ing\\u803b\\xe5\\u40e5\\u0180cty\\u16a1\\u16a6\\u16a8r;\\uc000\\ud835\\udcb6;\\u402amp\\u0100;e\\u12c1\\u16af\\xf1\\u0288ilde\\u803b\\xe3\\u40e3ml\\u803b\\xe4\\u40e4\\u0100ci\\u16c2\\u16c8onin\\xf4\\u0272nt;\\u6a11\\u0800Nabcdefiklnoprsu\\u16ed\\u16f1\\u1730\\u173c\\u1743\\u1748\\u1778\\u177d\\u17e0\\u17e6\\u1839\\u1850\\u170d\\u193d\\u1948\\u1970ot;\\u6aed\\u0100cr\\u16f6\\u171ek\\u0200ceps\\u1700\\u1705\\u170d\\u1713ong;\\u624cpsilon;\\u43f6rime;\\u6035im\\u0100;e\\u171a\\u171b\\u623dq;\\u62cd\\u0176\\u1722\\u1726ee;\\u62bded\\u0100;g\\u172c\\u172d\\u6305e\\xbb\\u172drk\\u0100;t\\u135c\\u1737brk;\\u63b6\\u0100oy\\u1701\\u1741;\\u4431quo;\\u601e\\u0280cmprt\\u1753\\u175b\\u1761\\u1764\\u1768aus\\u0100;e\\u010a\\u0109ptyv;\\u69b0s\\xe9\\u170cno\\xf5\\u0113\\u0180ahw\\u176f\\u1771\\u1773;\\u43b2;\\u6136een;\\u626cr;\\uc000\\ud835\\udd1fg\\u0380costuvw\\u178d\\u179d\\u17b3\\u17c1\\u17d5\\u17db\\u17de\\u0180aiu\\u1794\\u1796\\u179a\\xf0\\u0760rc;\\u65efp\\xbb\\u1371\\u0180dpt\\u17a4\\u17a8\\u17adot;\\u6a00lus;\\u6a01imes;\\u6a02\\u0271\\u17b9\\0\\0\\u17becup;\\u6a06ar;\\u6605riangle\\u0100du\\u17cd\\u17d2own;\\u65bdp;\\u65b3plus;\\u6a04e\\xe5\\u1444\\xe5\\u14adarow;\\u690d\\u0180ako\\u17ed\\u1826\\u1835\\u0100cn\\u17f2\\u1823k\\u0180lst\\u17fa\\u05ab\\u1802ozenge;\\u69ebriangle\\u0200;dlr\\u1812\\u1813\\u1818\\u181d\\u65b4own;\\u65beeft;\\u65c2ight;\\u65b8k;\\u6423\\u01b1\\u182b\\0\\u1833\\u01b2\\u182f\\0\\u1831;\\u6592;\\u65914;\\u6593ck;\\u6588\\u0100eo\\u183e\\u184d\\u0100;q\\u1843\\u1846\\uc000=\\u20e5uiv;\\uc000\\u2261\\u20e5t;\\u6310\\u0200ptwx\\u1859\\u185e\\u1867\\u186cf;\\uc000\\ud835\\udd53\\u0100;t\\u13cb\\u1863om\\xbb\\u13cctie;\\u62c8\\u0600DHUVbdhmptuv\\u1885\\u1896\\u18aa\\u18bb\\u18d7\\u18db\\u18ec\\u18ff\\u1905\\u190a\\u1910\\u1921\\u0200LRlr\\u188e\\u1890\\u1892\\u1894;\\u6557;\\u6554;\\u6556;\\u6553\\u0280;DUdu\\u18a1\\u18a2\\u18a4\\u18a6\\u18a8\\u6550;\\u6566;\\u6569;\\u6564;\\u6567\\u0200LRlr\\u18b3\\u18b5\\u18b7\\u18b9;\\u655d;\\u655a;\\u655c;\\u6559\\u0380;HLRhlr\\u18ca\\u18cb\\u18cd\\u18cf\\u18d1\\u18d3\\u18d5\\u6551;\\u656c;\\u6563;\\u6560;\\u656b;\\u6562;\\u655fox;\\u69c9\\u0200LRlr\\u18e4\\u18e6\\u18e8\\u18ea;\\u6555;\\u6552;\\u6510;\\u650c\\u0280;DUdu\\u06bd\\u18f7\\u18f9\\u18fb\\u18fd;\\u6565;\\u6568;\\u652c;\\u6534inus;\\u629flus;\\u629eimes;\\u62a0\\u0200LRlr\\u1919\\u191b\\u191d\\u191f;\\u655b;\\u6558;\\u6518;\\u6514\\u0380;HLRhlr\\u1930\\u1931\\u1933\\u1935\\u1937\\u1939\\u193b\\u6502;\\u656a;\\u6561;\\u655e;\\u653c;\\u6524;\\u651c\\u0100ev\\u0123\\u1942bar\\u803b\\xa6\\u40a6\\u0200ceio\\u1951\\u1956\\u195a\\u1960r;\\uc000\\ud835\\udcb7mi;\\u604fm\\u0100;e\\u171a\\u171cl\\u0180;bh\\u1968\\u1969\\u196b\\u405c;\\u69c5sub;\\u67c8\\u016c\\u1974\\u197el\\u0100;e\\u1979\\u197a\\u6022t\\xbb\\u197ap\\u0180;Ee\\u012f\\u1985\\u1987;\\u6aae\\u0100;q\\u06dc\\u06db\\u0ce1\\u19a7\\0\\u19e8\\u1a11\\u1a15\\u1a32\\0\\u1a37\\u1a50\\0\\0\\u1ab4\\0\\0\\u1ac1\\0\\0\\u1b21\\u1b2e\\u1b4d\\u1b52\\0\\u1bfd\\0\\u1c0c\\u0180cpr\\u19ad\\u19b2\\u19ddute;\\u4107\\u0300;abcds\\u19bf\\u19c0\\u19c4\\u19ca\\u19d5\\u19d9\\u6229nd;\\u6a44rcup;\\u6a49\\u0100au\\u19cf\\u19d2p;\\u6a4bp;\\u6a47ot;\\u6a40;\\uc000\\u2229\\ufe00\\u0100eo\\u19e2\\u19e5t;\\u6041\\xee\\u0693\\u0200aeiu\\u19f0\\u19fb\\u1a01\\u1a05\\u01f0\\u19f5\\0\\u19f8s;\\u6a4don;\\u410ddil\\u803b\\xe7\\u40e7rc;\\u4109ps\\u0100;s\\u1a0c\\u1a0d\\u6a4cm;\\u6a50ot;\\u410b\\u0180dmn\\u1a1b\\u1a20\\u1a26il\\u80bb\\xb8\\u01adptyv;\\u69b2t\\u8100\\xa2;e\\u1a2d\\u1a2e\\u40a2r\\xe4\\u01b2r;\\uc000\\ud835\\udd20\\u0180cei\\u1a3d\\u1a40\\u1a4dy;\\u4447ck\\u0100;m\\u1a47\\u1a48\\u6713ark\\xbb\\u1a48;\\u43c7r\\u0380;Ecefms\\u1a5f\\u1a60\\u1a62\\u1a6b\\u1aa4\\u1aaa\\u1aae\\u65cb;\\u69c3\\u0180;el\\u1a69\\u1a6a\\u1a6d\\u42c6q;\\u6257e\\u0261\\u1a74\\0\\0\\u1a88rrow\\u0100lr\\u1a7c\\u1a81eft;\\u61baight;\\u61bb\\u0280RSacd\\u1a92\\u1a94\\u1a96\\u1a9a\\u1a9f\\xbb\\u0f47;\\u64c8st;\\u629birc;\\u629aash;\\u629dnint;\\u6a10id;\\u6aefcir;\\u69c2ubs\\u0100;u\\u1abb\\u1abc\\u6663it\\xbb\\u1abc\\u02ec\\u1ac7\\u1ad4\\u1afa\\0\\u1b0aon\\u0100;e\\u1acd\\u1ace\\u403a\\u0100;q\\xc7\\xc6\\u026d\\u1ad9\\0\\0\\u1ae2a\\u0100;t\\u1ade\\u1adf\\u402c;\\u4040\\u0180;fl\\u1ae8\\u1ae9\\u1aeb\\u6201\\xee\\u1160e\\u0100mx\\u1af1\\u1af6ent\\xbb\\u1ae9e\\xf3\\u024d\\u01e7\\u1afe\\0\\u1b07\\u0100;d\\u12bb\\u1b02ot;\\u6a6dn\\xf4\\u0246\\u0180fry\\u1b10\\u1b14\\u1b17;\\uc000\\ud835\\udd54o\\xe4\\u0254\\u8100\\xa9;s\\u0155\\u1b1dr;\\u6117\\u0100ao\\u1b25\\u1b29rr;\\u61b5ss;\\u6717\\u0100cu\\u1b32\\u1b37r;\\uc000\\ud835\\udcb8\\u0100bp\\u1b3c\\u1b44\\u0100;e\\u1b41\\u1b42\\u6acf;\\u6ad1\\u0100;e\\u1b49\\u1b4a\\u6ad0;\\u6ad2dot;\\u62ef\\u0380delprvw\\u1b60\\u1b6c\\u1b77\\u1b82\\u1bac\\u1bd4\\u1bf9arr\\u0100lr\\u1b68\\u1b6a;\\u6938;\\u6935\\u0270\\u1b72\\0\\0\\u1b75r;\\u62dec;\\u62dfarr\\u0100;p\\u1b7f\\u1b80\\u61b6;\\u693d\\u0300;bcdos\\u1b8f\\u1b90\\u1b96\\u1ba1\\u1ba5\\u1ba8\\u622arcap;\\u6a48\\u0100au\\u1b9b\\u1b9ep;\\u6a46p;\\u6a4aot;\\u628dr;\\u6a45;\\uc000\\u222a\\ufe00\\u0200alrv\\u1bb5\\u1bbf\\u1bde\\u1be3rr\\u0100;m\\u1bbc\\u1bbd\\u61b7;\\u693cy\\u0180evw\\u1bc7\\u1bd4\\u1bd8q\\u0270\\u1bce\\0\\0\\u1bd2re\\xe3\\u1b73u\\xe3\\u1b75ee;\\u62ceedge;\\u62cfen\\u803b\\xa4\\u40a4earrow\\u0100lr\\u1bee\\u1bf3eft\\xbb\\u1b80ight\\xbb\\u1bbde\\xe4\\u1bdd\\u0100ci\\u1c01\\u1c07onin\\xf4\\u01f7nt;\\u6231lcty;\\u632d\\u0980AHabcdefhijlorstuwz\\u1c38\\u1c3b\\u1c3f\\u1c5d\\u1c69\\u1c75\\u1c8a\\u1c9e\\u1cac\\u1cb7\\u1cfb\\u1cff\\u1d0d\\u1d7b\\u1d91\\u1dab\\u1dbb\\u1dc6\\u1dcdr\\xf2\\u0381ar;\\u6965\\u0200glrs\\u1c48\\u1c4d\\u1c52\\u1c54ger;\\u6020eth;\\u6138\\xf2\\u1133h\\u0100;v\\u1c5a\\u1c5b\\u6010\\xbb\\u090a\\u016b\\u1c61\\u1c67arow;\\u690fa\\xe3\\u0315\\u0100ay\\u1c6e\\u1c73ron;\\u410f;\\u4434\\u0180;ao\\u0332\\u1c7c\\u1c84\\u0100gr\\u02bf\\u1c81r;\\u61catseq;\\u6a77\\u0180glm\\u1c91\\u1c94\\u1c98\\u803b\\xb0\\u40b0ta;\\u43b4ptyv;\\u69b1\\u0100ir\\u1ca3\\u1ca8sht;\\u697f;\\uc000\\ud835\\udd21ar\\u0100lr\\u1cb3\\u1cb5\\xbb\\u08dc\\xbb\\u101e\\u0280aegsv\\u1cc2\\u0378\\u1cd6\\u1cdc\\u1ce0m\\u0180;os\\u0326\\u1cca\\u1cd4nd\\u0100;s\\u0326\\u1cd1uit;\\u6666amma;\\u43ddin;\\u62f2\\u0180;io\\u1ce7\\u1ce8\\u1cf8\\u40f7de\\u8100\\xf7;o\\u1ce7\\u1cf0ntimes;\\u62c7n\\xf8\\u1cf7cy;\\u4452c\\u026f\\u1d06\\0\\0\\u1d0arn;\\u631eop;\\u630d\\u0280lptuw\\u1d18\\u1d1d\\u1d22\\u1d49\\u1d55lar;\\u4024f;\\uc000\\ud835\\udd55\\u0280;emps\\u030b\\u1d2d\\u1d37\\u1d3d\\u1d42q\\u0100;d\\u0352\\u1d33ot;\\u6251inus;\\u6238lus;\\u6214quare;\\u62a1blebarwedg\\xe5\\xfan\\u0180adh\\u112e\\u1d5d\\u1d67ownarrow\\xf3\\u1c83arpoon\\u0100lr\\u1d72\\u1d76ef\\xf4\\u1cb4igh\\xf4\\u1cb6\\u0162\\u1d7f\\u1d85karo\\xf7\\u0f42\\u026f\\u1d8a\\0\\0\\u1d8ern;\\u631fop;\\u630c\\u0180cot\\u1d98\\u1da3\\u1da6\\u0100ry\\u1d9d\\u1da1;\\uc000\\ud835\\udcb9;\\u4455l;\\u69f6rok;\\u4111\\u0100dr\\u1db0\\u1db4ot;\\u62f1i\\u0100;f\\u1dba\\u1816\\u65bf\\u0100ah\\u1dc0\\u1dc3r\\xf2\\u0429a\\xf2\\u0fa6angle;\\u69a6\\u0100ci\\u1dd2\\u1dd5y;\\u445fgrarr;\\u67ff\\u0900Dacdefglmnopqrstux\\u1e01\\u1e09\\u1e19\\u1e38\\u0578\\u1e3c\\u1e49\\u1e61\\u1e7e\\u1ea5\\u1eaf\\u1ebd\\u1ee1\\u1f2a\\u1f37\\u1f44\\u1f4e\\u1f5a\\u0100Do\\u1e06\\u1d34o\\xf4\\u1c89\\u0100cs\\u1e0e\\u1e14ute\\u803b\\xe9\\u40e9ter;\\u6a6e\\u0200aioy\\u1e22\\u1e27\\u1e31\\u1e36ron;\\u411br\\u0100;c\\u1e2d\\u1e2e\\u6256\\u803b\\xea\\u40ealon;\\u6255;\\u444dot;\\u4117\\u0100Dr\\u1e41\\u1e45ot;\\u6252;\\uc000\\ud835\\udd22\\u0180;rs\\u1e50\\u1e51\\u1e57\\u6a9aave\\u803b\\xe8\\u40e8\\u0100;d\\u1e5c\\u1e5d\\u6a96ot;\\u6a98\\u0200;ils\\u1e6a\\u1e6b\\u1e72\\u1e74\\u6a99nters;\\u63e7;\\u6113\\u0100;d\\u1e79\\u1e7a\\u6a95ot;\\u6a97\\u0180aps\\u1e85\\u1e89\\u1e97cr;\\u4113ty\\u0180;sv\\u1e92\\u1e93\\u1e95\\u6205et\\xbb\\u1e93p\\u01001;\\u1e9d\\u1ea4\\u0133\\u1ea1\\u1ea3;\\u6004;\\u6005\\u6003\\u0100gs\\u1eaa\\u1eac;\\u414bp;\\u6002\\u0100gp\\u1eb4\\u1eb8on;\\u4119f;\\uc000\\ud835\\udd56\\u0180als\\u1ec4\\u1ece\\u1ed2r\\u0100;s\\u1eca\\u1ecb\\u62d5l;\\u69e3us;\\u6a71i\\u0180;lv\\u1eda\\u1edb\\u1edf\\u43b5on\\xbb\\u1edb;\\u43f5\\u0200csuv\\u1eea\\u1ef3\\u1f0b\\u1f23\\u0100io\\u1eef\\u1e31rc\\xbb\\u1e2e\\u0269\\u1ef9\\0\\0\\u1efb\\xed\\u0548ant\\u0100gl\\u1f02\\u1f06tr\\xbb\\u1e5dess\\xbb\\u1e7a\\u0180aei\\u1f12\\u1f16\\u1f1als;\\u403dst;\\u625fv\\u0100;D\\u0235\\u1f20D;\\u6a78parsl;\\u69e5\\u0100Da\\u1f2f\\u1f33ot;\\u6253rr;\\u6971\\u0180cdi\\u1f3e\\u1f41\\u1ef8r;\\u612fo\\xf4\\u0352\\u0100ah\\u1f49\\u1f4b;\\u43b7\\u803b\\xf0\\u40f0\\u0100mr\\u1f53\\u1f57l\\u803b\\xeb\\u40ebo;\\u60ac\\u0180cip\\u1f61\\u1f64\\u1f67l;\\u4021s\\xf4\\u056e\\u0100eo\\u1f6c\\u1f74ctatio\\xee\\u0559nential\\xe5\\u0579\\u09e1\\u1f92\\0\\u1f9e\\0\\u1fa1\\u1fa7\\0\\0\\u1fc6\\u1fcc\\0\\u1fd3\\0\\u1fe6\\u1fea\\u2000\\0\\u2008\\u205allingdotse\\xf1\\u1e44y;\\u4444male;\\u6640\\u0180ilr\\u1fad\\u1fb3\\u1fc1lig;\\u8000\\ufb03\\u0269\\u1fb9\\0\\0\\u1fbdg;\\u8000\\ufb00ig;\\u8000\\ufb04;\\uc000\\ud835\\udd23lig;\\u8000\\ufb01lig;\\uc000fj\\u0180alt\\u1fd9\\u1fdc\\u1fe1t;\\u666dig;\\u8000\\ufb02ns;\\u65b1of;\\u4192\\u01f0\\u1fee\\0\\u1ff3f;\\uc000\\ud835\\udd57\\u0100ak\\u05bf\\u1ff7\\u0100;v\\u1ffc\\u1ffd\\u62d4;\\u6ad9artint;\\u6a0d\\u0100ao\\u200c\\u2055\\u0100cs\\u2011\\u2052\\u03b1\\u201a\\u2030\\u2038\\u2045\\u2048\\0\\u2050\\u03b2\\u2022\\u2025\\u2027\\u202a\\u202c\\0\\u202e\\u803b\\xbd\\u40bd;\\u6153\\u803b\\xbc\\u40bc;\\u6155;\\u6159;\\u615b\\u01b3\\u2034\\0\\u2036;\\u6154;\\u6156\\u02b4\\u203e\\u2041\\0\\0\\u2043\\u803b\\xbe\\u40be;\\u6157;\\u615c5;\\u6158\\u01b6\\u204c\\0\\u204e;\\u615a;\\u615d8;\\u615el;\\u6044wn;\\u6322cr;\\uc000\\ud835\\udcbb\\u0880Eabcdefgijlnorstv\\u2082\\u2089\\u209f\\u20a5\\u20b0\\u20b4\\u20f0\\u20f5\\u20fa\\u20ff\\u2103\\u2112\\u2138\\u0317\\u213e\\u2152\\u219e\\u0100;l\\u064d\\u2087;\\u6a8c\\u0180cmp\\u2090\\u2095\\u209dute;\\u41f5ma\\u0100;d\\u209c\\u1cda\\u43b3;\\u6a86reve;\\u411f\\u0100iy\\u20aa\\u20aerc;\\u411d;\\u4433ot;\\u4121\\u0200;lqs\\u063e\\u0642\\u20bd\\u20c9\\u0180;qs\\u063e\\u064c\\u20c4lan\\xf4\\u0665\\u0200;cdl\\u0665\\u20d2\\u20d5\\u20e5c;\\u6aa9ot\\u0100;o\\u20dc\\u20dd\\u6a80\\u0100;l\\u20e2\\u20e3\\u6a82;\\u6a84\\u0100;e\\u20ea\\u20ed\\uc000\\u22db\\ufe00s;\\u6a94r;\\uc000\\ud835\\udd24\\u0100;g\\u0673\\u061bmel;\\u6137cy;\\u4453\\u0200;Eaj\\u065a\\u210c\\u210e\\u2110;\\u6a92;\\u6aa5;\\u6aa4\\u0200Eaes\\u211b\\u211d\\u2129\\u2134;\\u6269p\\u0100;p\\u2123\\u2124\\u6a8arox\\xbb\\u2124\\u0100;q\\u212e\\u212f\\u6a88\\u0100;q\\u212e\\u211bim;\\u62e7pf;\\uc000\\ud835\\udd58\\u0100ci\\u2143\\u2146r;\\u610am\\u0180;el\\u066b\\u214e\\u2150;\\u6a8e;\\u6a90\\u8300>;cdlqr\\u05ee\\u2160\\u216a\\u216e\\u2173\\u2179\\u0100ci\\u2165\\u2167;\\u6aa7r;\\u6a7aot;\\u62d7Par;\\u6995uest;\\u6a7c\\u0280adels\\u2184\\u216a\\u2190\\u0656\\u219b\\u01f0\\u2189\\0\\u218epro\\xf8\\u209er;\\u6978q\\u0100lq\\u063f\\u2196les\\xf3\\u2088i\\xed\\u066b\\u0100en\\u21a3\\u21adrtneqq;\\uc000\\u2269\\ufe00\\xc5\\u21aa\\u0500Aabcefkosy\\u21c4\\u21c7\\u21f1\\u21f5\\u21fa\\u2218\\u221d\\u222f\\u2268\\u227dr\\xf2\\u03a0\\u0200ilmr\\u21d0\\u21d4\\u21d7\\u21dbrs\\xf0\\u1484f\\xbb\\u2024il\\xf4\\u06a9\\u0100dr\\u21e0\\u21e4cy;\\u444a\\u0180;cw\\u08f4\\u21eb\\u21efir;\\u6948;\\u61adar;\\u610firc;\\u4125\\u0180alr\\u2201\\u220e\\u2213rts\\u0100;u\\u2209\\u220a\\u6665it\\xbb\\u220alip;\\u6026con;\\u62b9r;\\uc000\\ud835\\udd25s\\u0100ew\\u2223\\u2229arow;\\u6925arow;\\u6926\\u0280amopr\\u223a\\u223e\\u2243\\u225e\\u2263rr;\\u61fftht;\\u623bk\\u0100lr\\u2249\\u2253eftarrow;\\u61a9ightarrow;\\u61aaf;\\uc000\\ud835\\udd59bar;\\u6015\\u0180clt\\u226f\\u2274\\u2278r;\\uc000\\ud835\\udcbdas\\xe8\\u21f4rok;\\u4127\\u0100bp\\u2282\\u2287ull;\\u6043hen\\xbb\\u1c5b\\u0ae1\\u22a3\\0\\u22aa\\0\\u22b8\\u22c5\\u22ce\\0\\u22d5\\u22f3\\0\\0\\u22f8\\u2322\\u2367\\u2362\\u237f\\0\\u2386\\u23aa\\u23b4cute\\u803b\\xed\\u40ed\\u0180;iy\\u0771\\u22b0\\u22b5rc\\u803b\\xee\\u40ee;\\u4438\\u0100cx\\u22bc\\u22bfy;\\u4435cl\\u803b\\xa1\\u40a1\\u0100fr\\u039f\\u22c9;\\uc000\\ud835\\udd26rave\\u803b\\xec\\u40ec\\u0200;ino\\u073e\\u22dd\\u22e9\\u22ee\\u0100in\\u22e2\\u22e6nt;\\u6a0ct;\\u622dfin;\\u69dcta;\\u6129lig;\\u4133\\u0180aop\\u22fe\\u231a\\u231d\\u0180cgt\\u2305\\u2308\\u2317r;\\u412b\\u0180elp\\u071f\\u230f\\u2313in\\xe5\\u078ear\\xf4\\u0720h;\\u4131f;\\u62b7ed;\\u41b5\\u0280;cfot\\u04f4\\u232c\\u2331\\u233d\\u2341are;\\u6105in\\u0100;t\\u2338\\u2339\\u621eie;\\u69dddo\\xf4\\u2319\\u0280;celp\\u0757\\u234c\\u2350\\u235b\\u2361al;\\u62ba\\u0100gr\\u2355\\u2359er\\xf3\\u1563\\xe3\\u234darhk;\\u6a17rod;\\u6a3c\\u0200cgpt\\u236f\\u2372\\u2376\\u237by;\\u4451on;\\u412ff;\\uc000\\ud835\\udd5aa;\\u43b9uest\\u803b\\xbf\\u40bf\\u0100ci\\u238a\\u238fr;\\uc000\\ud835\\udcben\\u0280;Edsv\\u04f4\\u239b\\u239d\\u23a1\\u04f3;\\u62f9ot;\\u62f5\\u0100;v\\u23a6\\u23a7\\u62f4;\\u62f3\\u0100;i\\u0777\\u23aelde;\\u4129\\u01eb\\u23b8\\0\\u23bccy;\\u4456l\\u803b\\xef\\u40ef\\u0300cfmosu\\u23cc\\u23d7\\u23dc\\u23e1\\u23e7\\u23f5\\u0100iy\\u23d1\\u23d5rc;\\u4135;\\u4439r;\\uc000\\ud835\\udd27ath;\\u4237pf;\\uc000\\ud835\\udd5b\\u01e3\\u23ec\\0\\u23f1r;\\uc000\\ud835\\udcbfrcy;\\u4458kcy;\\u4454\\u0400acfghjos\\u240b\\u2416\\u2422\\u2427\\u242d\\u2431\\u2435\\u243bppa\\u0100;v\\u2413\\u2414\\u43ba;\\u43f0\\u0100ey\\u241b\\u2420dil;\\u4137;\\u443ar;\\uc000\\ud835\\udd28reen;\\u4138cy;\\u4445cy;\\u445cpf;\\uc000\\ud835\\udd5ccr;\\uc000\\ud835\\udcc0\\u0b80ABEHabcdefghjlmnoprstuv\\u2470\\u2481\\u2486\\u248d\\u2491\\u250e\\u253d\\u255a\\u2580\\u264e\\u265e\\u2665\\u2679\\u267d\\u269a\\u26b2\\u26d8\\u275d\\u2768\\u278b\\u27c0\\u2801\\u2812\\u0180art\\u2477\\u247a\\u247cr\\xf2\\u09c6\\xf2\\u0395ail;\\u691barr;\\u690e\\u0100;g\\u0994\\u248b;\\u6a8bar;\\u6962\\u0963\\u24a5\\0\\u24aa\\0\\u24b1\\0\\0\\0\\0\\0\\u24b5\\u24ba\\0\\u24c6\\u24c8\\u24cd\\0\\u24f9ute;\\u413amptyv;\\u69b4ra\\xee\\u084cbda;\\u43bbg\\u0180;dl\\u088e\\u24c1\\u24c3;\\u6991\\xe5\\u088e;\\u6a85uo\\u803b\\xab\\u40abr\\u0400;bfhlpst\\u0899\\u24de\\u24e6\\u24e9\\u24eb\\u24ee\\u24f1\\u24f5\\u0100;f\\u089d\\u24e3s;\\u691fs;\\u691d\\xeb\\u2252p;\\u61abl;\\u6939im;\\u6973l;\\u61a2\\u0180;ae\\u24ff\\u2500\\u2504\\u6aabil;\\u6919\\u0100;s\\u2509\\u250a\\u6aad;\\uc000\\u2aad\\ufe00\\u0180abr\\u2515\\u2519\\u251drr;\\u690crk;\\u6772\\u0100ak\\u2522\\u252cc\\u0100ek\\u2528\\u252a;\\u407b;\\u405b\\u0100es\\u2531\\u2533;\\u698bl\\u0100du\\u2539\\u253b;\\u698f;\\u698d\\u0200aeuy\\u2546\\u254b\\u2556\\u2558ron;\\u413e\\u0100di\\u2550\\u2554il;\\u413c\\xec\\u08b0\\xe2\\u2529;\\u443b\\u0200cqrs\\u2563\\u2566\\u256d\\u257da;\\u6936uo\\u0100;r\\u0e19\\u1746\\u0100du\\u2572\\u2577har;\\u6967shar;\\u694bh;\\u61b2\\u0280;fgqs\\u258b\\u258c\\u0989\\u25f3\\u25ff\\u6264t\\u0280ahlrt\\u2598\\u25a4\\u25b7\\u25c2\\u25e8rrow\\u0100;t\\u0899\\u25a1a\\xe9\\u24f6arpoon\\u0100du\\u25af\\u25b4own\\xbb\\u045ap\\xbb\\u0966eftarrows;\\u61c7ight\\u0180ahs\\u25cd\\u25d6\\u25derrow\\u0100;s\\u08f4\\u08a7arpoon\\xf3\\u0f98quigarro\\xf7\\u21f0hreetimes;\\u62cb\\u0180;qs\\u258b\\u0993\\u25falan\\xf4\\u09ac\\u0280;cdgs\\u09ac\\u260a\\u260d\\u261d\\u2628c;\\u6aa8ot\\u0100;o\\u2614\\u2615\\u6a7f\\u0100;r\\u261a\\u261b\\u6a81;\\u6a83\\u0100;e\\u2622\\u2625\\uc000\\u22da\\ufe00s;\\u6a93\\u0280adegs\\u2633\\u2639\\u263d\\u2649\\u264bppro\\xf8\\u24c6ot;\\u62d6q\\u0100gq\\u2643\\u2645\\xf4\\u0989gt\\xf2\\u248c\\xf4\\u099bi\\xed\\u09b2\\u0180ilr\\u2655\\u08e1\\u265asht;\\u697c;\\uc000\\ud835\\udd29\\u0100;E\\u099c\\u2663;\\u6a91\\u0161\\u2669\\u2676r\\u0100du\\u25b2\\u266e\\u0100;l\\u0965\\u2673;\\u696alk;\\u6584cy;\\u4459\\u0280;acht\\u0a48\\u2688\\u268b\\u2691\\u2696r\\xf2\\u25c1orne\\xf2\\u1d08ard;\\u696bri;\\u65fa\\u0100io\\u269f\\u26a4dot;\\u4140ust\\u0100;a\\u26ac\\u26ad\\u63b0che\\xbb\\u26ad\\u0200Eaes\\u26bb\\u26bd\\u26c9\\u26d4;\\u6268p\\u0100;p\\u26c3\\u26c4\\u6a89rox\\xbb\\u26c4\\u0100;q\\u26ce\\u26cf\\u6a87\\u0100;q\\u26ce\\u26bbim;\\u62e6\\u0400abnoptwz\\u26e9\\u26f4\\u26f7\\u271a\\u272f\\u2741\\u2747\\u2750\\u0100nr\\u26ee\\u26f1g;\\u67ecr;\\u61fdr\\xeb\\u08c1g\\u0180lmr\\u26ff\\u270d\\u2714eft\\u0100ar\\u09e6\\u2707ight\\xe1\\u09f2apsto;\\u67fcight\\xe1\\u09fdparrow\\u0100lr\\u2725\\u2729ef\\xf4\\u24edight;\\u61ac\\u0180afl\\u2736\\u2739\\u273dr;\\u6985;\\uc000\\ud835\\udd5dus;\\u6a2dimes;\\u6a34\\u0161\\u274b\\u274fst;\\u6217\\xe1\\u134e\\u0180;ef\\u2757\\u2758\\u1800\\u65cange\\xbb\\u2758ar\\u0100;l\\u2764\\u2765\\u4028t;\\u6993\\u0280achmt\\u2773\\u2776\\u277c\\u2785\\u2787r\\xf2\\u08a8orne\\xf2\\u1d8car\\u0100;d\\u0f98\\u2783;\\u696d;\\u600eri;\\u62bf\\u0300achiqt\\u2798\\u279d\\u0a40\\u27a2\\u27ae\\u27bbquo;\\u6039r;\\uc000\\ud835\\udcc1m\\u0180;eg\\u09b2\\u27aa\\u27ac;\\u6a8d;\\u6a8f\\u0100bu\\u252a\\u27b3o\\u0100;r\\u0e1f\\u27b9;\\u601arok;\\u4142\\u8400<;cdhilqr\\u082b\\u27d2\\u2639\\u27dc\\u27e0\\u27e5\\u27ea\\u27f0\\u0100ci\\u27d7\\u27d9;\\u6aa6r;\\u6a79re\\xe5\\u25f2mes;\\u62c9arr;\\u6976uest;\\u6a7b\\u0100Pi\\u27f5\\u27f9ar;\\u6996\\u0180;ef\\u2800\\u092d\\u181b\\u65c3r\\u0100du\\u2807\\u280dshar;\\u694ahar;\\u6966\\u0100en\\u2817\\u2821rtneqq;\\uc000\\u2268\\ufe00\\xc5\\u281e\\u0700Dacdefhilnopsu\\u2840\\u2845\\u2882\\u288e\\u2893\\u28a0\\u28a5\\u28a8\\u28da\\u28e2\\u28e4\\u0a83\\u28f3\\u2902Dot;\\u623a\\u0200clpr\\u284e\\u2852\\u2863\\u287dr\\u803b\\xaf\\u40af\\u0100et\\u2857\\u2859;\\u6642\\u0100;e\\u285e\\u285f\\u6720se\\xbb\\u285f\\u0100;s\\u103b\\u2868to\\u0200;dlu\\u103b\\u2873\\u2877\\u287bow\\xee\\u048cef\\xf4\\u090f\\xf0\\u13d1ker;\\u65ae\\u0100oy\\u2887\\u288cmma;\\u6a29;\\u443cash;\\u6014asuredangle\\xbb\\u1626r;\\uc000\\ud835\\udd2ao;\\u6127\\u0180cdn\\u28af\\u28b4\\u28c9ro\\u803b\\xb5\\u40b5\\u0200;acd\\u1464\\u28bd\\u28c0\\u28c4s\\xf4\\u16a7ir;\\u6af0ot\\u80bb\\xb7\\u01b5us\\u0180;bd\\u28d2\\u1903\\u28d3\\u6212\\u0100;u\\u1d3c\\u28d8;\\u6a2a\\u0163\\u28de\\u28e1p;\\u6adb\\xf2\\u2212\\xf0\\u0a81\\u0100dp\\u28e9\\u28eeels;\\u62a7f;\\uc000\\ud835\\udd5e\\u0100ct\\u28f8\\u28fdr;\\uc000\\ud835\\udcc2pos\\xbb\\u159d\\u0180;lm\\u2909\\u290a\\u290d\\u43bctimap;\\u62b8\\u0c00GLRVabcdefghijlmoprstuvw\\u2942\\u2953\\u297e\\u2989\\u2998\\u29da\\u29e9\\u2a15\\u2a1a\\u2a58\\u2a5d\\u2a83\\u2a95\\u2aa4\\u2aa8\\u2b04\\u2b07\\u2b44\\u2b7f\\u2bae\\u2c34\\u2c67\\u2c7c\\u2ce9\\u0100gt\\u2947\\u294b;\\uc000\\u22d9\\u0338\\u0100;v\\u2950\\u0bcf\\uc000\\u226b\\u20d2\\u0180elt\\u295a\\u2972\\u2976ft\\u0100ar\\u2961\\u2967rrow;\\u61cdightarrow;\\u61ce;\\uc000\\u22d8\\u0338\\u0100;v\\u297b\\u0c47\\uc000\\u226a\\u20d2ightarrow;\\u61cf\\u0100Dd\\u298e\\u2993ash;\\u62afash;\\u62ae\\u0280bcnpt\\u29a3\\u29a7\\u29ac\\u29b1\\u29ccla\\xbb\\u02deute;\\u4144g;\\uc000\\u2220\\u20d2\\u0280;Eiop\\u0d84\\u29bc\\u29c0\\u29c5\\u29c8;\\uc000\\u2a70\\u0338d;\\uc000\\u224b\\u0338s;\\u4149ro\\xf8\\u0d84ur\\u0100;a\\u29d3\\u29d4\\u666el\\u0100;s\\u29d3\\u0b38\\u01f3\\u29df\\0\\u29e3p\\u80bb\\xa0\\u0b37mp\\u0100;e\\u0bf9\\u0c00\\u0280aeouy\\u29f4\\u29fe\\u2a03\\u2a10\\u2a13\\u01f0\\u29f9\\0\\u29fb;\\u6a43on;\\u4148dil;\\u4146ng\\u0100;d\\u0d7e\\u2a0aot;\\uc000\\u2a6d\\u0338p;\\u6a42;\\u443dash;\\u6013\\u0380;Aadqsx\\u0b92\\u2a29\\u2a2d\\u2a3b\\u2a41\\u2a45\\u2a50rr;\\u61d7r\\u0100hr\\u2a33\\u2a36k;\\u6924\\u0100;o\\u13f2\\u13f0ot;\\uc000\\u2250\\u0338ui\\xf6\\u0b63\\u0100ei\\u2a4a\\u2a4ear;\\u6928\\xed\\u0b98ist\\u0100;s\\u0ba0\\u0b9fr;\\uc000\\ud835\\udd2b\\u0200Eest\\u0bc5\\u2a66\\u2a79\\u2a7c\\u0180;qs\\u0bbc\\u2a6d\\u0be1\\u0180;qs\\u0bbc\\u0bc5\\u2a74lan\\xf4\\u0be2i\\xed\\u0bea\\u0100;r\\u0bb6\\u2a81\\xbb\\u0bb7\\u0180Aap\\u2a8a\\u2a8d\\u2a91r\\xf2\\u2971rr;\\u61aear;\\u6af2\\u0180;sv\\u0f8d\\u2a9c\\u0f8c\\u0100;d\\u2aa1\\u2aa2\\u62fc;\\u62facy;\\u445a\\u0380AEadest\\u2ab7\\u2aba\\u2abe\\u2ac2\\u2ac5\\u2af6\\u2af9r\\xf2\\u2966;\\uc000\\u2266\\u0338rr;\\u619ar;\\u6025\\u0200;fqs\\u0c3b\\u2ace\\u2ae3\\u2aeft\\u0100ar\\u2ad4\\u2ad9rro\\xf7\\u2ac1ightarro\\xf7\\u2a90\\u0180;qs\\u0c3b\\u2aba\\u2aealan\\xf4\\u0c55\\u0100;s\\u0c55\\u2af4\\xbb\\u0c36i\\xed\\u0c5d\\u0100;r\\u0c35\\u2afei\\u0100;e\\u0c1a\\u0c25i\\xe4\\u0d90\\u0100pt\\u2b0c\\u2b11f;\\uc000\\ud835\\udd5f\\u8180\\xac;in\\u2b19\\u2b1a\\u2b36\\u40acn\\u0200;Edv\\u0b89\\u2b24\\u2b28\\u2b2e;\\uc000\\u22f9\\u0338ot;\\uc000\\u22f5\\u0338\\u01e1\\u0b89\\u2b33\\u2b35;\\u62f7;\\u62f6i\\u0100;v\\u0cb8\\u2b3c\\u01e1\\u0cb8\\u2b41\\u2b43;\\u62fe;\\u62fd\\u0180aor\\u2b4b\\u2b63\\u2b69r\\u0200;ast\\u0b7b\\u2b55\\u2b5a\\u2b5flle\\xec\\u0b7bl;\\uc000\\u2afd\\u20e5;\\uc000\\u2202\\u0338lint;\\u6a14\\u0180;ce\\u0c92\\u2b70\\u2b73u\\xe5\\u0ca5\\u0100;c\\u0c98\\u2b78\\u0100;e\\u0c92\\u2b7d\\xf1\\u0c98\\u0200Aait\\u2b88\\u2b8b\\u2b9d\\u2ba7r\\xf2\\u2988rr\\u0180;cw\\u2b94\\u2b95\\u2b99\\u619b;\\uc000\\u2933\\u0338;\\uc000\\u219d\\u0338ghtarrow\\xbb\\u2b95ri\\u0100;e\\u0ccb\\u0cd6\\u0380chimpqu\\u2bbd\\u2bcd\\u2bd9\\u2b04\\u0b78\\u2be4\\u2bef\\u0200;cer\\u0d32\\u2bc6\\u0d37\\u2bc9u\\xe5\\u0d45;\\uc000\\ud835\\udcc3ort\\u026d\\u2b05\\0\\0\\u2bd6ar\\xe1\\u2b56m\\u0100;e\\u0d6e\\u2bdf\\u0100;q\\u0d74\\u0d73su\\u0100bp\\u2beb\\u2bed\\xe5\\u0cf8\\xe5\\u0d0b\\u0180bcp\\u2bf6\\u2c11\\u2c19\\u0200;Ees\\u2bff\\u2c00\\u0d22\\u2c04\\u6284;\\uc000\\u2ac5\\u0338et\\u0100;e\\u0d1b\\u2c0bq\\u0100;q\\u0d23\\u2c00c\\u0100;e\\u0d32\\u2c17\\xf1\\u0d38\\u0200;Ees\\u2c22\\u2c23\\u0d5f\\u2c27\\u6285;\\uc000\\u2ac6\\u0338et\\u0100;e\\u0d58\\u2c2eq\\u0100;q\\u0d60\\u2c23\\u0200gilr\\u2c3d\\u2c3f\\u2c45\\u2c47\\xec\\u0bd7lde\\u803b\\xf1\\u40f1\\xe7\\u0c43iangle\\u0100lr\\u2c52\\u2c5ceft\\u0100;e\\u0c1a\\u2c5a\\xf1\\u0c26ight\\u0100;e\\u0ccb\\u2c65\\xf1\\u0cd7\\u0100;m\\u2c6c\\u2c6d\\u43bd\\u0180;es\\u2c74\\u2c75\\u2c79\\u4023ro;\\u6116p;\\u6007\\u0480DHadgilrs\\u2c8f\\u2c94\\u2c99\\u2c9e\\u2ca3\\u2cb0\\u2cb6\\u2cd3\\u2ce3ash;\\u62adarr;\\u6904p;\\uc000\\u224d\\u20d2ash;\\u62ac\\u0100et\\u2ca8\\u2cac;\\uc000\\u2265\\u20d2;\\uc000>\\u20d2nfin;\\u69de\\u0180Aet\\u2cbd\\u2cc1\\u2cc5rr;\\u6902;\\uc000\\u2264\\u20d2\\u0100;r\\u2cca\\u2ccd\\uc000<\\u20d2ie;\\uc000\\u22b4\\u20d2\\u0100At\\u2cd8\\u2cdcrr;\\u6903rie;\\uc000\\u22b5\\u20d2im;\\uc000\\u223c\\u20d2\\u0180Aan\\u2cf0\\u2cf4\\u2d02rr;\\u61d6r\\u0100hr\\u2cfa\\u2cfdk;\\u6923\\u0100;o\\u13e7\\u13e5ear;\\u6927\\u1253\\u1a95\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\u2d2d\\0\\u2d38\\u2d48\\u2d60\\u2d65\\u2d72\\u2d84\\u1b07\\0\\0\\u2d8d\\u2dab\\0\\u2dc8\\u2dce\\0\\u2ddc\\u2e19\\u2e2b\\u2e3e\\u2e43\\u0100cs\\u2d31\\u1a97ute\\u803b\\xf3\\u40f3\\u0100iy\\u2d3c\\u2d45r\\u0100;c\\u1a9e\\u2d42\\u803b\\xf4\\u40f4;\\u443e\\u0280abios\\u1aa0\\u2d52\\u2d57\\u01c8\\u2d5alac;\\u4151v;\\u6a38old;\\u69bclig;\\u4153\\u0100cr\\u2d69\\u2d6dir;\\u69bf;\\uc000\\ud835\\udd2c\\u036f\\u2d79\\0\\0\\u2d7c\\0\\u2d82n;\\u42dbave\\u803b\\xf2\\u40f2;\\u69c1\\u0100bm\\u2d88\\u0df4ar;\\u69b5\\u0200acit\\u2d95\\u2d98\\u2da5\\u2da8r\\xf2\\u1a80\\u0100ir\\u2d9d\\u2da0r;\\u69beoss;\\u69bbn\\xe5\\u0e52;\\u69c0\\u0180aei\\u2db1\\u2db5\\u2db9cr;\\u414dga;\\u43c9\\u0180cdn\\u2dc0\\u2dc5\\u01cdron;\\u43bf;\\u69b6pf;\\uc000\\ud835\\udd60\\u0180ael\\u2dd4\\u2dd7\\u01d2r;\\u69b7rp;\\u69b9\\u0380;adiosv\\u2dea\\u2deb\\u2dee\\u2e08\\u2e0d\\u2e10\\u2e16\\u6228r\\xf2\\u1a86\\u0200;efm\\u2df7\\u2df8\\u2e02\\u2e05\\u6a5dr\\u0100;o\\u2dfe\\u2dff\\u6134f\\xbb\\u2dff\\u803b\\xaa\\u40aa\\u803b\\xba\\u40bagof;\\u62b6r;\\u6a56lope;\\u6a57;\\u6a5b\\u0180clo\\u2e1f\\u2e21\\u2e27\\xf2\\u2e01ash\\u803b\\xf8\\u40f8l;\\u6298i\\u016c\\u2e2f\\u2e34de\\u803b\\xf5\\u40f5es\\u0100;a\\u01db\\u2e3as;\\u6a36ml\\u803b\\xf6\\u40f6bar;\\u633d\\u0ae1\\u2e5e\\0\\u2e7d\\0\\u2e80\\u2e9d\\0\\u2ea2\\u2eb9\\0\\0\\u2ecb\\u0e9c\\0\\u2f13\\0\\0\\u2f2b\\u2fbc\\0\\u2fc8r\\u0200;ast\\u0403\\u2e67\\u2e72\\u0e85\\u8100\\xb6;l\\u2e6d\\u2e6e\\u40b6le\\xec\\u0403\\u0269\\u2e78\\0\\0\\u2e7bm;\\u6af3;\\u6afdy;\\u443fr\\u0280cimpt\\u2e8b\\u2e8f\\u2e93\\u1865\\u2e97nt;\\u4025od;\\u402eil;\\u6030enk;\\u6031r;\\uc000\\ud835\\udd2d\\u0180imo\\u2ea8\\u2eb0\\u2eb4\\u0100;v\\u2ead\\u2eae\\u43c6;\\u43d5ma\\xf4\\u0a76ne;\\u660e\\u0180;tv\\u2ebf\\u2ec0\\u2ec8\\u43c0chfork\\xbb\\u1ffd;\\u43d6\\u0100au\\u2ecf\\u2edfn\\u0100ck\\u2ed5\\u2eddk\\u0100;h\\u21f4\\u2edb;\\u610e\\xf6\\u21f4s\\u0480;abcdemst\\u2ef3\\u2ef4\\u1908\\u2ef9\\u2efd\\u2f04\\u2f06\\u2f0a\\u2f0e\\u402bcir;\\u6a23ir;\\u6a22\\u0100ou\\u1d40\\u2f02;\\u6a25;\\u6a72n\\u80bb\\xb1\\u0e9dim;\\u6a26wo;\\u6a27\\u0180ipu\\u2f19\\u2f20\\u2f25ntint;\\u6a15f;\\uc000\\ud835\\udd61nd\\u803b\\xa3\\u40a3\\u0500;Eaceinosu\\u0ec8\\u2f3f\\u2f41\\u2f44\\u2f47\\u2f81\\u2f89\\u2f92\\u2f7e\\u2fb6;\\u6ab3p;\\u6ab7u\\xe5\\u0ed9\\u0100;c\\u0ece\\u2f4c\\u0300;acens\\u0ec8\\u2f59\\u2f5f\\u2f66\\u2f68\\u2f7eppro\\xf8\\u2f43urlye\\xf1\\u0ed9\\xf1\\u0ece\\u0180aes\\u2f6f\\u2f76\\u2f7approx;\\u6ab9qq;\\u6ab5im;\\u62e8i\\xed\\u0edfme\\u0100;s\\u2f88\\u0eae\\u6032\\u0180Eas\\u2f78\\u2f90\\u2f7a\\xf0\\u2f75\\u0180dfp\\u0eec\\u2f99\\u2faf\\u0180als\\u2fa0\\u2fa5\\u2faalar;\\u632eine;\\u6312urf;\\u6313\\u0100;t\\u0efb\\u2fb4\\xef\\u0efbrel;\\u62b0\\u0100ci\\u2fc0\\u2fc5r;\\uc000\\ud835\\udcc5;\\u43c8ncsp;\\u6008\\u0300fiopsu\\u2fda\\u22e2\\u2fdf\\u2fe5\\u2feb\\u2ff1r;\\uc000\\ud835\\udd2epf;\\uc000\\ud835\\udd62rime;\\u6057cr;\\uc000\\ud835\\udcc6\\u0180aeo\\u2ff8\\u3009\\u3013t\\u0100ei\\u2ffe\\u3005rnion\\xf3\\u06b0nt;\\u6a16st\\u0100;e\\u3010\\u3011\\u403f\\xf1\\u1f19\\xf4\\u0f14\\u0a80ABHabcdefhilmnoprstux\\u3040\\u3051\\u3055\\u3059\\u30e0\\u310e\\u312b\\u3147\\u3162\\u3172\\u318e\\u3206\\u3215\\u3224\\u3229\\u3258\\u326e\\u3272\\u3290\\u32b0\\u32b7\\u0180art\\u3047\\u304a\\u304cr\\xf2\\u10b3\\xf2\\u03ddail;\\u691car\\xf2\\u1c65ar;\\u6964\\u0380cdenqrt\\u3068\\u3075\\u3078\\u307f\\u308f\\u3094\\u30cc\\u0100eu\\u306d\\u3071;\\uc000\\u223d\\u0331te;\\u4155i\\xe3\\u116emptyv;\\u69b3g\\u0200;del\\u0fd1\\u3089\\u308b\\u308d;\\u6992;\\u69a5\\xe5\\u0fd1uo\\u803b\\xbb\\u40bbr\\u0580;abcfhlpstw\\u0fdc\\u30ac\\u30af\\u30b7\\u30b9\\u30bc\\u30be\\u30c0\\u30c3\\u30c7\\u30cap;\\u6975\\u0100;f\\u0fe0\\u30b4s;\\u6920;\\u6933s;\\u691e\\xeb\\u225d\\xf0\\u272el;\\u6945im;\\u6974l;\\u61a3;\\u619d\\u0100ai\\u30d1\\u30d5il;\\u691ao\\u0100;n\\u30db\\u30dc\\u6236al\\xf3\\u0f1e\\u0180abr\\u30e7\\u30ea\\u30eer\\xf2\\u17e5rk;\\u6773\\u0100ak\\u30f3\\u30fdc\\u0100ek\\u30f9\\u30fb;\\u407d;\\u405d\\u0100es\\u3102\\u3104;\\u698cl\\u0100du\\u310a\\u310c;\\u698e;\\u6990\\u0200aeuy\\u3117\\u311c\\u3127\\u3129ron;\\u4159\\u0100di\\u3121\\u3125il;\\u4157\\xec\\u0ff2\\xe2\\u30fa;\\u4440\\u0200clqs\\u3134\\u3137\\u313d\\u3144a;\\u6937dhar;\\u6969uo\\u0100;r\\u020e\\u020dh;\\u61b3\\u0180acg\\u314e\\u315f\\u0f44l\\u0200;ips\\u0f78\\u3158\\u315b\\u109cn\\xe5\\u10bbar\\xf4\\u0fa9t;\\u65ad\\u0180ilr\\u3169\\u1023\\u316esht;\\u697d;\\uc000\\ud835\\udd2f\\u0100ao\\u3177\\u3186r\\u0100du\\u317d\\u317f\\xbb\\u047b\\u0100;l\\u1091\\u3184;\\u696c\\u0100;v\\u318b\\u318c\\u43c1;\\u43f1\\u0180gns\\u3195\\u31f9\\u31fcht\\u0300ahlrst\\u31a4\\u31b0\\u31c2\\u31d8\\u31e4\\u31eerrow\\u0100;t\\u0fdc\\u31ada\\xe9\\u30c8arpoon\\u0100du\\u31bb\\u31bfow\\xee\\u317ep\\xbb\\u1092eft\\u0100ah\\u31ca\\u31d0rrow\\xf3\\u0feaarpoon\\xf3\\u0551ightarrows;\\u61c9quigarro\\xf7\\u30cbhreetimes;\\u62ccg;\\u42daingdotse\\xf1\\u1f32\\u0180ahm\\u320d\\u3210\\u3213r\\xf2\\u0feaa\\xf2\\u0551;\\u600foust\\u0100;a\\u321e\\u321f\\u63b1che\\xbb\\u321fmid;\\u6aee\\u0200abpt\\u3232\\u323d\\u3240\\u3252\\u0100nr\\u3237\\u323ag;\\u67edr;\\u61fer\\xeb\\u1003\\u0180afl\\u3247\\u324a\\u324er;\\u6986;\\uc000\\ud835\\udd63us;\\u6a2eimes;\\u6a35\\u0100ap\\u325d\\u3267r\\u0100;g\\u3263\\u3264\\u4029t;\\u6994olint;\\u6a12ar\\xf2\\u31e3\\u0200achq\\u327b\\u3280\\u10bc\\u3285quo;\\u603ar;\\uc000\\ud835\\udcc7\\u0100bu\\u30fb\\u328ao\\u0100;r\\u0214\\u0213\\u0180hir\\u3297\\u329b\\u32a0re\\xe5\\u31f8mes;\\u62cai\\u0200;efl\\u32aa\\u1059\\u1821\\u32ab\\u65b9tri;\\u69celuhar;\\u6968;\\u611e\\u0d61\\u32d5\\u32db\\u32df\\u332c\\u3338\\u3371\\0\\u337a\\u33a4\\0\\0\\u33ec\\u33f0\\0\\u3428\\u3448\\u345a\\u34ad\\u34b1\\u34ca\\u34f1\\0\\u3616\\0\\0\\u3633cute;\\u415bqu\\xef\\u27ba\\u0500;Eaceinpsy\\u11ed\\u32f3\\u32f5\\u32ff\\u3302\\u330b\\u330f\\u331f\\u3326\\u3329;\\u6ab4\\u01f0\\u32fa\\0\\u32fc;\\u6ab8on;\\u4161u\\xe5\\u11fe\\u0100;d\\u11f3\\u3307il;\\u415frc;\\u415d\\u0180Eas\\u3316\\u3318\\u331b;\\u6ab6p;\\u6abaim;\\u62e9olint;\\u6a13i\\xed\\u1204;\\u4441ot\\u0180;be\\u3334\\u1d47\\u3335\\u62c5;\\u6a66\\u0380Aacmstx\\u3346\\u334a\\u3357\\u335b\\u335e\\u3363\\u336drr;\\u61d8r\\u0100hr\\u3350\\u3352\\xeb\\u2228\\u0100;o\\u0a36\\u0a34t\\u803b\\xa7\\u40a7i;\\u403bwar;\\u6929m\\u0100in\\u3369\\xf0nu\\xf3\\xf1t;\\u6736r\\u0100;o\\u3376\\u2055\\uc000\\ud835\\udd30\\u0200acoy\\u3382\\u3386\\u3391\\u33a0rp;\\u666f\\u0100hy\\u338b\\u338fcy;\\u4449;\\u4448rt\\u026d\\u3399\\0\\0\\u339ci\\xe4\\u1464ara\\xec\\u2e6f\\u803b\\xad\\u40ad\\u0100gm\\u33a8\\u33b4ma\\u0180;fv\\u33b1\\u33b2\\u33b2\\u43c3;\\u43c2\\u0400;deglnpr\\u12ab\\u33c5\\u33c9\\u33ce\\u33d6\\u33de\\u33e1\\u33e6ot;\\u6a6a\\u0100;q\\u12b1\\u12b0\\u0100;E\\u33d3\\u33d4\\u6a9e;\\u6aa0\\u0100;E\\u33db\\u33dc\\u6a9d;\\u6a9fe;\\u6246lus;\\u6a24arr;\\u6972ar\\xf2\\u113d\\u0200aeit\\u33f8\\u3408\\u340f\\u3417\\u0100ls\\u33fd\\u3404lsetm\\xe9\\u336ahp;\\u6a33parsl;\\u69e4\\u0100dl\\u1463\\u3414e;\\u6323\\u0100;e\\u341c\\u341d\\u6aaa\\u0100;s\\u3422\\u3423\\u6aac;\\uc000\\u2aac\\ufe00\\u0180flp\\u342e\\u3433\\u3442tcy;\\u444c\\u0100;b\\u3438\\u3439\\u402f\\u0100;a\\u343e\\u343f\\u69c4r;\\u633ff;\\uc000\\ud835\\udd64a\\u0100dr\\u344d\\u0402es\\u0100;u\\u3454\\u3455\\u6660it\\xbb\\u3455\\u0180csu\\u3460\\u3479\\u349f\\u0100au\\u3465\\u346fp\\u0100;s\\u1188\\u346b;\\uc000\\u2293\\ufe00p\\u0100;s\\u11b4\\u3475;\\uc000\\u2294\\ufe00u\\u0100bp\\u347f\\u348f\\u0180;es\\u1197\\u119c\\u3486et\\u0100;e\\u1197\\u348d\\xf1\\u119d\\u0180;es\\u11a8\\u11ad\\u3496et\\u0100;e\\u11a8\\u349d\\xf1\\u11ae\\u0180;af\\u117b\\u34a6\\u05b0r\\u0165\\u34ab\\u05b1\\xbb\\u117car\\xf2\\u1148\\u0200cemt\\u34b9\\u34be\\u34c2\\u34c5r;\\uc000\\ud835\\udcc8tm\\xee\\xf1i\\xec\\u3415ar\\xe6\\u11be\\u0100ar\\u34ce\\u34d5r\\u0100;f\\u34d4\\u17bf\\u6606\\u0100an\\u34da\\u34edight\\u0100ep\\u34e3\\u34eapsilo\\xee\\u1ee0h\\xe9\\u2eafs\\xbb\\u2852\\u0280bcmnp\\u34fb\\u355e\\u1209\\u358b\\u358e\\u0480;Edemnprs\\u350e\\u350f\\u3511\\u3515\\u351e\\u3523\\u352c\\u3531\\u3536\\u6282;\\u6ac5ot;\\u6abd\\u0100;d\\u11da\\u351aot;\\u6ac3ult;\\u6ac1\\u0100Ee\\u3528\\u352a;\\u6acb;\\u628alus;\\u6abfarr;\\u6979\\u0180eiu\\u353d\\u3552\\u3555t\\u0180;en\\u350e\\u3545\\u354bq\\u0100;q\\u11da\\u350feq\\u0100;q\\u352b\\u3528m;\\u6ac7\\u0100bp\\u355a\\u355c;\\u6ad5;\\u6ad3c\\u0300;acens\\u11ed\\u356c\\u3572\\u3579\\u357b\\u3326ppro\\xf8\\u32faurlye\\xf1\\u11fe\\xf1\\u11f3\\u0180aes\\u3582\\u3588\\u331bppro\\xf8\\u331aq\\xf1\\u3317g;\\u666a\\u0680123;Edehlmnps\\u35a9\\u35ac\\u35af\\u121c\\u35b2\\u35b4\\u35c0\\u35c9\\u35d5\\u35da\\u35df\\u35e8\\u35ed\\u803b\\xb9\\u40b9\\u803b\\xb2\\u40b2\\u803b\\xb3\\u40b3;\\u6ac6\\u0100os\\u35b9\\u35bct;\\u6abeub;\\u6ad8\\u0100;d\\u1222\\u35c5ot;\\u6ac4s\\u0100ou\\u35cf\\u35d2l;\\u67c9b;\\u6ad7arr;\\u697bult;\\u6ac2\\u0100Ee\\u35e4\\u35e6;\\u6acc;\\u628blus;\\u6ac0\\u0180eiu\\u35f4\\u3609\\u360ct\\u0180;en\\u121c\\u35fc\\u3602q\\u0100;q\\u1222\\u35b2eq\\u0100;q\\u35e7\\u35e4m;\\u6ac8\\u0100bp\\u3611\\u3613;\\u6ad4;\\u6ad6\\u0180Aan\\u361c\\u3620\\u362drr;\\u61d9r\\u0100hr\\u3626\\u3628\\xeb\\u222e\\u0100;o\\u0a2b\\u0a29war;\\u692alig\\u803b\\xdf\\u40df\\u0be1\\u3651\\u365d\\u3660\\u12ce\\u3673\\u3679\\0\\u367e\\u36c2\\0\\0\\0\\0\\0\\u36db\\u3703\\0\\u3709\\u376c\\0\\0\\0\\u3787\\u0272\\u3656\\0\\0\\u365bget;\\u6316;\\u43c4r\\xeb\\u0e5f\\u0180aey\\u3666\\u366b\\u3670ron;\\u4165dil;\\u4163;\\u4442lrec;\\u6315r;\\uc000\\ud835\\udd31\\u0200eiko\\u3686\\u369d\\u36b5\\u36bc\\u01f2\\u368b\\0\\u3691e\\u01004f\\u1284\\u1281a\\u0180;sv\\u3698\\u3699\\u369b\\u43b8ym;\\u43d1\\u0100cn\\u36a2\\u36b2k\\u0100as\\u36a8\\u36aeppro\\xf8\\u12c1im\\xbb\\u12acs\\xf0\\u129e\\u0100as\\u36ba\\u36ae\\xf0\\u12c1rn\\u803b\\xfe\\u40fe\\u01ec\\u031f\\u36c6\\u22e7es\\u8180\\xd7;bd\\u36cf\\u36d0\\u36d8\\u40d7\\u0100;a\\u190f\\u36d5r;\\u6a31;\\u6a30\\u0180eps\\u36e1\\u36e3\\u3700\\xe1\\u2a4d\\u0200;bcf\\u0486\\u36ec\\u36f0\\u36f4ot;\\u6336ir;\\u6af1\\u0100;o\\u36f9\\u36fc\\uc000\\ud835\\udd65rk;\\u6ada\\xe1\\u3362rime;\\u6034\\u0180aip\\u370f\\u3712\\u3764d\\xe5\\u1248\\u0380adempst\\u3721\\u374d\\u3740\\u3751\\u3757\\u375c\\u375fngle\\u0280;dlqr\\u3730\\u3731\\u3736\\u3740\\u3742\\u65b5own\\xbb\\u1dbbeft\\u0100;e\\u2800\\u373e\\xf1\\u092e;\\u625cight\\u0100;e\\u32aa\\u374b\\xf1\\u105aot;\\u65ecinus;\\u6a3alus;\\u6a39b;\\u69cdime;\\u6a3bezium;\\u63e2\\u0180cht\\u3772\\u377d\\u3781\\u0100ry\\u3777\\u377b;\\uc000\\ud835\\udcc9;\\u4446cy;\\u445brok;\\u4167\\u0100io\\u378b\\u378ex\\xf4\\u1777head\\u0100lr\\u3797\\u37a0eftarro\\xf7\\u084fightarrow\\xbb\\u0f5d\\u0900AHabcdfghlmoprstuw\\u37d0\\u37d3\\u37d7\\u37e4\\u37f0\\u37fc\\u380e\\u381c\\u3823\\u3834\\u3851\\u385d\\u386b\\u38a9\\u38cc\\u38d2\\u38ea\\u38f6r\\xf2\\u03edar;\\u6963\\u0100cr\\u37dc\\u37e2ute\\u803b\\xfa\\u40fa\\xf2\\u1150r\\u01e3\\u37ea\\0\\u37edy;\\u445eve;\\u416d\\u0100iy\\u37f5\\u37farc\\u803b\\xfb\\u40fb;\\u4443\\u0180abh\\u3803\\u3806\\u380br\\xf2\\u13adlac;\\u4171a\\xf2\\u13c3\\u0100ir\\u3813\\u3818sht;\\u697e;\\uc000\\ud835\\udd32rave\\u803b\\xf9\\u40f9\\u0161\\u3827\\u3831r\\u0100lr\\u382c\\u382e\\xbb\\u0957\\xbb\\u1083lk;\\u6580\\u0100ct\\u3839\\u384d\\u026f\\u383f\\0\\0\\u384arn\\u0100;e\\u3845\\u3846\\u631cr\\xbb\\u3846op;\\u630fri;\\u65f8\\u0100al\\u3856\\u385acr;\\u416b\\u80bb\\xa8\\u0349\\u0100gp\\u3862\\u3866on;\\u4173f;\\uc000\\ud835\\udd66\\u0300adhlsu\\u114b\\u3878\\u387d\\u1372\\u3891\\u38a0own\\xe1\\u13b3arpoon\\u0100lr\\u3888\\u388cef\\xf4\\u382digh\\xf4\\u382fi\\u0180;hl\\u3899\\u389a\\u389c\\u43c5\\xbb\\u13faon\\xbb\\u389aparrows;\\u61c8\\u0180cit\\u38b0\\u38c4\\u38c8\\u026f\\u38b6\\0\\0\\u38c1rn\\u0100;e\\u38bc\\u38bd\\u631dr\\xbb\\u38bdop;\\u630eng;\\u416fri;\\u65f9cr;\\uc000\\ud835\\udcca\\u0180dir\\u38d9\\u38dd\\u38e2ot;\\u62f0lde;\\u4169i\\u0100;f\\u3730\\u38e8\\xbb\\u1813\\u0100am\\u38ef\\u38f2r\\xf2\\u38a8l\\u803b\\xfc\\u40fcangle;\\u69a7\\u0780ABDacdeflnoprsz\\u391c\\u391f\\u3929\\u392d\\u39b5\\u39b8\\u39bd\\u39df\\u39e4\\u39e8\\u39f3\\u39f9\\u39fd\\u3a01\\u3a20r\\xf2\\u03f7ar\\u0100;v\\u3926\\u3927\\u6ae8;\\u6ae9as\\xe8\\u03e1\\u0100nr\\u3932\\u3937grt;\\u699c\\u0380eknprst\\u34e3\\u3946\\u394b\\u3952\\u395d\\u3964\\u3996app\\xe1\\u2415othin\\xe7\\u1e96\\u0180hir\\u34eb\\u2ec8\\u3959op\\xf4\\u2fb5\\u0100;h\\u13b7\\u3962\\xef\\u318d\\u0100iu\\u3969\\u396dgm\\xe1\\u33b3\\u0100bp\\u3972\\u3984setneq\\u0100;q\\u397d\\u3980\\uc000\\u228a\\ufe00;\\uc000\\u2acb\\ufe00setneq\\u0100;q\\u398f\\u3992\\uc000\\u228b\\ufe00;\\uc000\\u2acc\\ufe00\\u0100hr\\u399b\\u399fet\\xe1\\u369ciangle\\u0100lr\\u39aa\\u39afeft\\xbb\\u0925ight\\xbb\\u1051y;\\u4432ash\\xbb\\u1036\\u0180elr\\u39c4\\u39d2\\u39d7\\u0180;be\\u2dea\\u39cb\\u39cfar;\\u62bbq;\\u625alip;\\u62ee\\u0100bt\\u39dc\\u1468a\\xf2\\u1469r;\\uc000\\ud835\\udd33tr\\xe9\\u39aesu\\u0100bp\\u39ef\\u39f1\\xbb\\u0d1c\\xbb\\u0d59pf;\\uc000\\ud835\\udd67ro\\xf0\\u0efbtr\\xe9\\u39b4\\u0100cu\\u3a06\\u3a0br;\\uc000\\ud835\\udccb\\u0100bp\\u3a10\\u3a18n\\u0100Ee\\u3980\\u3a16\\xbb\\u397en\\u0100Ee\\u3992\\u3a1e\\xbb\\u3990igzag;\\u699a\\u0380cefoprs\\u3a36\\u3a3b\\u3a56\\u3a5b\\u3a54\\u3a61\\u3a6airc;\\u4175\\u0100di\\u3a40\\u3a51\\u0100bg\\u3a45\\u3a49ar;\\u6a5fe\\u0100;q\\u15fa\\u3a4f;\\u6259erp;\\u6118r;\\uc000\\ud835\\udd34pf;\\uc000\\ud835\\udd68\\u0100;e\\u1479\\u3a66at\\xe8\\u1479cr;\\uc000\\ud835\\udccc\\u0ae3\\u178e\\u3a87\\0\\u3a8b\\0\\u3a90\\u3a9b\\0\\0\\u3a9d\\u3aa8\\u3aab\\u3aaf\\0\\0\\u3ac3\\u3ace\\0\\u3ad8\\u17dc\\u17dftr\\xe9\\u17d1r;\\uc000\\ud835\\udd35\\u0100Aa\\u3a94\\u3a97r\\xf2\\u03c3r\\xf2\\u09f6;\\u43be\\u0100Aa\\u3aa1\\u3aa4r\\xf2\\u03b8r\\xf2\\u09eba\\xf0\\u2713is;\\u62fb\\u0180dpt\\u17a4\\u3ab5\\u3abe\\u0100fl\\u3aba\\u17a9;\\uc000\\ud835\\udd69im\\xe5\\u17b2\\u0100Aa\\u3ac7\\u3acar\\xf2\\u03cer\\xf2\\u0a01\\u0100cq\\u3ad2\\u17b8r;\\uc000\\ud835\\udccd\\u0100pt\\u17d6\\u3adcr\\xe9\\u17d4\\u0400acefiosu\\u3af0\\u3afd\\u3b08\\u3b0c\\u3b11\\u3b15\\u3b1b\\u3b21c\\u0100uy\\u3af6\\u3afbte\\u803b\\xfd\\u40fd;\\u444f\\u0100iy\\u3b02\\u3b06rc;\\u4177;\\u444bn\\u803b\\xa5\\u40a5r;\\uc000\\ud835\\udd36cy;\\u4457pf;\\uc000\\ud835\\udd6acr;\\uc000\\ud835\\udcce\\u0100cm\\u3b26\\u3b29y;\\u444el\\u803b\\xff\\u40ff\\u0500acdefhiosw\\u3b42\\u3b48\\u3b54\\u3b58\\u3b64\\u3b69\\u3b6d\\u3b74\\u3b7a\\u3b80cute;\\u417a\\u0100ay\\u3b4d\\u3b52ron;\\u417e;\\u4437ot;\\u417c\\u0100et\\u3b5d\\u3b61tr\\xe6\\u155fa;\\u43b6r;\\uc000\\ud835\\udd37cy;\\u4436grarr;\\u61ddpf;\\uc000\\ud835\\udd6bcr;\\uc000\\ud835\\udccf\\u0100jn\\u3b85\\u3b87;\\u600dj;\\u600c\"\n .split(\"\")\n .map(function (c) { return c.charCodeAt(0); }));\n//# sourceMappingURL=decode-data-html.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/entities/lib/generated/decode-data-html.js?"); - -/***/ }), - -/***/ "./node_modules/entities/lib/generated/decode-data-xml.js": -/*!****************************************************************!*\ - !*** ./node_modules/entities/lib/generated/decode-data-xml.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\n// Generated using scripts/write-decode-map.ts\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports[\"default\"] = new Uint16Array(\n// prettier-ignore\n\"\\u0200aglq\\t\\x15\\x18\\x1b\\u026d\\x0f\\0\\0\\x12p;\\u4026os;\\u4027t;\\u403et;\\u403cuot;\\u4022\"\n .split(\"\")\n .map(function (c) { return c.charCodeAt(0); }));\n//# sourceMappingURL=decode-data-xml.js.map\n\n//# sourceURL=webpack://renderer/./node_modules/entities/lib/generated/decode-data-xml.js?"); - -/***/ }), - -/***/ "./node_modules/env-paths/index.js": -/*!*****************************************!*\ - !*** ./node_modules/env-paths/index.js ***! - \*****************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nconst path = __webpack_require__(/*! path */ \"path\");\nconst os = __webpack_require__(/*! os */ \"os\");\n\nconst homedir = os.homedir();\nconst tmpdir = os.tmpdir();\nconst {env} = process;\n\nconst macos = name => {\n\tconst library = path.join(homedir, 'Library');\n\n\treturn {\n\t\tdata: path.join(library, 'Application Support', name),\n\t\tconfig: path.join(library, 'Preferences', name),\n\t\tcache: path.join(library, 'Caches', name),\n\t\tlog: path.join(library, 'Logs', name),\n\t\ttemp: path.join(tmpdir, name)\n\t};\n};\n\nconst windows = name => {\n\tconst appData = env.APPDATA || path.join(homedir, 'AppData', 'Roaming');\n\tconst localAppData = env.LOCALAPPDATA || path.join(homedir, 'AppData', 'Local');\n\n\treturn {\n\t\t// Data/config/cache/log are invented by me as Windows isn't opinionated about this\n\t\tdata: path.join(localAppData, name, 'Data'),\n\t\tconfig: path.join(appData, name, 'Config'),\n\t\tcache: path.join(localAppData, name, 'Cache'),\n\t\tlog: path.join(localAppData, name, 'Log'),\n\t\ttemp: path.join(tmpdir, name)\n\t};\n};\n\n// https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html\nconst linux = name => {\n\tconst username = path.basename(homedir);\n\n\treturn {\n\t\tdata: path.join(env.XDG_DATA_HOME || path.join(homedir, '.local', 'share'), name),\n\t\tconfig: path.join(env.XDG_CONFIG_HOME || path.join(homedir, '.config'), name),\n\t\tcache: path.join(env.XDG_CACHE_HOME || path.join(homedir, '.cache'), name),\n\t\t// https://wiki.debian.org/XDGBaseDirectorySpecification#state\n\t\tlog: path.join(env.XDG_STATE_HOME || path.join(homedir, '.local', 'state'), name),\n\t\ttemp: path.join(tmpdir, username, name)\n\t};\n};\n\nconst envPaths = (name, options) => {\n\tif (typeof name !== 'string') {\n\t\tthrow new TypeError(`Expected string, got ${typeof name}`);\n\t}\n\n\toptions = Object.assign({suffix: 'nodejs'}, options);\n\n\tif (options.suffix) {\n\t\t// Add suffix to prevent possible conflict with native apps\n\t\tname += `-${options.suffix}`;\n\t}\n\n\tif (process.platform === 'darwin') {\n\t\treturn macos(name);\n\t}\n\n\tif (process.platform === 'win32') {\n\t\treturn windows(name);\n\t}\n\n\treturn linux(name);\n};\n\nmodule.exports = envPaths;\n// TODO: Remove this for the next major release\nmodule.exports[\"default\"] = envPaths;\n\n\n//# sourceURL=webpack://renderer/./node_modules/env-paths/index.js?"); - -/***/ }), - -/***/ "./node_modules/error-ex/index.js": -/*!****************************************!*\ - !*** ./node_modules/error-ex/index.js ***! - \****************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nvar util = __webpack_require__(/*! util */ \"util\");\nvar isArrayish = __webpack_require__(/*! is-arrayish */ \"./node_modules/is-arrayish/index.js\");\n\nvar errorEx = function errorEx(name, properties) {\n\tif (!name || name.constructor !== String) {\n\t\tproperties = name || {};\n\t\tname = Error.name;\n\t}\n\n\tvar errorExError = function ErrorEXError(message) {\n\t\tif (!this) {\n\t\t\treturn new ErrorEXError(message);\n\t\t}\n\n\t\tmessage = message instanceof Error\n\t\t\t? message.message\n\t\t\t: (message || this.message);\n\n\t\tError.call(this, message);\n\t\tError.captureStackTrace(this, errorExError);\n\n\t\tthis.name = name;\n\n\t\tObject.defineProperty(this, 'message', {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tget: function () {\n\t\t\t\tvar newMessage = message.split(/\\r?\\n/g);\n\n\t\t\t\tfor (var key in properties) {\n\t\t\t\t\tif (!properties.hasOwnProperty(key)) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar modifier = properties[key];\n\n\t\t\t\t\tif ('message' in modifier) {\n\t\t\t\t\t\tnewMessage = modifier.message(this[key], newMessage) || newMessage;\n\t\t\t\t\t\tif (!isArrayish(newMessage)) {\n\t\t\t\t\t\t\tnewMessage = [newMessage];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn newMessage.join('\\n');\n\t\t\t},\n\t\t\tset: function (v) {\n\t\t\t\tmessage = v;\n\t\t\t}\n\t\t});\n\n\t\tvar overwrittenStack = null;\n\n\t\tvar stackDescriptor = Object.getOwnPropertyDescriptor(this, 'stack');\n\t\tvar stackGetter = stackDescriptor.get;\n\t\tvar stackValue = stackDescriptor.value;\n\t\tdelete stackDescriptor.value;\n\t\tdelete stackDescriptor.writable;\n\n\t\tstackDescriptor.set = function (newstack) {\n\t\t\toverwrittenStack = newstack;\n\t\t};\n\n\t\tstackDescriptor.get = function () {\n\t\t\tvar stack = (overwrittenStack || ((stackGetter)\n\t\t\t\t? stackGetter.call(this)\n\t\t\t\t: stackValue)).split(/\\r?\\n+/g);\n\n\t\t\t// starting in Node 7, the stack builder caches the message.\n\t\t\t// just replace it.\n\t\t\tif (!overwrittenStack) {\n\t\t\t\tstack[0] = this.name + ': ' + this.message;\n\t\t\t}\n\n\t\t\tvar lineCount = 1;\n\t\t\tfor (var key in properties) {\n\t\t\t\tif (!properties.hasOwnProperty(key)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tvar modifier = properties[key];\n\n\t\t\t\tif ('line' in modifier) {\n\t\t\t\t\tvar line = modifier.line(this[key]);\n\t\t\t\t\tif (line) {\n\t\t\t\t\t\tstack.splice(lineCount++, 0, ' ' + line);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ('stack' in modifier) {\n\t\t\t\t\tmodifier.stack(this[key], stack);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn stack.join('\\n');\n\t\t};\n\n\t\tObject.defineProperty(this, 'stack', stackDescriptor);\n\t};\n\n\tif (Object.setPrototypeOf) {\n\t\tObject.setPrototypeOf(errorExError.prototype, Error.prototype);\n\t\tObject.setPrototypeOf(errorExError, Error);\n\t} else {\n\t\tutil.inherits(errorExError, Error);\n\t}\n\n\treturn errorExError;\n};\n\nerrorEx.append = function (str, def) {\n\treturn {\n\t\tmessage: function (v, message) {\n\t\t\tv = v || def;\n\n\t\t\tif (v) {\n\t\t\t\tmessage[0] += ' ' + str.replace('%s', v.toString());\n\t\t\t}\n\n\t\t\treturn message;\n\t\t}\n\t};\n};\n\nerrorEx.line = function (str, def) {\n\treturn {\n\t\tline: function (v) {\n\t\t\tv = v || def;\n\n\t\t\tif (v) {\n\t\t\t\treturn str.replace('%s', v.toString());\n\t\t\t}\n\n\t\t\treturn null;\n\t\t}\n\t};\n};\n\nmodule.exports = errorEx;\n\n\n//# sourceURL=webpack://renderer/./node_modules/error-ex/index.js?"); - -/***/ }), - -/***/ "./node_modules/fast-deep-equal/index.js": -/*!***********************************************!*\ - !*** ./node_modules/fast-deep-equal/index.js ***! - \***********************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/fast-deep-equal/index.js?"); - -/***/ }), - -/***/ "./node_modules/form-data/lib/browser.js": -/*!***********************************************!*\ - !*** ./node_modules/form-data/lib/browser.js ***! - \***********************************************/ -/***/ ((module) => { - -eval("/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n\n\n//# sourceURL=webpack://renderer/./node_modules/form-data/lib/browser.js?"); - -/***/ }), - -/***/ "./node_modules/get-nonce/dist/es2015/index.js": -/*!*****************************************************!*\ - !*** ./node_modules/get-nonce/dist/es2015/index.js ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getNonce: () => (/* binding */ getNonce),\n/* harmony export */ setNonce: () => (/* binding */ setNonce)\n/* harmony export */ });\nvar currentNonce;\nvar setNonce = function (nonce) {\n currentNonce = nonce;\n};\nvar getNonce = function () {\n if (currentNonce) {\n return currentNonce;\n }\n if (true) {\n return __webpack_require__.nc;\n }\n return undefined;\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/get-nonce/dist/es2015/index.js?"); - -/***/ }), - -/***/ "./node_modules/graceful-fs/clone.js": -/*!*******************************************!*\ - !*** ./node_modules/graceful-fs/clone.js ***! - \*******************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\nmodule.exports = clone\n\nvar getPrototypeOf = Object.getPrototypeOf || function (obj) {\n return obj.__proto__\n}\n\nfunction clone (obj) {\n if (obj === null || typeof obj !== 'object')\n return obj\n\n if (obj instanceof Object)\n var copy = { __proto__: getPrototypeOf(obj) }\n else\n var copy = Object.create(null)\n\n Object.getOwnPropertyNames(obj).forEach(function (key) {\n Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key))\n })\n\n return copy\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/graceful-fs/clone.js?"); - -/***/ }), - -/***/ "./node_modules/graceful-fs/graceful-fs.js": -/*!*************************************************!*\ - !*** ./node_modules/graceful-fs/graceful-fs.js ***! - \*************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("var fs = __webpack_require__(/*! fs */ \"fs\")\nvar polyfills = __webpack_require__(/*! ./polyfills.js */ \"./node_modules/graceful-fs/polyfills.js\")\nvar legacy = __webpack_require__(/*! ./legacy-streams.js */ \"./node_modules/graceful-fs/legacy-streams.js\")\nvar clone = __webpack_require__(/*! ./clone.js */ \"./node_modules/graceful-fs/clone.js\")\n\nvar util = __webpack_require__(/*! util */ \"util\")\n\n/* istanbul ignore next - node 0.x polyfill */\nvar gracefulQueue\nvar previousSymbol\n\n/* istanbul ignore else - node 0.x polyfill */\nif (typeof Symbol === 'function' && typeof Symbol.for === 'function') {\n gracefulQueue = Symbol.for('graceful-fs.queue')\n // This is used in testing by future versions\n previousSymbol = Symbol.for('graceful-fs.previous')\n} else {\n gracefulQueue = '___graceful-fs.queue'\n previousSymbol = '___graceful-fs.previous'\n}\n\nfunction noop () {}\n\nfunction publishQueue(context, queue) {\n Object.defineProperty(context, gracefulQueue, {\n get: function() {\n return queue\n }\n })\n}\n\nvar debug = noop\nif (util.debuglog)\n debug = util.debuglog('gfs4')\nelse if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || ''))\n debug = function() {\n var m = util.format.apply(util, arguments)\n m = 'GFS4: ' + m.split(/\\n/).join('\\nGFS4: ')\n console.error(m)\n }\n\n// Once time initialization\nif (!fs[gracefulQueue]) {\n // This queue can be shared by multiple loaded instances\n var queue = global[gracefulQueue] || []\n publishQueue(fs, queue)\n\n // Patch fs.close/closeSync to shared queue version, because we need\n // to retry() whenever a close happens *anywhere* in the program.\n // This is essential when multiple graceful-fs instances are\n // in play at the same time.\n fs.close = (function (fs$close) {\n function close (fd, cb) {\n return fs$close.call(fs, fd, function (err) {\n // This function uses the graceful-fs shared queue\n if (!err) {\n resetQueue()\n }\n\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n })\n }\n\n Object.defineProperty(close, previousSymbol, {\n value: fs$close\n })\n return close\n })(fs.close)\n\n fs.closeSync = (function (fs$closeSync) {\n function closeSync (fd) {\n // This function uses the graceful-fs shared queue\n fs$closeSync.apply(fs, arguments)\n resetQueue()\n }\n\n Object.defineProperty(closeSync, previousSymbol, {\n value: fs$closeSync\n })\n return closeSync\n })(fs.closeSync)\n\n if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || '')) {\n process.on('exit', function() {\n debug(fs[gracefulQueue])\n __webpack_require__(/*! assert */ \"assert\").equal(fs[gracefulQueue].length, 0)\n })\n }\n}\n\nif (!global[gracefulQueue]) {\n publishQueue(global, fs[gracefulQueue]);\n}\n\nmodule.exports = patch(clone(fs))\nif (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {\n module.exports = patch(fs)\n fs.__patched = true;\n}\n\nfunction patch (fs) {\n // Everything that references the open() function needs to be in here\n polyfills(fs)\n fs.gracefulify = patch\n\n fs.createReadStream = createReadStream\n fs.createWriteStream = createWriteStream\n var fs$readFile = fs.readFile\n fs.readFile = readFile\n function readFile (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$readFile(path, options, cb)\n\n function go$readFile (path, options, cb, startTime) {\n return fs$readFile(path, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readFile, [path, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$writeFile = fs.writeFile\n fs.writeFile = writeFile\n function writeFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$writeFile(path, data, options, cb)\n\n function go$writeFile (path, data, options, cb, startTime) {\n return fs$writeFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$writeFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$appendFile = fs.appendFile\n if (fs$appendFile)\n fs.appendFile = appendFile\n function appendFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$appendFile(path, data, options, cb)\n\n function go$appendFile (path, data, options, cb, startTime) {\n return fs$appendFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$appendFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$copyFile = fs.copyFile\n if (fs$copyFile)\n fs.copyFile = copyFile\n function copyFile (src, dest, flags, cb) {\n if (typeof flags === 'function') {\n cb = flags\n flags = 0\n }\n return go$copyFile(src, dest, flags, cb)\n\n function go$copyFile (src, dest, flags, cb, startTime) {\n return fs$copyFile(src, dest, flags, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$copyFile, [src, dest, flags, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n var fs$readdir = fs.readdir\n fs.readdir = readdir\n var noReaddirOptionVersions = /^v[0-5]\\./\n function readdir (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n var go$readdir = noReaddirOptionVersions.test(process.version)\n ? function go$readdir (path, options, cb, startTime) {\n return fs$readdir(path, fs$readdirCallback(\n path, options, cb, startTime\n ))\n }\n : function go$readdir (path, options, cb, startTime) {\n return fs$readdir(path, options, fs$readdirCallback(\n path, options, cb, startTime\n ))\n }\n\n return go$readdir(path, options, cb)\n\n function fs$readdirCallback (path, options, cb, startTime) {\n return function (err, files) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([\n go$readdir,\n [path, options, cb],\n err,\n startTime || Date.now(),\n Date.now()\n ])\n else {\n if (files && files.sort)\n files.sort()\n\n if (typeof cb === 'function')\n cb.call(this, err, files)\n }\n }\n }\n }\n\n if (process.version.substr(0, 4) === 'v0.8') {\n var legStreams = legacy(fs)\n ReadStream = legStreams.ReadStream\n WriteStream = legStreams.WriteStream\n }\n\n var fs$ReadStream = fs.ReadStream\n if (fs$ReadStream) {\n ReadStream.prototype = Object.create(fs$ReadStream.prototype)\n ReadStream.prototype.open = ReadStream$open\n }\n\n var fs$WriteStream = fs.WriteStream\n if (fs$WriteStream) {\n WriteStream.prototype = Object.create(fs$WriteStream.prototype)\n WriteStream.prototype.open = WriteStream$open\n }\n\n Object.defineProperty(fs, 'ReadStream', {\n get: function () {\n return ReadStream\n },\n set: function (val) {\n ReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n Object.defineProperty(fs, 'WriteStream', {\n get: function () {\n return WriteStream\n },\n set: function (val) {\n WriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n // legacy names\n var FileReadStream = ReadStream\n Object.defineProperty(fs, 'FileReadStream', {\n get: function () {\n return FileReadStream\n },\n set: function (val) {\n FileReadStream = val\n },\n enumerable: true,\n configurable: true\n })\n var FileWriteStream = WriteStream\n Object.defineProperty(fs, 'FileWriteStream', {\n get: function () {\n return FileWriteStream\n },\n set: function (val) {\n FileWriteStream = val\n },\n enumerable: true,\n configurable: true\n })\n\n function ReadStream (path, options) {\n if (this instanceof ReadStream)\n return fs$ReadStream.apply(this, arguments), this\n else\n return ReadStream.apply(Object.create(ReadStream.prototype), arguments)\n }\n\n function ReadStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n if (that.autoClose)\n that.destroy()\n\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n that.read()\n }\n })\n }\n\n function WriteStream (path, options) {\n if (this instanceof WriteStream)\n return fs$WriteStream.apply(this, arguments), this\n else\n return WriteStream.apply(Object.create(WriteStream.prototype), arguments)\n }\n\n function WriteStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n that.destroy()\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n }\n })\n }\n\n function createReadStream (path, options) {\n return new fs.ReadStream(path, options)\n }\n\n function createWriteStream (path, options) {\n return new fs.WriteStream(path, options)\n }\n\n var fs$open = fs.open\n fs.open = open\n function open (path, flags, mode, cb) {\n if (typeof mode === 'function')\n cb = mode, mode = null\n\n return go$open(path, flags, mode, cb)\n\n function go$open (path, flags, mode, cb, startTime) {\n return fs$open(path, flags, mode, function (err, fd) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$open, [path, flags, mode, cb], err, startTime || Date.now(), Date.now()])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n }\n })\n }\n }\n\n return fs\n}\n\nfunction enqueue (elem) {\n debug('ENQUEUE', elem[0].name, elem[1])\n fs[gracefulQueue].push(elem)\n retry()\n}\n\n// keep track of the timeout between retry() calls\nvar retryTimer\n\n// reset the startTime and lastTime to now\n// this resets the start of the 60 second overall timeout as well as the\n// delay between attempts so that we'll retry these jobs sooner\nfunction resetQueue () {\n var now = Date.now()\n for (var i = 0; i < fs[gracefulQueue].length; ++i) {\n // entries that are only a length of 2 are from an older version, don't\n // bother modifying those since they'll be retried anyway.\n if (fs[gracefulQueue][i].length > 2) {\n fs[gracefulQueue][i][3] = now // startTime\n fs[gracefulQueue][i][4] = now // lastTime\n }\n }\n // call retry to make sure we're actively processing the queue\n retry()\n}\n\nfunction retry () {\n // clear the timer and remove it to help prevent unintended concurrency\n clearTimeout(retryTimer)\n retryTimer = undefined\n\n if (fs[gracefulQueue].length === 0)\n return\n\n var elem = fs[gracefulQueue].shift()\n var fn = elem[0]\n var args = elem[1]\n // these items may be unset if they were added by an older graceful-fs\n var err = elem[2]\n var startTime = elem[3]\n var lastTime = elem[4]\n\n // if we don't have a startTime we have no way of knowing if we've waited\n // long enough, so go ahead and retry this item now\n if (startTime === undefined) {\n debug('RETRY', fn.name, args)\n fn.apply(null, args)\n } else if (Date.now() - startTime >= 60000) {\n // it's been more than 60 seconds total, bail now\n debug('TIMEOUT', fn.name, args)\n var cb = args.pop()\n if (typeof cb === 'function')\n cb.call(null, err)\n } else {\n // the amount of time between the last attempt and right now\n var sinceAttempt = Date.now() - lastTime\n // the amount of time between when we first tried, and when we last tried\n // rounded up to at least 1\n var sinceStart = Math.max(lastTime - startTime, 1)\n // backoff. wait longer than the total time we've been retrying, but only\n // up to a maximum of 100ms\n var desiredDelay = Math.min(sinceStart * 1.2, 100)\n // it's been long enough since the last retry, do it again\n if (sinceAttempt >= desiredDelay) {\n debug('RETRY', fn.name, args)\n fn.apply(null, args.concat([startTime]))\n } else {\n // if we can't do this job yet, push it to the end of the queue\n // and let the next iteration check again\n fs[gracefulQueue].push(elem)\n }\n }\n\n // schedule our next run if one isn't already scheduled\n if (retryTimer === undefined) {\n retryTimer = setTimeout(retry, 0)\n }\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/graceful-fs/graceful-fs.js?"); - -/***/ }), - -/***/ "./node_modules/graceful-fs/legacy-streams.js": -/*!****************************************************!*\ - !*** ./node_modules/graceful-fs/legacy-streams.js ***! - \****************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("var Stream = (__webpack_require__(/*! stream */ \"stream\").Stream)\n\nmodule.exports = legacy\n\nfunction legacy (fs) {\n return {\n ReadStream: ReadStream,\n WriteStream: WriteStream\n }\n\n function ReadStream (path, options) {\n if (!(this instanceof ReadStream)) return new ReadStream(path, options);\n\n Stream.call(this);\n\n var self = this;\n\n this.path = path;\n this.fd = null;\n this.readable = true;\n this.paused = false;\n\n this.flags = 'r';\n this.mode = 438; /*=0666*/\n this.bufferSize = 64 * 1024;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.encoding) this.setEncoding(this.encoding);\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.end === undefined) {\n this.end = Infinity;\n } else if ('number' !== typeof this.end) {\n throw TypeError('end must be a Number');\n }\n\n if (this.start > this.end) {\n throw new Error('start must be <= end');\n }\n\n this.pos = this.start;\n }\n\n if (this.fd !== null) {\n process.nextTick(function() {\n self._read();\n });\n return;\n }\n\n fs.open(this.path, this.flags, this.mode, function (err, fd) {\n if (err) {\n self.emit('error', err);\n self.readable = false;\n return;\n }\n\n self.fd = fd;\n self.emit('open', fd);\n self._read();\n })\n }\n\n function WriteStream (path, options) {\n if (!(this instanceof WriteStream)) return new WriteStream(path, options);\n\n Stream.call(this);\n\n this.path = path;\n this.fd = null;\n this.writable = true;\n\n this.flags = 'w';\n this.encoding = 'binary';\n this.mode = 438; /*=0666*/\n this.bytesWritten = 0;\n\n options = options || {};\n\n // Mixin options into this\n var keys = Object.keys(options);\n for (var index = 0, length = keys.length; index < length; index++) {\n var key = keys[index];\n this[key] = options[key];\n }\n\n if (this.start !== undefined) {\n if ('number' !== typeof this.start) {\n throw TypeError('start must be a Number');\n }\n if (this.start < 0) {\n throw new Error('start must be >= zero');\n }\n\n this.pos = this.start;\n }\n\n this.busy = false;\n this._queue = [];\n\n if (this.fd === null) {\n this._open = fs.open;\n this._queue.push([this._open, this.path, this.flags, this.mode, undefined]);\n this.flush();\n }\n }\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/graceful-fs/legacy-streams.js?"); - -/***/ }), - -/***/ "./node_modules/graceful-fs/polyfills.js": -/*!***********************************************!*\ - !*** ./node_modules/graceful-fs/polyfills.js ***! - \***********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("var constants = __webpack_require__(/*! constants */ \"constants\")\n\nvar origCwd = process.cwd\nvar cwd = null\n\nvar platform = process.env.GRACEFUL_FS_PLATFORM || process.platform\n\nprocess.cwd = function() {\n if (!cwd)\n cwd = origCwd.call(process)\n return cwd\n}\ntry {\n process.cwd()\n} catch (er) {}\n\n// This check is needed until node.js 12 is required\nif (typeof process.chdir === 'function') {\n var chdir = process.chdir\n process.chdir = function (d) {\n cwd = null\n chdir.call(process, d)\n }\n if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir)\n}\n\nmodule.exports = patch\n\nfunction patch (fs) {\n // (re-)implement some things that are known busted or missing.\n\n // lchmod, broken prior to 0.6.2\n // back-port the fix here.\n if (constants.hasOwnProperty('O_SYMLINK') &&\n process.version.match(/^v0\\.6\\.[0-2]|^v0\\.5\\./)) {\n patchLchmod(fs)\n }\n\n // lutimes implementation, or no-op\n if (!fs.lutimes) {\n patchLutimes(fs)\n }\n\n // https://github.com/isaacs/node-graceful-fs/issues/4\n // Chown should not fail on einval or eperm if non-root.\n // It should not fail on enosys ever, as this just indicates\n // that a fs doesn't support the intended operation.\n\n fs.chown = chownFix(fs.chown)\n fs.fchown = chownFix(fs.fchown)\n fs.lchown = chownFix(fs.lchown)\n\n fs.chmod = chmodFix(fs.chmod)\n fs.fchmod = chmodFix(fs.fchmod)\n fs.lchmod = chmodFix(fs.lchmod)\n\n fs.chownSync = chownFixSync(fs.chownSync)\n fs.fchownSync = chownFixSync(fs.fchownSync)\n fs.lchownSync = chownFixSync(fs.lchownSync)\n\n fs.chmodSync = chmodFixSync(fs.chmodSync)\n fs.fchmodSync = chmodFixSync(fs.fchmodSync)\n fs.lchmodSync = chmodFixSync(fs.lchmodSync)\n\n fs.stat = statFix(fs.stat)\n fs.fstat = statFix(fs.fstat)\n fs.lstat = statFix(fs.lstat)\n\n fs.statSync = statFixSync(fs.statSync)\n fs.fstatSync = statFixSync(fs.fstatSync)\n fs.lstatSync = statFixSync(fs.lstatSync)\n\n // if lchmod/lchown do not exist, then make them no-ops\n if (fs.chmod && !fs.lchmod) {\n fs.lchmod = function (path, mode, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchmodSync = function () {}\n }\n if (fs.chown && !fs.lchown) {\n fs.lchown = function (path, uid, gid, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchownSync = function () {}\n }\n\n // on Windows, A/V software can lock the directory, causing this\n // to fail with an EACCES or EPERM if the directory contains newly\n // created files. Try again on failure, for up to 60 seconds.\n\n // Set the timeout this long because some Windows Anti-Virus, such as Parity\n // bit9, may lock files for up to a minute, causing npm package install\n // failures. Also, take care to yield the scheduler. Windows scheduling gives\n // CPU to a busy looping process, which can cause the program causing the lock\n // contention to be starved of CPU by node, so the contention doesn't resolve.\n if (platform === \"win32\") {\n fs.rename = typeof fs.rename !== 'function' ? fs.rename\n : (function (fs$rename) {\n function rename (from, to, cb) {\n var start = Date.now()\n var backoff = 0;\n fs$rename(from, to, function CB (er) {\n if (er\n && (er.code === \"EACCES\" || er.code === \"EPERM\" || er.code === \"EBUSY\")\n && Date.now() - start < 60000) {\n setTimeout(function() {\n fs.stat(to, function (stater, st) {\n if (stater && stater.code === \"ENOENT\")\n fs$rename(from, to, CB);\n else\n cb(er)\n })\n }, backoff)\n if (backoff < 100)\n backoff += 10;\n return;\n }\n if (cb) cb(er)\n })\n }\n if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename)\n return rename\n })(fs.rename)\n }\n\n // if read() returns EAGAIN, then just try it again.\n fs.read = typeof fs.read !== 'function' ? fs.read\n : (function (fs$read) {\n function read (fd, buffer, offset, length, position, callback_) {\n var callback\n if (callback_ && typeof callback_ === 'function') {\n var eagCounter = 0\n callback = function (er, _, __) {\n if (er && er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n callback_.apply(this, arguments)\n }\n }\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n\n // This ensures `util.promisify` works as it does for native `fs.read`.\n if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read)\n return read\n })(fs.read)\n\n fs.readSync = typeof fs.readSync !== 'function' ? fs.readSync\n : (function (fs$readSync) { return function (fd, buffer, offset, length, position) {\n var eagCounter = 0\n while (true) {\n try {\n return fs$readSync.call(fs, fd, buffer, offset, length, position)\n } catch (er) {\n if (er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n continue\n }\n throw er\n }\n }\n }})(fs.readSync)\n\n function patchLchmod (fs) {\n fs.lchmod = function (path, mode, callback) {\n fs.open( path\n , constants.O_WRONLY | constants.O_SYMLINK\n , mode\n , function (err, fd) {\n if (err) {\n if (callback) callback(err)\n return\n }\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n fs.fchmod(fd, mode, function (err) {\n fs.close(fd, function(err2) {\n if (callback) callback(err || err2)\n })\n })\n })\n }\n\n fs.lchmodSync = function (path, mode) {\n var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode)\n\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n var threw = true\n var ret\n try {\n ret = fs.fchmodSync(fd, mode)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n }\n\n function patchLutimes (fs) {\n if (constants.hasOwnProperty(\"O_SYMLINK\") && fs.futimes) {\n fs.lutimes = function (path, at, mt, cb) {\n fs.open(path, constants.O_SYMLINK, function (er, fd) {\n if (er) {\n if (cb) cb(er)\n return\n }\n fs.futimes(fd, at, mt, function (er) {\n fs.close(fd, function (er2) {\n if (cb) cb(er || er2)\n })\n })\n })\n }\n\n fs.lutimesSync = function (path, at, mt) {\n var fd = fs.openSync(path, constants.O_SYMLINK)\n var ret\n var threw = true\n try {\n ret = fs.futimesSync(fd, at, mt)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n\n } else if (fs.futimes) {\n fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) }\n fs.lutimesSync = function () {}\n }\n }\n\n function chmodFix (orig) {\n if (!orig) return orig\n return function (target, mode, cb) {\n return orig.call(fs, target, mode, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chmodFixSync (orig) {\n if (!orig) return orig\n return function (target, mode) {\n try {\n return orig.call(fs, target, mode)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n\n function chownFix (orig) {\n if (!orig) return orig\n return function (target, uid, gid, cb) {\n return orig.call(fs, target, uid, gid, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n }\n\n function chownFixSync (orig) {\n if (!orig) return orig\n return function (target, uid, gid) {\n try {\n return orig.call(fs, target, uid, gid)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n }\n\n function statFix (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = null\n }\n function callback (er, stats) {\n if (stats) {\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n }\n if (cb) cb.apply(this, arguments)\n }\n return options ? orig.call(fs, target, options, callback)\n : orig.call(fs, target, callback)\n }\n }\n\n function statFixSync (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, options) {\n var stats = options ? orig.call(fs, target, options)\n : orig.call(fs, target)\n if (stats) {\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n }\n return stats;\n }\n }\n\n // ENOSYS means that the fs doesn't support the op. Just ignore\n // that, because it doesn't matter.\n //\n // if there's no getuid, or if getuid() is something other\n // than 0, and the error is EINVAL or EPERM, then just ignore\n // it.\n //\n // This specific case is a silent failure in cp, install, tar,\n // and most other unix tools that manage permissions.\n //\n // When running as root, or if other types of errors are\n // encountered, then it's strict.\n function chownErOk (er) {\n if (!er)\n return true\n\n if (er.code === \"ENOSYS\")\n return true\n\n var nonroot = !process.getuid || process.getuid() !== 0\n if (nonroot) {\n if (er.code === \"EINVAL\" || er.code === \"EPERM\")\n return true\n }\n\n return false\n }\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/graceful-fs/polyfills.js?"); - -/***/ }), - -/***/ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***! - \**********************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nvar reactIs = __webpack_require__(/*! react-is */ \"./node_modules/hoist-non-react-statics/node_modules/react-is/index.js\");\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n\n\n//# sourceURL=webpack://renderer/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js?"); - -/***/ }), - -/***/ "./node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js": -/*!************************************************************************************************!*\ - !*** ./node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js ***! - \************************************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\n\n\nif (true) {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js?"); - -/***/ }), - -/***/ "./node_modules/hoist-non-react-statics/node_modules/react-is/index.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/hoist-non-react-statics/node_modules/react-is/index.js ***! - \*****************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ \"./node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js\");\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/hoist-non-react-statics/node_modules/react-is/index.js?"); - -/***/ }), - -/***/ "./node_modules/html-encoding-sniffer/lib/html-encoding-sniffer.js": -/*!*************************************************************************!*\ - !*** ./node_modules/html-encoding-sniffer/lib/html-encoding-sniffer.js ***! - \*************************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nconst whatwgEncoding = __webpack_require__(/*! whatwg-encoding */ \"./node_modules/whatwg-encoding/lib/whatwg-encoding.js\");\n\n// https://html.spec.whatwg.org/#encoding-sniffing-algorithm\nmodule.exports = (uint8Array, { transportLayerEncodingLabel, defaultEncoding = \"windows-1252\" } = {}) => {\n let encoding = whatwgEncoding.getBOMEncoding(uint8Array);\n\n if (encoding === null && transportLayerEncodingLabel !== undefined) {\n encoding = whatwgEncoding.labelToName(transportLayerEncodingLabel);\n }\n\n if (encoding === null) {\n encoding = prescanMetaCharset(uint8Array);\n }\n\n if (encoding === null) {\n encoding = defaultEncoding;\n }\n\n return encoding;\n};\n\n// https://html.spec.whatwg.org/multipage/syntax.html#prescan-a-byte-stream-to-determine-its-encoding\nfunction prescanMetaCharset(uint8Array) {\n const l = Math.min(uint8Array.byteLength, 1024);\n for (let i = 0; i < l; i++) {\n let c = uint8Array[i];\n if (c === 0x3C) {\n // \"<\"\n const c1 = uint8Array[i + 1];\n const c2 = uint8Array[i + 2];\n const c3 = uint8Array[i + 3];\n const c4 = uint8Array[i + 4];\n const c5 = uint8Array[i + 5];\n // !-- (comment start)\n if (c1 === 0x21 && c2 === 0x2D && c3 === 0x2D) {\n i += 4;\n for (; i < l; i++) {\n c = uint8Array[i];\n const cMinus1 = uint8Array[i - 1];\n const cMinus2 = uint8Array[i - 2];\n // --> (comment end)\n if (c === 0x3E && cMinus1 === 0x2D && cMinus2 === 0x2D) {\n break;\n }\n }\n } else if ((c1 === 0x4D || c1 === 0x6D) &&\n (c2 === 0x45 || c2 === 0x65) &&\n (c3 === 0x54 || c3 === 0x74) &&\n (c4 === 0x41 || c4 === 0x61) &&\n (isSpaceCharacter(c5) || c5 === 0x2F)) {\n // \"meta\" + space or /\n i += 6;\n const attributeList = new Set();\n let gotPragma = false;\n let needPragma = null;\n let charset = null;\n\n let attrRes;\n do {\n attrRes = getAttribute(uint8Array, i, l);\n if (attrRes.attr && !attributeList.has(attrRes.attr.name)) {\n attributeList.add(attrRes.attr.name);\n if (attrRes.attr.name === \"http-equiv\") {\n gotPragma = attrRes.attr.value === \"content-type\";\n } else if (attrRes.attr.name === \"content\" && !charset) {\n charset = extractCharacterEncodingFromMeta(attrRes.attr.value);\n if (charset !== null) {\n needPragma = true;\n }\n } else if (attrRes.attr.name === \"charset\") {\n charset = whatwgEncoding.labelToName(attrRes.attr.value);\n needPragma = false;\n }\n }\n i = attrRes.i;\n } while (attrRes.attr);\n\n if (needPragma === null) {\n continue;\n }\n if (needPragma === true && gotPragma === false) {\n continue;\n }\n if (charset === null) {\n continue;\n }\n\n if (charset === \"UTF-16LE\" || charset === \"UTF-16BE\") {\n charset = \"UTF-8\";\n }\n if (charset === \"x-user-defined\") {\n charset = \"windows-1252\";\n }\n\n return charset;\n } else if ((c1 >= 0x41 && c1 <= 0x5A) || (c1 >= 0x61 && c1 <= 0x7A)) {\n // a-z or A-Z\n for (i += 2; i < l; i++) {\n c = uint8Array[i];\n // space or >\n if (isSpaceCharacter(c) || c === 0x3E) {\n break;\n }\n }\n let attrRes;\n do {\n attrRes = getAttribute(uint8Array, i, l);\n i = attrRes.i;\n } while (attrRes.attr);\n } else if (c1 === 0x21 || c1 === 0x2F || c1 === 0x3F) {\n // ! or / or ?\n for (i += 2; i < l; i++) {\n c = uint8Array[i];\n // >\n if (c === 0x3E) {\n break;\n }\n }\n }\n }\n }\n return null;\n}\n\n// https://html.spec.whatwg.org/multipage/syntax.html#concept-get-attributes-when-sniffing\nfunction getAttribute(uint8Array, i, l) {\n for (; i < l; i++) {\n let c = uint8Array[i];\n // space or /\n if (isSpaceCharacter(c) || c === 0x2F) {\n continue;\n }\n // \">\"\n if (c === 0x3E) {\n break;\n }\n let name = \"\";\n let value = \"\";\n nameLoop:for (; i < l; i++) {\n c = uint8Array[i];\n // \"=\"\n if (c === 0x3D && name !== \"\") {\n i++;\n break;\n }\n // space\n if (isSpaceCharacter(c)) {\n for (i++; i < l; i++) {\n c = uint8Array[i];\n // space\n if (isSpaceCharacter(c)) {\n continue;\n }\n // not \"=\"\n if (c !== 0x3D) {\n return { attr: { name, value }, i };\n }\n\n i++;\n break nameLoop;\n }\n break;\n }\n // / or >\n if (c === 0x2F || c === 0x3E) {\n return { attr: { name, value }, i };\n }\n // A-Z\n if (c >= 0x41 && c <= 0x5A) {\n name += String.fromCharCode(c + 0x20); // lowercase\n } else {\n name += String.fromCharCode(c);\n }\n }\n c = uint8Array[i];\n // space\n if (isSpaceCharacter(c)) {\n for (i++; i < l; i++) {\n c = uint8Array[i];\n // space\n if (isSpaceCharacter(c)) {\n continue;\n } else {\n break;\n }\n }\n }\n // \" or '\n if (c === 0x22 || c === 0x27) {\n const quote = c;\n for (i++; i < l; i++) {\n c = uint8Array[i];\n\n if (c === quote) {\n i++;\n return { attr: { name, value }, i };\n }\n\n // A-Z\n if (c >= 0x41 && c <= 0x5A) {\n value += String.fromCharCode(c + 0x20); // lowercase\n } else {\n value += String.fromCharCode(c);\n }\n }\n }\n\n // >\n if (c === 0x3E) {\n return { attr: { name, value }, i };\n }\n\n // A-Z\n if (c >= 0x41 && c <= 0x5A) {\n value += String.fromCharCode(c + 0x20); // lowercase\n } else {\n value += String.fromCharCode(c);\n }\n\n for (i++; i < l; i++) {\n c = uint8Array[i];\n\n // space or >\n if (isSpaceCharacter(c) || c === 0x3E) {\n return { attr: { name, value }, i };\n }\n\n // A-Z\n if (c >= 0x41 && c <= 0x5A) {\n value += String.fromCharCode(c + 0x20); // lowercase\n } else {\n value += String.fromCharCode(c);\n }\n }\n }\n return { i };\n}\n\nfunction extractCharacterEncodingFromMeta(string) {\n let position = 0;\n\n while (true) {\n const indexOfCharset = string.substring(position).search(/charset/ui);\n\n if (indexOfCharset === -1) {\n return null;\n }\n let subPosition = position + indexOfCharset + \"charset\".length;\n\n while (isSpaceCharacter(string[subPosition].charCodeAt(0))) {\n ++subPosition;\n }\n\n if (string[subPosition] !== \"=\") {\n position = subPosition - 1;\n continue;\n }\n\n ++subPosition;\n\n while (isSpaceCharacter(string[subPosition].charCodeAt(0))) {\n ++subPosition;\n }\n\n position = subPosition;\n break;\n }\n\n if (string[position] === \"\\\"\" || string[position] === \"'\") {\n const nextIndex = string.indexOf(string[position], position + 1);\n\n if (nextIndex !== -1) {\n return whatwgEncoding.labelToName(string.substring(position + 1, nextIndex));\n }\n\n // It is an unmatched quotation mark\n return null;\n }\n\n if (string.length === position + 1) {\n return null;\n }\n\n const indexOfASCIIWhitespaceOrSemicolon = string.substring(position + 1).search(/\\x09|\\x0A|\\x0C|\\x0D|\\x20|;/u);\n const end = indexOfASCIIWhitespaceOrSemicolon === -1 ?\n string.length :\n position + indexOfASCIIWhitespaceOrSemicolon + 1;\n\n return whatwgEncoding.labelToName(string.substring(position, end));\n}\n\nfunction isSpaceCharacter(c) {\n return c === 0x09 || c === 0x0A || c === 0x0C || c === 0x0D || c === 0x20;\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/html-encoding-sniffer/lib/html-encoding-sniffer.js?"); - -/***/ }), - -/***/ "./node_modules/iconv-lite/encodings/dbcs-codec.js": -/*!*********************************************************!*\ - !*** ./node_modules/iconv-lite/encodings/dbcs-codec.js ***! - \*********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nvar Buffer = (__webpack_require__(/*! safer-buffer */ \"./node_modules/safer-buffer/safer.js\").Buffer);\n\n// Multibyte codec. In this scheme, a character is represented by 1 or more bytes.\n// Our codec supports UTF-16 surrogates, extensions for GB18030 and unicode sequences.\n// To save memory and loading time, we read table files only when requested.\n\nexports._dbcs = DBCSCodec;\n\nvar UNASSIGNED = -1,\n GB18030_CODE = -2,\n SEQ_START = -10,\n NODE_START = -1000,\n UNASSIGNED_NODE = new Array(0x100),\n DEF_CHAR = -1;\n\nfor (var i = 0; i < 0x100; i++)\n UNASSIGNED_NODE[i] = UNASSIGNED;\n\n\n// Class DBCSCodec reads and initializes mapping tables.\nfunction DBCSCodec(codecOptions, iconv) {\n this.encodingName = codecOptions.encodingName;\n if (!codecOptions)\n throw new Error(\"DBCS codec is called without the data.\")\n if (!codecOptions.table)\n throw new Error(\"Encoding '\" + this.encodingName + \"' has no data.\");\n\n // Load tables.\n var mappingTable = codecOptions.table();\n\n\n // Decode tables: MBCS -> Unicode.\n\n // decodeTables is a trie, encoded as an array of arrays of integers. Internal arrays are trie nodes and all have len = 256.\n // Trie root is decodeTables[0].\n // Values: >= 0 -> unicode character code. can be > 0xFFFF\n // == UNASSIGNED -> unknown/unassigned sequence.\n // == GB18030_CODE -> this is the end of a GB18030 4-byte sequence.\n // <= NODE_START -> index of the next node in our trie to process next byte.\n // <= SEQ_START -> index of the start of a character code sequence, in decodeTableSeq.\n this.decodeTables = [];\n this.decodeTables[0] = UNASSIGNED_NODE.slice(0); // Create root node.\n\n // Sometimes a MBCS char corresponds to a sequence of unicode chars. We store them as arrays of integers here. \n this.decodeTableSeq = [];\n\n // Actual mapping tables consist of chunks. Use them to fill up decode tables.\n for (var i = 0; i < mappingTable.length; i++)\n this._addDecodeChunk(mappingTable[i]);\n\n // Load & create GB18030 tables when needed.\n if (typeof codecOptions.gb18030 === 'function') {\n this.gb18030 = codecOptions.gb18030(); // Load GB18030 ranges.\n\n // Add GB18030 common decode nodes.\n var commonThirdByteNodeIdx = this.decodeTables.length;\n this.decodeTables.push(UNASSIGNED_NODE.slice(0));\n\n var commonFourthByteNodeIdx = this.decodeTables.length;\n this.decodeTables.push(UNASSIGNED_NODE.slice(0));\n\n // Fill out the tree\n var firstByteNode = this.decodeTables[0];\n for (var i = 0x81; i <= 0xFE; i++) {\n var secondByteNode = this.decodeTables[NODE_START - firstByteNode[i]];\n for (var j = 0x30; j <= 0x39; j++) {\n if (secondByteNode[j] === UNASSIGNED) {\n secondByteNode[j] = NODE_START - commonThirdByteNodeIdx;\n } else if (secondByteNode[j] > NODE_START) {\n throw new Error(\"gb18030 decode tables conflict at byte 2\");\n }\n\n var thirdByteNode = this.decodeTables[NODE_START - secondByteNode[j]];\n for (var k = 0x81; k <= 0xFE; k++) {\n if (thirdByteNode[k] === UNASSIGNED) {\n thirdByteNode[k] = NODE_START - commonFourthByteNodeIdx;\n } else if (thirdByteNode[k] === NODE_START - commonFourthByteNodeIdx) {\n continue;\n } else if (thirdByteNode[k] > NODE_START) {\n throw new Error(\"gb18030 decode tables conflict at byte 3\");\n }\n\n var fourthByteNode = this.decodeTables[NODE_START - thirdByteNode[k]];\n for (var l = 0x30; l <= 0x39; l++) {\n if (fourthByteNode[l] === UNASSIGNED)\n fourthByteNode[l] = GB18030_CODE;\n }\n }\n }\n }\n }\n\n this.defaultCharUnicode = iconv.defaultCharUnicode;\n\n \n // Encode tables: Unicode -> DBCS.\n\n // `encodeTable` is array mapping from unicode char to encoded char. All its values are integers for performance.\n // Because it can be sparse, it is represented as array of buckets by 256 chars each. Bucket can be null.\n // Values: >= 0 -> it is a normal char. Write the value (if <=256 then 1 byte, if <=65536 then 2 bytes, etc.).\n // == UNASSIGNED -> no conversion found. Output a default char.\n // <= SEQ_START -> it's an index in encodeTableSeq, see below. The character starts a sequence.\n this.encodeTable = [];\n \n // `encodeTableSeq` is used when a sequence of unicode characters is encoded as a single code. We use a tree of\n // objects where keys correspond to characters in sequence and leafs are the encoded dbcs values. A special DEF_CHAR key\n // means end of sequence (needed when one sequence is a strict subsequence of another).\n // Objects are kept separately from encodeTable to increase performance.\n this.encodeTableSeq = [];\n\n // Some chars can be decoded, but need not be encoded.\n var skipEncodeChars = {};\n if (codecOptions.encodeSkipVals)\n for (var i = 0; i < codecOptions.encodeSkipVals.length; i++) {\n var val = codecOptions.encodeSkipVals[i];\n if (typeof val === 'number')\n skipEncodeChars[val] = true;\n else\n for (var j = val.from; j <= val.to; j++)\n skipEncodeChars[j] = true;\n }\n \n // Use decode trie to recursively fill out encode tables.\n this._fillEncodeTable(0, 0, skipEncodeChars);\n\n // Add more encoding pairs when needed.\n if (codecOptions.encodeAdd) {\n for (var uChar in codecOptions.encodeAdd)\n if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar))\n this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]);\n }\n\n this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)];\n if (this.defCharSB === UNASSIGNED) this.defCharSB = this.encodeTable[0]['?'];\n if (this.defCharSB === UNASSIGNED) this.defCharSB = \"?\".charCodeAt(0);\n}\n\nDBCSCodec.prototype.encoder = DBCSEncoder;\nDBCSCodec.prototype.decoder = DBCSDecoder;\n\n// Decoder helpers\nDBCSCodec.prototype._getDecodeTrieNode = function(addr) {\n var bytes = [];\n for (; addr > 0; addr >>>= 8)\n bytes.push(addr & 0xFF);\n if (bytes.length == 0)\n bytes.push(0);\n\n var node = this.decodeTables[0];\n for (var i = bytes.length-1; i > 0; i--) { // Traverse nodes deeper into the trie.\n var val = node[bytes[i]];\n\n if (val == UNASSIGNED) { // Create new node.\n node[bytes[i]] = NODE_START - this.decodeTables.length;\n this.decodeTables.push(node = UNASSIGNED_NODE.slice(0));\n }\n else if (val <= NODE_START) { // Existing node.\n node = this.decodeTables[NODE_START - val];\n }\n else\n throw new Error(\"Overwrite byte in \" + this.encodingName + \", addr: \" + addr.toString(16));\n }\n return node;\n}\n\n\nDBCSCodec.prototype._addDecodeChunk = function(chunk) {\n // First element of chunk is the hex mbcs code where we start.\n var curAddr = parseInt(chunk[0], 16);\n\n // Choose the decoding node where we'll write our chars.\n var writeTable = this._getDecodeTrieNode(curAddr);\n curAddr = curAddr & 0xFF;\n\n // Write all other elements of the chunk to the table.\n for (var k = 1; k < chunk.length; k++) {\n var part = chunk[k];\n if (typeof part === \"string\") { // String, write as-is.\n for (var l = 0; l < part.length;) {\n var code = part.charCodeAt(l++);\n if (0xD800 <= code && code < 0xDC00) { // Decode surrogate\n var codeTrail = part.charCodeAt(l++);\n if (0xDC00 <= codeTrail && codeTrail < 0xE000)\n writeTable[curAddr++] = 0x10000 + (code - 0xD800) * 0x400 + (codeTrail - 0xDC00);\n else\n throw new Error(\"Incorrect surrogate pair in \" + this.encodingName + \" at chunk \" + chunk[0]);\n }\n else if (0x0FF0 < code && code <= 0x0FFF) { // Character sequence (our own encoding used)\n var len = 0xFFF - code + 2;\n var seq = [];\n for (var m = 0; m < len; m++)\n seq.push(part.charCodeAt(l++)); // Simple variation: don't support surrogates or subsequences in seq.\n\n writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length;\n this.decodeTableSeq.push(seq);\n }\n else\n writeTable[curAddr++] = code; // Basic char\n }\n } \n else if (typeof part === \"number\") { // Integer, meaning increasing sequence starting with prev character.\n var charCode = writeTable[curAddr - 1] + 1;\n for (var l = 0; l < part; l++)\n writeTable[curAddr++] = charCode++;\n }\n else\n throw new Error(\"Incorrect type '\" + typeof part + \"' given in \" + this.encodingName + \" at chunk \" + chunk[0]);\n }\n if (curAddr > 0xFF)\n throw new Error(\"Incorrect chunk in \" + this.encodingName + \" at addr \" + chunk[0] + \": too long\" + curAddr);\n}\n\n// Encoder helpers\nDBCSCodec.prototype._getEncodeBucket = function(uCode) {\n var high = uCode >> 8; // This could be > 0xFF because of astral characters.\n if (this.encodeTable[high] === undefined)\n this.encodeTable[high] = UNASSIGNED_NODE.slice(0); // Create bucket on demand.\n return this.encodeTable[high];\n}\n\nDBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) {\n var bucket = this._getEncodeBucket(uCode);\n var low = uCode & 0xFF;\n if (bucket[low] <= SEQ_START)\n this.encodeTableSeq[SEQ_START-bucket[low]][DEF_CHAR] = dbcsCode; // There's already a sequence, set a single-char subsequence of it.\n else if (bucket[low] == UNASSIGNED)\n bucket[low] = dbcsCode;\n}\n\nDBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) {\n \n // Get the root of character tree according to first character of the sequence.\n var uCode = seq[0];\n var bucket = this._getEncodeBucket(uCode);\n var low = uCode & 0xFF;\n\n var node;\n if (bucket[low] <= SEQ_START) {\n // There's already a sequence with - use it.\n node = this.encodeTableSeq[SEQ_START-bucket[low]];\n }\n else {\n // There was no sequence object - allocate a new one.\n node = {};\n if (bucket[low] !== UNASSIGNED) node[DEF_CHAR] = bucket[low]; // If a char was set before - make it a single-char subsequence.\n bucket[low] = SEQ_START - this.encodeTableSeq.length;\n this.encodeTableSeq.push(node);\n }\n\n // Traverse the character tree, allocating new nodes as needed.\n for (var j = 1; j < seq.length-1; j++) {\n var oldVal = node[uCode];\n if (typeof oldVal === 'object')\n node = oldVal;\n else {\n node = node[uCode] = {}\n if (oldVal !== undefined)\n node[DEF_CHAR] = oldVal\n }\n }\n\n // Set the leaf to given dbcsCode.\n uCode = seq[seq.length-1];\n node[uCode] = dbcsCode;\n}\n\nDBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) {\n var node = this.decodeTables[nodeIdx];\n var hasValues = false;\n var subNodeEmpty = {};\n for (var i = 0; i < 0x100; i++) {\n var uCode = node[i];\n var mbCode = prefix + i;\n if (skipEncodeChars[mbCode])\n continue;\n\n if (uCode >= 0) {\n this._setEncodeChar(uCode, mbCode);\n hasValues = true;\n } else if (uCode <= NODE_START) {\n var subNodeIdx = NODE_START - uCode;\n if (!subNodeEmpty[subNodeIdx]) { // Skip empty subtrees (they are too large in gb18030).\n var newPrefix = (mbCode << 8) >>> 0; // NOTE: '>>> 0' keeps 32-bit num positive.\n if (this._fillEncodeTable(subNodeIdx, newPrefix, skipEncodeChars))\n hasValues = true;\n else\n subNodeEmpty[subNodeIdx] = true;\n }\n } else if (uCode <= SEQ_START) {\n this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode);\n hasValues = true;\n }\n }\n return hasValues;\n}\n\n\n\n// == Encoder ==================================================================\n\nfunction DBCSEncoder(options, codec) {\n // Encoder state\n this.leadSurrogate = -1;\n this.seqObj = undefined;\n \n // Static data\n this.encodeTable = codec.encodeTable;\n this.encodeTableSeq = codec.encodeTableSeq;\n this.defaultCharSingleByte = codec.defCharSB;\n this.gb18030 = codec.gb18030;\n}\n\nDBCSEncoder.prototype.write = function(str) {\n var newBuf = Buffer.alloc(str.length * (this.gb18030 ? 4 : 3)),\n leadSurrogate = this.leadSurrogate,\n seqObj = this.seqObj, nextChar = -1,\n i = 0, j = 0;\n\n while (true) {\n // 0. Get next character.\n if (nextChar === -1) {\n if (i == str.length) break;\n var uCode = str.charCodeAt(i++);\n }\n else {\n var uCode = nextChar;\n nextChar = -1; \n }\n\n // 1. Handle surrogates.\n if (0xD800 <= uCode && uCode < 0xE000) { // Char is one of surrogates.\n if (uCode < 0xDC00) { // We've got lead surrogate.\n if (leadSurrogate === -1) {\n leadSurrogate = uCode;\n continue;\n } else {\n leadSurrogate = uCode;\n // Double lead surrogate found.\n uCode = UNASSIGNED;\n }\n } else { // We've got trail surrogate.\n if (leadSurrogate !== -1) {\n uCode = 0x10000 + (leadSurrogate - 0xD800) * 0x400 + (uCode - 0xDC00);\n leadSurrogate = -1;\n } else {\n // Incomplete surrogate pair - only trail surrogate found.\n uCode = UNASSIGNED;\n }\n \n }\n }\n else if (leadSurrogate !== -1) {\n // Incomplete surrogate pair - only lead surrogate found.\n nextChar = uCode; uCode = UNASSIGNED; // Write an error, then current char.\n leadSurrogate = -1;\n }\n\n // 2. Convert uCode character.\n var dbcsCode = UNASSIGNED;\n if (seqObj !== undefined && uCode != UNASSIGNED) { // We are in the middle of the sequence\n var resCode = seqObj[uCode];\n if (typeof resCode === 'object') { // Sequence continues.\n seqObj = resCode;\n continue;\n\n } else if (typeof resCode == 'number') { // Sequence finished. Write it.\n dbcsCode = resCode;\n\n } else if (resCode == undefined) { // Current character is not part of the sequence.\n\n // Try default character for this sequence\n resCode = seqObj[DEF_CHAR];\n if (resCode !== undefined) {\n dbcsCode = resCode; // Found. Write it.\n nextChar = uCode; // Current character will be written too in the next iteration.\n\n } else {\n // TODO: What if we have no default? (resCode == undefined)\n // Then, we should write first char of the sequence as-is and try the rest recursively.\n // Didn't do it for now because no encoding has this situation yet.\n // Currently, just skip the sequence and write current char.\n }\n }\n seqObj = undefined;\n }\n else if (uCode >= 0) { // Regular character\n var subtable = this.encodeTable[uCode >> 8];\n if (subtable !== undefined)\n dbcsCode = subtable[uCode & 0xFF];\n \n if (dbcsCode <= SEQ_START) { // Sequence start\n seqObj = this.encodeTableSeq[SEQ_START-dbcsCode];\n continue;\n }\n\n if (dbcsCode == UNASSIGNED && this.gb18030) {\n // Use GB18030 algorithm to find character(s) to write.\n var idx = findIdx(this.gb18030.uChars, uCode);\n if (idx != -1) {\n var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]);\n newBuf[j++] = 0x81 + Math.floor(dbcsCode / 12600); dbcsCode = dbcsCode % 12600;\n newBuf[j++] = 0x30 + Math.floor(dbcsCode / 1260); dbcsCode = dbcsCode % 1260;\n newBuf[j++] = 0x81 + Math.floor(dbcsCode / 10); dbcsCode = dbcsCode % 10;\n newBuf[j++] = 0x30 + dbcsCode;\n continue;\n }\n }\n }\n\n // 3. Write dbcsCode character.\n if (dbcsCode === UNASSIGNED)\n dbcsCode = this.defaultCharSingleByte;\n \n if (dbcsCode < 0x100) {\n newBuf[j++] = dbcsCode;\n }\n else if (dbcsCode < 0x10000) {\n newBuf[j++] = dbcsCode >> 8; // high byte\n newBuf[j++] = dbcsCode & 0xFF; // low byte\n }\n else if (dbcsCode < 0x1000000) {\n newBuf[j++] = dbcsCode >> 16;\n newBuf[j++] = (dbcsCode >> 8) & 0xFF;\n newBuf[j++] = dbcsCode & 0xFF;\n } else {\n newBuf[j++] = dbcsCode >>> 24;\n newBuf[j++] = (dbcsCode >>> 16) & 0xFF;\n newBuf[j++] = (dbcsCode >>> 8) & 0xFF;\n newBuf[j++] = dbcsCode & 0xFF;\n }\n }\n\n this.seqObj = seqObj;\n this.leadSurrogate = leadSurrogate;\n return newBuf.slice(0, j);\n}\n\nDBCSEncoder.prototype.end = function() {\n if (this.leadSurrogate === -1 && this.seqObj === undefined)\n return; // All clean. Most often case.\n\n var newBuf = Buffer.alloc(10), j = 0;\n\n if (this.seqObj) { // We're in the sequence.\n var dbcsCode = this.seqObj[DEF_CHAR];\n if (dbcsCode !== undefined) { // Write beginning of the sequence.\n if (dbcsCode < 0x100) {\n newBuf[j++] = dbcsCode;\n }\n else {\n newBuf[j++] = dbcsCode >> 8; // high byte\n newBuf[j++] = dbcsCode & 0xFF; // low byte\n }\n } else {\n // See todo above.\n }\n this.seqObj = undefined;\n }\n\n if (this.leadSurrogate !== -1) {\n // Incomplete surrogate pair - only lead surrogate found.\n newBuf[j++] = this.defaultCharSingleByte;\n this.leadSurrogate = -1;\n }\n \n return newBuf.slice(0, j);\n}\n\n// Export for testing\nDBCSEncoder.prototype.findIdx = findIdx;\n\n\n// == Decoder ==================================================================\n\nfunction DBCSDecoder(options, codec) {\n // Decoder state\n this.nodeIdx = 0;\n this.prevBytes = [];\n\n // Static data\n this.decodeTables = codec.decodeTables;\n this.decodeTableSeq = codec.decodeTableSeq;\n this.defaultCharUnicode = codec.defaultCharUnicode;\n this.gb18030 = codec.gb18030;\n}\n\nDBCSDecoder.prototype.write = function(buf) {\n var newBuf = Buffer.alloc(buf.length*2),\n nodeIdx = this.nodeIdx, \n prevBytes = this.prevBytes, prevOffset = this.prevBytes.length,\n seqStart = -this.prevBytes.length, // idx of the start of current parsed sequence.\n uCode;\n\n for (var i = 0, j = 0; i < buf.length; i++) {\n var curByte = (i >= 0) ? buf[i] : prevBytes[i + prevOffset];\n\n // Lookup in current trie node.\n var uCode = this.decodeTables[nodeIdx][curByte];\n\n if (uCode >= 0) { \n // Normal character, just use it.\n }\n else if (uCode === UNASSIGNED) { // Unknown char.\n // TODO: Callback with seq.\n uCode = this.defaultCharUnicode.charCodeAt(0);\n i = seqStart; // Skip one byte ('i' will be incremented by the for loop) and try to parse again.\n }\n else if (uCode === GB18030_CODE) {\n if (i >= 3) {\n var ptr = (buf[i-3]-0x81)*12600 + (buf[i-2]-0x30)*1260 + (buf[i-1]-0x81)*10 + (curByte-0x30);\n } else {\n var ptr = (prevBytes[i-3+prevOffset]-0x81)*12600 + \n (((i-2 >= 0) ? buf[i-2] : prevBytes[i-2+prevOffset])-0x30)*1260 + \n (((i-1 >= 0) ? buf[i-1] : prevBytes[i-1+prevOffset])-0x81)*10 + \n (curByte-0x30);\n }\n var idx = findIdx(this.gb18030.gbChars, ptr);\n uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx];\n }\n else if (uCode <= NODE_START) { // Go to next trie node.\n nodeIdx = NODE_START - uCode;\n continue;\n }\n else if (uCode <= SEQ_START) { // Output a sequence of chars.\n var seq = this.decodeTableSeq[SEQ_START - uCode];\n for (var k = 0; k < seq.length - 1; k++) {\n uCode = seq[k];\n newBuf[j++] = uCode & 0xFF;\n newBuf[j++] = uCode >> 8;\n }\n uCode = seq[seq.length-1];\n }\n else\n throw new Error(\"iconv-lite internal error: invalid decoding table value \" + uCode + \" at \" + nodeIdx + \"/\" + curByte);\n\n // Write the character to buffer, handling higher planes using surrogate pair.\n if (uCode >= 0x10000) { \n uCode -= 0x10000;\n var uCodeLead = 0xD800 | (uCode >> 10);\n newBuf[j++] = uCodeLead & 0xFF;\n newBuf[j++] = uCodeLead >> 8;\n\n uCode = 0xDC00 | (uCode & 0x3FF);\n }\n newBuf[j++] = uCode & 0xFF;\n newBuf[j++] = uCode >> 8;\n\n // Reset trie node.\n nodeIdx = 0; seqStart = i+1;\n }\n\n this.nodeIdx = nodeIdx;\n this.prevBytes = (seqStart >= 0)\n ? Array.prototype.slice.call(buf, seqStart)\n : prevBytes.slice(seqStart + prevOffset).concat(Array.prototype.slice.call(buf));\n\n return newBuf.slice(0, j).toString('ucs2');\n}\n\nDBCSDecoder.prototype.end = function() {\n var ret = '';\n\n // Try to parse all remaining chars.\n while (this.prevBytes.length > 0) {\n // Skip 1 character in the buffer.\n ret += this.defaultCharUnicode;\n var bytesArr = this.prevBytes.slice(1);\n\n // Parse remaining as usual.\n this.prevBytes = [];\n this.nodeIdx = 0;\n if (bytesArr.length > 0)\n ret += this.write(bytesArr);\n }\n\n this.prevBytes = [];\n this.nodeIdx = 0;\n return ret;\n}\n\n// Binary search for GB18030. Returns largest i such that table[i] <= val.\nfunction findIdx(table, val) {\n if (table[0] > val)\n return -1;\n\n var l = 0, r = table.length;\n while (l < r-1) { // always table[l] <= val < table[r]\n var mid = l + ((r-l+1) >> 1);\n if (table[mid] <= val)\n l = mid;\n else\n r = mid;\n }\n return l;\n}\n\n\n\n//# sourceURL=webpack://renderer/./node_modules/iconv-lite/encodings/dbcs-codec.js?"); - -/***/ }), - -/***/ "./node_modules/iconv-lite/encodings/dbcs-data.js": -/*!********************************************************!*\ - !*** ./node_modules/iconv-lite/encodings/dbcs-data.js ***! - \********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\n// Description of supported double byte encodings and aliases.\n// Tables are not require()-d until they are needed to speed up library load.\n// require()-s are direct to support Browserify.\n\nmodule.exports = {\n \n // == Japanese/ShiftJIS ====================================================\n // All japanese encodings are based on JIS X set of standards:\n // JIS X 0201 - Single-byte encoding of ASCII + ¥ + Kana chars at 0xA1-0xDF.\n // JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes. \n // Has several variations in 1978, 1983, 1990 and 1997.\n // JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead.\n // JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233.\n // 2 planes, first is superset of 0208, second - revised 0212.\n // Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx)\n\n // Byte encodings are:\n // * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte\n // encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC.\n // Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI.\n // * EUC-JP: Up to 3 bytes per character. Used mostly on *nixes.\n // 0x00-0x7F - lower part of 0201\n // 0x8E, 0xA1-0xDF - upper part of 0201\n // (0xA1-0xFE)x2 - 0208 plane (94x94).\n // 0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94).\n // * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon.\n // Used as-is in ISO2022 family.\n // * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII, \n // 0201-1976 Roman, 0208-1978, 0208-1983.\n // * ISO2022-JP-1: Adds esc seq for 0212-1990.\n // * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7.\n // * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2.\n // * ISO2022-JP-2004: Adds 0213-2004 Plane 1.\n //\n // After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes.\n //\n // Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html\n\n 'shiftjis': {\n type: '_dbcs',\n table: function() { return __webpack_require__(/*! ./tables/shiftjis.json */ \"./node_modules/iconv-lite/encodings/tables/shiftjis.json\") },\n encodeAdd: {'\\u00a5': 0x5C, '\\u203E': 0x7E},\n encodeSkipVals: [{from: 0xED40, to: 0xF940}],\n },\n 'csshiftjis': 'shiftjis',\n 'mskanji': 'shiftjis',\n 'sjis': 'shiftjis',\n 'windows31j': 'shiftjis',\n 'ms31j': 'shiftjis',\n 'xsjis': 'shiftjis',\n 'windows932': 'shiftjis',\n 'ms932': 'shiftjis',\n '932': 'shiftjis',\n 'cp932': 'shiftjis',\n\n 'eucjp': {\n type: '_dbcs',\n table: function() { return __webpack_require__(/*! ./tables/eucjp.json */ \"./node_modules/iconv-lite/encodings/tables/eucjp.json\") },\n encodeAdd: {'\\u00a5': 0x5C, '\\u203E': 0x7E},\n },\n\n // TODO: KDDI extension to Shift_JIS\n // TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes.\n // TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars.\n\n\n // == Chinese/GBK ==========================================================\n // http://en.wikipedia.org/wiki/GBK\n // We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder\n\n // Oldest GB2312 (1981, ~7600 chars) is a subset of CP936\n 'gb2312': 'cp936',\n 'gb231280': 'cp936',\n 'gb23121980': 'cp936',\n 'csgb2312': 'cp936',\n 'csiso58gb231280': 'cp936',\n 'euccn': 'cp936',\n\n // Microsoft's CP936 is a subset and approximation of GBK.\n 'windows936': 'cp936',\n 'ms936': 'cp936',\n '936': 'cp936',\n 'cp936': {\n type: '_dbcs',\n table: function() { return __webpack_require__(/*! ./tables/cp936.json */ \"./node_modules/iconv-lite/encodings/tables/cp936.json\") },\n },\n\n // GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other.\n 'gbk': {\n type: '_dbcs',\n table: function() { return (__webpack_require__(/*! ./tables/cp936.json */ \"./node_modules/iconv-lite/encodings/tables/cp936.json\").concat)(__webpack_require__(/*! ./tables/gbk-added.json */ \"./node_modules/iconv-lite/encodings/tables/gbk-added.json\")) },\n },\n 'xgbk': 'gbk',\n 'isoir58': 'gbk',\n\n // GB18030 is an algorithmic extension of GBK.\n // Main source: https://www.w3.org/TR/encoding/#gbk-encoder\n // http://icu-project.org/docs/papers/gb18030.html\n // http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml\n // http://www.khngai.com/chinese/charmap/tblgbk.php?page=0\n 'gb18030': {\n type: '_dbcs',\n table: function() { return (__webpack_require__(/*! ./tables/cp936.json */ \"./node_modules/iconv-lite/encodings/tables/cp936.json\").concat)(__webpack_require__(/*! ./tables/gbk-added.json */ \"./node_modules/iconv-lite/encodings/tables/gbk-added.json\")) },\n gb18030: function() { return __webpack_require__(/*! ./tables/gb18030-ranges.json */ \"./node_modules/iconv-lite/encodings/tables/gb18030-ranges.json\") },\n encodeSkipVals: [0x80],\n encodeAdd: {'€': 0xA2E3},\n },\n\n 'chinese': 'gb18030',\n\n\n // == Korean ===============================================================\n // EUC-KR, KS_C_5601 and KS X 1001 are exactly the same.\n 'windows949': 'cp949',\n 'ms949': 'cp949',\n '949': 'cp949',\n 'cp949': {\n type: '_dbcs',\n table: function() { return __webpack_require__(/*! ./tables/cp949.json */ \"./node_modules/iconv-lite/encodings/tables/cp949.json\") },\n },\n\n 'cseuckr': 'cp949',\n 'csksc56011987': 'cp949',\n 'euckr': 'cp949',\n 'isoir149': 'cp949',\n 'korean': 'cp949',\n 'ksc56011987': 'cp949',\n 'ksc56011989': 'cp949',\n 'ksc5601': 'cp949',\n\n\n // == Big5/Taiwan/Hong Kong ================================================\n // There are lots of tables for Big5 and cp950. Please see the following links for history:\n // http://moztw.org/docs/big5/ http://www.haible.de/bruno/charsets/conversion-tables/Big5.html\n // Variations, in roughly number of defined chars:\n // * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT\n // * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/\n // * Big5-2003 (Taiwan standard) almost superset of cp950.\n // * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers.\n // * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard. \n // many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years.\n // Plus, it has 4 combining sequences.\n // Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299\n // because big5-hkscs is the only encoding to include astral characters in non-algorithmic way.\n // Implementations are not consistent within browsers; sometimes labeled as just big5.\n // MS Internet Explorer switches from big5 to big5-hkscs when a patch applied.\n // Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31\n // In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s.\n // Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt\n // http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt\n // \n // Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder\n // Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong.\n\n 'windows950': 'cp950',\n 'ms950': 'cp950',\n '950': 'cp950',\n 'cp950': {\n type: '_dbcs',\n table: function() { return __webpack_require__(/*! ./tables/cp950.json */ \"./node_modules/iconv-lite/encodings/tables/cp950.json\") },\n },\n\n // Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus.\n 'big5': 'big5hkscs',\n 'big5hkscs': {\n type: '_dbcs',\n table: function() { return (__webpack_require__(/*! ./tables/cp950.json */ \"./node_modules/iconv-lite/encodings/tables/cp950.json\").concat)(__webpack_require__(/*! ./tables/big5-added.json */ \"./node_modules/iconv-lite/encodings/tables/big5-added.json\")) },\n encodeSkipVals: [\n // Although Encoding Standard says we should avoid encoding to HKSCS area (See Step 1 of\n // https://encoding.spec.whatwg.org/#index-big5-pointer), we still do it to increase compatibility with ICU.\n // But if a single unicode point can be encoded both as HKSCS and regular Big5, we prefer the latter.\n 0x8e69, 0x8e6f, 0x8e7e, 0x8eab, 0x8eb4, 0x8ecd, 0x8ed0, 0x8f57, 0x8f69, 0x8f6e, 0x8fcb, 0x8ffe,\n 0x906d, 0x907a, 0x90c4, 0x90dc, 0x90f1, 0x91bf, 0x92af, 0x92b0, 0x92b1, 0x92b2, 0x92d1, 0x9447, 0x94ca,\n 0x95d9, 0x96fc, 0x9975, 0x9b76, 0x9b78, 0x9b7b, 0x9bc6, 0x9bde, 0x9bec, 0x9bf6, 0x9c42, 0x9c53, 0x9c62,\n 0x9c68, 0x9c6b, 0x9c77, 0x9cbc, 0x9cbd, 0x9cd0, 0x9d57, 0x9d5a, 0x9dc4, 0x9def, 0x9dfb, 0x9ea9, 0x9eef,\n 0x9efd, 0x9f60, 0x9fcb, 0xa077, 0xa0dc, 0xa0df, 0x8fcc, 0x92c8, 0x9644, 0x96ed,\n\n // Step 2 of https://encoding.spec.whatwg.org/#index-big5-pointer: Use last pointer for U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345\n 0xa2a4, 0xa2a5, 0xa2a7, 0xa2a6, 0xa2cc, 0xa2ce,\n ],\n },\n\n 'cnbig5': 'big5hkscs',\n 'csbig5': 'big5hkscs',\n 'xxbig5': 'big5hkscs',\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/iconv-lite/encodings/dbcs-data.js?"); - -/***/ }), - -/***/ "./node_modules/iconv-lite/encodings/index.js": -/*!****************************************************!*\ - !*** ./node_modules/iconv-lite/encodings/index.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\n\n// Update this array if you add/rename/remove files in this directory.\n// We support Browserify by skipping automatic module discovery and requiring modules directly.\nvar modules = [\n __webpack_require__(/*! ./internal */ \"./node_modules/iconv-lite/encodings/internal.js\"),\n __webpack_require__(/*! ./utf32 */ \"./node_modules/iconv-lite/encodings/utf32.js\"),\n __webpack_require__(/*! ./utf16 */ \"./node_modules/iconv-lite/encodings/utf16.js\"),\n __webpack_require__(/*! ./utf7 */ \"./node_modules/iconv-lite/encodings/utf7.js\"),\n __webpack_require__(/*! ./sbcs-codec */ \"./node_modules/iconv-lite/encodings/sbcs-codec.js\"),\n __webpack_require__(/*! ./sbcs-data */ \"./node_modules/iconv-lite/encodings/sbcs-data.js\"),\n __webpack_require__(/*! ./sbcs-data-generated */ \"./node_modules/iconv-lite/encodings/sbcs-data-generated.js\"),\n __webpack_require__(/*! ./dbcs-codec */ \"./node_modules/iconv-lite/encodings/dbcs-codec.js\"),\n __webpack_require__(/*! ./dbcs-data */ \"./node_modules/iconv-lite/encodings/dbcs-data.js\"),\n];\n\n// Put all encoding/alias/codec definitions to single object and export it.\nfor (var i = 0; i < modules.length; i++) {\n var module = modules[i];\n for (var enc in module)\n if (Object.prototype.hasOwnProperty.call(module, enc))\n exports[enc] = module[enc];\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/iconv-lite/encodings/index.js?"); - -/***/ }), - -/***/ "./node_modules/iconv-lite/encodings/internal.js": -/*!*******************************************************!*\ - !*** ./node_modules/iconv-lite/encodings/internal.js ***! - \*******************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nvar Buffer = (__webpack_require__(/*! safer-buffer */ \"./node_modules/safer-buffer/safer.js\").Buffer);\n\n// Export Node.js internal encodings.\n\nmodule.exports = {\n // Encodings\n utf8: { type: \"_internal\", bomAware: true},\n cesu8: { type: \"_internal\", bomAware: true},\n unicode11utf8: \"utf8\",\n\n ucs2: { type: \"_internal\", bomAware: true},\n utf16le: \"ucs2\",\n\n binary: { type: \"_internal\" },\n base64: { type: \"_internal\" },\n hex: { type: \"_internal\" },\n\n // Codec.\n _internal: InternalCodec,\n};\n\n//------------------------------------------------------------------------------\n\nfunction InternalCodec(codecOptions, iconv) {\n this.enc = codecOptions.encodingName;\n this.bomAware = codecOptions.bomAware;\n\n if (this.enc === \"base64\")\n this.encoder = InternalEncoderBase64;\n else if (this.enc === \"cesu8\") {\n this.enc = \"utf8\"; // Use utf8 for decoding.\n this.encoder = InternalEncoderCesu8;\n\n // Add decoder for versions of Node not supporting CESU-8\n if (Buffer.from('eda0bdedb2a9', 'hex').toString() !== '💩') {\n this.decoder = InternalDecoderCesu8;\n this.defaultCharUnicode = iconv.defaultCharUnicode;\n }\n }\n}\n\nInternalCodec.prototype.encoder = InternalEncoder;\nInternalCodec.prototype.decoder = InternalDecoder;\n\n//------------------------------------------------------------------------------\n\n// We use node.js internal decoder. Its signature is the same as ours.\nvar StringDecoder = (__webpack_require__(/*! string_decoder */ \"string_decoder\").StringDecoder);\n\nif (!StringDecoder.prototype.end) // Node v0.8 doesn't have this method.\n StringDecoder.prototype.end = function() {};\n\n\nfunction InternalDecoder(options, codec) {\n this.decoder = new StringDecoder(codec.enc);\n}\n\nInternalDecoder.prototype.write = function(buf) {\n if (!Buffer.isBuffer(buf)) {\n buf = Buffer.from(buf);\n }\n\n return this.decoder.write(buf);\n}\n\nInternalDecoder.prototype.end = function() {\n return this.decoder.end();\n}\n\n\n//------------------------------------------------------------------------------\n// Encoder is mostly trivial\n\nfunction InternalEncoder(options, codec) {\n this.enc = codec.enc;\n}\n\nInternalEncoder.prototype.write = function(str) {\n return Buffer.from(str, this.enc);\n}\n\nInternalEncoder.prototype.end = function() {\n}\n\n\n//------------------------------------------------------------------------------\n// Except base64 encoder, which must keep its state.\n\nfunction InternalEncoderBase64(options, codec) {\n this.prevStr = '';\n}\n\nInternalEncoderBase64.prototype.write = function(str) {\n str = this.prevStr + str;\n var completeQuads = str.length - (str.length % 4);\n this.prevStr = str.slice(completeQuads);\n str = str.slice(0, completeQuads);\n\n return Buffer.from(str, \"base64\");\n}\n\nInternalEncoderBase64.prototype.end = function() {\n return Buffer.from(this.prevStr, \"base64\");\n}\n\n\n//------------------------------------------------------------------------------\n// CESU-8 encoder is also special.\n\nfunction InternalEncoderCesu8(options, codec) {\n}\n\nInternalEncoderCesu8.prototype.write = function(str) {\n var buf = Buffer.alloc(str.length * 3), bufIdx = 0;\n for (var i = 0; i < str.length; i++) {\n var charCode = str.charCodeAt(i);\n // Naive implementation, but it works because CESU-8 is especially easy\n // to convert from UTF-16 (which all JS strings are encoded in).\n if (charCode < 0x80)\n buf[bufIdx++] = charCode;\n else if (charCode < 0x800) {\n buf[bufIdx++] = 0xC0 + (charCode >>> 6);\n buf[bufIdx++] = 0x80 + (charCode & 0x3f);\n }\n else { // charCode will always be < 0x10000 in javascript.\n buf[bufIdx++] = 0xE0 + (charCode >>> 12);\n buf[bufIdx++] = 0x80 + ((charCode >>> 6) & 0x3f);\n buf[bufIdx++] = 0x80 + (charCode & 0x3f);\n }\n }\n return buf.slice(0, bufIdx);\n}\n\nInternalEncoderCesu8.prototype.end = function() {\n}\n\n//------------------------------------------------------------------------------\n// CESU-8 decoder is not implemented in Node v4.0+\n\nfunction InternalDecoderCesu8(options, codec) {\n this.acc = 0;\n this.contBytes = 0;\n this.accBytes = 0;\n this.defaultCharUnicode = codec.defaultCharUnicode;\n}\n\nInternalDecoderCesu8.prototype.write = function(buf) {\n var acc = this.acc, contBytes = this.contBytes, accBytes = this.accBytes, \n res = '';\n for (var i = 0; i < buf.length; i++) {\n var curByte = buf[i];\n if ((curByte & 0xC0) !== 0x80) { // Leading byte\n if (contBytes > 0) { // Previous code is invalid\n res += this.defaultCharUnicode;\n contBytes = 0;\n }\n\n if (curByte < 0x80) { // Single-byte code\n res += String.fromCharCode(curByte);\n } else if (curByte < 0xE0) { // Two-byte code\n acc = curByte & 0x1F;\n contBytes = 1; accBytes = 1;\n } else if (curByte < 0xF0) { // Three-byte code\n acc = curByte & 0x0F;\n contBytes = 2; accBytes = 1;\n } else { // Four or more are not supported for CESU-8.\n res += this.defaultCharUnicode;\n }\n } else { // Continuation byte\n if (contBytes > 0) { // We're waiting for it.\n acc = (acc << 6) | (curByte & 0x3f);\n contBytes--; accBytes++;\n if (contBytes === 0) {\n // Check for overlong encoding, but support Modified UTF-8 (encoding NULL as C0 80)\n if (accBytes === 2 && acc < 0x80 && acc > 0)\n res += this.defaultCharUnicode;\n else if (accBytes === 3 && acc < 0x800)\n res += this.defaultCharUnicode;\n else\n // Actually add character.\n res += String.fromCharCode(acc);\n }\n } else { // Unexpected continuation byte\n res += this.defaultCharUnicode;\n }\n }\n }\n this.acc = acc; this.contBytes = contBytes; this.accBytes = accBytes;\n return res;\n}\n\nInternalDecoderCesu8.prototype.end = function() {\n var res = 0;\n if (this.contBytes > 0)\n res += this.defaultCharUnicode;\n return res;\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/iconv-lite/encodings/internal.js?"); - -/***/ }), - -/***/ "./node_modules/iconv-lite/encodings/sbcs-codec.js": -/*!*********************************************************!*\ - !*** ./node_modules/iconv-lite/encodings/sbcs-codec.js ***! - \*********************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nvar Buffer = (__webpack_require__(/*! safer-buffer */ \"./node_modules/safer-buffer/safer.js\").Buffer);\n\n// Single-byte codec. Needs a 'chars' string parameter that contains 256 or 128 chars that\n// correspond to encoded bytes (if 128 - then lower half is ASCII). \n\nexports._sbcs = SBCSCodec;\nfunction SBCSCodec(codecOptions, iconv) {\n if (!codecOptions)\n throw new Error(\"SBCS codec is called without the data.\")\n \n // Prepare char buffer for decoding.\n if (!codecOptions.chars || (codecOptions.chars.length !== 128 && codecOptions.chars.length !== 256))\n throw new Error(\"Encoding '\"+codecOptions.type+\"' has incorrect 'chars' (must be of len 128 or 256)\");\n \n if (codecOptions.chars.length === 128) {\n var asciiString = \"\";\n for (var i = 0; i < 128; i++)\n asciiString += String.fromCharCode(i);\n codecOptions.chars = asciiString + codecOptions.chars;\n }\n\n this.decodeBuf = Buffer.from(codecOptions.chars, 'ucs2');\n \n // Encoding buffer.\n var encodeBuf = Buffer.alloc(65536, iconv.defaultCharSingleByte.charCodeAt(0));\n\n for (var i = 0; i < codecOptions.chars.length; i++)\n encodeBuf[codecOptions.chars.charCodeAt(i)] = i;\n\n this.encodeBuf = encodeBuf;\n}\n\nSBCSCodec.prototype.encoder = SBCSEncoder;\nSBCSCodec.prototype.decoder = SBCSDecoder;\n\n\nfunction SBCSEncoder(options, codec) {\n this.encodeBuf = codec.encodeBuf;\n}\n\nSBCSEncoder.prototype.write = function(str) {\n var buf = Buffer.alloc(str.length);\n for (var i = 0; i < str.length; i++)\n buf[i] = this.encodeBuf[str.charCodeAt(i)];\n \n return buf;\n}\n\nSBCSEncoder.prototype.end = function() {\n}\n\n\nfunction SBCSDecoder(options, codec) {\n this.decodeBuf = codec.decodeBuf;\n}\n\nSBCSDecoder.prototype.write = function(buf) {\n // Strings are immutable in JS -> we use ucs2 buffer to speed up computations.\n var decodeBuf = this.decodeBuf;\n var newBuf = Buffer.alloc(buf.length*2);\n var idx1 = 0, idx2 = 0;\n for (var i = 0; i < buf.length; i++) {\n idx1 = buf[i]*2; idx2 = i*2;\n newBuf[idx2] = decodeBuf[idx1];\n newBuf[idx2+1] = decodeBuf[idx1+1];\n }\n return newBuf.toString('ucs2');\n}\n\nSBCSDecoder.prototype.end = function() {\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/iconv-lite/encodings/sbcs-codec.js?"); - -/***/ }), - -/***/ "./node_modules/iconv-lite/encodings/sbcs-data-generated.js": -/*!******************************************************************!*\ - !*** ./node_modules/iconv-lite/encodings/sbcs-data-generated.js ***! - \******************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\n// Generated data for sbcs codec. Don't edit manually. Regenerate using generation/gen-sbcs.js script.\nmodule.exports = {\n \"437\": \"cp437\",\n \"737\": \"cp737\",\n \"775\": \"cp775\",\n \"850\": \"cp850\",\n \"852\": \"cp852\",\n \"855\": \"cp855\",\n \"856\": \"cp856\",\n \"857\": \"cp857\",\n \"858\": \"cp858\",\n \"860\": \"cp860\",\n \"861\": \"cp861\",\n \"862\": \"cp862\",\n \"863\": \"cp863\",\n \"864\": \"cp864\",\n \"865\": \"cp865\",\n \"866\": \"cp866\",\n \"869\": \"cp869\",\n \"874\": \"windows874\",\n \"922\": \"cp922\",\n \"1046\": \"cp1046\",\n \"1124\": \"cp1124\",\n \"1125\": \"cp1125\",\n \"1129\": \"cp1129\",\n \"1133\": \"cp1133\",\n \"1161\": \"cp1161\",\n \"1162\": \"cp1162\",\n \"1163\": \"cp1163\",\n \"1250\": \"windows1250\",\n \"1251\": \"windows1251\",\n \"1252\": \"windows1252\",\n \"1253\": \"windows1253\",\n \"1254\": \"windows1254\",\n \"1255\": \"windows1255\",\n \"1256\": \"windows1256\",\n \"1257\": \"windows1257\",\n \"1258\": \"windows1258\",\n \"28591\": \"iso88591\",\n \"28592\": \"iso88592\",\n \"28593\": \"iso88593\",\n \"28594\": \"iso88594\",\n \"28595\": \"iso88595\",\n \"28596\": \"iso88596\",\n \"28597\": \"iso88597\",\n \"28598\": \"iso88598\",\n \"28599\": \"iso88599\",\n \"28600\": \"iso885910\",\n \"28601\": \"iso885911\",\n \"28603\": \"iso885913\",\n \"28604\": \"iso885914\",\n \"28605\": \"iso885915\",\n \"28606\": \"iso885916\",\n \"windows874\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����\"\n },\n \"win874\": \"windows874\",\n \"cp874\": \"windows874\",\n \"windows1250\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙\"\n },\n \"win1250\": \"windows1250\",\n \"cp1250\": \"windows1250\",\n \"windows1251\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя\"\n },\n \"win1251\": \"windows1251\",\n \"cp1251\": \"windows1251\",\n \"windows1252\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\"\n },\n \"win1252\": \"windows1252\",\n \"cp1252\": \"windows1252\",\n \"windows1253\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�\"\n },\n \"win1253\": \"windows1253\",\n \"cp1253\": \"windows1253\",\n \"windows1254\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ\"\n },\n \"win1254\": \"windows1254\",\n \"cp1254\": \"windows1254\",\n \"windows1255\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�\"\n },\n \"win1255\": \"windows1255\",\n \"cp1255\": \"windows1255\",\n \"windows1256\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے\"\n },\n \"win1256\": \"windows1256\",\n \"cp1256\": \"windows1256\",\n \"windows1257\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙\"\n },\n \"win1257\": \"windows1257\",\n \"cp1257\": \"windows1257\",\n \"windows1258\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ\"\n },\n \"win1258\": \"windows1258\",\n \"cp1258\": \"windows1258\",\n \"iso88591\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\"\n },\n \"cp28591\": \"iso88591\",\n \"iso88592\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙\"\n },\n \"cp28592\": \"iso88592\",\n \"iso88593\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ħ˘£¤�Ĥ§¨İŞĞĴ­�Ż°ħ²³´µĥ·¸ışğĵ½�żÀÁÂ�ÄĊĈÇÈÉÊËÌÍÎÏ�ÑÒÓÔĠÖ×ĜÙÚÛÜŬŜßàáâ�äċĉçèéêëìíîï�ñòóôġö÷ĝùúûüŭŝ˙\"\n },\n \"cp28593\": \"iso88593\",\n \"iso88594\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĸŖ¤ĨĻ§¨ŠĒĢŦ­Ž¯°ą˛ŗ´ĩļˇ¸šēģŧŊžŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎĪĐŅŌĶÔÕÖ×ØŲÚÛÜŨŪßāáâãäåæįčéęëėíîīđņōķôõö÷øųúûüũū˙\"\n },\n \"cp28594\": \"iso88594\",\n \"iso88595\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ЁЂЃЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ\"\n },\n \"cp28595\": \"iso88595\",\n \"iso88596\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ���¤�������،­�������������؛���؟�ءآأؤإئابةتثجحخدذرزسشصضطظعغ�����ـفقكلمنهوىيًٌٍَُِّْ�������������\"\n },\n \"cp28596\": \"iso88596\",\n \"iso88597\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ‘’£€₯¦§¨©ͺ«¬­�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�\"\n },\n \"cp28597\": \"iso88597\",\n \"iso88598\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ �¢£¤¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾��������������������������������‗אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�\"\n },\n \"cp28598\": \"iso88598\",\n \"iso88599\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ\"\n },\n \"cp28599\": \"iso88599\",\n \"iso885910\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĒĢĪĨĶ§ĻĐŠŦŽ­ŪŊ°ąēģīĩķ·ļđšŧž―ūŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎÏÐŅŌÓÔÕÖŨØŲÚÛÜÝÞßāáâãäåæįčéęëėíîïðņōóôõöũøųúûüýþĸ\"\n },\n \"cp28600\": \"iso885910\",\n \"iso885911\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����\"\n },\n \"cp28601\": \"iso885911\",\n \"iso885913\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’\"\n },\n \"cp28603\": \"iso885913\",\n \"iso885914\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ḃḃ£ĊċḊ§Ẁ©ẂḋỲ­®ŸḞḟĠġṀṁ¶ṖẁṗẃṠỳẄẅṡÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŴÑÒÓÔÕÖṪØÙÚÛÜÝŶßàáâãäåæçèéêëìíîïŵñòóôõöṫøùúûüýŷÿ\"\n },\n \"cp28604\": \"iso885914\",\n \"iso885915\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\"\n },\n \"cp28605\": \"iso885915\",\n \"iso885916\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄąŁ€„Š§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ\"\n },\n \"cp28606\": \"iso885916\",\n \"cp437\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \"\n },\n \"ibm437\": \"cp437\",\n \"csibm437\": \"cp437\",\n \"cp737\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ \"\n },\n \"ibm737\": \"cp737\",\n \"csibm737\": \"cp737\",\n \"cp775\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ĆüéāäģåćłēŖŗīŹÄÅÉæÆōöĢ¢ŚśÖÜø£ØפĀĪóŻżź”¦©®¬½¼Ł«»░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀ÓßŌŃõÕµńĶķĻļņĒŅ’­±“¾¶§÷„°∙·¹³²■ \"\n },\n \"ibm775\": \"cp775\",\n \"csibm775\": \"cp775\",\n \"cp850\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø׃áíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ \"\n },\n \"ibm850\": \"cp850\",\n \"csibm850\": \"cp850\",\n \"cp852\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘ꬟Ⱥ«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ \"\n },\n \"ibm852\": \"cp852\",\n \"csibm852\": \"cp852\",\n \"cp855\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ђЂѓЃёЁєЄѕЅіІїЇјЈљЉњЊћЋќЌўЎџЏюЮъЪаАбБцЦдДеЕфФгГ«»░▒▓│┤хХиИ╣║╗╝йЙ┐└┴┬├─┼кК╚╔╩╦╠═╬¤лЛмМнНоОп┘┌█▄Пя▀ЯрРсСтТуУжЖвВьЬ№­ыЫзЗшШэЭщЩчЧ§■ \"\n },\n \"ibm855\": \"cp855\",\n \"csibm855\": \"cp855\",\n \"cp856\": {\n \"type\": \"_sbcs\",\n \"chars\": \"אבגדהוזחטיךכלםמןנסעףפץצקרשת�£�×����������®¬½¼�«»░▒▓│┤���©╣║╗╝¢¥┐└┴┬├─┼��╚╔╩╦╠═╬¤���������┘┌█▄¦�▀������µ�������¯´­±‗¾¶§÷¸°¨·¹³²■ \"\n },\n \"ibm856\": \"cp856\",\n \"csibm856\": \"cp856\",\n \"cp857\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞ𿮬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ \"\n },\n \"ibm857\": \"cp857\",\n \"csibm857\": \"cp857\",\n \"cp858\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø׃áíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈ€ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ \"\n },\n \"ibm858\": \"cp858\",\n \"csibm858\": \"cp858\",\n \"cp860\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ÇüéâãàÁçêÊèÍÔìÃÂÉÀÈôõòÚùÌÕÜ¢£Ù₧ÓáíóúñѪº¿Ò¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \"\n },\n \"ibm860\": \"cp860\",\n \"csibm860\": \"cp860\",\n \"cp861\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \"\n },\n \"ibm861\": \"cp861\",\n \"csibm861\": \"cp861\",\n \"cp862\": {\n \"type\": \"_sbcs\",\n \"chars\": \"אבגדהוזחטיךכלםמןנסעףפץצקרשת¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \"\n },\n \"ibm862\": \"cp862\",\n \"csibm862\": \"cp862\",\n \"cp863\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ÇüéâÂà¶çêëèïî‗À§ÉÈÊôËÏûù¤ÔÜ¢£ÙÛƒ¦´óú¨¸³¯Î⌐¬½¼¾«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \"\n },\n \"ibm863\": \"cp863\",\n \"csibm863\": \"cp863\",\n \"cp864\": {\n \"type\": \"_sbcs\",\n \"chars\": \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$٪&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~°·∙√▒─│┼┤┬├┴┐┌└┘β∞φ±½¼≈«»ﻷﻸ��ﻻﻼ� ­ﺂ£¤ﺄ��ﺎﺏﺕﺙ،ﺝﺡﺥ٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻁﻅﻋﻏ¦¬÷×ﻉـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡﹽّﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■�\"\n },\n \"ibm864\": \"cp864\",\n \"csibm864\": \"cp864\",\n \"cp865\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \"\n },\n \"ibm865\": \"cp865\",\n \"csibm865\": \"cp865\",\n \"cp866\": {\n \"type\": \"_sbcs\",\n \"chars\": \"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ \"\n },\n \"ibm866\": \"cp866\",\n \"csibm866\": \"cp866\",\n \"cp869\": {\n \"type\": \"_sbcs\",\n \"chars\": \"������Ά�·¬¦‘’Έ―ΉΊΪΌ��ΎΫ©Ώ²³ά£έήίϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐└┴┬├─┼ΠΡ╚╔╩╦╠═╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπρσςτ΄­±υφχ§ψ΅°¨ωϋΰώ■ \"\n },\n \"ibm869\": \"cp869\",\n \"csibm869\": \"cp869\",\n \"cp922\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®‾°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŠÑÒÓÔÕÖ×ØÙÚÛÜÝŽßàáâãäåæçèéêëìíîïšñòóôõö÷øùúûüýžÿ\"\n },\n \"ibm922\": \"cp922\",\n \"csibm922\": \"cp922\",\n \"cp1046\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ﺈ×÷ﹱˆ■│─┐┌└┘ﹹﹻﹽﹿﹷﺊﻰﻳﻲﻎﻏﻐﻶﻸﻺﻼ ¤ﺋﺑﺗﺛﺟﺣ،­ﺧﺳ٠١٢٣٤٥٦٧٨٩ﺷ؛ﺻﺿﻊ؟ﻋءآأؤإئابةتثجحخدذرزسشصضطﻇعغﻌﺂﺄﺎﻓـفقكلمنهوىيًٌٍَُِّْﻗﻛﻟﻵﻷﻹﻻﻣﻧﻬﻩ�\"\n },\n \"ibm1046\": \"cp1046\",\n \"csibm1046\": \"cp1046\",\n \"cp1124\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ЁЂҐЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђґєѕіїјљњћќ§ўџ\"\n },\n \"ibm1124\": \"cp1124\",\n \"csibm1124\": \"cp1124\",\n \"cp1125\": {\n \"type\": \"_sbcs\",\n \"chars\": \"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■ \"\n },\n \"ibm1125\": \"cp1125\",\n \"csibm1125\": \"cp1125\",\n \"cp1129\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ\"\n },\n \"ibm1129\": \"cp1129\",\n \"csibm1129\": \"cp1129\",\n \"cp1133\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ກຂຄງຈສຊຍດຕຖທນບປຜຝພຟມຢຣລວຫອຮ���ຯະາຳິີຶືຸູຼັົຽ���ເແໂໃໄ່້໊໋໌ໍໆ�ໜໝ₭����������������໐໑໒໓໔໕໖໗໘໙��¢¬¦�\"\n },\n \"ibm1133\": \"cp1133\",\n \"csibm1133\": \"cp1133\",\n \"cp1161\": {\n \"type\": \"_sbcs\",\n \"chars\": \"��������������������������������่กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู้๊๋€฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛¢¬¦ \"\n },\n \"ibm1161\": \"cp1161\",\n \"csibm1161\": \"cp1161\",\n \"cp1162\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����\"\n },\n \"ibm1162\": \"cp1162\",\n \"csibm1162\": \"cp1162\",\n \"cp1163\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ\"\n },\n \"ibm1163\": \"cp1163\",\n \"csibm1163\": \"cp1163\",\n \"maccroatian\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊�©⁄¤‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ\"\n },\n \"maccyrillic\": {\n \"type\": \"_sbcs\",\n \"chars\": \"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤\"\n },\n \"macgreek\": {\n \"type\": \"_sbcs\",\n \"chars\": \"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�\"\n },\n \"maciceland\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\"\n },\n \"macroman\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\"\n },\n \"macromania\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂŞ∞±≤≥¥µ∂∑∏π∫ªºΩăş¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›Ţţ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\"\n },\n \"macthai\": {\n \"type\": \"_sbcs\",\n \"chars\": \"«»…“”�•‘’� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู​–—฿เแโใไๅๆ็่้๊๋์ํ™๏๐๑๒๓๔๕๖๗๘๙®©����\"\n },\n \"macturkish\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ\"\n },\n \"macukraine\": {\n \"type\": \"_sbcs\",\n \"chars\": \"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤\"\n },\n \"koi8r\": {\n \"type\": \"_sbcs\",\n \"chars\": \"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ\"\n },\n \"koi8u\": {\n \"type\": \"_sbcs\",\n \"chars\": \"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґ╝╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪Ґ╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ\"\n },\n \"koi8ru\": {\n \"type\": \"_sbcs\",\n \"chars\": \"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґў╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪ҐЎ©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ\"\n },\n \"koi8t\": {\n \"type\": \"_sbcs\",\n \"chars\": \"қғ‚Ғ„…†‡�‰ҳ‹ҲҷҶ�Қ‘’“”•–—�™�›�����ӯӮё¤ӣ¦§���«¬­®�°±²Ё�Ӣ¶·�№�»���©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ\"\n },\n \"armscii8\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ �և։)(»«—.՝,-֊…՜՛՞ԱաԲբԳգԴդԵեԶզԷէԸըԹթԺժԻիԼլԽխԾծԿկՀհՁձՂղՃճՄմՅյՆնՇշՈոՉչՊպՋջՌռՍսՎվՏտՐրՑցՒւՓփՔքՕօՖֆ՚�\"\n },\n \"rk1048\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ЂЃ‚ѓ„…†‡€‰Љ‹ЊҚҺЏђ‘’“”•–—�™љ›њқһџ ҰұӘ¤Ө¦§Ё©Ғ«¬­®Ү°±Ііөµ¶·ё№ғ»әҢңүАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя\"\n },\n \"tcvn\": {\n \"type\": \"_sbcs\",\n \"chars\": \"\\u0000ÚỤ\\u0003ỪỬỮ\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010ỨỰỲỶỸÝỴ\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÀẢÃÁẠẶẬÈẺẼÉẸỆÌỈĨÍỊÒỎÕÓỌỘỜỞỠỚỢÙỦŨ ĂÂÊÔƠƯĐăâêôơưđẶ̀̀̉̃́àảãáạẲằẳẵắẴẮẦẨẪẤỀặầẩẫấậèỂẻẽéẹềểễếệìỉỄẾỒĩíịòỔỏõóọồổỗốộờởỡớợùỖủũúụừửữứựỳỷỹýỵỐ\"\n },\n \"georgianacademy\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზთიკლმნოპჟრსტუფქღყშჩცძწჭხჯჰჱჲჳჴჵჶçèéêëìíîïðñòóôõö÷øùúûüýþÿ\"\n },\n \"georgianps\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზჱთიკლმნჲოპჟრსტჳუფქღყშჩცძწჭხჴჯჰჵæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\"\n },\n \"pt154\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ҖҒӮғ„…ҶҮҲүҠӢҢҚҺҸҗ‘’“”•–—ҳҷҡӣңқһҹ ЎўЈӨҘҰ§Ё©Ә«¬ӯ®Ҝ°ұІіҙө¶·ё№ә»јҪҫҝАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя\"\n },\n \"viscii\": {\n \"type\": \"_sbcs\",\n \"chars\": \"\\u0000\\u0001Ẳ\\u0003\\u0004ẴẪ\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013Ỷ\\u0015\\u0016\\u0017\\u0018Ỹ\\u001a\\u001b\\u001c\\u001dỴ\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ẠẮẰẶẤẦẨẬẼẸẾỀỂỄỆỐỒỔỖỘỢỚỜỞỊỎỌỈỦŨỤỲÕắằặấầẩậẽẹếềểễệốồổỗỠƠộờởịỰỨỪỬơớƯÀÁÂÃẢĂẳẵÈÉÊẺÌÍĨỳĐứÒÓÔạỷừửÙÚỹỵÝỡưàáâãảăữẫèéêẻìíĩỉđựòóôõỏọụùúũủýợỮ\"\n },\n \"iso646cn\": {\n \"type\": \"_sbcs\",\n \"chars\": \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������\"\n },\n \"iso646jp\": {\n \"type\": \"_sbcs\",\n \"chars\": \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������\"\n },\n \"hproman8\": {\n \"type\": \"_sbcs\",\n \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ÀÂÈÊËÎÏ´ˋˆ¨˜ÙÛ₤¯Ýý°ÇçÑñ¡¿¤£¥§ƒ¢âêôûáéóúàèòùäëöüÅîØÆåíøæÄìÖÜÉïßÔÁÃãÐðÍÌÓÒÕõŠšÚŸÿÞþ·µ¶¾—¼½ªº«■»±�\"\n },\n \"macintosh\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\"\n },\n \"ascii\": {\n \"type\": \"_sbcs\",\n \"chars\": \"��������������������������������������������������������������������������������������������������������������������������������\"\n },\n \"tis620\": {\n \"type\": \"_sbcs\",\n \"chars\": \"���������������������������������กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����\"\n }\n}\n\n//# sourceURL=webpack://renderer/./node_modules/iconv-lite/encodings/sbcs-data-generated.js?"); - -/***/ }), - -/***/ "./node_modules/iconv-lite/encodings/sbcs-data.js": -/*!********************************************************!*\ - !*** ./node_modules/iconv-lite/encodings/sbcs-data.js ***! - \********************************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\n// Manually added data to be used by sbcs codec in addition to generated one.\n\nmodule.exports = {\n // Not supported by iconv, not sure why.\n \"10029\": \"maccenteuro\",\n \"maccenteuro\": {\n \"type\": \"_sbcs\",\n \"chars\": \"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ\"\n },\n\n \"808\": \"cp808\",\n \"ibm808\": \"cp808\",\n \"cp808\": {\n \"type\": \"_sbcs\",\n \"chars\": \"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№€■ \"\n },\n\n \"mik\": {\n \"type\": \"_sbcs\",\n \"chars\": \"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя└┴┬├─┼╣║╚╔╩╦╠═╬┐░▒▓│┤№§╗╝┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \"\n },\n\n \"cp720\": {\n \"type\": \"_sbcs\",\n \"chars\": \"\\x80\\x81éâ\\x84à\\x86çêëèïî\\x8d\\x8e\\x8f\\x90\\u0651\\u0652ô¤ـûùءآأؤ£إئابةتثجحخدذرزسشص«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ضطظعغفµقكلمنهوىي≡\\u064b\\u064c\\u064d\\u064e\\u064f\\u0650≈°∙·√ⁿ²■\\u00a0\"\n },\n\n // Aliases of generated encodings.\n \"ascii8bit\": \"ascii\",\n \"usascii\": \"ascii\",\n \"ansix34\": \"ascii\",\n \"ansix341968\": \"ascii\",\n \"ansix341986\": \"ascii\",\n \"csascii\": \"ascii\",\n \"cp367\": \"ascii\",\n \"ibm367\": \"ascii\",\n \"isoir6\": \"ascii\",\n \"iso646us\": \"ascii\",\n \"iso646irv\": \"ascii\",\n \"us\": \"ascii\",\n\n \"latin1\": \"iso88591\",\n \"latin2\": \"iso88592\",\n \"latin3\": \"iso88593\",\n \"latin4\": \"iso88594\",\n \"latin5\": \"iso88599\",\n \"latin6\": \"iso885910\",\n \"latin7\": \"iso885913\",\n \"latin8\": \"iso885914\",\n \"latin9\": \"iso885915\",\n \"latin10\": \"iso885916\",\n\n \"csisolatin1\": \"iso88591\",\n \"csisolatin2\": \"iso88592\",\n \"csisolatin3\": \"iso88593\",\n \"csisolatin4\": \"iso88594\",\n \"csisolatincyrillic\": \"iso88595\",\n \"csisolatinarabic\": \"iso88596\",\n \"csisolatingreek\" : \"iso88597\",\n \"csisolatinhebrew\": \"iso88598\",\n \"csisolatin5\": \"iso88599\",\n \"csisolatin6\": \"iso885910\",\n\n \"l1\": \"iso88591\",\n \"l2\": \"iso88592\",\n \"l3\": \"iso88593\",\n \"l4\": \"iso88594\",\n \"l5\": \"iso88599\",\n \"l6\": \"iso885910\",\n \"l7\": \"iso885913\",\n \"l8\": \"iso885914\",\n \"l9\": \"iso885915\",\n \"l10\": \"iso885916\",\n\n \"isoir14\": \"iso646jp\",\n \"isoir57\": \"iso646cn\",\n \"isoir100\": \"iso88591\",\n \"isoir101\": \"iso88592\",\n \"isoir109\": \"iso88593\",\n \"isoir110\": \"iso88594\",\n \"isoir144\": \"iso88595\",\n \"isoir127\": \"iso88596\",\n \"isoir126\": \"iso88597\",\n \"isoir138\": \"iso88598\",\n \"isoir148\": \"iso88599\",\n \"isoir157\": \"iso885910\",\n \"isoir166\": \"tis620\",\n \"isoir179\": \"iso885913\",\n \"isoir199\": \"iso885914\",\n \"isoir203\": \"iso885915\",\n \"isoir226\": \"iso885916\",\n\n \"cp819\": \"iso88591\",\n \"ibm819\": \"iso88591\",\n\n \"cyrillic\": \"iso88595\",\n\n \"arabic\": \"iso88596\",\n \"arabic8\": \"iso88596\",\n \"ecma114\": \"iso88596\",\n \"asmo708\": \"iso88596\",\n\n \"greek\" : \"iso88597\",\n \"greek8\" : \"iso88597\",\n \"ecma118\" : \"iso88597\",\n \"elot928\" : \"iso88597\",\n\n \"hebrew\": \"iso88598\",\n \"hebrew8\": \"iso88598\",\n\n \"turkish\": \"iso88599\",\n \"turkish8\": \"iso88599\",\n\n \"thai\": \"iso885911\",\n \"thai8\": \"iso885911\",\n\n \"celtic\": \"iso885914\",\n \"celtic8\": \"iso885914\",\n \"isoceltic\": \"iso885914\",\n\n \"tis6200\": \"tis620\",\n \"tis62025291\": \"tis620\",\n \"tis62025330\": \"tis620\",\n\n \"10000\": \"macroman\",\n \"10006\": \"macgreek\",\n \"10007\": \"maccyrillic\",\n \"10079\": \"maciceland\",\n \"10081\": \"macturkish\",\n\n \"cspc8codepage437\": \"cp437\",\n \"cspc775baltic\": \"cp775\",\n \"cspc850multilingual\": \"cp850\",\n \"cspcp852\": \"cp852\",\n \"cspc862latinhebrew\": \"cp862\",\n \"cpgr\": \"cp869\",\n\n \"msee\": \"cp1250\",\n \"mscyrl\": \"cp1251\",\n \"msansi\": \"cp1252\",\n \"msgreek\": \"cp1253\",\n \"msturk\": \"cp1254\",\n \"mshebr\": \"cp1255\",\n \"msarab\": \"cp1256\",\n \"winbaltrim\": \"cp1257\",\n\n \"cp20866\": \"koi8r\",\n \"20866\": \"koi8r\",\n \"ibm878\": \"koi8r\",\n \"cskoi8r\": \"koi8r\",\n\n \"cp21866\": \"koi8u\",\n \"21866\": \"koi8u\",\n \"ibm1168\": \"koi8u\",\n\n \"strk10482002\": \"rk1048\",\n\n \"tcvn5712\": \"tcvn\",\n \"tcvn57121\": \"tcvn\",\n\n \"gb198880\": \"iso646cn\",\n \"cn\": \"iso646cn\",\n\n \"csiso14jisc6220ro\": \"iso646jp\",\n \"jisc62201969ro\": \"iso646jp\",\n \"jp\": \"iso646jp\",\n\n \"cshproman8\": \"hproman8\",\n \"r8\": \"hproman8\",\n \"roman8\": \"hproman8\",\n \"xroman8\": \"hproman8\",\n \"ibm1051\": \"hproman8\",\n\n \"mac\": \"macintosh\",\n \"csmacintosh\": \"macintosh\",\n};\n\n\n\n//# sourceURL=webpack://renderer/./node_modules/iconv-lite/encodings/sbcs-data.js?"); - -/***/ }), - -/***/ "./node_modules/iconv-lite/encodings/utf16.js": -/*!****************************************************!*\ - !*** ./node_modules/iconv-lite/encodings/utf16.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nvar Buffer = (__webpack_require__(/*! safer-buffer */ \"./node_modules/safer-buffer/safer.js\").Buffer);\n\n// Note: UTF16-LE (or UCS2) codec is Node.js native. See encodings/internal.js\n\n// == UTF16-BE codec. ==========================================================\n\nexports.utf16be = Utf16BECodec;\nfunction Utf16BECodec() {\n}\n\nUtf16BECodec.prototype.encoder = Utf16BEEncoder;\nUtf16BECodec.prototype.decoder = Utf16BEDecoder;\nUtf16BECodec.prototype.bomAware = true;\n\n\n// -- Encoding\n\nfunction Utf16BEEncoder() {\n}\n\nUtf16BEEncoder.prototype.write = function(str) {\n var buf = Buffer.from(str, 'ucs2');\n for (var i = 0; i < buf.length; i += 2) {\n var tmp = buf[i]; buf[i] = buf[i+1]; buf[i+1] = tmp;\n }\n return buf;\n}\n\nUtf16BEEncoder.prototype.end = function() {\n}\n\n\n// -- Decoding\n\nfunction Utf16BEDecoder() {\n this.overflowByte = -1;\n}\n\nUtf16BEDecoder.prototype.write = function(buf) {\n if (buf.length == 0)\n return '';\n\n var buf2 = Buffer.alloc(buf.length + 1),\n i = 0, j = 0;\n\n if (this.overflowByte !== -1) {\n buf2[0] = buf[0];\n buf2[1] = this.overflowByte;\n i = 1; j = 2;\n }\n\n for (; i < buf.length-1; i += 2, j+= 2) {\n buf2[j] = buf[i+1];\n buf2[j+1] = buf[i];\n }\n\n this.overflowByte = (i == buf.length-1) ? buf[buf.length-1] : -1;\n\n return buf2.slice(0, j).toString('ucs2');\n}\n\nUtf16BEDecoder.prototype.end = function() {\n this.overflowByte = -1;\n}\n\n\n// == UTF-16 codec =============================================================\n// Decoder chooses automatically from UTF-16LE and UTF-16BE using BOM and space-based heuristic.\n// Defaults to UTF-16LE, as it's prevalent and default in Node.\n// http://en.wikipedia.org/wiki/UTF-16 and http://encoding.spec.whatwg.org/#utf-16le\n// Decoder default can be changed: iconv.decode(buf, 'utf16', {defaultEncoding: 'utf-16be'});\n\n// Encoder uses UTF-16LE and prepends BOM (which can be overridden with addBOM: false).\n\nexports.utf16 = Utf16Codec;\nfunction Utf16Codec(codecOptions, iconv) {\n this.iconv = iconv;\n}\n\nUtf16Codec.prototype.encoder = Utf16Encoder;\nUtf16Codec.prototype.decoder = Utf16Decoder;\n\n\n// -- Encoding (pass-through)\n\nfunction Utf16Encoder(options, codec) {\n options = options || {};\n if (options.addBOM === undefined)\n options.addBOM = true;\n this.encoder = codec.iconv.getEncoder('utf-16le', options);\n}\n\nUtf16Encoder.prototype.write = function(str) {\n return this.encoder.write(str);\n}\n\nUtf16Encoder.prototype.end = function() {\n return this.encoder.end();\n}\n\n\n// -- Decoding\n\nfunction Utf16Decoder(options, codec) {\n this.decoder = null;\n this.initialBufs = [];\n this.initialBufsLen = 0;\n\n this.options = options || {};\n this.iconv = codec.iconv;\n}\n\nUtf16Decoder.prototype.write = function(buf) {\n if (!this.decoder) {\n // Codec is not chosen yet. Accumulate initial bytes.\n this.initialBufs.push(buf);\n this.initialBufsLen += buf.length;\n \n if (this.initialBufsLen < 16) // We need more bytes to use space heuristic (see below)\n return '';\n\n // We have enough bytes -> detect endianness.\n var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);\n this.decoder = this.iconv.getDecoder(encoding, this.options);\n\n var resStr = '';\n for (var i = 0; i < this.initialBufs.length; i++)\n resStr += this.decoder.write(this.initialBufs[i]);\n\n this.initialBufs.length = this.initialBufsLen = 0;\n return resStr;\n }\n\n return this.decoder.write(buf);\n}\n\nUtf16Decoder.prototype.end = function() {\n if (!this.decoder) {\n var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);\n this.decoder = this.iconv.getDecoder(encoding, this.options);\n\n var resStr = '';\n for (var i = 0; i < this.initialBufs.length; i++)\n resStr += this.decoder.write(this.initialBufs[i]);\n\n var trail = this.decoder.end();\n if (trail)\n resStr += trail;\n\n this.initialBufs.length = this.initialBufsLen = 0;\n return resStr;\n }\n return this.decoder.end();\n}\n\nfunction detectEncoding(bufs, defaultEncoding) {\n var b = [];\n var charsProcessed = 0;\n var asciiCharsLE = 0, asciiCharsBE = 0; // Number of ASCII chars when decoded as LE or BE.\n\n outer_loop:\n for (var i = 0; i < bufs.length; i++) {\n var buf = bufs[i];\n for (var j = 0; j < buf.length; j++) {\n b.push(buf[j]);\n if (b.length === 2) {\n if (charsProcessed === 0) {\n // Check BOM first.\n if (b[0] === 0xFF && b[1] === 0xFE) return 'utf-16le';\n if (b[0] === 0xFE && b[1] === 0xFF) return 'utf-16be';\n }\n\n if (b[0] === 0 && b[1] !== 0) asciiCharsBE++;\n if (b[0] !== 0 && b[1] === 0) asciiCharsLE++;\n\n b.length = 0;\n charsProcessed++;\n\n if (charsProcessed >= 100) {\n break outer_loop;\n }\n }\n }\n }\n\n // Make decisions.\n // Most of the time, the content has ASCII chars (U+00**), but the opposite (U+**00) is uncommon.\n // So, we count ASCII as if it was LE or BE, and decide from that.\n if (asciiCharsBE > asciiCharsLE) return 'utf-16be';\n if (asciiCharsBE < asciiCharsLE) return 'utf-16le';\n\n // Couldn't decide (likely all zeros or not enough data).\n return defaultEncoding || 'utf-16le';\n}\n\n\n\n\n//# sourceURL=webpack://renderer/./node_modules/iconv-lite/encodings/utf16.js?"); - -/***/ }), - -/***/ "./node_modules/iconv-lite/encodings/utf32.js": -/*!****************************************************!*\ - !*** ./node_modules/iconv-lite/encodings/utf32.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\n\nvar Buffer = (__webpack_require__(/*! safer-buffer */ \"./node_modules/safer-buffer/safer.js\").Buffer);\n\n// == UTF32-LE/BE codec. ==========================================================\n\nexports._utf32 = Utf32Codec;\n\nfunction Utf32Codec(codecOptions, iconv) {\n this.iconv = iconv;\n this.bomAware = true;\n this.isLE = codecOptions.isLE;\n}\n\nexports.utf32le = { type: '_utf32', isLE: true };\nexports.utf32be = { type: '_utf32', isLE: false };\n\n// Aliases\nexports.ucs4le = 'utf32le';\nexports.ucs4be = 'utf32be';\n\nUtf32Codec.prototype.encoder = Utf32Encoder;\nUtf32Codec.prototype.decoder = Utf32Decoder;\n\n// -- Encoding\n\nfunction Utf32Encoder(options, codec) {\n this.isLE = codec.isLE;\n this.highSurrogate = 0;\n}\n\nUtf32Encoder.prototype.write = function(str) {\n var src = Buffer.from(str, 'ucs2');\n var dst = Buffer.alloc(src.length * 2);\n var write32 = this.isLE ? dst.writeUInt32LE : dst.writeUInt32BE;\n var offset = 0;\n\n for (var i = 0; i < src.length; i += 2) {\n var code = src.readUInt16LE(i);\n var isHighSurrogate = (0xD800 <= code && code < 0xDC00);\n var isLowSurrogate = (0xDC00 <= code && code < 0xE000);\n\n if (this.highSurrogate) {\n if (isHighSurrogate || !isLowSurrogate) {\n // There shouldn't be two high surrogates in a row, nor a high surrogate which isn't followed by a low\n // surrogate. If this happens, keep the pending high surrogate as a stand-alone semi-invalid character\n // (technically wrong, but expected by some applications, like Windows file names).\n write32.call(dst, this.highSurrogate, offset);\n offset += 4;\n }\n else {\n // Create 32-bit value from high and low surrogates;\n var codepoint = (((this.highSurrogate - 0xD800) << 10) | (code - 0xDC00)) + 0x10000;\n\n write32.call(dst, codepoint, offset);\n offset += 4;\n this.highSurrogate = 0;\n\n continue;\n }\n }\n\n if (isHighSurrogate)\n this.highSurrogate = code;\n else {\n // Even if the current character is a low surrogate, with no previous high surrogate, we'll\n // encode it as a semi-invalid stand-alone character for the same reasons expressed above for\n // unpaired high surrogates.\n write32.call(dst, code, offset);\n offset += 4;\n this.highSurrogate = 0;\n }\n }\n\n if (offset < dst.length)\n dst = dst.slice(0, offset);\n\n return dst;\n};\n\nUtf32Encoder.prototype.end = function() {\n // Treat any leftover high surrogate as a semi-valid independent character.\n if (!this.highSurrogate)\n return;\n\n var buf = Buffer.alloc(4);\n\n if (this.isLE)\n buf.writeUInt32LE(this.highSurrogate, 0);\n else\n buf.writeUInt32BE(this.highSurrogate, 0);\n\n this.highSurrogate = 0;\n\n return buf;\n};\n\n// -- Decoding\n\nfunction Utf32Decoder(options, codec) {\n this.isLE = codec.isLE;\n this.badChar = codec.iconv.defaultCharUnicode.charCodeAt(0);\n this.overflow = [];\n}\n\nUtf32Decoder.prototype.write = function(src) {\n if (src.length === 0)\n return '';\n\n var i = 0;\n var codepoint = 0;\n var dst = Buffer.alloc(src.length + 4);\n var offset = 0;\n var isLE = this.isLE;\n var overflow = this.overflow;\n var badChar = this.badChar;\n\n if (overflow.length > 0) {\n for (; i < src.length && overflow.length < 4; i++)\n overflow.push(src[i]);\n \n if (overflow.length === 4) {\n // NOTE: codepoint is a signed int32 and can be negative.\n // NOTE: We copied this block from below to help V8 optimize it (it works with array, not buffer).\n if (isLE) {\n codepoint = overflow[i] | (overflow[i+1] << 8) | (overflow[i+2] << 16) | (overflow[i+3] << 24);\n } else {\n codepoint = overflow[i+3] | (overflow[i+2] << 8) | (overflow[i+1] << 16) | (overflow[i] << 24);\n }\n overflow.length = 0;\n\n offset = _writeCodepoint(dst, offset, codepoint, badChar);\n }\n }\n\n // Main loop. Should be as optimized as possible.\n for (; i < src.length - 3; i += 4) {\n // NOTE: codepoint is a signed int32 and can be negative.\n if (isLE) {\n codepoint = src[i] | (src[i+1] << 8) | (src[i+2] << 16) | (src[i+3] << 24);\n } else {\n codepoint = src[i+3] | (src[i+2] << 8) | (src[i+1] << 16) | (src[i] << 24);\n }\n offset = _writeCodepoint(dst, offset, codepoint, badChar);\n }\n\n // Keep overflowing bytes.\n for (; i < src.length; i++) {\n overflow.push(src[i]);\n }\n\n return dst.slice(0, offset).toString('ucs2');\n};\n\nfunction _writeCodepoint(dst, offset, codepoint, badChar) {\n // NOTE: codepoint is signed int32 and can be negative. We keep it that way to help V8 with optimizations.\n if (codepoint < 0 || codepoint > 0x10FFFF) {\n // Not a valid Unicode codepoint\n codepoint = badChar;\n } \n\n // Ephemeral Planes: Write high surrogate.\n if (codepoint >= 0x10000) {\n codepoint -= 0x10000;\n\n var high = 0xD800 | (codepoint >> 10);\n dst[offset++] = high & 0xff;\n dst[offset++] = high >> 8;\n\n // Low surrogate is written below.\n var codepoint = 0xDC00 | (codepoint & 0x3FF);\n }\n\n // Write BMP char or low surrogate.\n dst[offset++] = codepoint & 0xff;\n dst[offset++] = codepoint >> 8;\n\n return offset;\n};\n\nUtf32Decoder.prototype.end = function() {\n this.overflow.length = 0;\n};\n\n// == UTF-32 Auto codec =============================================================\n// Decoder chooses automatically from UTF-32LE and UTF-32BE using BOM and space-based heuristic.\n// Defaults to UTF-32LE. http://en.wikipedia.org/wiki/UTF-32\n// Encoder/decoder default can be changed: iconv.decode(buf, 'utf32', {defaultEncoding: 'utf-32be'});\n\n// Encoder prepends BOM (which can be overridden with (addBOM: false}).\n\nexports.utf32 = Utf32AutoCodec;\nexports.ucs4 = 'utf32';\n\nfunction Utf32AutoCodec(options, iconv) {\n this.iconv = iconv;\n}\n\nUtf32AutoCodec.prototype.encoder = Utf32AutoEncoder;\nUtf32AutoCodec.prototype.decoder = Utf32AutoDecoder;\n\n// -- Encoding\n\nfunction Utf32AutoEncoder(options, codec) {\n options = options || {};\n\n if (options.addBOM === undefined)\n options.addBOM = true;\n\n this.encoder = codec.iconv.getEncoder(options.defaultEncoding || 'utf-32le', options);\n}\n\nUtf32AutoEncoder.prototype.write = function(str) {\n return this.encoder.write(str);\n};\n\nUtf32AutoEncoder.prototype.end = function() {\n return this.encoder.end();\n};\n\n// -- Decoding\n\nfunction Utf32AutoDecoder(options, codec) {\n this.decoder = null;\n this.initialBufs = [];\n this.initialBufsLen = 0;\n this.options = options || {};\n this.iconv = codec.iconv;\n}\n\nUtf32AutoDecoder.prototype.write = function(buf) {\n if (!this.decoder) { \n // Codec is not chosen yet. Accumulate initial bytes.\n this.initialBufs.push(buf);\n this.initialBufsLen += buf.length;\n\n if (this.initialBufsLen < 32) // We need more bytes to use space heuristic (see below)\n return '';\n\n // We have enough bytes -> detect endianness.\n var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);\n this.decoder = this.iconv.getDecoder(encoding, this.options);\n\n var resStr = '';\n for (var i = 0; i < this.initialBufs.length; i++)\n resStr += this.decoder.write(this.initialBufs[i]);\n\n this.initialBufs.length = this.initialBufsLen = 0;\n return resStr;\n }\n\n return this.decoder.write(buf);\n};\n\nUtf32AutoDecoder.prototype.end = function() {\n if (!this.decoder) {\n var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);\n this.decoder = this.iconv.getDecoder(encoding, this.options);\n\n var resStr = '';\n for (var i = 0; i < this.initialBufs.length; i++)\n resStr += this.decoder.write(this.initialBufs[i]);\n\n var trail = this.decoder.end();\n if (trail)\n resStr += trail;\n\n this.initialBufs.length = this.initialBufsLen = 0;\n return resStr;\n }\n\n return this.decoder.end();\n};\n\nfunction detectEncoding(bufs, defaultEncoding) {\n var b = [];\n var charsProcessed = 0;\n var invalidLE = 0, invalidBE = 0; // Number of invalid chars when decoded as LE or BE.\n var bmpCharsLE = 0, bmpCharsBE = 0; // Number of BMP chars when decoded as LE or BE.\n\n outer_loop:\n for (var i = 0; i < bufs.length; i++) {\n var buf = bufs[i];\n for (var j = 0; j < buf.length; j++) {\n b.push(buf[j]);\n if (b.length === 4) {\n if (charsProcessed === 0) {\n // Check BOM first.\n if (b[0] === 0xFF && b[1] === 0xFE && b[2] === 0 && b[3] === 0) {\n return 'utf-32le';\n }\n if (b[0] === 0 && b[1] === 0 && b[2] === 0xFE && b[3] === 0xFF) {\n return 'utf-32be';\n }\n }\n\n if (b[0] !== 0 || b[1] > 0x10) invalidBE++;\n if (b[3] !== 0 || b[2] > 0x10) invalidLE++;\n\n if (b[0] === 0 && b[1] === 0 && (b[2] !== 0 || b[3] !== 0)) bmpCharsBE++;\n if ((b[0] !== 0 || b[1] !== 0) && b[2] === 0 && b[3] === 0) bmpCharsLE++;\n\n b.length = 0;\n charsProcessed++;\n\n if (charsProcessed >= 100) {\n break outer_loop;\n }\n }\n }\n }\n\n // Make decisions.\n if (bmpCharsBE - invalidBE > bmpCharsLE - invalidLE) return 'utf-32be';\n if (bmpCharsBE - invalidBE < bmpCharsLE - invalidLE) return 'utf-32le';\n\n // Couldn't decide (likely all zeros or not enough data).\n return defaultEncoding || 'utf-32le';\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/iconv-lite/encodings/utf32.js?"); - -/***/ }), - -/***/ "./node_modules/iconv-lite/encodings/utf7.js": -/*!***************************************************!*\ - !*** ./node_modules/iconv-lite/encodings/utf7.js ***! - \***************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nvar Buffer = (__webpack_require__(/*! safer-buffer */ \"./node_modules/safer-buffer/safer.js\").Buffer);\n\n// UTF-7 codec, according to https://tools.ietf.org/html/rfc2152\n// See also below a UTF-7-IMAP codec, according to http://tools.ietf.org/html/rfc3501#section-5.1.3\n\nexports.utf7 = Utf7Codec;\nexports.unicode11utf7 = 'utf7'; // Alias UNICODE-1-1-UTF-7\nfunction Utf7Codec(codecOptions, iconv) {\n this.iconv = iconv;\n};\n\nUtf7Codec.prototype.encoder = Utf7Encoder;\nUtf7Codec.prototype.decoder = Utf7Decoder;\nUtf7Codec.prototype.bomAware = true;\n\n\n// -- Encoding\n\nvar nonDirectChars = /[^A-Za-z0-9'\\(\\),-\\.\\/:\\? \\n\\r\\t]+/g;\n\nfunction Utf7Encoder(options, codec) {\n this.iconv = codec.iconv;\n}\n\nUtf7Encoder.prototype.write = function(str) {\n // Naive implementation.\n // Non-direct chars are encoded as \"+-\"; single \"+\" char is encoded as \"+-\".\n return Buffer.from(str.replace(nonDirectChars, function(chunk) {\n return \"+\" + (chunk === '+' ? '' : \n this.iconv.encode(chunk, 'utf16-be').toString('base64').replace(/=+$/, '')) \n + \"-\";\n }.bind(this)));\n}\n\nUtf7Encoder.prototype.end = function() {\n}\n\n\n// -- Decoding\n\nfunction Utf7Decoder(options, codec) {\n this.iconv = codec.iconv;\n this.inBase64 = false;\n this.base64Accum = '';\n}\n\nvar base64Regex = /[A-Za-z0-9\\/+]/;\nvar base64Chars = [];\nfor (var i = 0; i < 256; i++)\n base64Chars[i] = base64Regex.test(String.fromCharCode(i));\n\nvar plusChar = '+'.charCodeAt(0), \n minusChar = '-'.charCodeAt(0),\n andChar = '&'.charCodeAt(0);\n\nUtf7Decoder.prototype.write = function(buf) {\n var res = \"\", lastI = 0,\n inBase64 = this.inBase64,\n base64Accum = this.base64Accum;\n\n // The decoder is more involved as we must handle chunks in stream.\n\n for (var i = 0; i < buf.length; i++) {\n if (!inBase64) { // We're in direct mode.\n // Write direct chars until '+'\n if (buf[i] == plusChar) {\n res += this.iconv.decode(buf.slice(lastI, i), \"ascii\"); // Write direct chars.\n lastI = i+1;\n inBase64 = true;\n }\n } else { // We decode base64.\n if (!base64Chars[buf[i]]) { // Base64 ended.\n if (i == lastI && buf[i] == minusChar) {// \"+-\" -> \"+\"\n res += \"+\";\n } else {\n var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i), \"ascii\");\n res += this.iconv.decode(Buffer.from(b64str, 'base64'), \"utf16-be\");\n }\n\n if (buf[i] != minusChar) // Minus is absorbed after base64.\n i--;\n\n lastI = i+1;\n inBase64 = false;\n base64Accum = '';\n }\n }\n }\n\n if (!inBase64) {\n res += this.iconv.decode(buf.slice(lastI), \"ascii\"); // Write direct chars.\n } else {\n var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), \"ascii\");\n\n var canBeDecoded = b64str.length - (b64str.length % 8); // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars.\n base64Accum = b64str.slice(canBeDecoded); // The rest will be decoded in future.\n b64str = b64str.slice(0, canBeDecoded);\n\n res += this.iconv.decode(Buffer.from(b64str, 'base64'), \"utf16-be\");\n }\n\n this.inBase64 = inBase64;\n this.base64Accum = base64Accum;\n\n return res;\n}\n\nUtf7Decoder.prototype.end = function() {\n var res = \"\";\n if (this.inBase64 && this.base64Accum.length > 0)\n res = this.iconv.decode(Buffer.from(this.base64Accum, 'base64'), \"utf16-be\");\n\n this.inBase64 = false;\n this.base64Accum = '';\n return res;\n}\n\n\n// UTF-7-IMAP codec.\n// RFC3501 Sec. 5.1.3 Modified UTF-7 (http://tools.ietf.org/html/rfc3501#section-5.1.3)\n// Differences:\n// * Base64 part is started by \"&\" instead of \"+\"\n// * Direct characters are 0x20-0x7E, except \"&\" (0x26)\n// * In Base64, \",\" is used instead of \"/\"\n// * Base64 must not be used to represent direct characters.\n// * No implicit shift back from Base64 (should always end with '-')\n// * String must end in non-shifted position.\n// * \"-&\" while in base64 is not allowed.\n\n\nexports.utf7imap = Utf7IMAPCodec;\nfunction Utf7IMAPCodec(codecOptions, iconv) {\n this.iconv = iconv;\n};\n\nUtf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder;\nUtf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder;\nUtf7IMAPCodec.prototype.bomAware = true;\n\n\n// -- Encoding\n\nfunction Utf7IMAPEncoder(options, codec) {\n this.iconv = codec.iconv;\n this.inBase64 = false;\n this.base64Accum = Buffer.alloc(6);\n this.base64AccumIdx = 0;\n}\n\nUtf7IMAPEncoder.prototype.write = function(str) {\n var inBase64 = this.inBase64,\n base64Accum = this.base64Accum,\n base64AccumIdx = this.base64AccumIdx,\n buf = Buffer.alloc(str.length*5 + 10), bufIdx = 0;\n\n for (var i = 0; i < str.length; i++) {\n var uChar = str.charCodeAt(i);\n if (0x20 <= uChar && uChar <= 0x7E) { // Direct character or '&'.\n if (inBase64) {\n if (base64AccumIdx > 0) {\n bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString('base64').replace(/\\//g, ',').replace(/=+$/, ''), bufIdx);\n base64AccumIdx = 0;\n }\n\n buf[bufIdx++] = minusChar; // Write '-', then go to direct mode.\n inBase64 = false;\n }\n\n if (!inBase64) {\n buf[bufIdx++] = uChar; // Write direct character\n\n if (uChar === andChar) // Ampersand -> '&-'\n buf[bufIdx++] = minusChar;\n }\n\n } else { // Non-direct character\n if (!inBase64) {\n buf[bufIdx++] = andChar; // Write '&', then go to base64 mode.\n inBase64 = true;\n }\n if (inBase64) {\n base64Accum[base64AccumIdx++] = uChar >> 8;\n base64Accum[base64AccumIdx++] = uChar & 0xFF;\n\n if (base64AccumIdx == base64Accum.length) {\n bufIdx += buf.write(base64Accum.toString('base64').replace(/\\//g, ','), bufIdx);\n base64AccumIdx = 0;\n }\n }\n }\n }\n\n this.inBase64 = inBase64;\n this.base64AccumIdx = base64AccumIdx;\n\n return buf.slice(0, bufIdx);\n}\n\nUtf7IMAPEncoder.prototype.end = function() {\n var buf = Buffer.alloc(10), bufIdx = 0;\n if (this.inBase64) {\n if (this.base64AccumIdx > 0) {\n bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString('base64').replace(/\\//g, ',').replace(/=+$/, ''), bufIdx);\n this.base64AccumIdx = 0;\n }\n\n buf[bufIdx++] = minusChar; // Write '-', then go to direct mode.\n this.inBase64 = false;\n }\n\n return buf.slice(0, bufIdx);\n}\n\n\n// -- Decoding\n\nfunction Utf7IMAPDecoder(options, codec) {\n this.iconv = codec.iconv;\n this.inBase64 = false;\n this.base64Accum = '';\n}\n\nvar base64IMAPChars = base64Chars.slice();\nbase64IMAPChars[','.charCodeAt(0)] = true;\n\nUtf7IMAPDecoder.prototype.write = function(buf) {\n var res = \"\", lastI = 0,\n inBase64 = this.inBase64,\n base64Accum = this.base64Accum;\n\n // The decoder is more involved as we must handle chunks in stream.\n // It is forgiving, closer to standard UTF-7 (for example, '-' is optional at the end).\n\n for (var i = 0; i < buf.length; i++) {\n if (!inBase64) { // We're in direct mode.\n // Write direct chars until '&'\n if (buf[i] == andChar) {\n res += this.iconv.decode(buf.slice(lastI, i), \"ascii\"); // Write direct chars.\n lastI = i+1;\n inBase64 = true;\n }\n } else { // We decode base64.\n if (!base64IMAPChars[buf[i]]) { // Base64 ended.\n if (i == lastI && buf[i] == minusChar) { // \"&-\" -> \"&\"\n res += \"&\";\n } else {\n var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i), \"ascii\").replace(/,/g, '/');\n res += this.iconv.decode(Buffer.from(b64str, 'base64'), \"utf16-be\");\n }\n\n if (buf[i] != minusChar) // Minus may be absorbed after base64.\n i--;\n\n lastI = i+1;\n inBase64 = false;\n base64Accum = '';\n }\n }\n }\n\n if (!inBase64) {\n res += this.iconv.decode(buf.slice(lastI), \"ascii\"); // Write direct chars.\n } else {\n var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), \"ascii\").replace(/,/g, '/');\n\n var canBeDecoded = b64str.length - (b64str.length % 8); // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars.\n base64Accum = b64str.slice(canBeDecoded); // The rest will be decoded in future.\n b64str = b64str.slice(0, canBeDecoded);\n\n res += this.iconv.decode(Buffer.from(b64str, 'base64'), \"utf16-be\");\n }\n\n this.inBase64 = inBase64;\n this.base64Accum = base64Accum;\n\n return res;\n}\n\nUtf7IMAPDecoder.prototype.end = function() {\n var res = \"\";\n if (this.inBase64 && this.base64Accum.length > 0)\n res = this.iconv.decode(Buffer.from(this.base64Accum, 'base64'), \"utf16-be\");\n\n this.inBase64 = false;\n this.base64Accum = '';\n return res;\n}\n\n\n\n\n//# sourceURL=webpack://renderer/./node_modules/iconv-lite/encodings/utf7.js?"); - -/***/ }), - -/***/ "./node_modules/iconv-lite/lib/bom-handling.js": -/*!*****************************************************!*\ - !*** ./node_modules/iconv-lite/lib/bom-handling.js ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\n\nvar BOMChar = '\\uFEFF';\n\nexports.PrependBOM = PrependBOMWrapper\nfunction PrependBOMWrapper(encoder, options) {\n this.encoder = encoder;\n this.addBOM = true;\n}\n\nPrependBOMWrapper.prototype.write = function(str) {\n if (this.addBOM) {\n str = BOMChar + str;\n this.addBOM = false;\n }\n\n return this.encoder.write(str);\n}\n\nPrependBOMWrapper.prototype.end = function() {\n return this.encoder.end();\n}\n\n\n//------------------------------------------------------------------------------\n\nexports.StripBOM = StripBOMWrapper;\nfunction StripBOMWrapper(decoder, options) {\n this.decoder = decoder;\n this.pass = false;\n this.options = options || {};\n}\n\nStripBOMWrapper.prototype.write = function(buf) {\n var res = this.decoder.write(buf);\n if (this.pass || !res)\n return res;\n\n if (res[0] === BOMChar) {\n res = res.slice(1);\n if (typeof this.options.stripBOM === 'function')\n this.options.stripBOM();\n }\n\n this.pass = true;\n return res;\n}\n\nStripBOMWrapper.prototype.end = function() {\n return this.decoder.end();\n}\n\n\n\n//# sourceURL=webpack://renderer/./node_modules/iconv-lite/lib/bom-handling.js?"); - -/***/ }), - -/***/ "./node_modules/iconv-lite/lib/index.js": -/*!**********************************************!*\ - !*** ./node_modules/iconv-lite/lib/index.js ***! - \**********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nvar Buffer = (__webpack_require__(/*! safer-buffer */ \"./node_modules/safer-buffer/safer.js\").Buffer);\n\nvar bomHandling = __webpack_require__(/*! ./bom-handling */ \"./node_modules/iconv-lite/lib/bom-handling.js\"),\n iconv = module.exports;\n\n// All codecs and aliases are kept here, keyed by encoding name/alias.\n// They are lazy loaded in `iconv.getCodec` from `encodings/index.js`.\niconv.encodings = null;\n\n// Characters emitted in case of error.\niconv.defaultCharUnicode = '�';\niconv.defaultCharSingleByte = '?';\n\n// Public API.\niconv.encode = function encode(str, encoding, options) {\n str = \"\" + (str || \"\"); // Ensure string.\n\n var encoder = iconv.getEncoder(encoding, options);\n\n var res = encoder.write(str);\n var trail = encoder.end();\n \n return (trail && trail.length > 0) ? Buffer.concat([res, trail]) : res;\n}\n\niconv.decode = function decode(buf, encoding, options) {\n if (typeof buf === 'string') {\n if (!iconv.skipDecodeWarning) {\n console.error('Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding');\n iconv.skipDecodeWarning = true;\n }\n\n buf = Buffer.from(\"\" + (buf || \"\"), \"binary\"); // Ensure buffer.\n }\n\n var decoder = iconv.getDecoder(encoding, options);\n\n var res = decoder.write(buf);\n var trail = decoder.end();\n\n return trail ? (res + trail) : res;\n}\n\niconv.encodingExists = function encodingExists(enc) {\n try {\n iconv.getCodec(enc);\n return true;\n } catch (e) {\n return false;\n }\n}\n\n// Legacy aliases to convert functions\niconv.toEncoding = iconv.encode;\niconv.fromEncoding = iconv.decode;\n\n// Search for a codec in iconv.encodings. Cache codec data in iconv._codecDataCache.\niconv._codecDataCache = {};\niconv.getCodec = function getCodec(encoding) {\n if (!iconv.encodings)\n iconv.encodings = __webpack_require__(/*! ../encodings */ \"./node_modules/iconv-lite/encodings/index.js\"); // Lazy load all encoding definitions.\n \n // Canonicalize encoding name: strip all non-alphanumeric chars and appended year.\n var enc = iconv._canonicalizeEncoding(encoding);\n\n // Traverse iconv.encodings to find actual codec.\n var codecOptions = {};\n while (true) {\n var codec = iconv._codecDataCache[enc];\n if (codec)\n return codec;\n\n var codecDef = iconv.encodings[enc];\n\n switch (typeof codecDef) {\n case \"string\": // Direct alias to other encoding.\n enc = codecDef;\n break;\n\n case \"object\": // Alias with options. Can be layered.\n for (var key in codecDef)\n codecOptions[key] = codecDef[key];\n\n if (!codecOptions.encodingName)\n codecOptions.encodingName = enc;\n \n enc = codecDef.type;\n break;\n\n case \"function\": // Codec itself.\n if (!codecOptions.encodingName)\n codecOptions.encodingName = enc;\n\n // The codec function must load all tables and return object with .encoder and .decoder methods.\n // It'll be called only once (for each different options object).\n codec = new codecDef(codecOptions, iconv);\n\n iconv._codecDataCache[codecOptions.encodingName] = codec; // Save it to be reused later.\n return codec;\n\n default:\n throw new Error(\"Encoding not recognized: '\" + encoding + \"' (searched as: '\"+enc+\"')\");\n }\n }\n}\n\niconv._canonicalizeEncoding = function(encoding) {\n // Canonicalize encoding name: strip all non-alphanumeric chars and appended year.\n return (''+encoding).toLowerCase().replace(/:\\d{4}$|[^0-9a-z]/g, \"\");\n}\n\niconv.getEncoder = function getEncoder(encoding, options) {\n var codec = iconv.getCodec(encoding),\n encoder = new codec.encoder(options, codec);\n\n if (codec.bomAware && options && options.addBOM)\n encoder = new bomHandling.PrependBOM(encoder, options);\n\n return encoder;\n}\n\niconv.getDecoder = function getDecoder(encoding, options) {\n var codec = iconv.getCodec(encoding),\n decoder = new codec.decoder(options, codec);\n\n if (codec.bomAware && !(options && options.stripBOM === false))\n decoder = new bomHandling.StripBOM(decoder, options);\n\n return decoder;\n}\n\n// Streaming API\n// NOTE: Streaming API naturally depends on 'stream' module from Node.js. Unfortunately in browser environments this module can add\n// up to 100Kb to the output bundle. To avoid unnecessary code bloat, we don't enable Streaming API in browser by default.\n// If you would like to enable it explicitly, please add the following code to your app:\n// > iconv.enableStreamingAPI(require('stream'));\niconv.enableStreamingAPI = function enableStreamingAPI(stream_module) {\n if (iconv.supportsStreams)\n return;\n\n // Dependency-inject stream module to create IconvLite stream classes.\n var streams = __webpack_require__(/*! ./streams */ \"./node_modules/iconv-lite/lib/streams.js\")(stream_module);\n\n // Not public API yet, but expose the stream classes.\n iconv.IconvLiteEncoderStream = streams.IconvLiteEncoderStream;\n iconv.IconvLiteDecoderStream = streams.IconvLiteDecoderStream;\n\n // Streaming API.\n iconv.encodeStream = function encodeStream(encoding, options) {\n return new iconv.IconvLiteEncoderStream(iconv.getEncoder(encoding, options), options);\n }\n\n iconv.decodeStream = function decodeStream(encoding, options) {\n return new iconv.IconvLiteDecoderStream(iconv.getDecoder(encoding, options), options);\n }\n\n iconv.supportsStreams = true;\n}\n\n// Enable Streaming API automatically if 'stream' module is available and non-empty (the majority of environments).\nvar stream_module;\ntry {\n stream_module = __webpack_require__(/*! stream */ \"stream\");\n} catch (e) {}\n\nif (stream_module && stream_module.Transform) {\n iconv.enableStreamingAPI(stream_module);\n\n} else {\n // In rare cases where 'stream' module is not available by default, throw a helpful exception.\n iconv.encodeStream = iconv.decodeStream = function() {\n throw new Error(\"iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it.\");\n };\n}\n\nif (false) {}\n\n\n//# sourceURL=webpack://renderer/./node_modules/iconv-lite/lib/index.js?"); - -/***/ }), - -/***/ "./node_modules/iconv-lite/lib/streams.js": -/*!************************************************!*\ - !*** ./node_modules/iconv-lite/lib/streams.js ***! - \************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nvar Buffer = (__webpack_require__(/*! safer-buffer */ \"./node_modules/safer-buffer/safer.js\").Buffer);\n\n// NOTE: Due to 'stream' module being pretty large (~100Kb, significant in browser environments), \n// we opt to dependency-inject it instead of creating a hard dependency.\nmodule.exports = function(stream_module) {\n var Transform = stream_module.Transform;\n\n // == Encoder stream =======================================================\n\n function IconvLiteEncoderStream(conv, options) {\n this.conv = conv;\n options = options || {};\n options.decodeStrings = false; // We accept only strings, so we don't need to decode them.\n Transform.call(this, options);\n }\n\n IconvLiteEncoderStream.prototype = Object.create(Transform.prototype, {\n constructor: { value: IconvLiteEncoderStream }\n });\n\n IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) {\n if (typeof chunk != 'string')\n return done(new Error(\"Iconv encoding stream needs strings as its input.\"));\n try {\n var res = this.conv.write(chunk);\n if (res && res.length) this.push(res);\n done();\n }\n catch (e) {\n done(e);\n }\n }\n\n IconvLiteEncoderStream.prototype._flush = function(done) {\n try {\n var res = this.conv.end();\n if (res && res.length) this.push(res);\n done();\n }\n catch (e) {\n done(e);\n }\n }\n\n IconvLiteEncoderStream.prototype.collect = function(cb) {\n var chunks = [];\n this.on('error', cb);\n this.on('data', function(chunk) { chunks.push(chunk); });\n this.on('end', function() {\n cb(null, Buffer.concat(chunks));\n });\n return this;\n }\n\n\n // == Decoder stream =======================================================\n\n function IconvLiteDecoderStream(conv, options) {\n this.conv = conv;\n options = options || {};\n options.encoding = this.encoding = 'utf8'; // We output strings.\n Transform.call(this, options);\n }\n\n IconvLiteDecoderStream.prototype = Object.create(Transform.prototype, {\n constructor: { value: IconvLiteDecoderStream }\n });\n\n IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) {\n if (!Buffer.isBuffer(chunk) && !(chunk instanceof Uint8Array))\n return done(new Error(\"Iconv decoding stream needs buffers as its input.\"));\n try {\n var res = this.conv.write(chunk);\n if (res && res.length) this.push(res, this.encoding);\n done();\n }\n catch (e) {\n done(e);\n }\n }\n\n IconvLiteDecoderStream.prototype._flush = function(done) {\n try {\n var res = this.conv.end();\n if (res && res.length) this.push(res, this.encoding); \n done();\n }\n catch (e) {\n done(e);\n }\n }\n\n IconvLiteDecoderStream.prototype.collect = function(cb) {\n var res = '';\n this.on('error', cb);\n this.on('data', function(chunk) { res += chunk; });\n this.on('end', function() {\n cb(null, res);\n });\n return this;\n }\n\n return {\n IconvLiteEncoderStream: IconvLiteEncoderStream,\n IconvLiteDecoderStream: IconvLiteDecoderStream,\n };\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/iconv-lite/lib/streams.js?"); - -/***/ }), - -/***/ "./node_modules/import-fresh/index.js": -/*!********************************************!*\ - !*** ./node_modules/import-fresh/index.js ***! - \********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\nconst path = __webpack_require__(/*! path */ \"path\");\nconst resolveFrom = __webpack_require__(/*! resolve-from */ \"./node_modules/resolve-from/index.js\");\nconst parentModule = __webpack_require__(/*! parent-module */ \"./node_modules/parent-module/index.js\");\n\nmodule.exports = moduleId => {\n\tif (typeof moduleId !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\tconst parentPath = parentModule(__filename);\n\n\tconst cwd = parentPath ? path.dirname(parentPath) : __dirname;\n\tconst filePath = resolveFrom(cwd, moduleId);\n\n\tconst oldModule = __webpack_require__.c[filePath];\n\t// Delete itself from module parent\n\tif (oldModule && oldModule.parent) {\n\t\tlet i = oldModule.parent.children.length;\n\n\t\twhile (i--) {\n\t\t\tif (oldModule.parent.children[i].id === filePath) {\n\t\t\t\toldModule.parent.children.splice(i, 1);\n\t\t\t}\n\t\t}\n\t}\n\n\tdelete __webpack_require__.c[filePath]; // Delete module from cache\n\n\tconst parent = __webpack_require__.c[parentPath]; // If `filePath` and `parentPath` are the same, cache will already be deleted so we won't get a memory leak in next step\n\n\treturn parent === undefined ? __webpack_require__(\"./node_modules/import-fresh sync recursive\")(filePath) : parent.require(filePath); // In case cache doesn't have parent, fall back to normal require\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/import-fresh/index.js?"); - -/***/ }), - -/***/ "./node_modules/import-fresh sync recursive": -/*!*****************************************!*\ - !*** ./node_modules/import-fresh/ sync ***! - \*****************************************/ -/***/ ((module) => { - -eval("function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = () => ([]);\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = \"./node_modules/import-fresh sync recursive\";\nmodule.exports = webpackEmptyContext;\n\n//# sourceURL=webpack://renderer/./node_modules/import-fresh/_sync?"); - -/***/ }), - -/***/ "./node_modules/is-arrayish/index.js": -/*!*******************************************!*\ - !*** ./node_modules/is-arrayish/index.js ***! - \*******************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\nmodule.exports = function isArrayish(obj) {\n\tif (!obj) {\n\t\treturn false;\n\t}\n\n\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t(obj.length >= 0 && obj.splice instanceof Function);\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/is-arrayish/index.js?"); - -/***/ }), - -/***/ "./node_modules/is-obj/index.js": -/*!**************************************!*\ - !*** ./node_modules/is-obj/index.js ***! - \**************************************/ -/***/ ((module) => { - -"use strict"; -eval("\n\nmodule.exports = value => {\n\tconst type = typeof value;\n\treturn value !== null && (type === 'object' || type === 'function');\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/is-obj/index.js?"); - -/***/ }), - -/***/ "./node_modules/is-potential-custom-element-name/index.js": -/*!****************************************************************!*\ - !*** ./node_modules/is-potential-custom-element-name/index.js ***! - \****************************************************************/ -/***/ ((module) => { - -eval("// Generated using `npm run build`. Do not edit.\n\nvar regex = /^[a-z](?:[\\.0-9_a-z\\xB7\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u037D\\u037F-\\u1FFF\\u200C\\u200D\\u203F\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF])*-(?:[\\x2D\\.0-9_a-z\\xB7\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u037D\\u037F-\\u1FFF\\u200C\\u200D\\u203F\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF])*$/;\n\nvar isPotentialCustomElementName = function(string) {\n\treturn regex.test(string);\n};\n\nmodule.exports = isPotentialCustomElementName;\n\n\n//# sourceURL=webpack://renderer/./node_modules/is-potential-custom-element-name/index.js?"); - -/***/ }), - -/***/ "./node_modules/jiti/dist/babel.js": -/*!*****************************************!*\ - !*** ./node_modules/jiti/dist/babel.js ***! - \*****************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("(()=>{var __webpack_modules__={\"./node_modules/.pnpm/@ampproject+remapping@2.2.1/node_modules/@ampproject/remapping/dist/remapping.umd.js\":function(module,__unused_webpack_exports,__nested_webpack_require_180__){module.exports=function(traceMapping,genMapping){\"use strict\";const SOURCELESS_MAPPING=SegmentObject(\"\",-1,-1,\"\",null),EMPTY_SOURCES=[];function SegmentObject(source,line,column,name,content){return{source,line,column,name,content}}function Source(map,sources,source,content){return{map,sources,source,content}}function MapSource(map,sources){return Source(map,sources,\"\",null)}function OriginalSource(source,content){return Source(null,EMPTY_SOURCES,source,content)}function traceMappings(tree){const gen=new genMapping.GenMapping({file:tree.map.file}),{sources:rootSources,map}=tree,rootNames=map.names,rootMappings=traceMapping.decodedMappings(map);for(let i=0;inew traceMapping.TraceMap(m,\"\"))),map=maps.pop();for(let i=0;i1)throw new Error(`Transformation map ${i} must have exactly one source file.\\nDid you specify these with the most recent transformation maps first?`);let tree=build(map,loader,\"\",0);for(let i=maps.length-1;i>=0;i--)tree=MapSource(maps[i],[tree]);return tree}function build(map,loader,importer,importerDepth){const{resolvedSources,sourcesContent}=map,depth=importerDepth+1;return MapSource(map,resolvedSources.map(((sourceFile,i)=>{const ctx={importer,depth,source:sourceFile||\"\",content:void 0},sourceMap=loader(ctx.source,ctx),{source,content}=ctx;return sourceMap?build(new traceMapping.TraceMap(sourceMap,source),loader,source,depth):OriginalSource(source,void 0!==content?content:sourcesContent?sourcesContent[i]:null)})))}class SourceMap{constructor(map,options){const out=options.decodedMappings?genMapping.toDecodedMap(map):genMapping.toEncodedMap(map);this.version=out.version,this.file=out.file,this.mappings=out.mappings,this.names=out.names,this.sourceRoot=out.sourceRoot,this.sources=out.sources,options.excludeContent||(this.sourcesContent=out.sourcesContent)}toString(){return JSON.stringify(this)}}function remapping(input,loader,options){const opts=\"object\"==typeof options?options:{excludeContent:!!options,decodedMappings:!1},tree=buildSourceMapTree(input,loader);return new SourceMap(traceMappings(tree),opts)}return remapping}(__nested_webpack_require_180__(\"./node_modules/.pnpm/@jridgewell+trace-mapping@0.3.20/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js\"),__nested_webpack_require_180__(\"./node_modules/.pnpm/@jridgewell+gen-mapping@0.3.3/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js\"))},\"./node_modules/.pnpm/@babel+core@7.23.2/node_modules/@babel/core/lib/config/files lazy recursive\":module=>{function webpackEmptyAsyncContext(req){return Promise.resolve().then((()=>{var e=new Error(\"Cannot find module '\"+req+\"'\");throw e.code=\"MODULE_NOT_FOUND\",e}))}webpackEmptyAsyncContext.keys=()=>[],webpackEmptyAsyncContext.resolve=webpackEmptyAsyncContext,webpackEmptyAsyncContext.id=\"./node_modules/.pnpm/@babel+core@7.23.2/node_modules/@babel/core/lib/config/files lazy recursive\",module.exports=webpackEmptyAsyncContext},\"./node_modules/.pnpm/@babel+core@7.23.2/node_modules/@babel/core/lib/config/files sync recursive\":module=>{function webpackEmptyContext(req){var e=new Error(\"Cannot find module '\"+req+\"'\");throw e.code=\"MODULE_NOT_FOUND\",e}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=\"./node_modules/.pnpm/@babel+core@7.23.2/node_modules/@babel/core/lib/config/files sync recursive\",module.exports=webpackEmptyContext},\"./node_modules/.pnpm/@babel+plugin-syntax-class-properties@7.12.13_@babel+core@7.23.2/node_modules/@babel/plugin-syntax-class-properties/lib/index.js\":(__unused_webpack_module,exports,__nested_webpack_require_4831__)=>{\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.default=void 0;var _default=(0,__nested_webpack_require_4831__(\"./node_modules/.pnpm/@babel+helper-plugin-utils@7.22.5/node_modules/@babel/helper-plugin-utils/lib/index.js\").declare)((api=>(api.assertVersion(7),{name:\"syntax-class-properties\",manipulateOptions(opts,parserOpts){parserOpts.plugins.push(\"classProperties\",\"classPrivateProperties\",\"classPrivateMethods\")}})));exports.default=_default},\"./node_modules/.pnpm/@babel+plugin-syntax-export-namespace-from@7.8.3_@babel+core@7.23.2/node_modules/@babel/plugin-syntax-export-namespace-from/lib/index.js\":(__unused_webpack_module,exports,__nested_webpack_require_5510__)=>{\"use strict\";exports.Z=void 0;var _default=(0,__nested_webpack_require_5510__(\"./node_modules/.pnpm/@babel+helper-plugin-utils@7.22.5/node_modules/@babel/helper-plugin-utils/lib/index.js\").declare)((api=>(api.assertVersion(7),{name:\"syntax-export-namespace-from\",manipulateOptions(opts,parserOpts){parserOpts.plugins.push(\"exportNamespaceFrom\")}})));exports.Z=_default},\"./node_modules/.pnpm/@babel+plugin-syntax-nullish-coalescing-operator@7.8.3_@babel+core@7.23.2/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/lib/index.js\":(__unused_webpack_module,exports,__nested_webpack_require_6096__)=>{\"use strict\";exports.Z=void 0;var _default=(0,__nested_webpack_require_6096__(\"./node_modules/.pnpm/@babel+helper-plugin-utils@7.22.5/node_modules/@babel/helper-plugin-utils/lib/index.js\").declare)((api=>(api.assertVersion(7),{name:\"syntax-nullish-coalescing-operator\",manipulateOptions(opts,parserOpts){parserOpts.plugins.push(\"nullishCoalescingOperator\")}})));exports.Z=_default},\"./node_modules/.pnpm/@babel+plugin-syntax-optional-chaining@7.8.3_@babel+core@7.23.2/node_modules/@babel/plugin-syntax-optional-chaining/lib/index.js\":(__unused_webpack_module,exports,__nested_webpack_require_6674__)=>{\"use strict\";exports.Z=void 0;var _default=(0,__nested_webpack_require_6674__(\"./node_modules/.pnpm/@babel+helper-plugin-utils@7.22.5/node_modules/@babel/helper-plugin-utils/lib/index.js\").declare)((api=>(api.assertVersion(7),{name:\"syntax-optional-chaining\",manipulateOptions(opts,parserOpts){parserOpts.plugins.push(\"optionalChaining\")}})));exports.Z=_default},\"./node_modules/.pnpm/@jridgewell+gen-mapping@0.3.3/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js\":function(__unused_webpack_module,exports,__nested_webpack_require_7203__){!function(exports,setArray,sourcemapCodec,traceMapping){\"use strict\";const COLUMN=0,SOURCES_INDEX=1,SOURCE_LINE=2,SOURCE_COLUMN=3,NAMES_INDEX=4,NO_NAME=-1;let addSegmentInternal;exports.addSegment=void 0,exports.addMapping=void 0,exports.maybeAddSegment=void 0,exports.maybeAddMapping=void 0,exports.setSourceContent=void 0,exports.toDecodedMap=void 0,exports.toEncodedMap=void 0,exports.fromMap=void 0,exports.allMappings=void 0;class GenMapping{constructor({file,sourceRoot}={}){this._names=new setArray.SetArray,this._sources=new setArray.SetArray,this._sourcesContent=[],this._mappings=[],this.file=file,this.sourceRoot=sourceRoot}}function getLine(mappings,index){for(let i=mappings.length;i<=index;i++)mappings[i]=[];return mappings[index]}function getColumnIndex(line,genColumn){let index=line.length;for(let i=index-1;i>=0&&!(genColumn>=line[i][COLUMN]);index=i--);return index}function insert(array,index,value){for(let i=array.length;i>index;i--)array[i]=array[i-1];array[index]=value}function removeEmptyFinalLines(mappings){const{length}=mappings;let len=length;for(let i=len-1;i>=0&&!(mappings[i].length>0);len=i,i--);lenaddSegmentInternal(!1,map,genLine,genColumn,source,sourceLine,sourceColumn,name,content),exports.maybeAddSegment=(map,genLine,genColumn,source,sourceLine,sourceColumn,name,content)=>addSegmentInternal(!0,map,genLine,genColumn,source,sourceLine,sourceColumn,name,content),exports.addMapping=(map,mapping)=>addMappingInternal(!1,map,mapping),exports.maybeAddMapping=(map,mapping)=>addMappingInternal(!0,map,mapping),exports.setSourceContent=(map,source,content)=>{const{_sources:sources,_sourcesContent:sourcesContent}=map;sourcesContent[setArray.put(sources,source)]=content},exports.toDecodedMap=map=>{const{file,sourceRoot,_mappings:mappings,_sources:sources,_sourcesContent:sourcesContent,_names:names}=map;return removeEmptyFinalLines(mappings),{version:3,file:file||void 0,names:names.array,sourceRoot:sourceRoot||void 0,sources:sources.array,sourcesContent,mappings}},exports.toEncodedMap=map=>{const decoded=exports.toDecodedMap(map);return Object.assign(Object.assign({},decoded),{mappings:sourcemapCodec.encode(decoded.mappings)})},exports.allMappings=map=>{const out=[],{_mappings:mappings,_sources:sources,_names:names}=map;for(let i=0;i{const map=new traceMapping.TraceMap(input),gen=new GenMapping({file:map.file,sourceRoot:map.sourceRoot});return putAll(gen._names,map.names),putAll(gen._sources,map.sources),gen._sourcesContent=map.sourcesContent||map.sources.map((()=>null)),gen._mappings=traceMapping.decodedMappings(map),gen},addSegmentInternal=(skipable,map,genLine,genColumn,source,sourceLine,sourceColumn,name,content)=>{const{_mappings:mappings,_sources:sources,_sourcesContent:sourcesContent,_names:names}=map,line=getLine(mappings,genLine),index=getColumnIndex(line,genColumn);if(!source){if(skipable&&skipSourceless(line,index))return;return insert(line,index,[genColumn])}const sourcesIndex=setArray.put(sources,source),namesIndex=name?setArray.put(names,name):NO_NAME;if(sourcesIndex===sourcesContent.length&&(sourcesContent[sourcesIndex]=null!=content?content:null),!skipable||!skipSource(line,index,sourcesIndex,sourceLine,sourceColumn,namesIndex))return insert(line,index,name?[genColumn,sourcesIndex,sourceLine,sourceColumn,namesIndex]:[genColumn,sourcesIndex,sourceLine,sourceColumn])},exports.GenMapping=GenMapping,Object.defineProperty(exports,\"__esModule\",{value:!0})}(exports,__nested_webpack_require_7203__(\"./node_modules/.pnpm/@jridgewell+set-array@1.1.2/node_modules/@jridgewell/set-array/dist/set-array.umd.js\"),__nested_webpack_require_7203__(\"./node_modules/.pnpm/@jridgewell+sourcemap-codec@1.4.15/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js\"),__nested_webpack_require_7203__(\"./node_modules/.pnpm/@jridgewell+trace-mapping@0.3.20/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js\"))},\"./node_modules/.pnpm/@jridgewell+resolve-uri@3.1.1/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js\":function(module){module.exports=function(){\"use strict\";const schemeRegex=/^[\\w+.-]+:\\/\\//,urlRegex=/^([\\w+.-]+:)\\/\\/([^@/#?]*@)?([^:/#?]*)(:\\d+)?(\\/[^#?]*)?(\\?[^#]*)?(#.*)?/,fileRegex=/^file:(?:\\/\\/((?![a-z]:)[^/#?]*)?)?(\\/?[^#?]*)(\\?[^#]*)?(#.*)?/i;var UrlType;function isAbsoluteUrl(input){return schemeRegex.test(input)}function isSchemeRelativeUrl(input){return input.startsWith(\"//\")}function isAbsolutePath(input){return input.startsWith(\"/\")}function isFileUrl(input){return input.startsWith(\"file:\")}function isRelative(input){return/^[.?#]/.test(input)}function parseAbsoluteUrl(input){const match=urlRegex.exec(input);return makeUrl(match[1],match[2]||\"\",match[3],match[4]||\"\",match[5]||\"/\",match[6]||\"\",match[7]||\"\")}function parseFileUrl(input){const match=fileRegex.exec(input),path=match[2];return makeUrl(\"file:\",\"\",match[1]||\"\",\"\",isAbsolutePath(path)?path:\"/\"+path,match[3]||\"\",match[4]||\"\")}function makeUrl(scheme,user,host,port,path,query,hash){return{scheme,user,host,port,path,query,hash,type:UrlType.Absolute}}function parseUrl(input){if(isSchemeRelativeUrl(input)){const url=parseAbsoluteUrl(\"http:\"+input);return url.scheme=\"\",url.type=UrlType.SchemeRelative,url}if(isAbsolutePath(input)){const url=parseAbsoluteUrl(\"http://foo.com\"+input);return url.scheme=\"\",url.host=\"\",url.type=UrlType.AbsolutePath,url}if(isFileUrl(input))return parseFileUrl(input);if(isAbsoluteUrl(input))return parseAbsoluteUrl(input);const url=parseAbsoluteUrl(\"http://foo.com/\"+input);return url.scheme=\"\",url.host=\"\",url.type=input?input.startsWith(\"?\")?UrlType.Query:input.startsWith(\"#\")?UrlType.Hash:UrlType.RelativePath:UrlType.Empty,url}function stripPathFilename(path){if(path.endsWith(\"/..\"))return path;const index=path.lastIndexOf(\"/\");return path.slice(0,index+1)}function mergePaths(url,base){normalizePath(base,base.type),\"/\"===url.path?url.path=base.path:url.path=stripPathFilename(base.path)+url.path}function normalizePath(url,type){const rel=type<=UrlType.RelativePath,pieces=url.path.split(\"/\");let pointer=1,positive=0,addTrailingSlash=!1;for(let i=1;iinputType&&(inputType=baseType)}normalizePath(url,inputType);const queryHash=url.query+url.hash;switch(inputType){case UrlType.Hash:case UrlType.Query:return queryHash;case UrlType.RelativePath:{const path=url.path.slice(1);return path?isRelative(base||input)&&!isRelative(path)?\"./\"+path+queryHash:path+queryHash:queryHash||\".\"}case UrlType.AbsolutePath:return url.path+queryHash;default:return url.scheme+\"//\"+url.user+url.host+url.port+url.path+queryHash}}return function(UrlType){UrlType[UrlType.Empty=1]=\"Empty\",UrlType[UrlType.Hash=2]=\"Hash\",UrlType[UrlType.Query=3]=\"Query\",UrlType[UrlType.RelativePath=4]=\"RelativePath\",UrlType[UrlType.AbsolutePath=5]=\"AbsolutePath\",UrlType[UrlType.SchemeRelative=6]=\"SchemeRelative\",UrlType[UrlType.Absolute=7]=\"Absolute\"}(UrlType||(UrlType={})),resolve}()},\"./node_modules/.pnpm/@jridgewell+set-array@1.1.2/node_modules/@jridgewell/set-array/dist/set-array.umd.js\":function(__unused_webpack_module,exports){!function(exports){\"use strict\";exports.get=void 0,exports.put=void 0,exports.pop=void 0;class SetArray{constructor(){this._indexes={__proto__:null},this.array=[]}}exports.get=(strarr,key)=>strarr._indexes[key],exports.put=(strarr,key)=>{const index=exports.get(strarr,key);if(void 0!==index)return index;const{array,_indexes:indexes}=strarr;return indexes[key]=array.push(key)-1},exports.pop=strarr=>{const{array,_indexes:indexes}=strarr;0!==array.length&&(indexes[array.pop()]=void 0)},exports.SetArray=SetArray,Object.defineProperty(exports,\"__esModule\",{value:!0})}(exports)},\"./node_modules/.pnpm/@jridgewell+sourcemap-codec@1.4.15/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js\":function(__unused_webpack_module,exports){!function(exports){\"use strict\";const comma=\",\".charCodeAt(0),semicolon=\";\".charCodeAt(0),chars=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",intToChar=new Uint8Array(64),charToInt=new Uint8Array(128);for(let i=0;iBuffer.from(buf.buffer,buf.byteOffset,buf.byteLength).toString()}:{decode(buf){let out=\"\";for(let i=0;i>>=1,shouldNegate&&(value=-2147483648|-value),state[j]+=value,pos}function hasMoreVlq(mappings,i,length){return!(i>=length)&&mappings.charCodeAt(i)!==comma}function sort(line){line.sort(sortComparator)}function sortComparator(a,b){return a[0]-b[0]}function encode(decoded){const state=new Int32Array(5),bufLength=16384,subLength=bufLength-36,buf=new Uint8Array(bufLength),sub=buf.subarray(0,subLength);let pos=0,out=\"\";for(let i=0;i0&&(pos===bufLength&&(out+=td.decode(buf),pos=0),buf[pos++]=semicolon),0!==line.length){state[0]=0;for(let j=0;jsubLength&&(out+=td.decode(sub),buf.copyWithin(0,subLength,pos),pos-=subLength),j>0&&(buf[pos++]=comma),pos=encodeInteger(buf,pos,state,segment,0),1!==segment.length&&(pos=encodeInteger(buf,pos,state,segment,1),pos=encodeInteger(buf,pos,state,segment,2),pos=encodeInteger(buf,pos,state,segment,3),4!==segment.length&&(pos=encodeInteger(buf,pos,state,segment,4)))}}}return out+td.decode(buf.subarray(0,pos))}function encodeInteger(buf,pos,state,segment,j){const next=segment[j];let num=next-state[j];state[j]=next,num=num<0?-num<<1|1:num<<1;do{let clamped=31#num>>>=5,num>0&&(clamped|=32),buf[pos++]=intToChar[clamped]}while(num>0);return pos}exports.decode=decode,exports.encode=encode,Object.defineProperty(exports,\"__esModule\",{value:!0})}(exports)},\"./node_modules/.pnpm/@jridgewell+trace-mapping@0.3.20/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js\":function(__unused_webpack_module,exports,__nested_webpack_require_20388__){!function(exports,sourcemapCodec,resolveUri){\"use strict\";function _interopDefaultLegacy(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var resolveUri__default=_interopDefaultLegacy(resolveUri);function resolve(input,base){return base&&!base.endsWith(\"/\")&&(base+=\"/\"),resolveUri__default.default(input,base)}function stripFilename(path){if(!path)return\"\";const index=path.lastIndexOf(\"/\");return path.slice(0,index+1)}const COLUMN=0,SOURCES_INDEX=1,SOURCE_LINE=2,SOURCE_COLUMN=3,NAMES_INDEX=4,REV_GENERATED_LINE=1,REV_GENERATED_COLUMN=2;function maybeSort(mappings,owned){const unsortedIndex=nextUnsortedSegmentLine(mappings,0);if(unsortedIndex===mappings.length)return mappings;owned||(mappings=mappings.slice());for(let i=unsortedIndex;i>1),cmp=haystack[mid][COLUMN]-needle;if(0===cmp)return found=!0,mid;cmp<0?low=mid+1:high=mid-1}return found=!1,low-1}function upperBound(haystack,needle,index){for(let i=index+1;i=0&&haystack[i][COLUMN]===needle;index=i--);return index}function memoizedState(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function memoizedBinarySearch(haystack,needle,state,key){const{lastKey,lastNeedle,lastIndex}=state;let low=0,high=haystack.length-1;if(key===lastKey){if(needle===lastNeedle)return found=-1!==lastIndex&&haystack[lastIndex][COLUMN]===needle,lastIndex;needle>=lastNeedle?low=-1===lastIndex?0:lastIndex:high=lastIndex}return state.lastKey=key,state.lastNeedle=needle,state.lastIndex=binarySearch(haystack,needle,low,high)}function buildBySources(decoded,memos){const sources=memos.map(buildNullArray);for(let i=0;iindex;i--)array[i]=array[i-1];array[index]=value}function buildNullArray(){return{__proto__:null}}const AnyMap=function(map,mapUrl){const parsed=\"string\"==typeof map?JSON.parse(map):map;if(!(\"sections\"in parsed))return new TraceMap(parsed,mapUrl);const mappings=[],sources=[],sourcesContent=[],names=[];recurse(parsed,mapUrl,mappings,sources,sourcesContent,names,0,0,1/0,1/0);const joined={version:3,file:parsed.file,names,sources,sourcesContent,mappings};return exports.presortedDecodedMap(joined)};function recurse(input,mapUrl,mappings,sources,sourcesContent,names,lineOffset,columnOffset,stopLine,stopColumn){const{sections}=input;for(let i=0;istopLine)return;const out=getLine(mappings,lineI),cOffset=0===i?columnOffset:0,line=decoded[i];for(let j=0;j=stopColumn)return;if(1===seg.length){out.push([column]);continue}const sourcesIndex=sourcesOffset+seg[SOURCES_INDEX],sourceLine=seg[SOURCE_LINE],sourceColumn=seg[SOURCE_COLUMN];out.push(4===seg.length?[column,sourcesIndex,sourceLine,sourceColumn]:[column,sourcesIndex,sourceLine,sourceColumn,namesOffset+seg[NAMES_INDEX]])}}}function append(arr,other){for(let i=0;iresolve(s||\"\",from)));const{mappings}=parsed;\"string\"==typeof mappings?(this._encoded=mappings,this._decoded=void 0):(this._encoded=void 0,this._decoded=maybeSort(mappings,isString)),this._decodedMemo=memoizedState(),this._bySources=void 0,this._bySourceMemos=void 0}}function clone(map,mappings){return{version:map.version,file:map.file,names:map.names,sourceRoot:map.sourceRoot,sources:map.sources,sourcesContent:map.sourcesContent,mappings}}function OMapping(source,line,column,name){return{source,line,column,name}}function GMapping(line,column){return{line,column}}function traceSegmentInternal(segments,memo,line,column,bias){let index=memoizedBinarySearch(segments,column,memo,line);return found?index=(bias===LEAST_UPPER_BOUND?upperBound:lowerBound)(segments,column,index):bias===LEAST_UPPER_BOUND&&index++,-1===index||index===segments.length?-1:index}function sliceGeneratedPositions(segments,memo,line,column,bias){let min=traceSegmentInternal(segments,memo,line,column,GREATEST_LOWER_BOUND);if(found||bias!==LEAST_UPPER_BOUND||min++,-1===min||min===segments.length)return[];const matchedColumn=found?column:segments[min][COLUMN];found||(min=lowerBound(segments,matchedColumn,min));const max=upperBound(segments,matchedColumn,min),result=[];for(;min<=max;min++){const segment=segments[min];result.push(GMapping(segment[REV_GENERATED_LINE]+1,segment[REV_GENERATED_COLUMN]))}return result}(()=>{function generatedPosition(map,source,line,column,bias,all){if(--line<0)throw new Error(LINE_GTR_ZERO);if(column<0)throw new Error(COL_GTR_EQ_ZERO);const{sources,resolvedSources}=map;let sourceIndex=sources.indexOf(source);if(-1===sourceIndex&&(sourceIndex=resolvedSources.indexOf(source)),-1===sourceIndex)return all?[]:GMapping(null,null);const segments=(map._bySources||(map._bySources=buildBySources(exports.decodedMappings(map),map._bySourceMemos=sources.map(memoizedState))))[sourceIndex][line];if(null==segments)return all?[]:GMapping(null,null);const memo=map._bySourceMemos[sourceIndex];if(all)return sliceGeneratedPositions(segments,memo,line,column,bias);const index=traceSegmentInternal(segments,memo,line,column,bias);if(-1===index)return GMapping(null,null);const segment=segments[index];return GMapping(segment[REV_GENERATED_LINE]+1,segment[REV_GENERATED_COLUMN])}exports.encodedMappings=map=>{var _a;return null!==(_a=map._encoded)&&void 0!==_a?_a:map._encoded=sourcemapCodec.encode(map._decoded)},exports.decodedMappings=map=>map._decoded||(map._decoded=sourcemapCodec.decode(map._encoded)),exports.traceSegment=(map,line,column)=>{const decoded=exports.decodedMappings(map);if(line>=decoded.length)return null;const segments=decoded[line],index=traceSegmentInternal(segments,map._decodedMemo,line,column,GREATEST_LOWER_BOUND);return-1===index?null:segments[index]},exports.originalPositionFor=(map,{line,column,bias})=>{if(--line<0)throw new Error(LINE_GTR_ZERO);if(column<0)throw new Error(COL_GTR_EQ_ZERO);const decoded=exports.decodedMappings(map);if(line>=decoded.length)return OMapping(null,null,null,null);const segments=decoded[line],index=traceSegmentInternal(segments,map._decodedMemo,line,column,bias||GREATEST_LOWER_BOUND);if(-1===index)return OMapping(null,null,null,null);const segment=segments[index];if(1===segment.length)return OMapping(null,null,null,null);const{names,resolvedSources}=map;return OMapping(resolvedSources[segment[SOURCES_INDEX]],segment[SOURCE_LINE]+1,segment[SOURCE_COLUMN],5===segment.length?names[segment[NAMES_INDEX]]:null)},exports.allGeneratedPositionsFor=(map,{source,line,column,bias})=>generatedPosition(map,source,line,column,bias||LEAST_UPPER_BOUND,!0),exports.generatedPositionFor=(map,{source,line,column,bias})=>generatedPosition(map,source,line,column,bias||GREATEST_LOWER_BOUND,!1),exports.eachMapping=(map,cb)=>{const decoded=exports.decodedMappings(map),{names,resolvedSources}=map;for(let i=0;i{const{sources,resolvedSources,sourcesContent}=map;if(null==sourcesContent)return null;let index=sources.indexOf(source);return-1===index&&(index=resolvedSources.indexOf(source)),-1===index?null:sourcesContent[index]},exports.presortedDecodedMap=(map,mapUrl)=>{const tracer=new TraceMap(clone(map,[]),mapUrl);return tracer._decoded=map.mappings,tracer},exports.decodedMap=map=>clone(map,exports.decodedMappings(map)),exports.encodedMap=map=>clone(map,exports.encodedMappings(map))})(),exports.AnyMap=AnyMap,exports.GREATEST_LOWER_BOUND=GREATEST_LOWER_BOUND,exports.LEAST_UPPER_BOUND=LEAST_UPPER_BOUND,exports.TraceMap=TraceMap,Object.defineProperty(exports,\"__esModule\",{value:!0})}(exports,__nested_webpack_require_20388__(\"./node_modules/.pnpm/@jridgewell+sourcemap-codec@1.4.15/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js\"),__nested_webpack_require_20388__(\"./node_modules/.pnpm/@jridgewell+resolve-uri@3.1.1/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js\"))},\"./node_modules/.pnpm/babel-plugin-dynamic-import-node@2.3.3/node_modules/babel-plugin-dynamic-import-node/lib/index.js\":(module,exports,__nested_webpack_require_32131__)=>{\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.default=function(api){var transformImport=(0,_utils.createDynamicImportTransform)(api);return{manipulateOptions:function(opts,parserOpts){parserOpts.plugins.push(\"dynamicImport\")},visitor:{Import:function(path){transformImport(this,path)}}}};var _utils=__nested_webpack_require_32131__(\"./node_modules/.pnpm/babel-plugin-dynamic-import-node@2.3.3/node_modules/babel-plugin-dynamic-import-node/lib/utils.js\");module.exports=exports.default},\"./node_modules/.pnpm/babel-plugin-dynamic-import-node@2.3.3/node_modules/babel-plugin-dynamic-import-node/lib/utils.js\":(__unused_webpack_module,exports)=>{\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var _slicedToArray=function(arr,i){if(Array.isArray(arr))return arr;if(Symbol.iterator in Object(arr))return function(arr,i){var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{!_n&&_i.return&&_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")};function getImportSource(t,callNode){var importArguments=callNode.arguments,importPath=_slicedToArray(importArguments,1)[0];return t.isStringLiteral(importPath)||t.isTemplateLiteral(importPath)?(t.removeComments(importPath),importPath):t.templateLiteral([t.templateElement({raw:\"\",cooked:\"\"}),t.templateElement({raw:\"\",cooked:\"\"},!0)],importArguments)}exports.getImportSource=getImportSource,exports.createDynamicImportTransform=function(_ref){var template=_ref.template,t=_ref.types,builders={static:{interop:template(\"Promise.resolve().then(() => INTEROP(require(SOURCE)))\"),noInterop:template(\"Promise.resolve().then(() => require(SOURCE))\")},dynamic:{interop:template(\"Promise.resolve(SOURCE).then(s => INTEROP(require(s)))\"),noInterop:template(\"Promise.resolve(SOURCE).then(s => require(s))\")}},visited=\"function\"==typeof WeakSet&&new WeakSet;return function(context,path){if(visited){if(visited.has(path))return;visited.add(path)}var node,SOURCE=getImportSource(t,path.parent),builder=(node=SOURCE,t.isStringLiteral(node)||t.isTemplateLiteral(node)&&0===node.expressions.length?builders.static:builders.dynamic),newImport=context.opts.noInterop?builder.noInterop({SOURCE}):builder.interop({SOURCE,INTEROP:context.addHelper(\"interopRequireWildcard\")});path.parentPath.replaceWith(newImport)}}},\"./node_modules/.pnpm/babel-plugin-parameter-decorator@1.0.16/node_modules/babel-plugin-parameter-decorator/lib/index.js\":(module,__unused_webpack_exports,__nested_webpack_require_34798__)=>{\"use strict\";var _path=__nested_webpack_require_34798__(\"path\");function isInType(path){switch(path.parent.type){case\"TSTypeReference\":case\"TSQualifiedName\":case\"TSExpressionWithTypeArguments\":case\"TSTypeQuery\":return!0;default:return!1}}module.exports=function(_ref){var types=_ref.types,decoratorExpressionForConstructor=function(decorator,param){return function(className){var resultantDecorator=types.callExpression(decorator.expression,[types.Identifier(className),types.Identifier(\"undefined\"),types.NumericLiteral(param.key)]),resultantDecoratorWithFallback=types.logicalExpression(\"||\",resultantDecorator,types.Identifier(className)),assignment=types.assignmentExpression(\"=\",types.Identifier(className),resultantDecoratorWithFallback);return types.expressionStatement(assignment)}},decoratorExpressionForMethod=function(decorator,param){return function(className,functionName){var resultantDecorator=types.callExpression(decorator.expression,[types.Identifier(\"\".concat(className,\".prototype\")),types.StringLiteral(functionName),types.NumericLiteral(param.key)]);return types.expressionStatement(resultantDecorator)}};return{visitor:{Program:function(path,state){var extension=(0,_path.extname)(state.file.opts.filename);\".ts\"!==extension&&\".tsx\"!==extension||function(){var decorators=Object.create(null);path.node.body.filter((function(it){var type=it.type,declaration=it.declaration;switch(type){case\"ClassDeclaration\":return!0;case\"ExportNamedDeclaration\":case\"ExportDefaultDeclaration\":return declaration&&\"ClassDeclaration\"===declaration.type;default:return!1}})).map((function(it){return\"ClassDeclaration\"===it.type?it:it.declaration})).forEach((function(clazz){clazz.body.body.forEach((function(body){(body.params||[]).forEach((function(param){(param.decorators||[]).forEach((function(decorator){decorator.expression.callee?decorators[decorator.expression.callee.name]=decorator:decorators[decorator.expression.name]=decorator}))}))}))}));var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=path.get(\"body\")[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var stmt=_step.value;if(\"ImportDeclaration\"===stmt.node.type){if(0===stmt.node.specifiers.length)continue;var _iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_loop=function(){var specifier=_step2.value,binding=stmt.scope.getBinding(specifier.local.name);binding.referencePaths.length?binding.referencePaths.reduce((function(prev,next){return prev||isInType(next)}),!1)&&Object.keys(decorators).forEach((function(k){var decorator=decorators[k];(decorator.expression.arguments||[]).forEach((function(arg){arg.name===specifier.local.name&&binding.referencePaths.push({parent:decorator.expression})}))})):decorators[specifier.local.name]&&binding.referencePaths.push({parent:decorators[specifier.local.name]})},_iterator2=stmt.node.specifiers[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0)_loop()}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{_iteratorNormalCompletion2||null==_iterator2.return||_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}}}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{_iteratorNormalCompletion||null==_iterator.return||_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}()},Function:function(path){var functionName=\"\";path.node.id?functionName=path.node.id.name:path.node.key&&(functionName=path.node.key.name),(path.get(\"params\")||[]).slice().forEach((function(param){var decorators=param.node.decorators||[],transformable=decorators.length;if(decorators.slice().forEach((function(decorator){if(\"ClassMethod\"===path.type){var classIdentifier,parentNode=path.parentPath.parentPath,classDeclaration=path.findParent((function(p){return\"ClassDeclaration\"===p.type}));if(classDeclaration?classIdentifier=classDeclaration.node.id.name:(parentNode.insertAfter(null),classIdentifier=function(path){var assignment=path.findParent((function(p){return\"AssignmentExpression\"===p.node.type}));return\"SequenceExpression\"===assignment.node.right.type?assignment.node.right.expressions[1].name:\"ClassExpression\"===assignment.node.right.type?assignment.node.left.name:null}(path)),\"constructor\"===functionName){var expression=decoratorExpressionForConstructor(decorator,param)(classIdentifier);parentNode.insertAfter(expression)}else{var _expression=decoratorExpressionForMethod(decorator,param)(classIdentifier,functionName);parentNode.insertAfter(_expression)}}else{var className=path.findParent((function(p){return\"VariableDeclarator\"===p.node.type})).node.id.name;if(functionName===className){var _expression2=decoratorExpressionForConstructor(decorator,param)(className);if(\"body\"===path.parentKey)path.insertAfter(_expression2);else path.findParent((function(p){return\"body\"===p.parentKey})).insertAfter(_expression2)}else{var classParent=path.findParent((function(p){return\"CallExpression\"===p.node.type})),_expression3=decoratorExpressionForMethod(decorator,param)(className,functionName);classParent.insertAfter(_expression3)}}})),transformable){var replacement=function(path){switch(path.node.type){case\"ObjectPattern\":return types.ObjectPattern(path.node.properties);case\"AssignmentPattern\":return types.AssignmentPattern(path.node.left,path.node.right);case\"TSParameterProperty\":return types.Identifier(path.node.parameter.name);default:return types.Identifier(path.node.name)}}(param);param.replaceWith(replacement)}}))}}}}},\"./node_modules/.pnpm/babel-plugin-transform-typescript-metadata@0.3.2_@babel+core@7.23.2/node_modules/babel-plugin-transform-typescript-metadata/lib/metadata/metadataVisitor.js\":(__unused_webpack_module,exports,__nested_webpack_require_40640__)=>{\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.metadataVisitor=function(classPath,path){const field=path.node,classNode=classPath.node;switch(field.type){case\"ClassMethod\":const decorators=\"constructor\"===field.kind?classNode.decorators:field.decorators;if(!decorators||0===decorators.length)return;decorators.push(createMetadataDesignDecorator(\"design:type\",_core.types.identifier(\"Function\"))),decorators.push(createMetadataDesignDecorator(\"design:paramtypes\",_core.types.arrayExpression(field.params.map((param=>(0,_serializeType.serializeType)(classPath,param))))));break;case\"ClassProperty\":if(!field.decorators||0===field.decorators.length)return;if(!field.typeAnnotation||\"TSTypeAnnotation\"!==field.typeAnnotation.type)return;field.decorators.push(createMetadataDesignDecorator(\"design:type\",(0,_serializeType.serializeType)(classPath,field)))}};var _core=__nested_webpack_require_40640__(\"./node_modules/.pnpm/@babel+core@7.23.2/node_modules/@babel/core/lib/index.js\"),_serializeType=__nested_webpack_require_40640__(\"./node_modules/.pnpm/babel-plugin-transform-typescript-metadata@0.3.2_@babel+core@7.23.2/node_modules/babel-plugin-transform-typescript-metadata/lib/metadata/serializeType.js\");function createMetadataDesignDecorator(design,typeArg){return _core.types.decorator(_core.types.callExpression(_core.types.memberExpression(_core.types.identifier(\"Reflect\"),_core.types.identifier(\"metadata\")),[_core.types.stringLiteral(design),typeArg]))}},\"./node_modules/.pnpm/babel-plugin-transform-typescript-metadata@0.3.2_@babel+core@7.23.2/node_modules/babel-plugin-transform-typescript-metadata/lib/metadata/serializeType.js\":(__unused_webpack_module,exports,__nested_webpack_require_42337__)=>{\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.serializeType=function(classPath,param){const node=getTypedNode(param);if(null==node)return createVoidZero();if(!node.typeAnnotation||\"TSTypeAnnotation\"!==node.typeAnnotation.type)return createVoidZero();const annotation=node.typeAnnotation.typeAnnotation;return serializeTypeNode(classPath.node.id?classPath.node.id.name:\"\",annotation)},exports.isClassType=isClassType;var _core=__nested_webpack_require_42337__(\"./node_modules/.pnpm/@babel+core@7.23.2/node_modules/@babel/core/lib/index.js\");function createVoidZero(){return _core.types.unaryExpression(\"void\",_core.types.numericLiteral(0))}function getTypedNode(param){return null==param?null:\"ClassProperty\"===param.type||\"Identifier\"===param.type||\"ObjectPattern\"===param.type?param:\"AssignmentPattern\"===param.type&&\"Identifier\"===param.left.type?param.left:\"TSParameterProperty\"===param.type?getTypedNode(param.parameter):null}function serializeTypeReferenceNode(className,node){const reference=serializeReference(node.typeName);return isClassType(className,reference)?_core.types.identifier(\"Object\"):_core.types.conditionalExpression(_core.types.binaryExpression(\"===\",_core.types.unaryExpression(\"typeof\",reference),_core.types.stringLiteral(\"undefined\")),_core.types.identifier(\"Object\"),_core.types.cloneDeep(reference))}function isClassType(className,node){switch(node.type){case\"Identifier\":return node.name===className;case\"MemberExpression\":return isClassType(className,node.object);default:throw new Error(`The property expression at ${node.start} is not valid as a Type to be used in Reflect.metadata`)}}function serializeReference(typeName){return\"Identifier\"===typeName.type?_core.types.identifier(typeName.name):_core.types.memberExpression(serializeReference(typeName.left),typeName.right)}function serializeTypeNode(className,node){if(void 0===node)return _core.types.identifier(\"Object\");switch(node.type){case\"TSVoidKeyword\":case\"TSUndefinedKeyword\":case\"TSNullKeyword\":case\"TSNeverKeyword\":return createVoidZero();case\"TSParenthesizedType\":return serializeTypeNode(className,node.typeAnnotation);case\"TSFunctionType\":case\"TSConstructorType\":return _core.types.identifier(\"Function\");case\"TSArrayType\":case\"TSTupleType\":return _core.types.identifier(\"Array\");case\"TSTypePredicate\":case\"TSBooleanKeyword\":return _core.types.identifier(\"Boolean\");case\"TSStringKeyword\":return _core.types.identifier(\"String\");case\"TSObjectKeyword\":return _core.types.identifier(\"Object\");case\"TSLiteralType\":switch(node.literal.type){case\"StringLiteral\":return _core.types.identifier(\"String\");case\"NumericLiteral\":return _core.types.identifier(\"Number\");case\"BooleanLiteral\":return _core.types.identifier(\"Boolean\");default:throw new Error(\"Bad type for decorator\"+node.literal)}case\"TSNumberKeyword\":case\"TSBigIntKeyword\":return _core.types.identifier(\"Number\");case\"TSSymbolKeyword\":return _core.types.identifier(\"Symbol\");case\"TSTypeReference\":return serializeTypeReferenceNode(className,node);case\"TSIntersectionType\":case\"TSUnionType\":return serializeTypeList(className,node.types);case\"TSConditionalType\":return serializeTypeList(className,[node.trueType,node.falseType]);case\"TSTypeQuery\":case\"TSTypeOperator\":case\"TSIndexedAccessType\":case\"TSMappedType\":case\"TSTypeLiteral\":case\"TSAnyKeyword\":case\"TSUnknownKeyword\":case\"TSThisType\":break;default:throw new Error(\"Bad type for decorator\")}return _core.types.identifier(\"Object\")}function serializeTypeList(className,types){let serializedUnion;for(let typeNode of types){for(;\"TSParenthesizedType\"===typeNode.type;)typeNode=typeNode.typeAnnotation;if(\"TSNeverKeyword\"===typeNode.type)continue;if(\"TSNullKeyword\"===typeNode.type||\"TSUndefinedKeyword\"===typeNode.type)continue;const serializedIndividual=serializeTypeNode(className,typeNode);if(_core.types.isIdentifier(serializedIndividual)&&\"Object\"===serializedIndividual.name)return serializedIndividual;if(serializedUnion){if(!_core.types.isIdentifier(serializedUnion)||!_core.types.isIdentifier(serializedIndividual)||serializedUnion.name!==serializedIndividual.name)return _core.types.identifier(\"Object\")}else serializedUnion=serializedIndividual}return serializedUnion||createVoidZero()}},\"./node_modules/.pnpm/babel-plugin-transform-typescript-metadata@0.3.2_@babel+core@7.23.2/node_modules/babel-plugin-transform-typescript-metadata/lib/parameter/parameterVisitor.js\":(__unused_webpack_module,exports,__nested_webpack_require_46797__)=>{\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.parameterVisitor=function(classPath,path){if(\"ClassMethod\"!==path.type)return;if(\"ClassMethod\"!==path.node.type)return;if(\"Identifier\"!==path.node.key.type)return;const methodPath=path;(methodPath.get(\"params\")||[]).slice().forEach((function(param){let resultantDecorator;null!=(\"Identifier\"===param.node.type||\"ObjectPattern\"===param.node.type?param.node:\"TSParameterProperty\"===param.node.type&&\"Identifier\"===param.node.parameter.type?param.node.parameter:null)&&((param.node.decorators||[]).slice().forEach((function(decorator){\"constructor\"===methodPath.node.kind?(resultantDecorator=createParamDecorator(param.key,decorator.expression,!0),classPath.node.decorators||(classPath.node.decorators=[]),classPath.node.decorators.push(resultantDecorator)):(resultantDecorator=createParamDecorator(param.key,decorator.expression,!1),methodPath.node.decorators||(methodPath.node.decorators=[]),methodPath.node.decorators.push(resultantDecorator))})),resultantDecorator&&(param.node.decorators=null))}))};var _core=__nested_webpack_require_46797__(\"./node_modules/.pnpm/@babel+core@7.23.2/node_modules/@babel/core/lib/index.js\");function createParamDecorator(paramIndex,decoratorExpression,isConstructor=!1){return _core.types.decorator(_core.types.functionExpression(null,[_core.types.identifier(\"target\"),_core.types.identifier(\"key\")],_core.types.blockStatement([_core.types.returnStatement(_core.types.callExpression(decoratorExpression,[_core.types.identifier(\"target\"),_core.types.identifier(isConstructor?\"undefined\":\"key\"),_core.types.numericLiteral(paramIndex)]))])))}},\"./node_modules/.pnpm/babel-plugin-transform-typescript-metadata@0.3.2_@babel+core@7.23.2/node_modules/babel-plugin-transform-typescript-metadata/lib/plugin.js\":(__unused_webpack_module,exports,__nested_webpack_require_48652__)=>{\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.default=void 0;var _helperPluginUtils=__nested_webpack_require_48652__(\"./node_modules/.pnpm/@babel+helper-plugin-utils@7.22.5/node_modules/@babel/helper-plugin-utils/lib/index.js\"),_parameterVisitor=__nested_webpack_require_48652__(\"./node_modules/.pnpm/babel-plugin-transform-typescript-metadata@0.3.2_@babel+core@7.23.2/node_modules/babel-plugin-transform-typescript-metadata/lib/parameter/parameterVisitor.js\"),_metadataVisitor=__nested_webpack_require_48652__(\"./node_modules/.pnpm/babel-plugin-transform-typescript-metadata@0.3.2_@babel+core@7.23.2/node_modules/babel-plugin-transform-typescript-metadata/lib/metadata/metadataVisitor.js\"),_default=(0,_helperPluginUtils.declare)((api=>(api.assertVersion(7),{visitor:{Program(programPath){programPath.traverse({ClassDeclaration(path){for(const field of path.get(\"body\").get(\"body\"))\"ClassMethod\"!==field.type&&\"ClassProperty\"!==field.type||((0,_parameterVisitor.parameterVisitor)(path,field),(0,_metadataVisitor.metadataVisitor)(path,field));path.parentPath.scope.crawl()}})}}})));exports.default=_default},\"./node_modules/.pnpm/convert-source-map@2.0.0/node_modules/convert-source-map/index.js\":(__unused_webpack_module,exports)=>{\"use strict\";var decodeBase64;function Converter(sm,opts){(opts=opts||{}).hasComment&&(sm=function(sm){return sm.split(\",\").pop()}(sm)),\"base64\"===opts.encoding?sm=decodeBase64(sm):\"uri\"===opts.encoding&&(sm=decodeURIComponent(sm)),(opts.isJSON||opts.encoding)&&(sm=JSON.parse(sm)),this.sourcemap=sm}function makeConverter(sm){return new Converter(sm,{isJSON:!0})}Object.defineProperty(exports,\"commentRegex\",{get:function(){return/^\\s*?\\/[\\/\\*][@#]\\s+?sourceMappingURL=data:(((?:application|text)\\/json)(?:;charset=([^;,]+?)?)?)?(?:;(base64))?,(.*?)$/gm}}),Object.defineProperty(exports,\"mapFileCommentRegex\",{get:function(){return/(?:\\/\\/[@#][ \\t]+?sourceMappingURL=([^\\s'\"`]+?)[ \\t]*?$)|(?:\\/\\*[@#][ \\t]+sourceMappingURL=([^*]+?)[ \\t]*?(?:\\*\\/){1}[ \\t]*?$)/gm}}),decodeBase64=\"undefined\"!=typeof Buffer?\"function\"==typeof Buffer.from?function(base64){return Buffer.from(base64,\"base64\").toString()}:function(base64){if(\"number\"==typeof value)throw new TypeError(\"The value to decode must not be of type number.\");return new Buffer(base64,\"base64\").toString()}:function(base64){return decodeURIComponent(escape(atob(base64)))},Converter.prototype.toJSON=function(space){return JSON.stringify(this.sourcemap,null,space)},\"undefined\"!=typeof Buffer?\"function\"==typeof Buffer.from?Converter.prototype.toBase64=function(){var json=this.toJSON();return Buffer.from(json,\"utf8\").toString(\"base64\")}:Converter.prototype.toBase64=function(){var json=this.toJSON();if(\"number\"==typeof json)throw new TypeError(\"The json to encode must not be of type number.\");return new Buffer(json,\"utf8\").toString(\"base64\")}:Converter.prototype.toBase64=function(){var json=this.toJSON();return btoa(unescape(encodeURIComponent(json)))},Converter.prototype.toURI=function(){var json=this.toJSON();return encodeURIComponent(json)},Converter.prototype.toComment=function(options){var encoding,content,data;return null!=options&&\"uri\"===options.encoding?(encoding=\"\",content=this.toURI()):(encoding=\";base64\",content=this.toBase64()),data=\"sourceMappingURL=data:application/json;charset=utf-8\"+encoding+\",\"+content,null!=options&&options.multiline?\"/*# \"+data+\" */\":\"//# \"+data},Converter.prototype.toObject=function(){return JSON.parse(this.toJSON())},Converter.prototype.addProperty=function(key,value){if(this.sourcemap.hasOwnProperty(key))throw new Error('property \"'+key+'\" already exists on the sourcemap, use set property instead');return this.setProperty(key,value)},Converter.prototype.setProperty=function(key,value){return this.sourcemap[key]=value,this},Converter.prototype.getProperty=function(key){return this.sourcemap[key]},exports.fromObject=function(obj){return new Converter(obj)},exports.fromJSON=function(json){return new Converter(json,{isJSON:!0})},exports.fromURI=function(uri){return new Converter(uri,{encoding:\"uri\"})},exports.fromBase64=function(base64){return new Converter(base64,{encoding:\"base64\"})},exports.fromComment=function(comment){var m;return new Converter(comment=comment.replace(/^\\/\\*/g,\"//\").replace(/\\*\\/$/g,\"\"),{encoding:(m=exports.commentRegex.exec(comment))&&m[4]||\"uri\",hasComment:!0})},exports.fromMapFileComment=function(comment,read){if(\"string\"==typeof read)throw new Error(\"String directory paths are no longer supported with `fromMapFileComment`\\nPlease review the Upgrading documentation at https://github.com/thlorenz/convert-source-map#upgrading\");var sm=function(sm,read){var r=exports.mapFileCommentRegex.exec(sm),filename=r[1]||r[2];try{return null!=(sm=read(filename))&&\"function\"==typeof sm.catch?sm.catch(throwError):sm}catch(e){throwError(e)}function throwError(e){throw new Error(\"An error occurred while trying to read the map file at \"+filename+\"\\n\"+e.stack)}}(comment,read);return null!=sm&&\"function\"==typeof sm.then?sm.then(makeConverter):makeConverter(sm)},exports.fromSource=function(content){var m=content.match(exports.commentRegex);return m?exports.fromComment(m.pop()):null},exports.fromMapFileSource=function(content,read){if(\"string\"==typeof read)throw new Error(\"String directory paths are no longer supported with `fromMapFileSource`\\nPlease review the Upgrading documentation at https://github.com/thlorenz/convert-source-map#upgrading\");var m=content.match(exports.mapFileCommentRegex);return m?exports.fromMapFileComment(m.pop(),read):null},exports.removeComments=function(src){return src.replace(exports.commentRegex,\"\")},exports.removeMapFileComments=function(src){return src.replace(exports.mapFileCommentRegex,\"\")},exports.generateMapFileComment=function(file,options){var data=\"sourceMappingURL=\"+file;return options&&options.multiline?\"/*# \"+data+\" */\":\"//# \"+data}},\"./node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/browser.js\":(module,exports,__nested_webpack_require_54617__)=>{exports.formatArgs=function(args){if(args[0]=(this.useColors?\"%c\":\"\")+this.namespace+(this.useColors?\" %c\":\" \")+args[0]+(this.useColors?\"%c \":\" \")+\"+\"+module.exports.humanize(this.diff),!this.useColors)return;const c=\"color: \"+this.color;args.splice(1,0,c,\"color: inherit\");let index=0,lastC=0;args[0].replace(/%[a-zA-Z%]/g,(match=>{\"%%\"!==match&&(index++,\"%c\"===match&&(lastC=index))})),args.splice(lastC,0,c)},exports.save=function(namespaces){try{namespaces?exports.storage.setItem(\"debug\",namespaces):exports.storage.removeItem(\"debug\")}catch(error){}},exports.load=function(){let r;try{r=exports.storage.getItem(\"debug\")}catch(error){}!r&&\"undefined\"!=typeof process&&\"env\"in process&&(r=process.env.DEBUG);return r},exports.useColors=function(){if(\"undefined\"!=typeof window&&window.process&&(\"renderer\"===window.process.type||window.process.__nwjs))return!0;if(\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/))return!1;return\"undefined\"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||\"undefined\"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)},exports.storage=function(){try{return localStorage}catch(error){}}(),exports.destroy=(()=>{let warned=!1;return()=>{warned||(warned=!0,console.warn(\"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.\"))}})(),exports.colors=[\"#0000CC\",\"#0000FF\",\"#0033CC\",\"#0033FF\",\"#0066CC\",\"#0066FF\",\"#0099CC\",\"#0099FF\",\"#00CC00\",\"#00CC33\",\"#00CC66\",\"#00CC99\",\"#00CCCC\",\"#00CCFF\",\"#3300CC\",\"#3300FF\",\"#3333CC\",\"#3333FF\",\"#3366CC\",\"#3366FF\",\"#3399CC\",\"#3399FF\",\"#33CC00\",\"#33CC33\",\"#33CC66\",\"#33CC99\",\"#33CCCC\",\"#33CCFF\",\"#6600CC\",\"#6600FF\",\"#6633CC\",\"#6633FF\",\"#66CC00\",\"#66CC33\",\"#9900CC\",\"#9900FF\",\"#9933CC\",\"#9933FF\",\"#99CC00\",\"#99CC33\",\"#CC0000\",\"#CC0033\",\"#CC0066\",\"#CC0099\",\"#CC00CC\",\"#CC00FF\",\"#CC3300\",\"#CC3333\",\"#CC3366\",\"#CC3399\",\"#CC33CC\",\"#CC33FF\",\"#CC6600\",\"#CC6633\",\"#CC9900\",\"#CC9933\",\"#CCCC00\",\"#CCCC33\",\"#FF0000\",\"#FF0033\",\"#FF0066\",\"#FF0099\",\"#FF00CC\",\"#FF00FF\",\"#FF3300\",\"#FF3333\",\"#FF3366\",\"#FF3399\",\"#FF33CC\",\"#FF33FF\",\"#FF6600\",\"#FF6633\",\"#FF9900\",\"#FF9933\",\"#FFCC00\",\"#FFCC33\"],exports.log=console.debug||console.log||(()=>{}),module.exports=__nested_webpack_require_54617__(\"./node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/common.js\")(exports);const{formatters}=module.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return\"[UnexpectedJSONParseError]: \"+error.message}}},\"./node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/common.js\":(module,__unused_webpack_exports,__nested_webpack_require_57634__)=>{module.exports=function(env){function createDebug(namespace){let prevTime,namespacesCache,enabledCache,enableOverride=null;function debug(...args){if(!debug.enabled)return;const self=debug,curr=Number(new Date),ms=curr-(prevTime||curr);self.diff=ms,self.prev=prevTime,self.curr=curr,prevTime=curr,args[0]=createDebug.coerce(args[0]),\"string\"!=typeof args[0]&&args.unshift(\"%O\");let index=0;args[0]=args[0].replace(/%([a-zA-Z%])/g,((match,format)=>{if(\"%%\"===match)return\"%\";index++;const formatter=createDebug.formatters[format];if(\"function\"==typeof formatter){const val=args[index];match=formatter.call(self,val),args.splice(index,1),index--}return match})),createDebug.formatArgs.call(self,args);(self.log||createDebug.log).apply(self,args)}return debug.namespace=namespace,debug.useColors=createDebug.useColors(),debug.color=createDebug.selectColor(namespace),debug.extend=extend,debug.destroy=createDebug.destroy,Object.defineProperty(debug,\"enabled\",{enumerable:!0,configurable:!1,get:()=>null!==enableOverride?enableOverride:(namespacesCache!==createDebug.namespaces&&(namespacesCache=createDebug.namespaces,enabledCache=createDebug.enabled(namespace)),enabledCache),set:v=>{enableOverride=v}}),\"function\"==typeof createDebug.init&&createDebug.init(debug),debug}function extend(namespace,delimiter){const newDebug=createDebug(this.namespace+(void 0===delimiter?\":\":delimiter)+namespace);return newDebug.log=this.log,newDebug}function toNamespace(regexp){return regexp.toString().substring(2,regexp.toString().length-2).replace(/\\.\\*\\?$/,\"*\")}return createDebug.debug=createDebug,createDebug.default=createDebug,createDebug.coerce=function(val){if(val instanceof Error)return val.stack||val.message;return val},createDebug.disable=function(){const namespaces=[...createDebug.names.map(toNamespace),...createDebug.skips.map(toNamespace).map((namespace=>\"-\"+namespace))].join(\",\");return createDebug.enable(\"\"),namespaces},createDebug.enable=function(namespaces){let i;createDebug.save(namespaces),createDebug.namespaces=namespaces,createDebug.names=[],createDebug.skips=[];const split=(\"string\"==typeof namespaces?namespaces:\"\").split(/[\\s,]+/),len=split.length;for(i=0;i{createDebug[key]=env[key]})),createDebug.names=[],createDebug.skips=[],createDebug.formatters={},createDebug.selectColor=function(namespace){let hash=0;for(let i=0;i{\"undefined\"==typeof process||\"renderer\"===process.type||!0===process.browser||process.__nwjs?module.exports=__nested_webpack_require_61075__(\"./node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/browser.js\"):module.exports=__nested_webpack_require_61075__(\"./node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/node.js\")},\"./node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/node.js\":(module,exports,__nested_webpack_require_61481__)=>{const tty=__nested_webpack_require_61481__(\"tty\"),util=__nested_webpack_require_61481__(\"util\");exports.init=function(debug){debug.inspectOpts={};const keys=Object.keys(exports.inspectOpts);for(let i=0;i{}),\"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.\"),exports.colors=[6,2,3,4,5,1];try{const supportsColor=__nested_webpack_require_61481__(\"./node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/index.js\");supportsColor&&(supportsColor.stderr||supportsColor).level>=2&&(exports.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(error){}exports.inspectOpts=Object.keys(process.env).filter((key=>/^debug_/i.test(key))).reduce(((obj,key)=>{const prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,((_,k)=>k.toUpperCase()));let val=process.env[key];return val=!!/^(yes|on|true|enabled)$/i.test(val)||!/^(no|off|false|disabled)$/i.test(val)&&(\"null\"===val?null:Number(val)),obj[prop]=val,obj}),{}),module.exports=__nested_webpack_require_61481__(\"./node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/common.js\")(exports);const{formatters}=module.exports;formatters.o=function(v){return this.inspectOpts.colors=this.useColors,util.inspect(v,this.inspectOpts).split(\"\\n\").map((str=>str.trim())).join(\" \")},formatters.O=function(v){return this.inspectOpts.colors=this.useColors,util.inspect(v,this.inspectOpts)}},\"./node_modules/.pnpm/gensync@1.0.0-beta.2/node_modules/gensync/index.js\":module=>{\"use strict\";const GENSYNC_START=Symbol.for(\"gensync:v1:start\"),GENSYNC_SUSPEND=Symbol.for(\"gensync:v1:suspend\"),GENSYNC_EXPECTED_START=\"GENSYNC_EXPECTED_START\",GENSYNC_EXPECTED_SUSPEND=\"GENSYNC_EXPECTED_SUSPEND\",GENSYNC_OPTIONS_ERROR=\"GENSYNC_OPTIONS_ERROR\";function assertTypeof(type,name,value,allowUndefined){if(typeof value===type||allowUndefined&&void 0===value)return;let msg;throw msg=allowUndefined?`Expected opts.${name} to be either a ${type}, or undefined.`:`Expected opts.${name} to be a ${type}.`,makeError(msg,GENSYNC_OPTIONS_ERROR)}function makeError(msg,code){return Object.assign(new Error(msg),{code})}function buildOperation({name,arity,sync,async}){return setFunctionMetadata(name,arity,(function*(...args){const resume=yield GENSYNC_START;if(!resume){return sync.call(this,args)}let result;try{async.call(this,args,(value=>{result||(result={value},resume())}),(err=>{result||(result={err},resume())}))}catch(err){result={err},resume()}if(yield GENSYNC_SUSPEND,result.hasOwnProperty(\"err\"))throw result.err;return result.value}))}function evaluateSync(gen){let value;for(;!({value}=gen.next()).done;)assertStart(value,gen);return value}function evaluateAsync(gen,resolve,reject){!function step(){try{let value;for(;!({value}=gen.next()).done;){assertStart(value,gen);let sync=!0,didSyncResume=!1;const out=gen.next((()=>{sync?didSyncResume=!0:step()}));if(sync=!1,assertSuspend(out,gen),!didSyncResume)return}return resolve(value)}catch(err){return reject(err)}}()}function assertStart(value,gen){value!==GENSYNC_START&&throwError(gen,makeError(`Got unexpected yielded value in gensync generator: ${JSON.stringify(value)}. Did you perhaps mean to use 'yield*' instead of 'yield'?`,GENSYNC_EXPECTED_START))}function assertSuspend({value,done},gen){(done||value!==GENSYNC_SUSPEND)&&throwError(gen,makeError(done?\"Unexpected generator completion. If you get this, it is probably a gensync bug.\":`Expected GENSYNC_SUSPEND, got ${JSON.stringify(value)}. If you get this, it is probably a gensync bug.`,GENSYNC_EXPECTED_SUSPEND))}function throwError(gen,err){throw gen.throw&&gen.throw(err),err}function setFunctionMetadata(name,arity,fn){if(\"string\"==typeof name){const nameDesc=Object.getOwnPropertyDescriptor(fn,\"name\");nameDesc&&!nameDesc.configurable||Object.defineProperty(fn,\"name\",Object.assign(nameDesc||{},{configurable:!0,value:name}))}if(\"number\"==typeof arity){const lengthDesc=Object.getOwnPropertyDescriptor(fn,\"length\");lengthDesc&&!lengthDesc.configurable||Object.defineProperty(fn,\"length\",Object.assign(lengthDesc||{},{configurable:!0,value:arity}))}return fn}module.exports=Object.assign((function(optsOrFn){let genFn=optsOrFn;return genFn=\"function\"!=typeof optsOrFn?function({name,arity,sync,async,errback}){if(assertTypeof(\"string\",\"name\",name,!0),assertTypeof(\"number\",\"arity\",arity,!0),assertTypeof(\"function\",\"sync\",sync),assertTypeof(\"function\",\"async\",async,!0),assertTypeof(\"function\",\"errback\",errback,!0),async&&errback)throw makeError(\"Expected one of either opts.async or opts.errback, but got _both_.\",GENSYNC_OPTIONS_ERROR);if(\"string\"!=typeof name){let fnName;errback&&errback.name&&\"errback\"!==errback.name&&(fnName=errback.name),async&&async.name&&\"async\"!==async.name&&(fnName=async.name.replace(/Async$/,\"\")),sync&&sync.name&&\"sync\"!==sync.name&&(fnName=sync.name.replace(/Sync$/,\"\")),\"string\"==typeof fnName&&(name=fnName)}\"number\"!=typeof arity&&(arity=sync.length);return buildOperation({name,arity,sync:function(args){return sync.apply(this,args)},async:function(args,resolve,reject){async?async.apply(this,args).then(resolve,reject):errback?errback.call(this,...args,((err,value)=>{null==err?resolve(value):reject(err)})):resolve(sync.apply(this,args))}})}(optsOrFn):function(genFn){return setFunctionMetadata(genFn.name,genFn.length,(function(...args){return genFn.apply(this,args)}))}(optsOrFn),Object.assign(genFn,function(genFn){const fns={sync:function(...args){return evaluateSync(genFn.apply(this,args))},async:function(...args){return new Promise(((resolve,reject)=>{evaluateAsync(genFn.apply(this,args),resolve,reject)}))},errback:function(...args){const cb=args.pop();if(\"function\"!=typeof cb)throw makeError(\"Asynchronous function called without callback\",\"GENSYNC_ERRBACK_NO_CALLBACK\");let gen;try{gen=genFn.apply(this,args)}catch(err){return void cb(err)}evaluateAsync(gen,(val=>cb(void 0,val)),(err=>cb(err)))}};return fns}(genFn))}),{all:buildOperation({name:\"all\",arity:1,sync:function(args){return Array.from(args[0]).map((item=>evaluateSync(item)))},async:function(args,resolve,reject){const items=Array.from(args[0]);if(0===items.length)return void Promise.resolve().then((()=>resolve([])));let count=0;const results=items.map((()=>{}));items.forEach(((item,i)=>{evaluateAsync(item,(val=>{results[i]=val,count+=1,count===results.length&&resolve(results)}),reject)}))}}),race:buildOperation({name:\"race\",arity:1,sync:function(args){const items=Array.from(args[0]);if(0===items.length)throw makeError(\"Must race at least 1 item\",\"GENSYNC_RACE_NONEMPTY\");return evaluateSync(items[0])},async:function(args,resolve,reject){const items=Array.from(args[0]);if(0===items.length)throw makeError(\"Must race at least 1 item\",\"GENSYNC_RACE_NONEMPTY\");for(const item of items)evaluateAsync(item,resolve,reject)}})})},\"./node_modules/.pnpm/globals@11.12.0/node_modules/globals/index.js\":(module,__unused_webpack_exports,__nested_webpack_require_69475__)=>{\"use strict\";module.exports=__nested_webpack_require_69475__(\"./node_modules/.pnpm/globals@11.12.0/node_modules/globals/globals.json\")},\"./node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js\":module=>{\"use strict\";module.exports=(flag,argv=process.argv)=>{const prefix=flag.startsWith(\"-\")?\"\":1===flag.length?\"-\":\"--\",position=argv.indexOf(prefix+flag),terminatorPosition=argv.indexOf(\"--\");return-1!==position&&(-1===terminatorPosition||position{\"use strict\";const object={},hasOwnProperty=object.hasOwnProperty,forOwn=(object,callback)=>{for(const key in object)hasOwnProperty.call(object,key)&&callback(key,object[key])},toString=object.toString,isArray=Array.isArray,isBuffer=Buffer.isBuffer,singleEscapes={'\"':'\\\\\"',\"'\":\"\\\\'\",\"\\\\\":\"\\\\\\\\\",\"\\b\":\"\\\\b\",\"\\f\":\"\\\\f\",\"\\n\":\"\\\\n\",\"\\r\":\"\\\\r\",\"\\t\":\"\\\\t\"},regexSingleEscape=/[\"'\\\\\\b\\f\\n\\r\\t]/,regexDigit=/[0-9]/,regexWhitelist=/[ !#-&\\(-\\[\\]-_a-~]/,jsesc=(argument,options)=>{const increaseIndentation=()=>{oldIndent=indent,++options.indentLevel,indent=options.indent.repeat(options.indentLevel)},defaults={escapeEverything:!1,minimal:!1,isScriptContext:!1,quotes:\"single\",wrap:!1,es6:!1,json:!1,compact:!0,lowercaseHex:!1,numbers:\"decimal\",indent:\"\\t\",indentLevel:0,__inline1__:!1,__inline2__:!1},json=options&&options.json;var destination,source;json&&(defaults.quotes=\"double\",defaults.wrap=!0),destination=defaults,\"single\"!=(options=(source=options)?(forOwn(source,((key,value)=>{destination[key]=value})),destination):destination).quotes&&\"double\"!=options.quotes&&\"backtick\"!=options.quotes&&(options.quotes=\"single\");const quote=\"double\"==options.quotes?'\"':\"backtick\"==options.quotes?\"`\":\"'\",compact=options.compact,lowercaseHex=options.lowercaseHex;let indent=options.indent.repeat(options.indentLevel),oldIndent=\"\";const inline1=options.__inline1__,inline2=options.__inline2__,newLine=compact?\"\":\"\\n\";let result,isEmpty=!0;const useBinNumbers=\"binary\"==options.numbers,useOctNumbers=\"octal\"==options.numbers,useDecNumbers=\"decimal\"==options.numbers,useHexNumbers=\"hexadecimal\"==options.numbers;if(json&&argument&&(value=>\"function\"==typeof value)(argument.toJSON)&&(argument=argument.toJSON()),!(value=>\"string\"==typeof value||\"[object String]\"==toString.call(value))(argument)){if((value=>\"[object Map]\"==toString.call(value))(argument))return 0==argument.size?\"new Map()\":(compact||(options.__inline1__=!0,options.__inline2__=!1),\"new Map(\"+jsesc(Array.from(argument),options)+\")\");if((value=>\"[object Set]\"==toString.call(value))(argument))return 0==argument.size?\"new Set()\":\"new Set(\"+jsesc(Array.from(argument),options)+\")\";if(isBuffer(argument))return 0==argument.length?\"Buffer.from([])\":\"Buffer.from(\"+jsesc(Array.from(argument),options)+\")\";if(isArray(argument))return result=[],options.wrap=!0,inline1&&(options.__inline1__=!1,options.__inline2__=!0),inline2||increaseIndentation(),((array,callback)=>{const length=array.length;let index=-1;for(;++index{isEmpty=!1,inline2&&(options.__inline2__=!1),result.push((compact||inline2?\"\":indent)+jsesc(value,options))})),isEmpty?\"[]\":inline2?\"[\"+result.join(\", \")+\"]\":\"[\"+newLine+result.join(\",\"+newLine)+newLine+(compact?\"\":oldIndent)+\"]\";if(!(value=>\"number\"==typeof value||\"[object Number]\"==toString.call(value))(argument))return(value=>\"[object Object]\"==toString.call(value))(argument)?(result=[],options.wrap=!0,increaseIndentation(),forOwn(argument,((key,value)=>{isEmpty=!1,result.push((compact?\"\":indent)+jsesc(key,options)+\":\"+(compact?\"\":\" \")+jsesc(value,options))})),isEmpty?\"{}\":\"{\"+newLine+result.join(\",\"+newLine)+newLine+(compact?\"\":oldIndent)+\"}\"):json?JSON.stringify(argument)||\"null\":String(argument);if(json)return JSON.stringify(argument);if(useDecNumbers)return String(argument);if(useHexNumbers){let hexadecimal=argument.toString(16);return lowercaseHex||(hexadecimal=hexadecimal.toUpperCase()),\"0x\"+hexadecimal}if(useBinNumbers)return\"0b\"+argument.toString(2);if(useOctNumbers)return\"0o\"+argument.toString(8)}const string=argument;let index=-1;const length=string.length;for(result=\"\";++index=55296&&first<=56319&&length>index+1){const second=string.charCodeAt(index+1);if(second>=56320&&second<=57343){let hexadecimal=(1024*(first-55296)+second-56320+65536).toString(16);lowercaseHex||(hexadecimal=hexadecimal.toUpperCase()),result+=\"\\\\u{\"+hexadecimal+\"}\",++index;continue}}}if(!options.escapeEverything){if(regexWhitelist.test(character)){result+=character;continue}if('\"'==character){result+=quote==character?'\\\\\"':character;continue}if(\"`\"==character){result+=quote==character?\"\\\\`\":character;continue}if(\"'\"==character){result+=quote==character?\"\\\\'\":character;continue}}if(\"\\0\"==character&&!json&&!regexDigit.test(string.charAt(index+1))){result+=\"\\\\0\";continue}if(regexSingleEscape.test(character)){result+=singleEscapes[character];continue}const charCode=character.charCodeAt(0);if(options.minimal&&8232!=charCode&&8233!=charCode){result+=character;continue}let hexadecimal=charCode.toString(16);lowercaseHex||(hexadecimal=hexadecimal.toUpperCase());const longhand=hexadecimal.length>2||json,escaped=\"\\\\\"+(longhand?\"u\":\"x\")+(\"0000\"+hexadecimal).slice(longhand?-4:-2);result+=escaped}return options.wrap&&(result=quote+result+quote),\"`\"==quote&&(result=result.replace(/\\$\\{/g,\"\\\\${\")),options.isScriptContext?result.replace(/<\\/(script|style)/gi,\"<\\\\/$1\").replace(/ previous live fiber\n // --sibling--> deleted fiber\n //\n // We can't disconnect `alternate` on nodes that haven't been deleted\n // yet, but we can disconnect the `sibling` and `child` pointers.\n var previousFiber = fiber.alternate;\n\n if (previousFiber !== null) {\n var detachedChild = previousFiber.child;\n\n if (detachedChild !== null) {\n previousFiber.child = null;\n\n do {\n var detachedSibling = detachedChild.sibling;\n detachedChild.sibling = null;\n detachedChild = detachedSibling;\n } while (detachedChild !== null);\n }\n }\n }\n\n nextEffect = fiber;\n }\n }\n\n if ((fiber.subtreeFlags & PassiveMask) !== NoFlags && child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitPassiveUnmountEffects_complete();\n }\n }\n}\n\nfunction commitPassiveUnmountEffects_complete() {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n\n if ((fiber.flags & Passive) !== NoFlags) {\n setCurrentFiber(fiber);\n commitPassiveUnmountOnFiber(fiber);\n resetCurrentFiber();\n }\n\n var sibling = fiber.sibling;\n\n if (sibling !== null) {\n sibling.return = fiber.return;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = fiber.return;\n }\n}\n\nfunction commitPassiveUnmountOnFiber(finishedWork) {\n switch (finishedWork.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( finishedWork.mode & ProfileMode) {\n startPassiveEffectTimer();\n commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork, finishedWork.return);\n recordPassiveEffectDuration(finishedWork);\n } else {\n commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork, finishedWork.return);\n }\n\n break;\n }\n }\n}\n\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot, nearestMountedAncestor) {\n while (nextEffect !== null) {\n var fiber = nextEffect; // Deletion effects fire in parent -> child order\n // TODO: Check if fiber has a PassiveStatic flag\n\n setCurrentFiber(fiber);\n commitPassiveUnmountInsideDeletedTreeOnFiber(fiber, nearestMountedAncestor);\n resetCurrentFiber();\n var child = fiber.child; // TODO: Only traverse subtree if it has a PassiveStatic flag. (But, if we\n // do this, still need to handle `deletedTreeCleanUpLevel` correctly.)\n\n if (child !== null) {\n child.return = fiber;\n nextEffect = child;\n } else {\n commitPassiveUnmountEffectsInsideOfDeletedTree_complete(deletedSubtreeRoot);\n }\n }\n}\n\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_complete(deletedSubtreeRoot) {\n while (nextEffect !== null) {\n var fiber = nextEffect;\n var sibling = fiber.sibling;\n var returnFiber = fiber.return;\n\n {\n // Recursively traverse the entire deleted tree and clean up fiber fields.\n // This is more aggressive than ideal, and the long term goal is to only\n // have to detach the deleted tree at the root.\n detachFiberAfterEffects(fiber);\n\n if (fiber === deletedSubtreeRoot) {\n nextEffect = null;\n return;\n }\n }\n\n if (sibling !== null) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n return;\n }\n\n nextEffect = returnFiber;\n }\n}\n\nfunction commitPassiveUnmountInsideDeletedTreeOnFiber(current, nearestMountedAncestor) {\n switch (current.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n if ( current.mode & ProfileMode) {\n startPassiveEffectTimer();\n commitHookEffectListUnmount(Passive$1, current, nearestMountedAncestor);\n recordPassiveEffectDuration(current);\n } else {\n commitHookEffectListUnmount(Passive$1, current, nearestMountedAncestor);\n }\n\n break;\n }\n }\n} // TODO: Reuse reappearLayoutEffects traversal here?\n\n\nfunction invokeLayoutEffectMountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListMount(Layout | HasEffect, fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = fiber.stateNode;\n\n try {\n instance.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokePassiveEffectMountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListMount(Passive$1 | HasEffect, fiber);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokeLayoutEffectUnmountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListUnmount(Layout | HasEffect, fiber, fiber.return);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n var instance = fiber.stateNode;\n\n if (typeof instance.componentWillUnmount === 'function') {\n safelyCallComponentWillUnmount(fiber, fiber.return, instance);\n }\n\n break;\n }\n }\n }\n}\n\nfunction invokePassiveEffectUnmountInDEV(fiber) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n try {\n commitHookEffectListUnmount(Passive$1 | HasEffect, fiber, fiber.return);\n } catch (error) {\n captureCommitPhaseError(fiber, fiber.return, error);\n }\n }\n }\n }\n}\n\nvar COMPONENT_TYPE = 0;\nvar HAS_PSEUDO_CLASS_TYPE = 1;\nvar ROLE_TYPE = 2;\nvar TEST_NAME_TYPE = 3;\nvar TEXT_TYPE = 4;\n\nif (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n COMPONENT_TYPE = symbolFor('selector.component');\n HAS_PSEUDO_CLASS_TYPE = symbolFor('selector.has_pseudo_class');\n ROLE_TYPE = symbolFor('selector.role');\n TEST_NAME_TYPE = symbolFor('selector.test_id');\n TEXT_TYPE = symbolFor('selector.text');\n}\nvar commitHooks = [];\nfunction onCommitRoot$1() {\n {\n commitHooks.forEach(function (commitHook) {\n return commitHook();\n });\n }\n}\n\nvar ReactCurrentActQueue = ReactSharedInternals.ReactCurrentActQueue;\nfunction isLegacyActEnvironment(fiber) {\n {\n // Legacy mode. We preserve the behavior of React 17's act. It assumes an\n // act environment whenever `jest` is defined, but you can still turn off\n // spurious warnings by setting IS_REACT_ACT_ENVIRONMENT explicitly\n // to false.\n var isReactActEnvironmentGlobal = // $FlowExpectedError – Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global\n typeof IS_REACT_ACT_ENVIRONMENT !== 'undefined' ? IS_REACT_ACT_ENVIRONMENT : undefined; // $FlowExpectedError - Flow doesn't know about jest\n\n var jestIsDefined = typeof jest !== 'undefined';\n return jestIsDefined && isReactActEnvironmentGlobal !== false;\n }\n}\nfunction isConcurrentActEnvironment() {\n {\n var isReactActEnvironmentGlobal = // $FlowExpectedError – Flow doesn't know about IS_REACT_ACT_ENVIRONMENT global\n typeof IS_REACT_ACT_ENVIRONMENT !== 'undefined' ? IS_REACT_ACT_ENVIRONMENT : undefined;\n\n if (!isReactActEnvironmentGlobal && ReactCurrentActQueue.current !== null) {\n // TODO: Include link to relevant documentation page.\n error('The current testing environment is not configured to support ' + 'act(...)');\n }\n\n return isReactActEnvironmentGlobal;\n }\n}\n\nvar ceil = Math.ceil;\nvar ReactCurrentDispatcher$2 = ReactSharedInternals.ReactCurrentDispatcher,\n ReactCurrentOwner$2 = ReactSharedInternals.ReactCurrentOwner,\n ReactCurrentBatchConfig$3 = ReactSharedInternals.ReactCurrentBatchConfig,\n ReactCurrentActQueue$1 = ReactSharedInternals.ReactCurrentActQueue;\nvar NoContext =\n/* */\n0;\nvar BatchedContext =\n/* */\n1;\nvar RenderContext =\n/* */\n2;\nvar CommitContext =\n/* */\n4;\nvar RootInProgress = 0;\nvar RootFatalErrored = 1;\nvar RootErrored = 2;\nvar RootSuspended = 3;\nvar RootSuspendedWithDelay = 4;\nvar RootCompleted = 5;\nvar RootDidNotComplete = 6; // Describes where we are in the React execution stack\n\nvar executionContext = NoContext; // The root we're working on\n\nvar workInProgressRoot = null; // The fiber we're working on\n\nvar workInProgress = null; // The lanes we're rendering\n\nvar workInProgressRootRenderLanes = NoLanes; // Stack that allows components to change the render lanes for its subtree\n// This is a superset of the lanes we started working on at the root. The only\n// case where it's different from `workInProgressRootRenderLanes` is when we\n// enter a subtree that is hidden and needs to be unhidden: Suspense and\n// Offscreen component.\n//\n// Most things in the work loop should deal with workInProgressRootRenderLanes.\n// Most things in begin/complete phases should deal with subtreeRenderLanes.\n\nvar subtreeRenderLanes = NoLanes;\nvar subtreeRenderLanesCursor = createCursor(NoLanes); // Whether to root completed, errored, suspended, etc.\n\nvar workInProgressRootExitStatus = RootInProgress; // A fatal error, if one is thrown\n\nvar workInProgressRootFatalError = null; // \"Included\" lanes refer to lanes that were worked on during this render. It's\n// slightly different than `renderLanes` because `renderLanes` can change as you\n// enter and exit an Offscreen tree. This value is the combination of all render\n// lanes for the entire render phase.\n\nvar workInProgressRootIncludedLanes = NoLanes; // The work left over by components that were visited during this render. Only\n// includes unprocessed updates, not work in bailed out children.\n\nvar workInProgressRootSkippedLanes = NoLanes; // Lanes that were updated (in an interleaved event) during this render.\n\nvar workInProgressRootInterleavedUpdatedLanes = NoLanes; // Lanes that were updated during the render phase (*not* an interleaved event).\n\nvar workInProgressRootPingedLanes = NoLanes; // Errors that are thrown during the render phase.\n\nvar workInProgressRootConcurrentErrors = null; // These are errors that we recovered from without surfacing them to the UI.\n// We will log them once the tree commits.\n\nvar workInProgressRootRecoverableErrors = null; // The most recent time we committed a fallback. This lets us ensure a train\n// model where we don't commit new loading states in too quick succession.\n\nvar globalMostRecentFallbackTime = 0;\nvar FALLBACK_THROTTLE_MS = 500; // The absolute time for when we should start giving up on rendering\n// more and prefer CPU suspense heuristics instead.\n\nvar workInProgressRootRenderTargetTime = Infinity; // How long a render is supposed to take before we start following CPU\n// suspense heuristics and opt out of rendering more content.\n\nvar RENDER_TIMEOUT_MS = 500;\nvar workInProgressTransitions = null;\n\nfunction resetRenderTimer() {\n workInProgressRootRenderTargetTime = now() + RENDER_TIMEOUT_MS;\n}\n\nfunction getRenderTargetTime() {\n return workInProgressRootRenderTargetTime;\n}\nvar hasUncaughtError = false;\nvar firstUncaughtError = null;\nvar legacyErrorBoundariesThatAlreadyFailed = null; // Only used when enableProfilerNestedUpdateScheduledHook is true;\nvar rootDoesHavePassiveEffects = false;\nvar rootWithPendingPassiveEffects = null;\nvar pendingPassiveEffectsLanes = NoLanes;\nvar pendingPassiveProfilerEffects = [];\nvar pendingPassiveTransitions = null; // Use these to prevent an infinite loop of nested updates\n\nvar NESTED_UPDATE_LIMIT = 50;\nvar nestedUpdateCount = 0;\nvar rootWithNestedUpdates = null;\nvar isFlushingPassiveEffects = false;\nvar didScheduleUpdateDuringPassiveEffects = false;\nvar NESTED_PASSIVE_UPDATE_LIMIT = 50;\nvar nestedPassiveUpdateCount = 0;\nvar rootWithPassiveNestedUpdates = null; // If two updates are scheduled within the same event, we should treat their\n// event times as simultaneous, even if the actual clock time has advanced\n// between the first and second call.\n\nvar currentEventTime = NoTimestamp;\nvar currentEventTransitionLane = NoLanes;\nvar isRunningInsertionEffect = false;\nfunction getWorkInProgressRoot() {\n return workInProgressRoot;\n}\nfunction requestEventTime() {\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n // We're inside React, so it's fine to read the actual time.\n return now();\n } // We're not inside React, so we may be in the middle of a browser event.\n\n\n if (currentEventTime !== NoTimestamp) {\n // Use the same start time for all updates until we enter React again.\n return currentEventTime;\n } // This is the first update since React yielded. Compute a new start time.\n\n\n currentEventTime = now();\n return currentEventTime;\n}\nfunction requestUpdateLane(fiber) {\n // Special cases\n var mode = fiber.mode;\n\n if ((mode & ConcurrentMode) === NoMode) {\n return SyncLane;\n } else if ( (executionContext & RenderContext) !== NoContext && workInProgressRootRenderLanes !== NoLanes) {\n // This is a render phase update. These are not officially supported. The\n // old behavior is to give this the same \"thread\" (lanes) as\n // whatever is currently rendering. So if you call `setState` on a component\n // that happens later in the same render, it will flush. Ideally, we want to\n // remove the special case and treat them as if they came from an\n // interleaved event. Regardless, this pattern is not officially supported.\n // This behavior is only a fallback. The flag only exists until we can roll\n // out the setState warning, since existing code might accidentally rely on\n // the current behavior.\n return pickArbitraryLane(workInProgressRootRenderLanes);\n }\n\n var isTransition = requestCurrentTransition() !== NoTransition;\n\n if (isTransition) {\n if ( ReactCurrentBatchConfig$3.transition !== null) {\n var transition = ReactCurrentBatchConfig$3.transition;\n\n if (!transition._updatedFibers) {\n transition._updatedFibers = new Set();\n }\n\n transition._updatedFibers.add(fiber);\n } // The algorithm for assigning an update to a lane should be stable for all\n // updates at the same priority within the same event. To do this, the\n // inputs to the algorithm must be the same.\n //\n // The trick we use is to cache the first of each of these inputs within an\n // event. Then reset the cached values once we can be sure the event is\n // over. Our heuristic for that is whenever we enter a concurrent work loop.\n\n\n if (currentEventTransitionLane === NoLane) {\n // All transitions within the same event are assigned the same lane.\n currentEventTransitionLane = claimNextTransitionLane();\n }\n\n return currentEventTransitionLane;\n } // Updates originating inside certain React methods, like flushSync, have\n // their priority set by tracking it with a context variable.\n //\n // The opaque type returned by the host config is internally a lane, so we can\n // use that directly.\n // TODO: Move this type conversion to the event priority module.\n\n\n var updateLane = getCurrentUpdatePriority();\n\n if (updateLane !== NoLane) {\n return updateLane;\n } // This update originated outside React. Ask the host environment for an\n // appropriate priority, based on the type of event.\n //\n // The opaque type returned by the host config is internally a lane, so we can\n // use that directly.\n // TODO: Move this type conversion to the event priority module.\n\n\n var eventLane = getCurrentEventPriority();\n return eventLane;\n}\n\nfunction requestRetryLane(fiber) {\n // This is a fork of `requestUpdateLane` designed specifically for Suspense\n // \"retries\" — a special update that attempts to flip a Suspense boundary\n // from its placeholder state to its primary/resolved state.\n // Special cases\n var mode = fiber.mode;\n\n if ((mode & ConcurrentMode) === NoMode) {\n return SyncLane;\n }\n\n return claimNextRetryLane();\n}\n\nfunction scheduleUpdateOnFiber(root, fiber, lane, eventTime) {\n checkForNestedUpdates();\n\n {\n if (isRunningInsertionEffect) {\n error('useInsertionEffect must not schedule updates.');\n }\n }\n\n {\n if (isFlushingPassiveEffects) {\n didScheduleUpdateDuringPassiveEffects = true;\n }\n } // Mark that the root has a pending update.\n\n\n markRootUpdated(root, lane, eventTime);\n\n if ((executionContext & RenderContext) !== NoLanes && root === workInProgressRoot) {\n // This update was dispatched during the render phase. This is a mistake\n // if the update originates from user space (with the exception of local\n // hook updates, which are handled differently and don't reach this\n // function), but there are some internal React features that use this as\n // an implementation detail, like selective hydration.\n warnAboutRenderPhaseUpdatesInDEV(fiber); // Track lanes that were updated during the render phase\n } else {\n // This is a normal update, scheduled from outside the render phase. For\n // example, during an input event.\n {\n if (isDevToolsPresent) {\n addFiberToLanesMap(root, fiber, lane);\n }\n }\n\n warnIfUpdatesNotWrappedWithActDEV(fiber);\n\n if (root === workInProgressRoot) {\n // Received an update to a tree that's in the middle of rendering. Mark\n // that there was an interleaved update work on this root. Unless the\n // `deferRenderPhaseUpdateToNextBatch` flag is off and this is a render\n // phase update. In that case, we don't treat render phase updates as if\n // they were interleaved, for backwards compat reasons.\n if ( (executionContext & RenderContext) === NoContext) {\n workInProgressRootInterleavedUpdatedLanes = mergeLanes(workInProgressRootInterleavedUpdatedLanes, lane);\n }\n\n if (workInProgressRootExitStatus === RootSuspendedWithDelay) {\n // The root already suspended with a delay, which means this render\n // definitely won't finish. Since we have a new update, let's mark it as\n // suspended now, right before marking the incoming update. This has the\n // effect of interrupting the current render and switching to the update.\n // TODO: Make sure this doesn't override pings that happen while we've\n // already started rendering.\n markRootSuspended$1(root, workInProgressRootRenderLanes);\n }\n }\n\n ensureRootIsScheduled(root, eventTime);\n\n if (lane === SyncLane && executionContext === NoContext && (fiber.mode & ConcurrentMode) === NoMode && // Treat `act` as if it's inside `batchedUpdates`, even in legacy mode.\n !( ReactCurrentActQueue$1.isBatchingLegacy)) {\n // Flush the synchronous work now, unless we're already working or inside\n // a batch. This is intentionally inside scheduleUpdateOnFiber instead of\n // scheduleCallbackForFiber to preserve the ability to schedule a callback\n // without immediately flushing it. We only do this for user-initiated\n // updates, to preserve historical behavior of legacy mode.\n resetRenderTimer();\n flushSyncCallbacksOnlyInLegacyMode();\n }\n }\n}\nfunction scheduleInitialHydrationOnRoot(root, lane, eventTime) {\n // This is a special fork of scheduleUpdateOnFiber that is only used to\n // schedule the initial hydration of a root that has just been created. Most\n // of the stuff in scheduleUpdateOnFiber can be skipped.\n //\n // The main reason for this separate path, though, is to distinguish the\n // initial children from subsequent updates. In fully client-rendered roots\n // (createRoot instead of hydrateRoot), all top-level renders are modeled as\n // updates, but hydration roots are special because the initial render must\n // match what was rendered on the server.\n var current = root.current;\n current.lanes = lane;\n markRootUpdated(root, lane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n}\nfunction isUnsafeClassRenderPhaseUpdate(fiber) {\n // Check if this is a render phase update. Only called by class components,\n // which special (deprecated) behavior for UNSAFE_componentWillReceive props.\n return (// TODO: Remove outdated deferRenderPhaseUpdateToNextBatch experiment. We\n // decided not to enable it.\n (executionContext & RenderContext) !== NoContext\n );\n} // Use this function to schedule a task for a root. There's only one task per\n// root; if a task was already scheduled, we'll check to make sure the priority\n// of the existing task is the same as the priority of the next level that the\n// root has work on. This function is called on every update, and right before\n// exiting a task.\n\nfunction ensureRootIsScheduled(root, currentTime) {\n var existingCallbackNode = root.callbackNode; // Check if any lanes are being starved by other work. If so, mark them as\n // expired so we know to work on those next.\n\n markStarvedLanesAsExpired(root, currentTime); // Determine the next lanes to work on, and their priority.\n\n var nextLanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : NoLanes);\n\n if (nextLanes === NoLanes) {\n // Special case: There's nothing to work on.\n if (existingCallbackNode !== null) {\n cancelCallback$1(existingCallbackNode);\n }\n\n root.callbackNode = null;\n root.callbackPriority = NoLane;\n return;\n } // We use the highest priority lane to represent the priority of the callback.\n\n\n var newCallbackPriority = getHighestPriorityLane(nextLanes); // Check if there's an existing task. We may be able to reuse it.\n\n var existingCallbackPriority = root.callbackPriority;\n\n if (existingCallbackPriority === newCallbackPriority && // Special case related to `act`. If the currently scheduled task is a\n // Scheduler task, rather than an `act` task, cancel it and re-scheduled\n // on the `act` queue.\n !( ReactCurrentActQueue$1.current !== null && existingCallbackNode !== fakeActCallbackNode)) {\n {\n // If we're going to re-use an existing task, it needs to exist.\n // Assume that discrete update microtasks are non-cancellable and null.\n // TODO: Temporary until we confirm this warning is not fired.\n if (existingCallbackNode == null && existingCallbackPriority !== SyncLane) {\n error('Expected scheduled callback to exist. This error is likely caused by a bug in React. Please file an issue.');\n }\n } // The priority hasn't changed. We can reuse the existing task. Exit.\n\n\n return;\n }\n\n if (existingCallbackNode != null) {\n // Cancel the existing callback. We'll schedule a new one below.\n cancelCallback$1(existingCallbackNode);\n } // Schedule a new callback.\n\n\n var newCallbackNode;\n\n if (newCallbackPriority === SyncLane) {\n // Special case: Sync React callbacks are scheduled on a special\n // internal queue\n if (root.tag === LegacyRoot) {\n if ( ReactCurrentActQueue$1.isBatchingLegacy !== null) {\n ReactCurrentActQueue$1.didScheduleLegacyUpdate = true;\n }\n\n scheduleLegacySyncCallback(performSyncWorkOnRoot.bind(null, root));\n } else {\n scheduleSyncCallback(performSyncWorkOnRoot.bind(null, root));\n }\n\n {\n // Flush the queue in a microtask.\n if ( ReactCurrentActQueue$1.current !== null) {\n // Inside `act`, use our internal `act` queue so that these get flushed\n // at the end of the current scope even when using the sync version\n // of `act`.\n ReactCurrentActQueue$1.current.push(flushSyncCallbacks);\n } else {\n scheduleMicrotask(function () {\n // In Safari, appending an iframe forces microtasks to run.\n // https://github.com/facebook/react/issues/22459\n // We don't support running callbacks in the middle of render\n // or commit so we need to check against that.\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n // Note that this would still prematurely flush the callbacks\n // if this happens outside render or commit phase (e.g. in an event).\n flushSyncCallbacks();\n }\n });\n }\n }\n\n newCallbackNode = null;\n } else {\n var schedulerPriorityLevel;\n\n switch (lanesToEventPriority(nextLanes)) {\n case DiscreteEventPriority:\n schedulerPriorityLevel = ImmediatePriority;\n break;\n\n case ContinuousEventPriority:\n schedulerPriorityLevel = UserBlockingPriority;\n break;\n\n case DefaultEventPriority:\n schedulerPriorityLevel = NormalPriority;\n break;\n\n case IdleEventPriority:\n schedulerPriorityLevel = IdlePriority;\n break;\n\n default:\n schedulerPriorityLevel = NormalPriority;\n break;\n }\n\n newCallbackNode = scheduleCallback$1(schedulerPriorityLevel, performConcurrentWorkOnRoot.bind(null, root));\n }\n\n root.callbackPriority = newCallbackPriority;\n root.callbackNode = newCallbackNode;\n} // This is the entry point for every concurrent task, i.e. anything that\n// goes through Scheduler.\n\n\nfunction performConcurrentWorkOnRoot(root, didTimeout) {\n {\n resetNestedUpdateFlag();\n } // Since we know we're in a React event, we can clear the current\n // event time. The next update will compute a new event time.\n\n\n currentEventTime = NoTimestamp;\n currentEventTransitionLane = NoLanes;\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n } // Flush any pending passive effects before deciding which lanes to work on,\n // in case they schedule additional work.\n\n\n var originalCallbackNode = root.callbackNode;\n var didFlushPassiveEffects = flushPassiveEffects();\n\n if (didFlushPassiveEffects) {\n // Something in the passive effect phase may have canceled the current task.\n // Check if the task node for this root was changed.\n if (root.callbackNode !== originalCallbackNode) {\n // The current task was canceled. Exit. We don't need to call\n // `ensureRootIsScheduled` because the check above implies either that\n // there's a new task, or that there's no remaining work on this root.\n return null;\n }\n } // Determine the next lanes to work on, using the fields stored\n // on the root.\n\n\n var lanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : NoLanes);\n\n if (lanes === NoLanes) {\n // Defensive coding. This is never expected to happen.\n return null;\n } // We disable time-slicing in some cases: if the work has been CPU-bound\n // for too long (\"expired\" work, to prevent starvation), or we're in\n // sync-updates-by-default mode.\n // TODO: We only check `didTimeout` defensively, to account for a Scheduler\n // bug we're still investigating. Once the bug in Scheduler is fixed,\n // we can remove this, since we track expiration ourselves.\n\n\n var shouldTimeSlice = !includesBlockingLane(root, lanes) && !includesExpiredLane(root, lanes) && ( !didTimeout);\n var exitStatus = shouldTimeSlice ? renderRootConcurrent(root, lanes) : renderRootSync(root, lanes);\n\n if (exitStatus !== RootInProgress) {\n if (exitStatus === RootErrored) {\n // If something threw an error, try rendering one more time. We'll\n // render synchronously to block concurrent data mutations, and we'll\n // includes all pending updates are included. If it still fails after\n // the second attempt, we'll give up and commit the resulting tree.\n var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (errorRetryLanes !== NoLanes) {\n lanes = errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, errorRetryLanes);\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw fatalError;\n }\n\n if (exitStatus === RootDidNotComplete) {\n // The render unwound without completing the tree. This happens in special\n // cases where need to exit the current render without producing a\n // consistent tree or committing.\n //\n // This should only happen during a concurrent render, not a discrete or\n // synchronous update. We should have already checked for this when we\n // unwound the stack.\n markRootSuspended$1(root, lanes);\n } else {\n // The render completed.\n // Check if this render may have yielded to a concurrent event, and if so,\n // confirm that any newly rendered stores are consistent.\n // TODO: It's possible that even a concurrent render may never have yielded\n // to the main thread, if it was fast enough, or if it expired. We could\n // skip the consistency check in that case, too.\n var renderWasConcurrent = !includesBlockingLane(root, lanes);\n var finishedWork = root.current.alternate;\n\n if (renderWasConcurrent && !isRenderConsistentWithExternalStores(finishedWork)) {\n // A store was mutated in an interleaved event. Render again,\n // synchronously, to block further mutations.\n exitStatus = renderRootSync(root, lanes); // We need to check again if something threw\n\n if (exitStatus === RootErrored) {\n var _errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (_errorRetryLanes !== NoLanes) {\n lanes = _errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, _errorRetryLanes); // We assume the tree is now consistent because we didn't yield to any\n // concurrent events.\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var _fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw _fatalError;\n }\n } // We now have a consistent tree. The next step is either to commit it,\n // or, if something suspended, wait to commit it after a timeout.\n\n\n root.finishedWork = finishedWork;\n root.finishedLanes = lanes;\n finishConcurrentRender(root, exitStatus, lanes);\n }\n }\n\n ensureRootIsScheduled(root, now());\n\n if (root.callbackNode === originalCallbackNode) {\n // The task node scheduled for this root is the same one that's\n // currently executed. Need to return a continuation.\n return performConcurrentWorkOnRoot.bind(null, root);\n }\n\n return null;\n}\n\nfunction recoverFromConcurrentError(root, errorRetryLanes) {\n // If an error occurred during hydration, discard server response and fall\n // back to client side render.\n // Before rendering again, save the errors from the previous attempt.\n var errorsFromFirstAttempt = workInProgressRootConcurrentErrors;\n\n if (isRootDehydrated(root)) {\n // The shell failed to hydrate. Set a flag to force a client rendering\n // during the next attempt. To do this, we call prepareFreshStack now\n // to create the root work-in-progress fiber. This is a bit weird in terms\n // of factoring, because it relies on renderRootSync not calling\n // prepareFreshStack again in the call below, which happens because the\n // root and lanes haven't changed.\n //\n // TODO: I think what we should do is set ForceClientRender inside\n // throwException, like we do for nested Suspense boundaries. The reason\n // it's here instead is so we can switch to the synchronous work loop, too.\n // Something to consider for a future refactor.\n var rootWorkInProgress = prepareFreshStack(root, errorRetryLanes);\n rootWorkInProgress.flags |= ForceClientRender;\n\n {\n errorHydratingContainer(root.containerInfo);\n }\n }\n\n var exitStatus = renderRootSync(root, errorRetryLanes);\n\n if (exitStatus !== RootErrored) {\n // Successfully finished rendering on retry\n // The errors from the failed first attempt have been recovered. Add\n // them to the collection of recoverable errors. We'll log them in the\n // commit phase.\n var errorsFromSecondAttempt = workInProgressRootRecoverableErrors;\n workInProgressRootRecoverableErrors = errorsFromFirstAttempt; // The errors from the second attempt should be queued after the errors\n // from the first attempt, to preserve the causal sequence.\n\n if (errorsFromSecondAttempt !== null) {\n queueRecoverableErrors(errorsFromSecondAttempt);\n }\n }\n\n return exitStatus;\n}\n\nfunction queueRecoverableErrors(errors) {\n if (workInProgressRootRecoverableErrors === null) {\n workInProgressRootRecoverableErrors = errors;\n } else {\n workInProgressRootRecoverableErrors.push.apply(workInProgressRootRecoverableErrors, errors);\n }\n}\n\nfunction finishConcurrentRender(root, exitStatus, lanes) {\n switch (exitStatus) {\n case RootInProgress:\n case RootFatalErrored:\n {\n throw new Error('Root did not complete. This is a bug in React.');\n }\n // Flow knows about invariant, so it complains if I add a break\n // statement, but eslint doesn't know about invariant, so it complains\n // if I do. eslint-disable-next-line no-fallthrough\n\n case RootErrored:\n {\n // We should have already attempted to retry this tree. If we reached\n // this point, it errored again. Commit it.\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootSuspended:\n {\n markRootSuspended$1(root, lanes); // We have an acceptable loading state. We need to figure out if we\n // should immediately commit it or wait a bit.\n\n if (includesOnlyRetries(lanes) && // do not delay if we're inside an act() scope\n !shouldForceFlushFallbacksInDEV()) {\n // This render only included retries, no updates. Throttle committing\n // retries so that we don't show too many loading states too quickly.\n var msUntilTimeout = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now(); // Don't bother with a very short suspense time.\n\n if (msUntilTimeout > 10) {\n var nextLanes = getNextLanes(root, NoLanes);\n\n if (nextLanes !== NoLanes) {\n // There's additional work on this root.\n break;\n }\n\n var suspendedLanes = root.suspendedLanes;\n\n if (!isSubsetOfLanes(suspendedLanes, lanes)) {\n // We should prefer to render the fallback of at the last\n // suspended level. Ping the last suspended level to try\n // rendering it again.\n // FIXME: What if the suspended lanes are Idle? Should not restart.\n var eventTime = requestEventTime();\n markRootPinged(root, suspendedLanes);\n break;\n } // The render is suspended, it hasn't timed out, and there's no\n // lower priority work to do. Instead of committing the fallback\n // immediately, wait for more data to arrive.\n\n\n root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root, workInProgressRootRecoverableErrors, workInProgressTransitions), msUntilTimeout);\n break;\n }\n } // The work expired. Commit immediately.\n\n\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootSuspendedWithDelay:\n {\n markRootSuspended$1(root, lanes);\n\n if (includesOnlyTransitions(lanes)) {\n // This is a transition, so we should exit without committing a\n // placeholder and without scheduling a timeout. Delay indefinitely\n // until we receive more data.\n break;\n }\n\n if (!shouldForceFlushFallbacksInDEV()) {\n // This is not a transition, but we did trigger an avoided state.\n // Schedule a placeholder to display after a short delay, using the Just\n // Noticeable Difference.\n // TODO: Is the JND optimization worth the added complexity? If this is\n // the only reason we track the event time, then probably not.\n // Consider removing.\n var mostRecentEventTime = getMostRecentEventTime(root, lanes);\n var eventTimeMs = mostRecentEventTime;\n var timeElapsedMs = now() - eventTimeMs;\n\n var _msUntilTimeout = jnd(timeElapsedMs) - timeElapsedMs; // Don't bother with a very short suspense time.\n\n\n if (_msUntilTimeout > 10) {\n // Instead of committing the fallback immediately, wait for more data\n // to arrive.\n root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root, workInProgressRootRecoverableErrors, workInProgressTransitions), _msUntilTimeout);\n break;\n }\n } // Commit the placeholder.\n\n\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n case RootCompleted:\n {\n // The work completed. Ready to commit.\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions);\n break;\n }\n\n default:\n {\n throw new Error('Unknown root exit status.');\n }\n }\n}\n\nfunction isRenderConsistentWithExternalStores(finishedWork) {\n // Search the rendered tree for external store reads, and check whether the\n // stores were mutated in a concurrent event. Intentionally using an iterative\n // loop instead of recursion so we can exit early.\n var node = finishedWork;\n\n while (true) {\n if (node.flags & StoreConsistency) {\n var updateQueue = node.updateQueue;\n\n if (updateQueue !== null) {\n var checks = updateQueue.stores;\n\n if (checks !== null) {\n for (var i = 0; i < checks.length; i++) {\n var check = checks[i];\n var getSnapshot = check.getSnapshot;\n var renderedValue = check.value;\n\n try {\n if (!objectIs(getSnapshot(), renderedValue)) {\n // Found an inconsistent store.\n return false;\n }\n } catch (error) {\n // If `getSnapshot` throws, return `false`. This will schedule\n // a re-render, and the error will be rethrown during render.\n return false;\n }\n }\n }\n }\n }\n\n var child = node.child;\n\n if (node.subtreeFlags & StoreConsistency && child !== null) {\n child.return = node;\n node = child;\n continue;\n }\n\n if (node === finishedWork) {\n return true;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === finishedWork) {\n return true;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n } // Flow doesn't know this is unreachable, but eslint does\n // eslint-disable-next-line no-unreachable\n\n\n return true;\n}\n\nfunction markRootSuspended$1(root, suspendedLanes) {\n // When suspending, we should always exclude lanes that were pinged or (more\n // rarely, since we try to avoid it) updated during the render phase.\n // TODO: Lol maybe there's a better way to factor this besides this\n // obnoxiously named function :)\n suspendedLanes = removeLanes(suspendedLanes, workInProgressRootPingedLanes);\n suspendedLanes = removeLanes(suspendedLanes, workInProgressRootInterleavedUpdatedLanes);\n markRootSuspended(root, suspendedLanes);\n} // This is the entry point for synchronous tasks that don't go\n// through Scheduler\n\n\nfunction performSyncWorkOnRoot(root) {\n {\n syncNestedUpdateFlag();\n }\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n }\n\n flushPassiveEffects();\n var lanes = getNextLanes(root, NoLanes);\n\n if (!includesSomeLane(lanes, SyncLane)) {\n // There's no remaining sync work left.\n ensureRootIsScheduled(root, now());\n return null;\n }\n\n var exitStatus = renderRootSync(root, lanes);\n\n if (root.tag !== LegacyRoot && exitStatus === RootErrored) {\n // If something threw an error, try rendering one more time. We'll render\n // synchronously to block concurrent data mutations, and we'll includes\n // all pending updates are included. If it still fails after the second\n // attempt, we'll give up and commit the resulting tree.\n var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n\n if (errorRetryLanes !== NoLanes) {\n lanes = errorRetryLanes;\n exitStatus = recoverFromConcurrentError(root, errorRetryLanes);\n }\n }\n\n if (exitStatus === RootFatalErrored) {\n var fatalError = workInProgressRootFatalError;\n prepareFreshStack(root, NoLanes);\n markRootSuspended$1(root, lanes);\n ensureRootIsScheduled(root, now());\n throw fatalError;\n }\n\n if (exitStatus === RootDidNotComplete) {\n throw new Error('Root did not complete. This is a bug in React.');\n } // We now have a consistent tree. Because this is a sync render, we\n // will commit it even if something suspended.\n\n\n var finishedWork = root.current.alternate;\n root.finishedWork = finishedWork;\n root.finishedLanes = lanes;\n commitRoot(root, workInProgressRootRecoverableErrors, workInProgressTransitions); // Before exiting, make sure there's a callback scheduled for the next\n // pending level.\n\n ensureRootIsScheduled(root, now());\n return null;\n}\n\nfunction flushRoot(root, lanes) {\n if (lanes !== NoLanes) {\n markRootEntangled(root, mergeLanes(lanes, SyncLane));\n ensureRootIsScheduled(root, now());\n\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n resetRenderTimer();\n flushSyncCallbacks();\n }\n }\n}\nfunction batchedUpdates$1(fn, a) {\n var prevExecutionContext = executionContext;\n executionContext |= BatchedContext;\n\n try {\n return fn(a);\n } finally {\n executionContext = prevExecutionContext; // If there were legacy sync updates, flush them at the end of the outer\n // most batchedUpdates-like method.\n\n if (executionContext === NoContext && // Treat `act` as if it's inside `batchedUpdates`, even in legacy mode.\n !( ReactCurrentActQueue$1.isBatchingLegacy)) {\n resetRenderTimer();\n flushSyncCallbacksOnlyInLegacyMode();\n }\n }\n}\nfunction discreteUpdates(fn, a, b, c, d) {\n var previousPriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n return fn(a, b, c, d);\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n\n if (executionContext === NoContext) {\n resetRenderTimer();\n }\n }\n} // Overload the definition to the two valid signatures.\n// Warning, this opts-out of checking the function body.\n\n// eslint-disable-next-line no-redeclare\nfunction flushSync(fn) {\n // In legacy mode, we flush pending passive effects at the beginning of the\n // next event, not at the end of the previous one.\n if (rootWithPendingPassiveEffects !== null && rootWithPendingPassiveEffects.tag === LegacyRoot && (executionContext & (RenderContext | CommitContext)) === NoContext) {\n flushPassiveEffects();\n }\n\n var prevExecutionContext = executionContext;\n executionContext |= BatchedContext;\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n var previousPriority = getCurrentUpdatePriority();\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n\n if (fn) {\n return fn();\n } else {\n return undefined;\n }\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n executionContext = prevExecutionContext; // Flush the immediate callbacks that were scheduled during this batch.\n // Note that this will happen even if batchedUpdates is higher up\n // the stack.\n\n if ((executionContext & (RenderContext | CommitContext)) === NoContext) {\n flushSyncCallbacks();\n }\n }\n}\nfunction isAlreadyRendering() {\n // Used by the renderer to print a warning if certain APIs are called from\n // the wrong context.\n return (executionContext & (RenderContext | CommitContext)) !== NoContext;\n}\nfunction pushRenderLanes(fiber, lanes) {\n push(subtreeRenderLanesCursor, subtreeRenderLanes, fiber);\n subtreeRenderLanes = mergeLanes(subtreeRenderLanes, lanes);\n workInProgressRootIncludedLanes = mergeLanes(workInProgressRootIncludedLanes, lanes);\n}\nfunction popRenderLanes(fiber) {\n subtreeRenderLanes = subtreeRenderLanesCursor.current;\n pop(subtreeRenderLanesCursor, fiber);\n}\n\nfunction prepareFreshStack(root, lanes) {\n root.finishedWork = null;\n root.finishedLanes = NoLanes;\n var timeoutHandle = root.timeoutHandle;\n\n if (timeoutHandle !== noTimeout) {\n // The root previous suspended and scheduled a timeout to commit a fallback\n // state. Now that we have additional work, cancel the timeout.\n root.timeoutHandle = noTimeout; // $FlowFixMe Complains noTimeout is not a TimeoutID, despite the check above\n\n cancelTimeout(timeoutHandle);\n }\n\n if (workInProgress !== null) {\n var interruptedWork = workInProgress.return;\n\n while (interruptedWork !== null) {\n var current = interruptedWork.alternate;\n unwindInterruptedWork(current, interruptedWork);\n interruptedWork = interruptedWork.return;\n }\n }\n\n workInProgressRoot = root;\n var rootWorkInProgress = createWorkInProgress(root.current, null);\n workInProgress = rootWorkInProgress;\n workInProgressRootRenderLanes = subtreeRenderLanes = workInProgressRootIncludedLanes = lanes;\n workInProgressRootExitStatus = RootInProgress;\n workInProgressRootFatalError = null;\n workInProgressRootSkippedLanes = NoLanes;\n workInProgressRootInterleavedUpdatedLanes = NoLanes;\n workInProgressRootPingedLanes = NoLanes;\n workInProgressRootConcurrentErrors = null;\n workInProgressRootRecoverableErrors = null;\n finishQueueingConcurrentUpdates();\n\n {\n ReactStrictModeWarnings.discardPendingWarnings();\n }\n\n return rootWorkInProgress;\n}\n\nfunction handleError(root, thrownValue) {\n do {\n var erroredWork = workInProgress;\n\n try {\n // Reset module-level state that was set during the render phase.\n resetContextDependencies();\n resetHooksAfterThrow();\n resetCurrentFiber(); // TODO: I found and added this missing line while investigating a\n // separate issue. Write a regression test using string refs.\n\n ReactCurrentOwner$2.current = null;\n\n if (erroredWork === null || erroredWork.return === null) {\n // Expected to be working on a non-root fiber. This is a fatal error\n // because there's no ancestor that can handle it; the root is\n // supposed to capture all errors that weren't caught by an error\n // boundary.\n workInProgressRootExitStatus = RootFatalErrored;\n workInProgressRootFatalError = thrownValue; // Set `workInProgress` to null. This represents advancing to the next\n // sibling, or the parent if there are no siblings. But since the root\n // has no siblings nor a parent, we set it to null. Usually this is\n // handled by `completeUnitOfWork` or `unwindWork`, but since we're\n // intentionally not calling those, we need set it here.\n // TODO: Consider calling `unwindWork` to pop the contexts.\n\n workInProgress = null;\n return;\n }\n\n if (enableProfilerTimer && erroredWork.mode & ProfileMode) {\n // Record the time spent rendering before an error was thrown. This\n // avoids inaccurate Profiler durations in the case of a\n // suspended render.\n stopProfilerTimerIfRunningAndRecordDelta(erroredWork, true);\n }\n\n if (enableSchedulingProfiler) {\n markComponentRenderStopped();\n\n if (thrownValue !== null && typeof thrownValue === 'object' && typeof thrownValue.then === 'function') {\n var wakeable = thrownValue;\n markComponentSuspended(erroredWork, wakeable, workInProgressRootRenderLanes);\n } else {\n markComponentErrored(erroredWork, thrownValue, workInProgressRootRenderLanes);\n }\n }\n\n throwException(root, erroredWork.return, erroredWork, thrownValue, workInProgressRootRenderLanes);\n completeUnitOfWork(erroredWork);\n } catch (yetAnotherThrownValue) {\n // Something in the return path also threw.\n thrownValue = yetAnotherThrownValue;\n\n if (workInProgress === erroredWork && erroredWork !== null) {\n // If this boundary has already errored, then we had trouble processing\n // the error. Bubble it to the next boundary.\n erroredWork = erroredWork.return;\n workInProgress = erroredWork;\n } else {\n erroredWork = workInProgress;\n }\n\n continue;\n } // Return to the normal work loop.\n\n\n return;\n } while (true);\n}\n\nfunction pushDispatcher() {\n var prevDispatcher = ReactCurrentDispatcher$2.current;\n ReactCurrentDispatcher$2.current = ContextOnlyDispatcher;\n\n if (prevDispatcher === null) {\n // The React isomorphic package does not include a default dispatcher.\n // Instead the first renderer will lazily attach one, in order to give\n // nicer error messages.\n return ContextOnlyDispatcher;\n } else {\n return prevDispatcher;\n }\n}\n\nfunction popDispatcher(prevDispatcher) {\n ReactCurrentDispatcher$2.current = prevDispatcher;\n}\n\nfunction markCommitTimeOfFallback() {\n globalMostRecentFallbackTime = now();\n}\nfunction markSkippedUpdateLanes(lane) {\n workInProgressRootSkippedLanes = mergeLanes(lane, workInProgressRootSkippedLanes);\n}\nfunction renderDidSuspend() {\n if (workInProgressRootExitStatus === RootInProgress) {\n workInProgressRootExitStatus = RootSuspended;\n }\n}\nfunction renderDidSuspendDelayIfPossible() {\n if (workInProgressRootExitStatus === RootInProgress || workInProgressRootExitStatus === RootSuspended || workInProgressRootExitStatus === RootErrored) {\n workInProgressRootExitStatus = RootSuspendedWithDelay;\n } // Check if there are updates that we skipped tree that might have unblocked\n // this render.\n\n\n if (workInProgressRoot !== null && (includesNonIdleWork(workInProgressRootSkippedLanes) || includesNonIdleWork(workInProgressRootInterleavedUpdatedLanes))) {\n // Mark the current render as suspended so that we switch to working on\n // the updates that were skipped. Usually we only suspend at the end of\n // the render phase.\n // TODO: We should probably always mark the root as suspended immediately\n // (inside this function), since by suspending at the end of the render\n // phase introduces a potential mistake where we suspend lanes that were\n // pinged or updated while we were rendering.\n markRootSuspended$1(workInProgressRoot, workInProgressRootRenderLanes);\n }\n}\nfunction renderDidError(error) {\n if (workInProgressRootExitStatus !== RootSuspendedWithDelay) {\n workInProgressRootExitStatus = RootErrored;\n }\n\n if (workInProgressRootConcurrentErrors === null) {\n workInProgressRootConcurrentErrors = [error];\n } else {\n workInProgressRootConcurrentErrors.push(error);\n }\n} // Called during render to determine if anything has suspended.\n// Returns false if we're not sure.\n\nfunction renderHasNotSuspendedYet() {\n // If something errored or completed, we can't really be sure,\n // so those are false.\n return workInProgressRootExitStatus === RootInProgress;\n}\n\nfunction renderRootSync(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= RenderContext;\n var prevDispatcher = pushDispatcher(); // If the root or lanes have changed, throw out the existing stack\n // and prepare a fresh one. Otherwise we'll continue where we left off.\n\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n\n if (memoizedUpdaters.size > 0) {\n restorePendingUpdaters(root, workInProgressRootRenderLanes);\n memoizedUpdaters.clear();\n } // At this point, move Fibers that scheduled the upcoming work from the Map to the Set.\n // If we bailout on this work, we'll move them back (like above).\n // It's important to move them now in case the work spawns more work at the same priority with different updaters.\n // That way we can keep the current update and future updates separate.\n\n\n movePendingFibersToMemoized(root, lanes);\n }\n }\n\n workInProgressTransitions = getTransitionsForLanes();\n prepareFreshStack(root, lanes);\n }\n\n {\n markRenderStarted(lanes);\n }\n\n do {\n try {\n workLoopSync();\n break;\n } catch (thrownValue) {\n handleError(root, thrownValue);\n }\n } while (true);\n\n resetContextDependencies();\n executionContext = prevExecutionContext;\n popDispatcher(prevDispatcher);\n\n if (workInProgress !== null) {\n // This is a sync render, so we should have finished the whole tree.\n throw new Error('Cannot commit an incomplete root. This error is likely caused by a ' + 'bug in React. Please file an issue.');\n }\n\n {\n markRenderStopped();\n } // Set this to null to indicate there's no in-progress render.\n\n\n workInProgressRoot = null;\n workInProgressRootRenderLanes = NoLanes;\n return workInProgressRootExitStatus;\n} // The work loop is an extremely hot path. Tell Closure not to inline it.\n\n/** @noinline */\n\n\nfunction workLoopSync() {\n // Already timed out, so perform work without checking if we need to yield.\n while (workInProgress !== null) {\n performUnitOfWork(workInProgress);\n }\n}\n\nfunction renderRootConcurrent(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= RenderContext;\n var prevDispatcher = pushDispatcher(); // If the root or lanes have changed, throw out the existing stack\n // and prepare a fresh one. Otherwise we'll continue where we left off.\n\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n\n if (memoizedUpdaters.size > 0) {\n restorePendingUpdaters(root, workInProgressRootRenderLanes);\n memoizedUpdaters.clear();\n } // At this point, move Fibers that scheduled the upcoming work from the Map to the Set.\n // If we bailout on this work, we'll move them back (like above).\n // It's important to move them now in case the work spawns more work at the same priority with different updaters.\n // That way we can keep the current update and future updates separate.\n\n\n movePendingFibersToMemoized(root, lanes);\n }\n }\n\n workInProgressTransitions = getTransitionsForLanes();\n resetRenderTimer();\n prepareFreshStack(root, lanes);\n }\n\n {\n markRenderStarted(lanes);\n }\n\n do {\n try {\n workLoopConcurrent();\n break;\n } catch (thrownValue) {\n handleError(root, thrownValue);\n }\n } while (true);\n\n resetContextDependencies();\n popDispatcher(prevDispatcher);\n executionContext = prevExecutionContext;\n\n\n if (workInProgress !== null) {\n // Still work remaining.\n {\n markRenderYielded();\n }\n\n return RootInProgress;\n } else {\n // Completed the tree.\n {\n markRenderStopped();\n } // Set this to null to indicate there's no in-progress render.\n\n\n workInProgressRoot = null;\n workInProgressRootRenderLanes = NoLanes; // Return the final exit status.\n\n return workInProgressRootExitStatus;\n }\n}\n/** @noinline */\n\n\nfunction workLoopConcurrent() {\n // Perform work until Scheduler asks us to yield\n while (workInProgress !== null && !shouldYield()) {\n performUnitOfWork(workInProgress);\n }\n}\n\nfunction performUnitOfWork(unitOfWork) {\n // The current, flushed, state of this fiber is the alternate. Ideally\n // nothing should rely on this, but relying on it here means that we don't\n // need an additional field on the work in progress.\n var current = unitOfWork.alternate;\n setCurrentFiber(unitOfWork);\n var next;\n\n if ( (unitOfWork.mode & ProfileMode) !== NoMode) {\n startProfilerTimer(unitOfWork);\n next = beginWork$1(current, unitOfWork, subtreeRenderLanes);\n stopProfilerTimerIfRunningAndRecordDelta(unitOfWork, true);\n } else {\n next = beginWork$1(current, unitOfWork, subtreeRenderLanes);\n }\n\n resetCurrentFiber();\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n\n if (next === null) {\n // If this doesn't spawn new work, complete the current work.\n completeUnitOfWork(unitOfWork);\n } else {\n workInProgress = next;\n }\n\n ReactCurrentOwner$2.current = null;\n}\n\nfunction completeUnitOfWork(unitOfWork) {\n // Attempt to complete the current unit of work, then move to the next\n // sibling. If there are no more siblings, return to the parent fiber.\n var completedWork = unitOfWork;\n\n do {\n // The current, flushed, state of this fiber is the alternate. Ideally\n // nothing should rely on this, but relying on it here means that we don't\n // need an additional field on the work in progress.\n var current = completedWork.alternate;\n var returnFiber = completedWork.return; // Check if the work completed or if something threw.\n\n if ((completedWork.flags & Incomplete) === NoFlags) {\n setCurrentFiber(completedWork);\n var next = void 0;\n\n if ( (completedWork.mode & ProfileMode) === NoMode) {\n next = completeWork(current, completedWork, subtreeRenderLanes);\n } else {\n startProfilerTimer(completedWork);\n next = completeWork(current, completedWork, subtreeRenderLanes); // Update render duration assuming we didn't error.\n\n stopProfilerTimerIfRunningAndRecordDelta(completedWork, false);\n }\n\n resetCurrentFiber();\n\n if (next !== null) {\n // Completing this fiber spawned new work. Work on that next.\n workInProgress = next;\n return;\n }\n } else {\n // This fiber did not complete because something threw. Pop values off\n // the stack without entering the complete phase. If this is a boundary,\n // capture values if possible.\n var _next = unwindWork(current, completedWork); // Because this fiber did not complete, don't reset its lanes.\n\n\n if (_next !== null) {\n // If completing this work spawned new work, do that next. We'll come\n // back here again.\n // Since we're restarting, remove anything that is not a host effect\n // from the effect tag.\n _next.flags &= HostEffectMask;\n workInProgress = _next;\n return;\n }\n\n if ( (completedWork.mode & ProfileMode) !== NoMode) {\n // Record the render duration for the fiber that errored.\n stopProfilerTimerIfRunningAndRecordDelta(completedWork, false); // Include the time spent working on failed children before continuing.\n\n var actualDuration = completedWork.actualDuration;\n var child = completedWork.child;\n\n while (child !== null) {\n actualDuration += child.actualDuration;\n child = child.sibling;\n }\n\n completedWork.actualDuration = actualDuration;\n }\n\n if (returnFiber !== null) {\n // Mark the parent fiber as incomplete and clear its subtree flags.\n returnFiber.flags |= Incomplete;\n returnFiber.subtreeFlags = NoFlags;\n returnFiber.deletions = null;\n } else {\n // We've unwound all the way to the root.\n workInProgressRootExitStatus = RootDidNotComplete;\n workInProgress = null;\n return;\n }\n }\n\n var siblingFiber = completedWork.sibling;\n\n if (siblingFiber !== null) {\n // If there is more work to do in this returnFiber, do that next.\n workInProgress = siblingFiber;\n return;\n } // Otherwise, return to the parent\n\n\n completedWork = returnFiber; // Update the next thing we're working on in case something throws.\n\n workInProgress = completedWork;\n } while (completedWork !== null); // We've reached the root.\n\n\n if (workInProgressRootExitStatus === RootInProgress) {\n workInProgressRootExitStatus = RootCompleted;\n }\n}\n\nfunction commitRoot(root, recoverableErrors, transitions) {\n // TODO: This no longer makes any sense. We already wrap the mutation and\n // layout phases. Should be able to remove.\n var previousUpdateLanePriority = getCurrentUpdatePriority();\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(DiscreteEventPriority);\n commitRootImpl(root, recoverableErrors, transitions, previousUpdateLanePriority);\n } finally {\n ReactCurrentBatchConfig$3.transition = prevTransition;\n setCurrentUpdatePriority(previousUpdateLanePriority);\n }\n\n return null;\n}\n\nfunction commitRootImpl(root, recoverableErrors, transitions, renderPriorityLevel) {\n do {\n // `flushPassiveEffects` will call `flushSyncUpdateQueue` at the end, which\n // means `flushPassiveEffects` will sometimes result in additional\n // passive effects. So we need to keep flushing in a loop until there are\n // no more pending effects.\n // TODO: Might be better if `flushPassiveEffects` did not automatically\n // flush synchronous work at the end, to avoid factoring hazards like this.\n flushPassiveEffects();\n } while (rootWithPendingPassiveEffects !== null);\n\n flushRenderPhaseStrictModeWarningsInDEV();\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Should not already be working.');\n }\n\n var finishedWork = root.finishedWork;\n var lanes = root.finishedLanes;\n\n {\n markCommitStarted(lanes);\n }\n\n if (finishedWork === null) {\n\n {\n markCommitStopped();\n }\n\n return null;\n } else {\n {\n if (lanes === NoLanes) {\n error('root.finishedLanes should not be empty during a commit. This is a ' + 'bug in React.');\n }\n }\n }\n\n root.finishedWork = null;\n root.finishedLanes = NoLanes;\n\n if (finishedWork === root.current) {\n throw new Error('Cannot commit the same tree as before. This error is likely caused by ' + 'a bug in React. Please file an issue.');\n } // commitRoot never returns a continuation; it always finishes synchronously.\n // So we can clear these now to allow a new callback to be scheduled.\n\n\n root.callbackNode = null;\n root.callbackPriority = NoLane; // Update the first and last pending times on this root. The new first\n // pending time is whatever is left on the root fiber.\n\n var remainingLanes = mergeLanes(finishedWork.lanes, finishedWork.childLanes);\n markRootFinished(root, remainingLanes);\n\n if (root === workInProgressRoot) {\n // We can reset these now that they are finished.\n workInProgressRoot = null;\n workInProgress = null;\n workInProgressRootRenderLanes = NoLanes;\n } // If there are pending passive effects, schedule a callback to process them.\n // Do this as early as possible, so it is queued before anything else that\n // might get scheduled in the commit phase. (See #16714.)\n // TODO: Delete all other places that schedule the passive effect callback\n // They're redundant.\n\n\n if ((finishedWork.subtreeFlags & PassiveMask) !== NoFlags || (finishedWork.flags & PassiveMask) !== NoFlags) {\n if (!rootDoesHavePassiveEffects) {\n rootDoesHavePassiveEffects = true;\n // to store it in pendingPassiveTransitions until they get processed\n // We need to pass this through as an argument to commitRoot\n // because workInProgressTransitions might have changed between\n // the previous render and commit if we throttle the commit\n // with setTimeout\n\n pendingPassiveTransitions = transitions;\n scheduleCallback$1(NormalPriority, function () {\n flushPassiveEffects(); // This render triggered passive effects: release the root cache pool\n // *after* passive effects fire to avoid freeing a cache pool that may\n // be referenced by a node in the tree (HostRoot, Cache boundary etc)\n\n return null;\n });\n }\n } // Check if there are any effects in the whole tree.\n // TODO: This is left over from the effect list implementation, where we had\n // to check for the existence of `firstEffect` to satisfy Flow. I think the\n // only other reason this optimization exists is because it affects profiling.\n // Reconsider whether this is necessary.\n\n\n var subtreeHasEffects = (finishedWork.subtreeFlags & (BeforeMutationMask | MutationMask | LayoutMask | PassiveMask)) !== NoFlags;\n var rootHasEffect = (finishedWork.flags & (BeforeMutationMask | MutationMask | LayoutMask | PassiveMask)) !== NoFlags;\n\n if (subtreeHasEffects || rootHasEffect) {\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n ReactCurrentBatchConfig$3.transition = null;\n var previousPriority = getCurrentUpdatePriority();\n setCurrentUpdatePriority(DiscreteEventPriority);\n var prevExecutionContext = executionContext;\n executionContext |= CommitContext; // Reset this to null before calling lifecycles\n\n ReactCurrentOwner$2.current = null; // The commit phase is broken into several sub-phases. We do a separate pass\n // of the effect list for each phase: all mutation effects come before all\n // layout effects, and so on.\n // The first phase a \"before mutation\" phase. We use this phase to read the\n // state of the host tree right before we mutate it. This is where\n // getSnapshotBeforeUpdate is called.\n\n var shouldFireAfterActiveInstanceBlur = commitBeforeMutationEffects(root, finishedWork);\n\n {\n // Mark the current commit time to be shared by all Profilers in this\n // batch. This enables them to be grouped later.\n recordCommitTime();\n }\n\n\n commitMutationEffects(root, finishedWork, lanes);\n\n resetAfterCommit(root.containerInfo); // The work-in-progress tree is now the current tree. This must come after\n // the mutation phase, so that the previous tree is still current during\n // componentWillUnmount, but before the layout phase, so that the finished\n // work is current during componentDidMount/Update.\n\n root.current = finishedWork; // The next phase is the layout phase, where we call effects that read\n\n {\n markLayoutEffectsStarted(lanes);\n }\n\n commitLayoutEffects(finishedWork, root, lanes);\n\n {\n markLayoutEffectsStopped();\n }\n // opportunity to paint.\n\n\n requestPaint();\n executionContext = prevExecutionContext; // Reset the priority to the previous non-sync value.\n\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition;\n } else {\n // No effects.\n root.current = finishedWork; // Measure these anyway so the flamegraph explicitly shows that there were\n // no effects.\n // TODO: Maybe there's a better way to report this.\n\n {\n recordCommitTime();\n }\n }\n\n var rootDidHavePassiveEffects = rootDoesHavePassiveEffects;\n\n if (rootDoesHavePassiveEffects) {\n // This commit has passive effects. Stash a reference to them. But don't\n // schedule a callback until after flushing layout work.\n rootDoesHavePassiveEffects = false;\n rootWithPendingPassiveEffects = root;\n pendingPassiveEffectsLanes = lanes;\n } else {\n\n {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = null;\n }\n } // Read this again, since an effect might have updated it\n\n\n remainingLanes = root.pendingLanes; // Check if there's remaining work on this root\n // TODO: This is part of the `componentDidCatch` implementation. Its purpose\n // is to detect whether something might have called setState inside\n // `componentDidCatch`. The mechanism is known to be flawed because `setState`\n // inside `componentDidCatch` is itself flawed — that's why we recommend\n // `getDerivedStateFromError` instead. However, it could be improved by\n // checking if remainingLanes includes Sync work, instead of whether there's\n // any work remaining at all (which would also include stuff like Suspense\n // retries or transitions). It's been like this for a while, though, so fixing\n // it probably isn't that urgent.\n\n if (remainingLanes === NoLanes) {\n // If there's no remaining work, we can clear the set of already failed\n // error boundaries.\n legacyErrorBoundariesThatAlreadyFailed = null;\n }\n\n {\n if (!rootDidHavePassiveEffects) {\n commitDoubleInvokeEffectsInDEV(root.current, false);\n }\n }\n\n onCommitRoot(finishedWork.stateNode, renderPriorityLevel);\n\n {\n if (isDevToolsPresent) {\n root.memoizedUpdaters.clear();\n }\n }\n\n {\n onCommitRoot$1();\n } // Always call this before exiting `commitRoot`, to ensure that any\n // additional work on this root is scheduled.\n\n\n ensureRootIsScheduled(root, now());\n\n if (recoverableErrors !== null) {\n // There were errors during this render, but recovered from them without\n // needing to surface it to the UI. We log them here.\n var onRecoverableError = root.onRecoverableError;\n\n for (var i = 0; i < recoverableErrors.length; i++) {\n var recoverableError = recoverableErrors[i];\n var componentStack = recoverableError.stack;\n var digest = recoverableError.digest;\n onRecoverableError(recoverableError.value, {\n componentStack: componentStack,\n digest: digest\n });\n }\n }\n\n if (hasUncaughtError) {\n hasUncaughtError = false;\n var error$1 = firstUncaughtError;\n firstUncaughtError = null;\n throw error$1;\n } // If the passive effects are the result of a discrete render, flush them\n // synchronously at the end of the current task so that the result is\n // immediately observable. Otherwise, we assume that they are not\n // order-dependent and do not need to be observed by external systems, so we\n // can wait until after paint.\n // TODO: We can optimize this by not scheduling the callback earlier. Since we\n // currently schedule the callback in multiple places, will wait until those\n // are consolidated.\n\n\n if (includesSomeLane(pendingPassiveEffectsLanes, SyncLane) && root.tag !== LegacyRoot) {\n flushPassiveEffects();\n } // Read this again, since a passive effect might have updated it\n\n\n remainingLanes = root.pendingLanes;\n\n if (includesSomeLane(remainingLanes, SyncLane)) {\n {\n markNestedUpdateScheduled();\n } // Count the number of times the root synchronously re-renders without\n // finishing. If there are too many, it indicates an infinite update loop.\n\n\n if (root === rootWithNestedUpdates) {\n nestedUpdateCount++;\n } else {\n nestedUpdateCount = 0;\n rootWithNestedUpdates = root;\n }\n } else {\n nestedUpdateCount = 0;\n } // If layout work was scheduled, flush it now.\n\n\n flushSyncCallbacks();\n\n {\n markCommitStopped();\n }\n\n return null;\n}\n\nfunction flushPassiveEffects() {\n // Returns whether passive effects were flushed.\n // TODO: Combine this check with the one in flushPassiveEFfectsImpl. We should\n // probably just combine the two functions. I believe they were only separate\n // in the first place because we used to wrap it with\n // `Scheduler.runWithPriority`, which accepts a function. But now we track the\n // priority within React itself, so we can mutate the variable directly.\n if (rootWithPendingPassiveEffects !== null) {\n var renderPriority = lanesToEventPriority(pendingPassiveEffectsLanes);\n var priority = lowerEventPriority(DefaultEventPriority, renderPriority);\n var prevTransition = ReactCurrentBatchConfig$3.transition;\n var previousPriority = getCurrentUpdatePriority();\n\n try {\n ReactCurrentBatchConfig$3.transition = null;\n setCurrentUpdatePriority(priority);\n return flushPassiveEffectsImpl();\n } finally {\n setCurrentUpdatePriority(previousPriority);\n ReactCurrentBatchConfig$3.transition = prevTransition; // Once passive effects have run for the tree - giving components a\n }\n }\n\n return false;\n}\nfunction enqueuePendingPassiveProfilerEffect(fiber) {\n {\n pendingPassiveProfilerEffects.push(fiber);\n\n if (!rootDoesHavePassiveEffects) {\n rootDoesHavePassiveEffects = true;\n scheduleCallback$1(NormalPriority, function () {\n flushPassiveEffects();\n return null;\n });\n }\n }\n}\n\nfunction flushPassiveEffectsImpl() {\n if (rootWithPendingPassiveEffects === null) {\n return false;\n } // Cache and clear the transitions flag\n\n\n var transitions = pendingPassiveTransitions;\n pendingPassiveTransitions = null;\n var root = rootWithPendingPassiveEffects;\n var lanes = pendingPassiveEffectsLanes;\n rootWithPendingPassiveEffects = null; // TODO: This is sometimes out of sync with rootWithPendingPassiveEffects.\n // Figure out why and fix it. It's not causing any known issues (probably\n // because it's only used for profiling), but it's a refactor hazard.\n\n pendingPassiveEffectsLanes = NoLanes;\n\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\n throw new Error('Cannot flush passive effects while already rendering.');\n }\n\n {\n isFlushingPassiveEffects = true;\n didScheduleUpdateDuringPassiveEffects = false;\n }\n\n {\n markPassiveEffectsStarted(lanes);\n }\n\n var prevExecutionContext = executionContext;\n executionContext |= CommitContext;\n commitPassiveUnmountEffects(root.current);\n commitPassiveMountEffects(root, root.current, lanes, transitions); // TODO: Move to commitPassiveMountEffects\n\n {\n var profilerEffects = pendingPassiveProfilerEffects;\n pendingPassiveProfilerEffects = [];\n\n for (var i = 0; i < profilerEffects.length; i++) {\n var _fiber = profilerEffects[i];\n commitPassiveEffectDurations(root, _fiber);\n }\n }\n\n {\n markPassiveEffectsStopped();\n }\n\n {\n commitDoubleInvokeEffectsInDEV(root.current, true);\n }\n\n executionContext = prevExecutionContext;\n flushSyncCallbacks();\n\n {\n // If additional passive effects were scheduled, increment a counter. If this\n // exceeds the limit, we'll fire a warning.\n if (didScheduleUpdateDuringPassiveEffects) {\n if (root === rootWithPassiveNestedUpdates) {\n nestedPassiveUpdateCount++;\n } else {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = root;\n }\n } else {\n nestedPassiveUpdateCount = 0;\n }\n\n isFlushingPassiveEffects = false;\n didScheduleUpdateDuringPassiveEffects = false;\n } // TODO: Move to commitPassiveMountEffects\n\n\n onPostCommitRoot(root);\n\n {\n var stateNode = root.current.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n }\n\n return true;\n}\n\nfunction isAlreadyFailedLegacyErrorBoundary(instance) {\n return legacyErrorBoundariesThatAlreadyFailed !== null && legacyErrorBoundariesThatAlreadyFailed.has(instance);\n}\nfunction markLegacyErrorBoundaryAsFailed(instance) {\n if (legacyErrorBoundariesThatAlreadyFailed === null) {\n legacyErrorBoundariesThatAlreadyFailed = new Set([instance]);\n } else {\n legacyErrorBoundariesThatAlreadyFailed.add(instance);\n }\n}\n\nfunction prepareToThrowUncaughtError(error) {\n if (!hasUncaughtError) {\n hasUncaughtError = true;\n firstUncaughtError = error;\n }\n}\n\nvar onUncaughtError = prepareToThrowUncaughtError;\n\nfunction captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n var errorInfo = createCapturedValueAtFiber(error, sourceFiber);\n var update = createRootErrorUpdate(rootFiber, errorInfo, SyncLane);\n var root = enqueueUpdate(rootFiber, update, SyncLane);\n var eventTime = requestEventTime();\n\n if (root !== null) {\n markRootUpdated(root, SyncLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n}\n\nfunction captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error$1) {\n {\n reportUncaughtErrorInDEV(error$1);\n setIsRunningInsertionEffect(false);\n }\n\n if (sourceFiber.tag === HostRoot) {\n // Error was thrown at the root. There is no parent, so the root\n // itself should capture it.\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error$1);\n return;\n }\n\n var fiber = null;\n\n {\n fiber = nearestMountedAncestor;\n }\n\n while (fiber !== null) {\n if (fiber.tag === HostRoot) {\n captureCommitPhaseErrorOnRoot(fiber, sourceFiber, error$1);\n return;\n } else if (fiber.tag === ClassComponent) {\n var ctor = fiber.type;\n var instance = fiber.stateNode;\n\n if (typeof ctor.getDerivedStateFromError === 'function' || typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance)) {\n var errorInfo = createCapturedValueAtFiber(error$1, sourceFiber);\n var update = createClassErrorUpdate(fiber, errorInfo, SyncLane);\n var root = enqueueUpdate(fiber, update, SyncLane);\n var eventTime = requestEventTime();\n\n if (root !== null) {\n markRootUpdated(root, SyncLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n\n return;\n }\n }\n\n fiber = fiber.return;\n }\n\n {\n // TODO: Until we re-land skipUnmountedBoundaries (see #20147), this warning\n // will fire for errors that are thrown by destroy functions inside deleted\n // trees. What it should instead do is propagate the error to the parent of\n // the deleted tree. In the meantime, do not add this warning to the\n // allowlist; this is only for our internal use.\n error('Internal React error: Attempted to capture a commit phase error ' + 'inside a detached tree. This indicates a bug in React. Likely ' + 'causes include deleting the same fiber more than once, committing an ' + 'already-finished tree, or an inconsistent return pointer.\\n\\n' + 'Error message:\\n\\n%s', error$1);\n }\n}\nfunction pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n\n if (pingCache !== null) {\n // The wakeable resolved, so we no longer need to memoize, because it will\n // never be thrown again.\n pingCache.delete(wakeable);\n }\n\n var eventTime = requestEventTime();\n markRootPinged(root, pingedLanes);\n warnIfSuspenseResolutionNotWrappedWithActDEV(root);\n\n if (workInProgressRoot === root && isSubsetOfLanes(workInProgressRootRenderLanes, pingedLanes)) {\n // Received a ping at the same priority level at which we're currently\n // rendering. We might want to restart this render. This should mirror\n // the logic of whether or not a root suspends once it completes.\n // TODO: If we're rendering sync either due to Sync, Batched or expired,\n // we should probably never restart.\n // If we're suspended with delay, or if it's a retry, we'll always suspend\n // so we can always restart.\n if (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && includesOnlyRetries(workInProgressRootRenderLanes) && now() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS) {\n // Restart from the root.\n prepareFreshStack(root, NoLanes);\n } else {\n // Even though we can't restart right now, we might get an\n // opportunity later. So we mark this render as having a ping.\n workInProgressRootPingedLanes = mergeLanes(workInProgressRootPingedLanes, pingedLanes);\n }\n }\n\n ensureRootIsScheduled(root, eventTime);\n}\n\nfunction retryTimedOutBoundary(boundaryFiber, retryLane) {\n // The boundary fiber (a Suspense component or SuspenseList component)\n // previously was rendered in its fallback state. One of the promises that\n // suspended it has resolved, which means at least part of the tree was\n // likely unblocked. Try rendering again, at a new lanes.\n if (retryLane === NoLane) {\n // TODO: Assign this to `suspenseState.retryLane`? to avoid\n // unnecessary entanglement?\n retryLane = requestRetryLane(boundaryFiber);\n } // TODO: Special case idle priority?\n\n\n var eventTime = requestEventTime();\n var root = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);\n\n if (root !== null) {\n markRootUpdated(root, retryLane, eventTime);\n ensureRootIsScheduled(root, eventTime);\n }\n}\n\nfunction retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState;\n var retryLane = NoLane;\n\n if (suspenseState !== null) {\n retryLane = suspenseState.retryLane;\n }\n\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = NoLane; // Default\n\n var retryCache;\n\n switch (boundaryFiber.tag) {\n case SuspenseComponent:\n retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n\n if (suspenseState !== null) {\n retryLane = suspenseState.retryLane;\n }\n\n break;\n\n case SuspenseListComponent:\n retryCache = boundaryFiber.stateNode;\n break;\n\n default:\n throw new Error('Pinged unknown suspense boundary type. ' + 'This is probably a bug in React.');\n }\n\n if (retryCache !== null) {\n // The wakeable resolved, so we no longer need to memoize, because it will\n // never be thrown again.\n retryCache.delete(wakeable);\n }\n\n retryTimedOutBoundary(boundaryFiber, retryLane);\n} // Computes the next Just Noticeable Difference (JND) boundary.\n// The theory is that a person can't tell the difference between small differences in time.\n// Therefore, if we wait a bit longer than necessary that won't translate to a noticeable\n// difference in the experience. However, waiting for longer might mean that we can avoid\n// showing an intermediate loading state. The longer we have already waited, the harder it\n// is to tell small differences in time. Therefore, the longer we've already waited,\n// the longer we can wait additionally. At some point we have to give up though.\n// We pick a train model where the next boundary commits at a consistent schedule.\n// These particular numbers are vague estimates. We expect to adjust them based on research.\n\nfunction jnd(timeElapsed) {\n return timeElapsed < 120 ? 120 : timeElapsed < 480 ? 480 : timeElapsed < 1080 ? 1080 : timeElapsed < 1920 ? 1920 : timeElapsed < 3000 ? 3000 : timeElapsed < 4320 ? 4320 : ceil(timeElapsed / 1960) * 1960;\n}\n\nfunction checkForNestedUpdates() {\n if (nestedUpdateCount > NESTED_UPDATE_LIMIT) {\n nestedUpdateCount = 0;\n rootWithNestedUpdates = null;\n throw new Error('Maximum update depth exceeded. This can happen when a component ' + 'repeatedly calls setState inside componentWillUpdate or ' + 'componentDidUpdate. React limits the number of nested updates to ' + 'prevent infinite loops.');\n }\n\n {\n if (nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT) {\n nestedPassiveUpdateCount = 0;\n rootWithPassiveNestedUpdates = null;\n\n error('Maximum update depth exceeded. This can happen when a component ' + \"calls setState inside useEffect, but useEffect either doesn't \" + 'have a dependency array, or one of the dependencies changes on ' + 'every render.');\n }\n }\n}\n\nfunction flushRenderPhaseStrictModeWarningsInDEV() {\n {\n ReactStrictModeWarnings.flushLegacyContextWarning();\n\n {\n ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings();\n }\n }\n}\n\nfunction commitDoubleInvokeEffectsInDEV(fiber, hasPassiveEffects) {\n {\n // TODO (StrictEffects) Should we set a marker on the root if it contains strict effects\n // so we don't traverse unnecessarily? similar to subtreeFlags but just at the root level.\n // Maybe not a big deal since this is DEV only behavior.\n setCurrentFiber(fiber);\n invokeEffectsInDev(fiber, MountLayoutDev, invokeLayoutEffectUnmountInDEV);\n\n if (hasPassiveEffects) {\n invokeEffectsInDev(fiber, MountPassiveDev, invokePassiveEffectUnmountInDEV);\n }\n\n invokeEffectsInDev(fiber, MountLayoutDev, invokeLayoutEffectMountInDEV);\n\n if (hasPassiveEffects) {\n invokeEffectsInDev(fiber, MountPassiveDev, invokePassiveEffectMountInDEV);\n }\n\n resetCurrentFiber();\n }\n}\n\nfunction invokeEffectsInDev(firstChild, fiberFlags, invokeEffectFn) {\n {\n // We don't need to re-check StrictEffectsMode here.\n // This function is only called if that check has already passed.\n var current = firstChild;\n var subtreeRoot = null;\n\n while (current !== null) {\n var primarySubtreeFlag = current.subtreeFlags & fiberFlags;\n\n if (current !== subtreeRoot && current.child !== null && primarySubtreeFlag !== NoFlags) {\n current = current.child;\n } else {\n if ((current.flags & fiberFlags) !== NoFlags) {\n invokeEffectFn(current);\n }\n\n if (current.sibling !== null) {\n current = current.sibling;\n } else {\n current = subtreeRoot = current.return;\n }\n }\n }\n }\n}\n\nvar didWarnStateUpdateForNotYetMountedComponent = null;\nfunction warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) {\n {\n if ((executionContext & RenderContext) !== NoContext) {\n // We let the other warning about render phase updates deal with this one.\n return;\n }\n\n if (!(fiber.mode & ConcurrentMode)) {\n return;\n }\n\n var tag = fiber.tag;\n\n if (tag !== IndeterminateComponent && tag !== HostRoot && tag !== ClassComponent && tag !== FunctionComponent && tag !== ForwardRef && tag !== MemoComponent && tag !== SimpleMemoComponent) {\n // Only warn for user-defined components, not internal ones like Suspense.\n return;\n } // We show the whole stack but dedupe on the top component's name because\n // the problematic code almost always lies inside that component.\n\n\n var componentName = getComponentNameFromFiber(fiber) || 'ReactComponent';\n\n if (didWarnStateUpdateForNotYetMountedComponent !== null) {\n if (didWarnStateUpdateForNotYetMountedComponent.has(componentName)) {\n return;\n }\n\n didWarnStateUpdateForNotYetMountedComponent.add(componentName);\n } else {\n didWarnStateUpdateForNotYetMountedComponent = new Set([componentName]);\n }\n\n var previousFiber = current;\n\n try {\n setCurrentFiber(fiber);\n\n error(\"Can't perform a React state update on a component that hasn't mounted yet. \" + 'This indicates that you have a side-effect in your render function that ' + 'asynchronously later calls tries to update the component. Move this work to ' + 'useEffect instead.');\n } finally {\n if (previousFiber) {\n setCurrentFiber(fiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n}\nvar beginWork$1;\n\n{\n var dummyFiber = null;\n\n beginWork$1 = function (current, unitOfWork, lanes) {\n // If a component throws an error, we replay it again in a synchronously\n // dispatched event, so that the debugger will treat it as an uncaught\n // error See ReactErrorUtils for more information.\n // Before entering the begin phase, copy the work-in-progress onto a dummy\n // fiber. If beginWork throws, we'll use this to reset the state.\n var originalWorkInProgressCopy = assignFiberPropertiesInDEV(dummyFiber, unitOfWork);\n\n try {\n return beginWork(current, unitOfWork, lanes);\n } catch (originalError) {\n if (didSuspendOrErrorWhileHydratingDEV() || originalError !== null && typeof originalError === 'object' && typeof originalError.then === 'function') {\n // Don't replay promises.\n // Don't replay errors if we are hydrating and have already suspended or handled an error\n throw originalError;\n } // Keep this code in sync with handleError; any changes here must have\n // corresponding changes there.\n\n\n resetContextDependencies();\n resetHooksAfterThrow(); // Don't reset current debug fiber, since we're about to work on the\n // same fiber again.\n // Unwind the failed stack frame\n\n unwindInterruptedWork(current, unitOfWork); // Restore the original properties of the fiber.\n\n assignFiberPropertiesInDEV(unitOfWork, originalWorkInProgressCopy);\n\n if ( unitOfWork.mode & ProfileMode) {\n // Reset the profiler timer.\n startProfilerTimer(unitOfWork);\n } // Run beginWork again.\n\n\n invokeGuardedCallback(null, beginWork, null, current, unitOfWork, lanes);\n\n if (hasCaughtError()) {\n var replayError = clearCaughtError();\n\n if (typeof replayError === 'object' && replayError !== null && replayError._suppressLogging && typeof originalError === 'object' && originalError !== null && !originalError._suppressLogging) {\n // If suppressed, let the flag carry over to the original error which is the one we'll rethrow.\n originalError._suppressLogging = true;\n }\n } // We always throw the original error in case the second render pass is not idempotent.\n // This can happen if a memoized function or CommonJS module doesn't throw after first invocation.\n\n\n throw originalError;\n }\n };\n}\n\nvar didWarnAboutUpdateInRender = false;\nvar didWarnAboutUpdateInRenderForAnotherComponent;\n\n{\n didWarnAboutUpdateInRenderForAnotherComponent = new Set();\n}\n\nfunction warnAboutRenderPhaseUpdatesInDEV(fiber) {\n {\n if (isRendering && !getIsUpdatingOpaqueValueInRenderPhaseInDEV()) {\n switch (fiber.tag) {\n case FunctionComponent:\n case ForwardRef:\n case SimpleMemoComponent:\n {\n var renderingComponentName = workInProgress && getComponentNameFromFiber(workInProgress) || 'Unknown'; // Dedupe by the rendering component because it's the one that needs to be fixed.\n\n var dedupeKey = renderingComponentName;\n\n if (!didWarnAboutUpdateInRenderForAnotherComponent.has(dedupeKey)) {\n didWarnAboutUpdateInRenderForAnotherComponent.add(dedupeKey);\n var setStateComponentName = getComponentNameFromFiber(fiber) || 'Unknown';\n\n error('Cannot update a component (`%s`) while rendering a ' + 'different component (`%s`). To locate the bad setState() call inside `%s`, ' + 'follow the stack trace as described in https://reactjs.org/link/setstate-in-render', setStateComponentName, renderingComponentName, renderingComponentName);\n }\n\n break;\n }\n\n case ClassComponent:\n {\n if (!didWarnAboutUpdateInRender) {\n error('Cannot update during an existing state transition (such as ' + 'within `render`). Render methods should be a pure ' + 'function of props and state.');\n\n didWarnAboutUpdateInRender = true;\n }\n\n break;\n }\n }\n }\n }\n}\n\nfunction restorePendingUpdaters(root, lanes) {\n {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n memoizedUpdaters.forEach(function (schedulingFiber) {\n addFiberToLanesMap(root, schedulingFiber, lanes);\n }); // This function intentionally does not clear memoized updaters.\n // Those may still be relevant to the current commit\n // and a future one (e.g. Suspense).\n }\n }\n}\nvar fakeActCallbackNode = {};\n\nfunction scheduleCallback$1(priorityLevel, callback) {\n {\n // If we're currently inside an `act` scope, bypass Scheduler and push to\n // the `act` queue instead.\n var actQueue = ReactCurrentActQueue$1.current;\n\n if (actQueue !== null) {\n actQueue.push(callback);\n return fakeActCallbackNode;\n } else {\n return scheduleCallback(priorityLevel, callback);\n }\n }\n}\n\nfunction cancelCallback$1(callbackNode) {\n if ( callbackNode === fakeActCallbackNode) {\n return;\n } // In production, always call Scheduler. This function will be stripped out.\n\n\n return cancelCallback(callbackNode);\n}\n\nfunction shouldForceFlushFallbacksInDEV() {\n // Never force flush in production. This function should get stripped out.\n return ReactCurrentActQueue$1.current !== null;\n}\n\nfunction warnIfUpdatesNotWrappedWithActDEV(fiber) {\n {\n if (fiber.mode & ConcurrentMode) {\n if (!isConcurrentActEnvironment()) {\n // Not in an act environment. No need to warn.\n return;\n }\n } else {\n // Legacy mode has additional cases where we suppress a warning.\n if (!isLegacyActEnvironment()) {\n // Not in an act environment. No need to warn.\n return;\n }\n\n if (executionContext !== NoContext) {\n // Legacy mode doesn't warn if the update is batched, i.e.\n // batchedUpdates or flushSync.\n return;\n }\n\n if (fiber.tag !== FunctionComponent && fiber.tag !== ForwardRef && fiber.tag !== SimpleMemoComponent) {\n // For backwards compatibility with pre-hooks code, legacy mode only\n // warns for updates that originate from a hook.\n return;\n }\n }\n\n if (ReactCurrentActQueue$1.current === null) {\n var previousFiber = current;\n\n try {\n setCurrentFiber(fiber);\n\n error('An update to %s inside a test was not wrapped in act(...).\\n\\n' + 'When testing, code that causes React state updates should be ' + 'wrapped into act(...):\\n\\n' + 'act(() => {\\n' + ' /* fire events that update state */\\n' + '});\\n' + '/* assert on the output */\\n\\n' + \"This ensures that you're testing the behavior the user would see \" + 'in the browser.' + ' Learn more at https://reactjs.org/link/wrap-tests-with-act', getComponentNameFromFiber(fiber));\n } finally {\n if (previousFiber) {\n setCurrentFiber(fiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n }\n}\n\nfunction warnIfSuspenseResolutionNotWrappedWithActDEV(root) {\n {\n if (root.tag !== LegacyRoot && isConcurrentActEnvironment() && ReactCurrentActQueue$1.current === null) {\n error('A suspended resource finished loading inside a test, but the event ' + 'was not wrapped in act(...).\\n\\n' + 'When testing, code that resolves suspended data should be wrapped ' + 'into act(...):\\n\\n' + 'act(() => {\\n' + ' /* finish loading suspended data */\\n' + '});\\n' + '/* assert on the output */\\n\\n' + \"This ensures that you're testing the behavior the user would see \" + 'in the browser.' + ' Learn more at https://reactjs.org/link/wrap-tests-with-act');\n }\n }\n}\n\nfunction setIsRunningInsertionEffect(isRunning) {\n {\n isRunningInsertionEffect = isRunning;\n }\n}\n\n/* eslint-disable react-internal/prod-error-codes */\nvar resolveFamily = null; // $FlowFixMe Flow gets confused by a WeakSet feature check below.\n\nvar failedBoundaries = null;\nvar setRefreshHandler = function (handler) {\n {\n resolveFamily = handler;\n }\n};\nfunction resolveFunctionForHotReloading(type) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return type;\n }\n\n var family = resolveFamily(type);\n\n if (family === undefined) {\n return type;\n } // Use the latest known implementation.\n\n\n return family.current;\n }\n}\nfunction resolveClassForHotReloading(type) {\n // No implementation differences.\n return resolveFunctionForHotReloading(type);\n}\nfunction resolveForwardRefForHotReloading(type) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return type;\n }\n\n var family = resolveFamily(type);\n\n if (family === undefined) {\n // Check if we're dealing with a real forwardRef. Don't want to crash early.\n if (type !== null && type !== undefined && typeof type.render === 'function') {\n // ForwardRef is special because its resolved .type is an object,\n // but it's possible that we only have its inner render function in the map.\n // If that inner render function is different, we'll build a new forwardRef type.\n var currentRender = resolveFunctionForHotReloading(type.render);\n\n if (type.render !== currentRender) {\n var syntheticType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: currentRender\n };\n\n if (type.displayName !== undefined) {\n syntheticType.displayName = type.displayName;\n }\n\n return syntheticType;\n }\n }\n\n return type;\n } // Use the latest known implementation.\n\n\n return family.current;\n }\n}\nfunction isCompatibleFamilyForHotReloading(fiber, element) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return false;\n }\n\n var prevType = fiber.elementType;\n var nextType = element.type; // If we got here, we know types aren't === equal.\n\n var needsCompareFamilies = false;\n var $$typeofNextType = typeof nextType === 'object' && nextType !== null ? nextType.$$typeof : null;\n\n switch (fiber.tag) {\n case ClassComponent:\n {\n if (typeof nextType === 'function') {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case FunctionComponent:\n {\n if (typeof nextType === 'function') {\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n // We don't know the inner type yet.\n // We're going to assume that the lazy inner type is stable,\n // and so it is sufficient to avoid reconciling it away.\n // We're not going to unwrap or actually use the new lazy type.\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case ForwardRef:\n {\n if ($$typeofNextType === REACT_FORWARD_REF_TYPE) {\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n case MemoComponent:\n case SimpleMemoComponent:\n {\n if ($$typeofNextType === REACT_MEMO_TYPE) {\n // TODO: if it was but can no longer be simple,\n // we shouldn't set this.\n needsCompareFamilies = true;\n } else if ($$typeofNextType === REACT_LAZY_TYPE) {\n needsCompareFamilies = true;\n }\n\n break;\n }\n\n default:\n return false;\n } // Check if both types have a family and it's the same one.\n\n\n if (needsCompareFamilies) {\n // Note: memo() and forwardRef() we'll compare outer rather than inner type.\n // This means both of them need to be registered to preserve state.\n // If we unwrapped and compared the inner types for wrappers instead,\n // then we would risk falsely saying two separate memo(Foo)\n // calls are equivalent because they wrap the same Foo function.\n var prevFamily = resolveFamily(prevType);\n\n if (prevFamily !== undefined && prevFamily === resolveFamily(nextType)) {\n return true;\n }\n }\n\n return false;\n }\n}\nfunction markFailedErrorBoundaryForHotReloading(fiber) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return;\n }\n\n if (typeof WeakSet !== 'function') {\n return;\n }\n\n if (failedBoundaries === null) {\n failedBoundaries = new WeakSet();\n }\n\n failedBoundaries.add(fiber);\n }\n}\nvar scheduleRefresh = function (root, update) {\n {\n if (resolveFamily === null) {\n // Hot reloading is disabled.\n return;\n }\n\n var staleFamilies = update.staleFamilies,\n updatedFamilies = update.updatedFamilies;\n flushPassiveEffects();\n flushSync(function () {\n scheduleFibersWithFamiliesRecursively(root.current, updatedFamilies, staleFamilies);\n });\n }\n};\nvar scheduleRoot = function (root, element) {\n {\n if (root.context !== emptyContextObject) {\n // Super edge case: root has a legacy _renderSubtree context\n // but we don't know the parentComponent so we can't pass it.\n // Just ignore. We'll delete this with _renderSubtree code path later.\n return;\n }\n\n flushPassiveEffects();\n flushSync(function () {\n updateContainer(element, root, null, null);\n });\n }\n};\n\nfunction scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) {\n {\n var alternate = fiber.alternate,\n child = fiber.child,\n sibling = fiber.sibling,\n tag = fiber.tag,\n type = fiber.type;\n var candidateType = null;\n\n switch (tag) {\n case FunctionComponent:\n case SimpleMemoComponent:\n case ClassComponent:\n candidateType = type;\n break;\n\n case ForwardRef:\n candidateType = type.render;\n break;\n }\n\n if (resolveFamily === null) {\n throw new Error('Expected resolveFamily to be set during hot reload.');\n }\n\n var needsRender = false;\n var needsRemount = false;\n\n if (candidateType !== null) {\n var family = resolveFamily(candidateType);\n\n if (family !== undefined) {\n if (staleFamilies.has(family)) {\n needsRemount = true;\n } else if (updatedFamilies.has(family)) {\n if (tag === ClassComponent) {\n needsRemount = true;\n } else {\n needsRender = true;\n }\n }\n }\n }\n\n if (failedBoundaries !== null) {\n if (failedBoundaries.has(fiber) || alternate !== null && failedBoundaries.has(alternate)) {\n needsRemount = true;\n }\n }\n\n if (needsRemount) {\n fiber._debugNeedsRemount = true;\n }\n\n if (needsRemount || needsRender) {\n var _root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (_root !== null) {\n scheduleUpdateOnFiber(_root, fiber, SyncLane, NoTimestamp);\n }\n }\n\n if (child !== null && !needsRemount) {\n scheduleFibersWithFamiliesRecursively(child, updatedFamilies, staleFamilies);\n }\n\n if (sibling !== null) {\n scheduleFibersWithFamiliesRecursively(sibling, updatedFamilies, staleFamilies);\n }\n }\n}\n\nvar findHostInstancesForRefresh = function (root, families) {\n {\n var hostInstances = new Set();\n var types = new Set(families.map(function (family) {\n return family.current;\n }));\n findHostInstancesForMatchingFibersRecursively(root.current, types, hostInstances);\n return hostInstances;\n }\n};\n\nfunction findHostInstancesForMatchingFibersRecursively(fiber, types, hostInstances) {\n {\n var child = fiber.child,\n sibling = fiber.sibling,\n tag = fiber.tag,\n type = fiber.type;\n var candidateType = null;\n\n switch (tag) {\n case FunctionComponent:\n case SimpleMemoComponent:\n case ClassComponent:\n candidateType = type;\n break;\n\n case ForwardRef:\n candidateType = type.render;\n break;\n }\n\n var didMatch = false;\n\n if (candidateType !== null) {\n if (types.has(candidateType)) {\n didMatch = true;\n }\n }\n\n if (didMatch) {\n // We have a match. This only drills down to the closest host components.\n // There's no need to search deeper because for the purpose of giving\n // visual feedback, \"flashing\" outermost parent rectangles is sufficient.\n findHostInstancesForFiberShallowly(fiber, hostInstances);\n } else {\n // If there's no match, maybe there will be one further down in the child tree.\n if (child !== null) {\n findHostInstancesForMatchingFibersRecursively(child, types, hostInstances);\n }\n }\n\n if (sibling !== null) {\n findHostInstancesForMatchingFibersRecursively(sibling, types, hostInstances);\n }\n }\n}\n\nfunction findHostInstancesForFiberShallowly(fiber, hostInstances) {\n {\n var foundHostInstances = findChildHostInstancesForFiberShallowly(fiber, hostInstances);\n\n if (foundHostInstances) {\n return;\n } // If we didn't find any host children, fallback to closest host parent.\n\n\n var node = fiber;\n\n while (true) {\n switch (node.tag) {\n case HostComponent:\n hostInstances.add(node.stateNode);\n return;\n\n case HostPortal:\n hostInstances.add(node.stateNode.containerInfo);\n return;\n\n case HostRoot:\n hostInstances.add(node.stateNode.containerInfo);\n return;\n }\n\n if (node.return === null) {\n throw new Error('Expected to reach root first.');\n }\n\n node = node.return;\n }\n }\n}\n\nfunction findChildHostInstancesForFiberShallowly(fiber, hostInstances) {\n {\n var node = fiber;\n var foundHostInstances = false;\n\n while (true) {\n if (node.tag === HostComponent) {\n // We got a match.\n foundHostInstances = true;\n hostInstances.add(node.stateNode); // There may still be more, so keep searching.\n } else if (node.child !== null) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n\n if (node === fiber) {\n return foundHostInstances;\n }\n\n while (node.sibling === null) {\n if (node.return === null || node.return === fiber) {\n return foundHostInstances;\n }\n\n node = node.return;\n }\n\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n\n return false;\n}\n\nvar hasBadMapPolyfill;\n\n{\n hasBadMapPolyfill = false;\n\n try {\n var nonExtensibleObject = Object.preventExtensions({});\n /* eslint-disable no-new */\n\n new Map([[nonExtensibleObject, null]]);\n new Set([nonExtensibleObject]);\n /* eslint-enable no-new */\n } catch (e) {\n // TODO: Consider warning about bad polyfills\n hasBadMapPolyfill = true;\n }\n}\n\nfunction FiberNode(tag, pendingProps, key, mode) {\n // Instance\n this.tag = tag;\n this.key = key;\n this.elementType = null;\n this.type = null;\n this.stateNode = null; // Fiber\n\n this.return = null;\n this.child = null;\n this.sibling = null;\n this.index = 0;\n this.ref = null;\n this.pendingProps = pendingProps;\n this.memoizedProps = null;\n this.updateQueue = null;\n this.memoizedState = null;\n this.dependencies = null;\n this.mode = mode; // Effects\n\n this.flags = NoFlags;\n this.subtreeFlags = NoFlags;\n this.deletions = null;\n this.lanes = NoLanes;\n this.childLanes = NoLanes;\n this.alternate = null;\n\n {\n // Note: The following is done to avoid a v8 performance cliff.\n //\n // Initializing the fields below to smis and later updating them with\n // double values will cause Fibers to end up having separate shapes.\n // This behavior/bug has something to do with Object.preventExtension().\n // Fortunately this only impacts DEV builds.\n // Unfortunately it makes React unusably slow for some applications.\n // To work around this, initialize the fields below with doubles.\n //\n // Learn more about this here:\n // https://github.com/facebook/react/issues/14365\n // https://bugs.chromium.org/p/v8/issues/detail?id=8538\n this.actualDuration = Number.NaN;\n this.actualStartTime = Number.NaN;\n this.selfBaseDuration = Number.NaN;\n this.treeBaseDuration = Number.NaN; // It's okay to replace the initial doubles with smis after initialization.\n // This won't trigger the performance cliff mentioned above,\n // and it simplifies other profiler code (including DevTools).\n\n this.actualDuration = 0;\n this.actualStartTime = -1;\n this.selfBaseDuration = 0;\n this.treeBaseDuration = 0;\n }\n\n {\n // This isn't directly used but is handy for debugging internals:\n this._debugSource = null;\n this._debugOwner = null;\n this._debugNeedsRemount = false;\n this._debugHookTypes = null;\n\n if (!hasBadMapPolyfill && typeof Object.preventExtensions === 'function') {\n Object.preventExtensions(this);\n }\n }\n} // This is a constructor function, rather than a POJO constructor, still\n// please ensure we do the following:\n// 1) Nobody should add any instance methods on this. Instance methods can be\n// more difficult to predict when they get optimized and they are almost\n// never inlined properly in static compilers.\n// 2) Nobody should rely on `instanceof Fiber` for type testing. We should\n// always know when it is a fiber.\n// 3) We might want to experiment with using numeric keys since they are easier\n// to optimize in a non-JIT environment.\n// 4) We can easily go from a constructor to a createFiber object literal if that\n// is faster.\n// 5) It should be easy to port this to a C struct and keep a C implementation\n// compatible.\n\n\nvar createFiber = function (tag, pendingProps, key, mode) {\n // $FlowFixMe: the shapes are exact here but Flow doesn't like constructors\n return new FiberNode(tag, pendingProps, key, mode);\n};\n\nfunction shouldConstruct$1(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction isSimpleFunctionComponent(type) {\n return typeof type === 'function' && !shouldConstruct$1(type) && type.defaultProps === undefined;\n}\nfunction resolveLazyComponentTag(Component) {\n if (typeof Component === 'function') {\n return shouldConstruct$1(Component) ? ClassComponent : FunctionComponent;\n } else if (Component !== undefined && Component !== null) {\n var $$typeof = Component.$$typeof;\n\n if ($$typeof === REACT_FORWARD_REF_TYPE) {\n return ForwardRef;\n }\n\n if ($$typeof === REACT_MEMO_TYPE) {\n return MemoComponent;\n }\n }\n\n return IndeterminateComponent;\n} // This is used to create an alternate fiber to do work on.\n\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n\n if (workInProgress === null) {\n // We use a double buffering pooling technique because we know that we'll\n // only ever need at most two versions of a tree. We pool the \"other\" unused\n // node that we're free to reuse. This is lazily created to avoid allocating\n // extra objects for things that are never updated. It also allow us to\n // reclaim the extra memory if needed.\n workInProgress = createFiber(current.tag, pendingProps, current.key, current.mode);\n workInProgress.elementType = current.elementType;\n workInProgress.type = current.type;\n workInProgress.stateNode = current.stateNode;\n\n {\n // DEV-only fields\n workInProgress._debugSource = current._debugSource;\n workInProgress._debugOwner = current._debugOwner;\n workInProgress._debugHookTypes = current._debugHookTypes;\n }\n\n workInProgress.alternate = current;\n current.alternate = workInProgress;\n } else {\n workInProgress.pendingProps = pendingProps; // Needed because Blocks store data on type.\n\n workInProgress.type = current.type; // We already have an alternate.\n // Reset the effect tag.\n\n workInProgress.flags = NoFlags; // The effects are no longer valid.\n\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.deletions = null;\n\n {\n // We intentionally reset, rather than copy, actualDuration & actualStartTime.\n // This prevents time from endlessly accumulating in new commits.\n // This has the downside of resetting values for different priority renders,\n // But works for yielding (the common case) and should support resuming.\n workInProgress.actualDuration = 0;\n workInProgress.actualStartTime = -1;\n }\n } // Reset all effects except static ones.\n // Static effects are not specific to a render.\n\n\n workInProgress.flags = current.flags & StaticMask;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue; // Clone the dependencies object. This is mutated during the render phase, so\n // it cannot be shared with the current fiber.\n\n var currentDependencies = current.dependencies;\n workInProgress.dependencies = currentDependencies === null ? null : {\n lanes: currentDependencies.lanes,\n firstContext: currentDependencies.firstContext\n }; // These will be overridden during the parent's reconciliation\n\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n\n {\n workInProgress.selfBaseDuration = current.selfBaseDuration;\n workInProgress.treeBaseDuration = current.treeBaseDuration;\n }\n\n {\n workInProgress._debugNeedsRemount = current._debugNeedsRemount;\n\n switch (workInProgress.tag) {\n case IndeterminateComponent:\n case FunctionComponent:\n case SimpleMemoComponent:\n workInProgress.type = resolveFunctionForHotReloading(current.type);\n break;\n\n case ClassComponent:\n workInProgress.type = resolveClassForHotReloading(current.type);\n break;\n\n case ForwardRef:\n workInProgress.type = resolveForwardRefForHotReloading(current.type);\n break;\n }\n }\n\n return workInProgress;\n} // Used to reuse a Fiber for a second pass.\n\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n // This resets the Fiber to what createFiber or createWorkInProgress would\n // have set the values to before during the first pass. Ideally this wouldn't\n // be necessary but unfortunately many code paths reads from the workInProgress\n // when they should be reading from current and writing to workInProgress.\n // We assume pendingProps, index, key, ref, return are still untouched to\n // avoid doing another reconciliation.\n // Reset the effect flags but keep any Placement tags, since that's something\n // that child fiber is setting, not the reconciliation.\n workInProgress.flags &= StaticMask | Placement; // The effects are no longer valid.\n\n var current = workInProgress.alternate;\n\n if (current === null) {\n // Reset to createFiber's initial values.\n workInProgress.childLanes = NoLanes;\n workInProgress.lanes = renderLanes;\n workInProgress.child = null;\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.memoizedProps = null;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.dependencies = null;\n workInProgress.stateNode = null;\n\n {\n // Note: We don't reset the actualTime counts. It's useful to accumulate\n // actual time across multiple render passes.\n workInProgress.selfBaseDuration = 0;\n workInProgress.treeBaseDuration = 0;\n }\n } else {\n // Reset to the cloned values that createWorkInProgress would've.\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.subtreeFlags = NoFlags;\n workInProgress.deletions = null;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue; // Needed because Blocks store data on type.\n\n workInProgress.type = current.type; // Clone the dependencies object. This is mutated during the render phase, so\n // it cannot be shared with the current fiber.\n\n var currentDependencies = current.dependencies;\n workInProgress.dependencies = currentDependencies === null ? null : {\n lanes: currentDependencies.lanes,\n firstContext: currentDependencies.firstContext\n };\n\n {\n // Note: We don't reset the actualTime counts. It's useful to accumulate\n // actual time across multiple render passes.\n workInProgress.selfBaseDuration = current.selfBaseDuration;\n workInProgress.treeBaseDuration = current.treeBaseDuration;\n }\n }\n\n return workInProgress;\n}\nfunction createHostRootFiber(tag, isStrictMode, concurrentUpdatesByDefaultOverride) {\n var mode;\n\n if (tag === ConcurrentRoot) {\n mode = ConcurrentMode;\n\n if (isStrictMode === true) {\n mode |= StrictLegacyMode;\n\n {\n mode |= StrictEffectsMode;\n }\n }\n } else {\n mode = NoMode;\n }\n\n if ( isDevToolsPresent) {\n // Always collect profile timings when DevTools are present.\n // This enables DevTools to start capturing timing at any point–\n // Without some nodes in the tree having empty base times.\n mode |= ProfileMode;\n }\n\n return createFiber(HostRoot, null, null, mode);\n}\nfunction createFiberFromTypeAndProps(type, // React$ElementType\nkey, pendingProps, owner, mode, lanes) {\n var fiberTag = IndeterminateComponent; // The resolved type is set if we know what the final type will be. I.e. it's not lazy.\n\n var resolvedType = type;\n\n if (typeof type === 'function') {\n if (shouldConstruct$1(type)) {\n fiberTag = ClassComponent;\n\n {\n resolvedType = resolveClassForHotReloading(resolvedType);\n }\n } else {\n {\n resolvedType = resolveFunctionForHotReloading(resolvedType);\n }\n }\n } else if (typeof type === 'string') {\n fiberTag = HostComponent;\n } else {\n getTag: switch (type) {\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n\n case REACT_STRICT_MODE_TYPE:\n fiberTag = Mode;\n mode |= StrictLegacyMode;\n\n if ( (mode & ConcurrentMode) !== NoMode) {\n // Strict effects should never run on legacy roots\n mode |= StrictEffectsMode;\n }\n\n break;\n\n case REACT_PROFILER_TYPE:\n return createFiberFromProfiler(pendingProps, mode, lanes, key);\n\n case REACT_SUSPENSE_TYPE:\n return createFiberFromSuspense(pendingProps, mode, lanes, key);\n\n case REACT_SUSPENSE_LIST_TYPE:\n return createFiberFromSuspenseList(pendingProps, mode, lanes, key);\n\n case REACT_OFFSCREEN_TYPE:\n return createFiberFromOffscreen(pendingProps, mode, lanes, key);\n\n case REACT_LEGACY_HIDDEN_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_SCOPE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_CACHE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_TRACING_MARKER_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n case REACT_DEBUG_TRACING_MODE_TYPE:\n\n // eslint-disable-next-line no-fallthrough\n\n default:\n {\n if (typeof type === 'object' && type !== null) {\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n fiberTag = ContextProvider;\n break getTag;\n\n case REACT_CONTEXT_TYPE:\n // This is a consumer\n fiberTag = ContextConsumer;\n break getTag;\n\n case REACT_FORWARD_REF_TYPE:\n fiberTag = ForwardRef;\n\n {\n resolvedType = resolveForwardRefForHotReloading(resolvedType);\n }\n\n break getTag;\n\n case REACT_MEMO_TYPE:\n fiberTag = MemoComponent;\n break getTag;\n\n case REACT_LAZY_TYPE:\n fiberTag = LazyComponent;\n resolvedType = null;\n break getTag;\n }\n }\n\n var info = '';\n\n {\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and \" + 'named imports.';\n }\n\n var ownerName = owner ? getComponentNameFromFiber(owner) : null;\n\n if (ownerName) {\n info += '\\n\\nCheck the render method of `' + ownerName + '`.';\n }\n }\n\n throw new Error('Element type is invalid: expected a string (for built-in ' + 'components) or a class/function (for composite components) ' + (\"but got: \" + (type == null ? type : typeof type) + \".\" + info));\n }\n }\n }\n\n var fiber = createFiber(fiberTag, pendingProps, key, mode);\n fiber.elementType = type;\n fiber.type = resolvedType;\n fiber.lanes = lanes;\n\n {\n fiber._debugOwner = owner;\n }\n\n return fiber;\n}\nfunction createFiberFromElement(element, mode, lanes) {\n var owner = null;\n\n {\n owner = element._owner;\n }\n\n var type = element.type;\n var key = element.key;\n var pendingProps = element.props;\n var fiber = createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes);\n\n {\n fiber._debugSource = element._source;\n fiber._debugOwner = element._owner;\n }\n\n return fiber;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n var fiber = createFiber(Fragment, elements, key, mode);\n fiber.lanes = lanes;\n return fiber;\n}\n\nfunction createFiberFromProfiler(pendingProps, mode, lanes, key) {\n {\n if (typeof pendingProps.id !== 'string') {\n error('Profiler must specify an \"id\" of type `string` as a prop. Received the type `%s` instead.', typeof pendingProps.id);\n }\n }\n\n var fiber = createFiber(Profiler, pendingProps, key, mode | ProfileMode);\n fiber.elementType = REACT_PROFILER_TYPE;\n fiber.lanes = lanes;\n\n {\n fiber.stateNode = {\n effectDuration: 0,\n passiveEffectDuration: 0\n };\n }\n\n return fiber;\n}\n\nfunction createFiberFromSuspense(pendingProps, mode, lanes, key) {\n var fiber = createFiber(SuspenseComponent, pendingProps, key, mode);\n fiber.elementType = REACT_SUSPENSE_TYPE;\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromSuspenseList(pendingProps, mode, lanes, key) {\n var fiber = createFiber(SuspenseListComponent, pendingProps, key, mode);\n fiber.elementType = REACT_SUSPENSE_LIST_TYPE;\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromOffscreen(pendingProps, mode, lanes, key) {\n var fiber = createFiber(OffscreenComponent, pendingProps, key, mode);\n fiber.elementType = REACT_OFFSCREEN_TYPE;\n fiber.lanes = lanes;\n var primaryChildInstance = {\n isHidden: false\n };\n fiber.stateNode = primaryChildInstance;\n return fiber;\n}\nfunction createFiberFromText(content, mode, lanes) {\n var fiber = createFiber(HostText, content, null, mode);\n fiber.lanes = lanes;\n return fiber;\n}\nfunction createFiberFromHostInstanceForDeletion() {\n var fiber = createFiber(HostComponent, null, null, NoMode);\n fiber.elementType = 'DELETED';\n return fiber;\n}\nfunction createFiberFromDehydratedFragment(dehydratedNode) {\n var fiber = createFiber(DehydratedFragment, null, null, NoMode);\n fiber.stateNode = dehydratedNode;\n return fiber;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n var pendingProps = portal.children !== null ? portal.children : [];\n var fiber = createFiber(HostPortal, pendingProps, portal.key, mode);\n fiber.lanes = lanes;\n fiber.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n // Used by persistent updates\n implementation: portal.implementation\n };\n return fiber;\n} // Used for stashing WIP properties to replay failed work in DEV.\n\nfunction assignFiberPropertiesInDEV(target, source) {\n if (target === null) {\n // This Fiber's initial properties will always be overwritten.\n // We only use a Fiber to ensure the same hidden class so DEV isn't slow.\n target = createFiber(IndeterminateComponent, null, null, NoMode);\n } // This is intentionally written as a list of all properties.\n // We tried to use Object.assign() instead but this is called in\n // the hottest path, and Object.assign() was too slow:\n // https://github.com/facebook/react/issues/12502\n // This code is DEV-only so size is not a concern.\n\n\n target.tag = source.tag;\n target.key = source.key;\n target.elementType = source.elementType;\n target.type = source.type;\n target.stateNode = source.stateNode;\n target.return = source.return;\n target.child = source.child;\n target.sibling = source.sibling;\n target.index = source.index;\n target.ref = source.ref;\n target.pendingProps = source.pendingProps;\n target.memoizedProps = source.memoizedProps;\n target.updateQueue = source.updateQueue;\n target.memoizedState = source.memoizedState;\n target.dependencies = source.dependencies;\n target.mode = source.mode;\n target.flags = source.flags;\n target.subtreeFlags = source.subtreeFlags;\n target.deletions = source.deletions;\n target.lanes = source.lanes;\n target.childLanes = source.childLanes;\n target.alternate = source.alternate;\n\n {\n target.actualDuration = source.actualDuration;\n target.actualStartTime = source.actualStartTime;\n target.selfBaseDuration = source.selfBaseDuration;\n target.treeBaseDuration = source.treeBaseDuration;\n }\n\n target._debugSource = source._debugSource;\n target._debugOwner = source._debugOwner;\n target._debugNeedsRemount = source._debugNeedsRemount;\n target._debugHookTypes = source._debugHookTypes;\n return target;\n}\n\nfunction FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onRecoverableError) {\n this.tag = tag;\n this.containerInfo = containerInfo;\n this.pendingChildren = null;\n this.current = null;\n this.pingCache = null;\n this.finishedWork = null;\n this.timeoutHandle = noTimeout;\n this.context = null;\n this.pendingContext = null;\n this.callbackNode = null;\n this.callbackPriority = NoLane;\n this.eventTimes = createLaneMap(NoLanes);\n this.expirationTimes = createLaneMap(NoTimestamp);\n this.pendingLanes = NoLanes;\n this.suspendedLanes = NoLanes;\n this.pingedLanes = NoLanes;\n this.expiredLanes = NoLanes;\n this.mutableReadLanes = NoLanes;\n this.finishedLanes = NoLanes;\n this.entangledLanes = NoLanes;\n this.entanglements = createLaneMap(NoLanes);\n this.identifierPrefix = identifierPrefix;\n this.onRecoverableError = onRecoverableError;\n\n {\n this.mutableSourceEagerHydrationData = null;\n }\n\n {\n this.effectDuration = 0;\n this.passiveEffectDuration = 0;\n }\n\n {\n this.memoizedUpdaters = new Set();\n var pendingUpdatersLaneMap = this.pendingUpdatersLaneMap = [];\n\n for (var _i = 0; _i < TotalLanes; _i++) {\n pendingUpdatersLaneMap.push(new Set());\n }\n }\n\n {\n switch (tag) {\n case ConcurrentRoot:\n this._debugRootType = hydrate ? 'hydrateRoot()' : 'createRoot()';\n break;\n\n case LegacyRoot:\n this._debugRootType = hydrate ? 'hydrate()' : 'render()';\n break;\n }\n }\n}\n\nfunction createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, // TODO: We have several of these arguments that are conceptually part of the\n// host config, but because they are passed in at runtime, we have to thread\n// them through the root constructor. Perhaps we should put them all into a\n// single type, like a DynamicHostConfig that is defined by the renderer.\nidentifierPrefix, onRecoverableError, transitionCallbacks) {\n var root = new FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onRecoverableError);\n // stateNode is any.\n\n\n var uninitializedFiber = createHostRootFiber(tag, isStrictMode);\n root.current = uninitializedFiber;\n uninitializedFiber.stateNode = root;\n\n {\n var _initialState = {\n element: initialChildren,\n isDehydrated: hydrate,\n cache: null,\n // not enabled yet\n transitions: null,\n pendingSuspenseBoundaries: null\n };\n uninitializedFiber.memoizedState = _initialState;\n }\n\n initializeUpdateQueue(uninitializedFiber);\n return root;\n}\n\nvar ReactVersion = '18.2.0';\n\nfunction createPortal(children, containerInfo, // TODO: figure out the API for cross-renderer implementation.\nimplementation) {\n var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n {\n checkKeyStringCoercion(key);\n }\n\n return {\n // This tag allow us to uniquely identify this as a React Portal\n $$typeof: REACT_PORTAL_TYPE,\n key: key == null ? null : '' + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\n\nvar didWarnAboutNestedUpdates;\nvar didWarnAboutFindNodeInStrictMode;\n\n{\n didWarnAboutNestedUpdates = false;\n didWarnAboutFindNodeInStrictMode = {};\n}\n\nfunction getContextForSubtree(parentComponent) {\n if (!parentComponent) {\n return emptyContextObject;\n }\n\n var fiber = get(parentComponent);\n var parentContext = findCurrentUnmaskedContext(fiber);\n\n if (fiber.tag === ClassComponent) {\n var Component = fiber.type;\n\n if (isContextProvider(Component)) {\n return processChildContext(fiber, Component, parentContext);\n }\n }\n\n return parentContext;\n}\n\nfunction findHostInstanceWithWarning(component, methodName) {\n {\n var fiber = get(component);\n\n if (fiber === undefined) {\n if (typeof component.render === 'function') {\n throw new Error('Unable to find node on an unmounted component.');\n } else {\n var keys = Object.keys(component).join(',');\n throw new Error(\"Argument appears to not be a ReactComponent. Keys: \" + keys);\n }\n }\n\n var hostFiber = findCurrentHostFiber(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n if (hostFiber.mode & StrictLegacyMode) {\n var componentName = getComponentNameFromFiber(fiber) || 'Component';\n\n if (!didWarnAboutFindNodeInStrictMode[componentName]) {\n didWarnAboutFindNodeInStrictMode[componentName] = true;\n var previousFiber = current;\n\n try {\n setCurrentFiber(hostFiber);\n\n if (fiber.mode & StrictLegacyMode) {\n error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which is inside StrictMode. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-find-node', methodName, methodName, componentName);\n } else {\n error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which renders StrictMode children. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-find-node', methodName, methodName, componentName);\n }\n } finally {\n // Ideally this should reset to previous but this shouldn't be called in\n // render and there's another warning for that anyway.\n if (previousFiber) {\n setCurrentFiber(previousFiber);\n } else {\n resetCurrentFiber();\n }\n }\n }\n }\n\n return hostFiber.stateNode;\n }\n}\n\nfunction createContainer(containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks) {\n var hydrate = false;\n var initialChildren = null;\n return createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n}\nfunction createHydrationContainer(initialChildren, // TODO: Remove `callback` when we delete legacy mode.\ncallback, containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks) {\n var hydrate = true;\n var root = createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError); // TODO: Move this to FiberRoot constructor\n\n root.context = getContextForSubtree(null); // Schedule the initial render. In a hydration root, this is different from\n // a regular update because the initial render must match was was rendered\n // on the server.\n // NOTE: This update intentionally doesn't have a payload. We're only using\n // the update to schedule work on the root fiber (and, for legacy roots, to\n // enqueue the callback if one is provided).\n\n var current = root.current;\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(current);\n var update = createUpdate(eventTime, lane);\n update.callback = callback !== undefined && callback !== null ? callback : null;\n enqueueUpdate(current, update, lane);\n scheduleInitialHydrationOnRoot(root, lane, eventTime);\n return root;\n}\nfunction updateContainer(element, container, parentComponent, callback) {\n {\n onScheduleRoot(container, element);\n }\n\n var current$1 = container.current;\n var eventTime = requestEventTime();\n var lane = requestUpdateLane(current$1);\n\n {\n markRenderScheduled(lane);\n }\n\n var context = getContextForSubtree(parentComponent);\n\n if (container.context === null) {\n container.context = context;\n } else {\n container.pendingContext = context;\n }\n\n {\n if (isRendering && current !== null && !didWarnAboutNestedUpdates) {\n didWarnAboutNestedUpdates = true;\n\n error('Render methods should be a pure function of props and state; ' + 'triggering nested component updates from render is not allowed. ' + 'If necessary, trigger nested updates in componentDidUpdate.\\n\\n' + 'Check the render method of %s.', getComponentNameFromFiber(current) || 'Unknown');\n }\n }\n\n var update = createUpdate(eventTime, lane); // Caution: React DevTools currently depends on this property\n // being called \"element\".\n\n update.payload = {\n element: element\n };\n callback = callback === undefined ? null : callback;\n\n if (callback !== null) {\n {\n if (typeof callback !== 'function') {\n error('render(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callback);\n }\n }\n\n update.callback = callback;\n }\n\n var root = enqueueUpdate(current$1, update, lane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, current$1, lane, eventTime);\n entangleTransitions(root, current$1, lane);\n }\n\n return lane;\n}\nfunction getPublicRootInstance(container) {\n var containerFiber = container.current;\n\n if (!containerFiber.child) {\n return null;\n }\n\n switch (containerFiber.child.tag) {\n case HostComponent:\n return getPublicInstance(containerFiber.child.stateNode);\n\n default:\n return containerFiber.child.stateNode;\n }\n}\nfunction attemptSynchronousHydration$1(fiber) {\n switch (fiber.tag) {\n case HostRoot:\n {\n var root = fiber.stateNode;\n\n if (isRootDehydrated(root)) {\n // Flush the first scheduled \"update\".\n var lanes = getHighestPriorityPendingLanes(root);\n flushRoot(root, lanes);\n }\n\n break;\n }\n\n case SuspenseComponent:\n {\n flushSync(function () {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, SyncLane, eventTime);\n }\n }); // If we're still blocked after this, we need to increase\n // the priority of any promises resolving within this\n // boundary so that they next attempt also has higher pri.\n\n var retryLane = SyncLane;\n markRetryLaneIfNotHydrated(fiber, retryLane);\n break;\n }\n }\n}\n\nfunction markRetryLaneImpl(fiber, retryLane) {\n var suspenseState = fiber.memoizedState;\n\n if (suspenseState !== null && suspenseState.dehydrated !== null) {\n suspenseState.retryLane = higherPriorityLane(suspenseState.retryLane, retryLane);\n }\n} // Increases the priority of thenables when they resolve within this boundary.\n\n\nfunction markRetryLaneIfNotHydrated(fiber, retryLane) {\n markRetryLaneImpl(fiber, retryLane);\n var alternate = fiber.alternate;\n\n if (alternate) {\n markRetryLaneImpl(alternate, retryLane);\n }\n}\nfunction attemptContinuousHydration$1(fiber) {\n if (fiber.tag !== SuspenseComponent) {\n // We ignore HostRoots here because we can't increase\n // their priority and they should not suspend on I/O,\n // since you have to wrap anything that might suspend in\n // Suspense.\n return;\n }\n\n var lane = SelectiveHydrationLane;\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n }\n\n markRetryLaneIfNotHydrated(fiber, lane);\n}\nfunction attemptHydrationAtCurrentPriority$1(fiber) {\n if (fiber.tag !== SuspenseComponent) {\n // We ignore HostRoots here because we can't increase\n // their priority other than synchronously flush it.\n return;\n }\n\n var lane = requestUpdateLane(fiber);\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n\n if (root !== null) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(root, fiber, lane, eventTime);\n }\n\n markRetryLaneIfNotHydrated(fiber, lane);\n}\nfunction findHostInstanceWithNoPortals(fiber) {\n var hostFiber = findCurrentHostFiberWithNoPortals(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n return hostFiber.stateNode;\n}\n\nvar shouldErrorImpl = function (fiber) {\n return null;\n};\n\nfunction shouldError(fiber) {\n return shouldErrorImpl(fiber);\n}\n\nvar shouldSuspendImpl = function (fiber) {\n return false;\n};\n\nfunction shouldSuspend(fiber) {\n return shouldSuspendImpl(fiber);\n}\nvar overrideHookState = null;\nvar overrideHookStateDeletePath = null;\nvar overrideHookStateRenamePath = null;\nvar overrideProps = null;\nvar overridePropsDeletePath = null;\nvar overridePropsRenamePath = null;\nvar scheduleUpdate = null;\nvar setErrorHandler = null;\nvar setSuspenseHandler = null;\n\n{\n var copyWithDeleteImpl = function (obj, path, index) {\n var key = path[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj);\n\n if (index + 1 === path.length) {\n if (isArray(updated)) {\n updated.splice(key, 1);\n } else {\n delete updated[key];\n }\n\n return updated;\n } // $FlowFixMe number or string is fine here\n\n\n updated[key] = copyWithDeleteImpl(obj[key], path, index + 1);\n return updated;\n };\n\n var copyWithDelete = function (obj, path) {\n return copyWithDeleteImpl(obj, path, 0);\n };\n\n var copyWithRenameImpl = function (obj, oldPath, newPath, index) {\n var oldKey = oldPath[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj);\n\n if (index + 1 === oldPath.length) {\n var newKey = newPath[index]; // $FlowFixMe number or string is fine here\n\n updated[newKey] = updated[oldKey];\n\n if (isArray(updated)) {\n updated.splice(oldKey, 1);\n } else {\n delete updated[oldKey];\n }\n } else {\n // $FlowFixMe number or string is fine here\n updated[oldKey] = copyWithRenameImpl( // $FlowFixMe number or string is fine here\n obj[oldKey], oldPath, newPath, index + 1);\n }\n\n return updated;\n };\n\n var copyWithRename = function (obj, oldPath, newPath) {\n if (oldPath.length !== newPath.length) {\n warn('copyWithRename() expects paths of the same length');\n\n return;\n } else {\n for (var i = 0; i < newPath.length - 1; i++) {\n if (oldPath[i] !== newPath[i]) {\n warn('copyWithRename() expects paths to be the same except for the deepest key');\n\n return;\n }\n }\n }\n\n return copyWithRenameImpl(obj, oldPath, newPath, 0);\n };\n\n var copyWithSetImpl = function (obj, path, index, value) {\n if (index >= path.length) {\n return value;\n }\n\n var key = path[index];\n var updated = isArray(obj) ? obj.slice() : assign({}, obj); // $FlowFixMe number or string is fine here\n\n updated[key] = copyWithSetImpl(obj[key], path, index + 1, value);\n return updated;\n };\n\n var copyWithSet = function (obj, path, value) {\n return copyWithSetImpl(obj, path, 0, value);\n };\n\n var findHook = function (fiber, id) {\n // For now, the \"id\" of stateful hooks is just the stateful hook index.\n // This may change in the future with e.g. nested hooks.\n var currentHook = fiber.memoizedState;\n\n while (currentHook !== null && id > 0) {\n currentHook = currentHook.next;\n id--;\n }\n\n return currentHook;\n }; // Support DevTools editable values for useState and useReducer.\n\n\n overrideHookState = function (fiber, id, path, value) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithSet(hook.memoizedState, path, value);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n };\n\n overrideHookStateDeletePath = function (fiber, id, path) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithDelete(hook.memoizedState, path);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n };\n\n overrideHookStateRenamePath = function (fiber, id, oldPath, newPath) {\n var hook = findHook(fiber, id);\n\n if (hook !== null) {\n var newState = copyWithRename(hook.memoizedState, oldPath, newPath);\n hook.memoizedState = newState;\n hook.baseState = newState; // We aren't actually adding an update to the queue,\n // because there is no update we can add for useReducer hooks that won't trigger an error.\n // (There's no appropriate action type for DevTools overrides.)\n // As a result though, React will see the scheduled update as a noop and bailout.\n // Shallow cloning props works as a workaround for now to bypass the bailout check.\n\n fiber.memoizedProps = assign({}, fiber.memoizedProps);\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n }\n }; // Support DevTools props for function components, forwardRef, memo, host components, etc.\n\n\n overrideProps = function (fiber, path, value) {\n fiber.pendingProps = copyWithSet(fiber.memoizedProps, path, value);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n overridePropsDeletePath = function (fiber, path) {\n fiber.pendingProps = copyWithDelete(fiber.memoizedProps, path);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n overridePropsRenamePath = function (fiber, oldPath, newPath) {\n fiber.pendingProps = copyWithRename(fiber.memoizedProps, oldPath, newPath);\n\n if (fiber.alternate) {\n fiber.alternate.pendingProps = fiber.pendingProps;\n }\n\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n scheduleUpdate = function (fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, SyncLane);\n\n if (root !== null) {\n scheduleUpdateOnFiber(root, fiber, SyncLane, NoTimestamp);\n }\n };\n\n setErrorHandler = function (newShouldErrorImpl) {\n shouldErrorImpl = newShouldErrorImpl;\n };\n\n setSuspenseHandler = function (newShouldSuspendImpl) {\n shouldSuspendImpl = newShouldSuspendImpl;\n };\n}\n\nfunction findHostInstanceByFiber(fiber) {\n var hostFiber = findCurrentHostFiber(fiber);\n\n if (hostFiber === null) {\n return null;\n }\n\n return hostFiber.stateNode;\n}\n\nfunction emptyFindFiberByHostInstance(instance) {\n return null;\n}\n\nfunction getCurrentFiberForDevTools() {\n return current;\n}\n\nfunction injectIntoDevTools(devToolsConfig) {\n var findFiberByHostInstance = devToolsConfig.findFiberByHostInstance;\n var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\n return injectInternals({\n bundleType: devToolsConfig.bundleType,\n version: devToolsConfig.version,\n rendererPackageName: devToolsConfig.rendererPackageName,\n rendererConfig: devToolsConfig.rendererConfig,\n overrideHookState: overrideHookState,\n overrideHookStateDeletePath: overrideHookStateDeletePath,\n overrideHookStateRenamePath: overrideHookStateRenamePath,\n overrideProps: overrideProps,\n overridePropsDeletePath: overridePropsDeletePath,\n overridePropsRenamePath: overridePropsRenamePath,\n setErrorHandler: setErrorHandler,\n setSuspenseHandler: setSuspenseHandler,\n scheduleUpdate: scheduleUpdate,\n currentDispatcherRef: ReactCurrentDispatcher,\n findHostInstanceByFiber: findHostInstanceByFiber,\n findFiberByHostInstance: findFiberByHostInstance || emptyFindFiberByHostInstance,\n // React Refresh\n findHostInstancesForRefresh: findHostInstancesForRefresh ,\n scheduleRefresh: scheduleRefresh ,\n scheduleRoot: scheduleRoot ,\n setRefreshHandler: setRefreshHandler ,\n // Enables DevTools to append owner stacks to error messages in DEV mode.\n getCurrentFiber: getCurrentFiberForDevTools ,\n // Enables DevTools to detect reconciler version rather than renderer version\n // which may not match for third party renderers.\n reconcilerVersion: ReactVersion\n });\n}\n\n/* global reportError */\n\nvar defaultOnRecoverableError = typeof reportError === 'function' ? // In modern browsers, reportError will dispatch an error event,\n// emulating an uncaught JavaScript error.\nreportError : function (error) {\n // In older browsers and test environments, fallback to console.error.\n // eslint-disable-next-line react-internal/no-production-logging\n console['error'](error);\n};\n\nfunction ReactDOMRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\n\nReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render = function (children) {\n var root = this._internalRoot;\n\n if (root === null) {\n throw new Error('Cannot update an unmounted root.');\n }\n\n {\n if (typeof arguments[1] === 'function') {\n error('render(...): does not support the second callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');\n } else if (isValidContainer(arguments[1])) {\n error('You passed a container to the second argument of root.render(...). ' + \"You don't need to pass it again since you already passed it to create the root.\");\n } else if (typeof arguments[1] !== 'undefined') {\n error('You passed a second argument to root.render(...) but it only accepts ' + 'one argument.');\n }\n\n var container = root.containerInfo;\n\n if (container.nodeType !== COMMENT_NODE) {\n var hostInstance = findHostInstanceWithNoPortals(root.current);\n\n if (hostInstance) {\n if (hostInstance.parentNode !== container) {\n error('render(...): It looks like the React-rendered content of the ' + 'root container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + \"root.unmount() to empty a root's container.\");\n }\n }\n }\n }\n\n updateContainer(children, root, null, null);\n};\n\nReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount = function () {\n {\n if (typeof arguments[0] === 'function') {\n error('unmount(...): does not support a callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');\n }\n }\n\n var root = this._internalRoot;\n\n if (root !== null) {\n this._internalRoot = null;\n var container = root.containerInfo;\n\n {\n if (isAlreadyRendering()) {\n error('Attempted to synchronously unmount a root while React was already ' + 'rendering. React cannot finish unmounting the root until the ' + 'current render has completed, which may lead to a race condition.');\n }\n }\n\n flushSync(function () {\n updateContainer(null, root, null, null);\n });\n unmarkContainerAsRoot(container);\n }\n};\n\nfunction createRoot(container, options) {\n if (!isValidContainer(container)) {\n throw new Error('createRoot(...): Target container is not a DOM element.');\n }\n\n warnIfReactDOMContainerInDEV(container);\n var isStrictMode = false;\n var concurrentUpdatesByDefaultOverride = false;\n var identifierPrefix = '';\n var onRecoverableError = defaultOnRecoverableError;\n var transitionCallbacks = null;\n\n if (options !== null && options !== undefined) {\n {\n if (options.hydrate) {\n warn('hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, ) instead.');\n } else {\n if (typeof options === 'object' && options !== null && options.$$typeof === REACT_ELEMENT_TYPE) {\n error('You passed a JSX element to createRoot. You probably meant to ' + 'call root.render instead. ' + 'Example usage:\\n\\n' + ' let root = createRoot(domContainer);\\n' + ' root.render();');\n }\n }\n }\n\n if (options.unstable_strictMode === true) {\n isStrictMode = true;\n }\n\n if (options.identifierPrefix !== undefined) {\n identifierPrefix = options.identifierPrefix;\n }\n\n if (options.onRecoverableError !== undefined) {\n onRecoverableError = options.onRecoverableError;\n }\n\n if (options.transitionCallbacks !== undefined) {\n transitionCallbacks = options.transitionCallbacks;\n }\n }\n\n var root = createContainer(container, ConcurrentRoot, null, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n markContainerAsRoot(root.current, container);\n var rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n listenToAllSupportedEvents(rootContainerElement);\n return new ReactDOMRoot(root);\n}\n\nfunction ReactDOMHydrationRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\n\nfunction scheduleHydration(target) {\n if (target) {\n queueExplicitHydrationTarget(target);\n }\n}\n\nReactDOMHydrationRoot.prototype.unstable_scheduleHydration = scheduleHydration;\nfunction hydrateRoot(container, initialChildren, options) {\n if (!isValidContainer(container)) {\n throw new Error('hydrateRoot(...): Target container is not a DOM element.');\n }\n\n warnIfReactDOMContainerInDEV(container);\n\n {\n if (initialChildren === undefined) {\n error('Must provide initial children as second argument to hydrateRoot. ' + 'Example usage: hydrateRoot(domContainer, )');\n }\n } // For now we reuse the whole bag of options since they contain\n // the hydration callbacks.\n\n\n var hydrationCallbacks = options != null ? options : null; // TODO: Delete this option\n\n var mutableSources = options != null && options.hydratedSources || null;\n var isStrictMode = false;\n var concurrentUpdatesByDefaultOverride = false;\n var identifierPrefix = '';\n var onRecoverableError = defaultOnRecoverableError;\n\n if (options !== null && options !== undefined) {\n if (options.unstable_strictMode === true) {\n isStrictMode = true;\n }\n\n if (options.identifierPrefix !== undefined) {\n identifierPrefix = options.identifierPrefix;\n }\n\n if (options.onRecoverableError !== undefined) {\n onRecoverableError = options.onRecoverableError;\n }\n }\n\n var root = createHydrationContainer(initialChildren, null, container, ConcurrentRoot, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError);\n markContainerAsRoot(root.current, container); // This can't be a comment node since hydration doesn't work on comment nodes anyway.\n\n listenToAllSupportedEvents(container);\n\n if (mutableSources) {\n for (var i = 0; i < mutableSources.length; i++) {\n var mutableSource = mutableSources[i];\n registerMutableSourceForHydration(root, mutableSource);\n }\n }\n\n return new ReactDOMHydrationRoot(root);\n}\nfunction isValidContainer(node) {\n return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || !disableCommentsAsDOMContainers ));\n} // TODO: Remove this function which also includes comment nodes.\n// We only use it in places that are currently more relaxed.\n\nfunction isValidContainerLegacy(node) {\n return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || node.nodeType === COMMENT_NODE && node.nodeValue === ' react-mount-point-unstable '));\n}\n\nfunction warnIfReactDOMContainerInDEV(container) {\n {\n if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === 'BODY') {\n error('createRoot(): Creating roots directly with document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try using a container element created ' + 'for your app.');\n }\n\n if (isContainerMarkedAsRoot(container)) {\n if (container._reactRootContainer) {\n error('You are calling ReactDOMClient.createRoot() on a container that was previously ' + 'passed to ReactDOM.render(). This is not supported.');\n } else {\n error('You are calling ReactDOMClient.createRoot() on a container that ' + 'has already been passed to createRoot() before. Instead, call ' + 'root.render() on the existing root instead if you want to update it.');\n }\n }\n }\n}\n\nvar ReactCurrentOwner$3 = ReactSharedInternals.ReactCurrentOwner;\nvar topLevelUpdateWarnings;\n\n{\n topLevelUpdateWarnings = function (container) {\n if (container._reactRootContainer && container.nodeType !== COMMENT_NODE) {\n var hostInstance = findHostInstanceWithNoPortals(container._reactRootContainer.current);\n\n if (hostInstance) {\n if (hostInstance.parentNode !== container) {\n error('render(...): It looks like the React-rendered content of this ' + 'container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + 'ReactDOM.unmountComponentAtNode to empty a container.');\n }\n }\n }\n\n var isRootRenderedBySomeReact = !!container._reactRootContainer;\n var rootEl = getReactRootElementInContainer(container);\n var hasNonRootReactChild = !!(rootEl && getInstanceFromNode(rootEl));\n\n if (hasNonRootReactChild && !isRootRenderedBySomeReact) {\n error('render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.');\n }\n\n if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === 'BODY') {\n error('render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.');\n }\n };\n}\n\nfunction getReactRootElementInContainer(container) {\n if (!container) {\n return null;\n }\n\n if (container.nodeType === DOCUMENT_NODE) {\n return container.documentElement;\n } else {\n return container.firstChild;\n }\n}\n\nfunction noopOnRecoverableError() {// This isn't reachable because onRecoverableError isn't called in the\n // legacy API.\n}\n\nfunction legacyCreateRootFromDOMContainer(container, initialChildren, parentComponent, callback, isHydrationContainer) {\n if (isHydrationContainer) {\n if (typeof callback === 'function') {\n var originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(root);\n originalCallback.call(instance);\n };\n }\n\n var root = createHydrationContainer(initialChildren, callback, container, LegacyRoot, null, // hydrationCallbacks\n false, // isStrictMode\n false, // concurrentUpdatesByDefaultOverride,\n '', // identifierPrefix\n noopOnRecoverableError);\n container._reactRootContainer = root;\n markContainerAsRoot(root.current, container);\n var rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n listenToAllSupportedEvents(rootContainerElement);\n flushSync();\n return root;\n } else {\n // First clear any existing content.\n var rootSibling;\n\n while (rootSibling = container.lastChild) {\n container.removeChild(rootSibling);\n }\n\n if (typeof callback === 'function') {\n var _originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(_root);\n\n _originalCallback.call(instance);\n };\n }\n\n var _root = createContainer(container, LegacyRoot, null, // hydrationCallbacks\n false, // isStrictMode\n false, // concurrentUpdatesByDefaultOverride,\n '', // identifierPrefix\n noopOnRecoverableError);\n\n container._reactRootContainer = _root;\n markContainerAsRoot(_root.current, container);\n\n var _rootContainerElement = container.nodeType === COMMENT_NODE ? container.parentNode : container;\n\n listenToAllSupportedEvents(_rootContainerElement); // Initial mount should not be batched.\n\n flushSync(function () {\n updateContainer(initialChildren, _root, parentComponent, callback);\n });\n return _root;\n }\n}\n\nfunction warnOnInvalidCallback$1(callback, callerName) {\n {\n if (callback !== null && typeof callback !== 'function') {\n error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);\n }\n }\n}\n\nfunction legacyRenderSubtreeIntoContainer(parentComponent, children, container, forceHydrate, callback) {\n {\n topLevelUpdateWarnings(container);\n warnOnInvalidCallback$1(callback === undefined ? null : callback, 'render');\n }\n\n var maybeRoot = container._reactRootContainer;\n var root;\n\n if (!maybeRoot) {\n // Initial mount\n root = legacyCreateRootFromDOMContainer(container, children, parentComponent, callback, forceHydrate);\n } else {\n root = maybeRoot;\n\n if (typeof callback === 'function') {\n var originalCallback = callback;\n\n callback = function () {\n var instance = getPublicRootInstance(root);\n originalCallback.call(instance);\n };\n } // Update\n\n\n updateContainer(children, root, parentComponent, callback);\n }\n\n return getPublicRootInstance(root);\n}\n\nfunction findDOMNode(componentOrElement) {\n {\n var owner = ReactCurrentOwner$3.current;\n\n if (owner !== null && owner.stateNode !== null) {\n var warnedAboutRefsInRender = owner.stateNode._warnedAboutRefsInRender;\n\n if (!warnedAboutRefsInRender) {\n error('%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentNameFromType(owner.type) || 'A component');\n }\n\n owner.stateNode._warnedAboutRefsInRender = true;\n }\n }\n\n if (componentOrElement == null) {\n return null;\n }\n\n if (componentOrElement.nodeType === ELEMENT_NODE) {\n return componentOrElement;\n }\n\n {\n return findHostInstanceWithWarning(componentOrElement, 'findDOMNode');\n }\n}\nfunction hydrate(element, container, callback) {\n {\n error('ReactDOM.hydrate is no longer supported in React 18. Use hydrateRoot ' + 'instead. Until you switch to the new API, your app will behave as ' + \"if it's running React 17. Learn \" + 'more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(container)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.hydrate() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. ' + 'Did you mean to call hydrateRoot(container, element)?');\n }\n } // TODO: throw or warn if we couldn't hydrate?\n\n\n return legacyRenderSubtreeIntoContainer(null, element, container, true, callback);\n}\nfunction render(element, container, callback) {\n {\n error('ReactDOM.render is no longer supported in React 18. Use createRoot ' + 'instead. Until you switch to the new API, your app will behave as ' + \"if it's running React 17. Learn \" + 'more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(container)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.render() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. ' + 'Did you mean to call root.render(element)?');\n }\n }\n\n return legacyRenderSubtreeIntoContainer(null, element, container, false, callback);\n}\nfunction unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {\n {\n error('ReactDOM.unstable_renderSubtreeIntoContainer() is no longer supported ' + 'in React 18. Consider using a portal instead. Until you switch to ' + \"the createRoot API, your app will behave as if it's running React \" + '17. Learn more: https://reactjs.org/link/switch-to-createroot');\n }\n\n if (!isValidContainerLegacy(containerNode)) {\n throw new Error('Target container is not a DOM element.');\n }\n\n if (parentComponent == null || !has(parentComponent)) {\n throw new Error('parentComponent must be a valid React Component');\n }\n\n return legacyRenderSubtreeIntoContainer(parentComponent, element, containerNode, false, callback);\n}\nfunction unmountComponentAtNode(container) {\n if (!isValidContainerLegacy(container)) {\n throw new Error('unmountComponentAtNode(...): Target container is not a DOM element.');\n }\n\n {\n var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\n\n if (isModernRoot) {\n error('You are calling ReactDOM.unmountComponentAtNode() on a container that was previously ' + 'passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call root.unmount()?');\n }\n }\n\n if (container._reactRootContainer) {\n {\n var rootEl = getReactRootElementInContainer(container);\n var renderedByDifferentReact = rootEl && !getInstanceFromNode(rootEl);\n\n if (renderedByDifferentReact) {\n error(\"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by another copy of React.');\n }\n } // Unmount should not be batched.\n\n\n flushSync(function () {\n legacyRenderSubtreeIntoContainer(null, null, container, false, function () {\n // $FlowFixMe This should probably use `delete container._reactRootContainer`\n container._reactRootContainer = null;\n unmarkContainerAsRoot(container);\n });\n }); // If you call unmountComponentAtNode twice in quick succession, you'll\n // get `true` twice. That's probably fine?\n\n return true;\n } else {\n {\n var _rootEl = getReactRootElementInContainer(container);\n\n var hasNonRootReactChild = !!(_rootEl && getInstanceFromNode(_rootEl)); // Check if the container itself is a React root node.\n\n var isContainerReactRoot = container.nodeType === ELEMENT_NODE && isValidContainerLegacy(container.parentNode) && !!container.parentNode._reactRootContainer;\n\n if (hasNonRootReactChild) {\n error(\"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.');\n }\n }\n\n return false;\n }\n}\n\nsetAttemptSynchronousHydration(attemptSynchronousHydration$1);\nsetAttemptContinuousHydration(attemptContinuousHydration$1);\nsetAttemptHydrationAtCurrentPriority(attemptHydrationAtCurrentPriority$1);\nsetGetCurrentUpdatePriority(getCurrentUpdatePriority);\nsetAttemptHydrationAtPriority(runWithPriority);\n\n{\n if (typeof Map !== 'function' || // $FlowIssue Flow incorrectly thinks Map has no prototype\n Map.prototype == null || typeof Map.prototype.forEach !== 'function' || typeof Set !== 'function' || // $FlowIssue Flow incorrectly thinks Set has no prototype\n Set.prototype == null || typeof Set.prototype.clear !== 'function' || typeof Set.prototype.forEach !== 'function') {\n error('React depends on Map and Set built-in types. Make sure that you load a ' + 'polyfill in older browsers. https://reactjs.org/link/react-polyfills');\n }\n}\n\nsetRestoreImplementation(restoreControlledState$3);\nsetBatchingImplementation(batchedUpdates$1, discreteUpdates, flushSync);\n\nfunction createPortal$1(children, container) {\n var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (!isValidContainer(container)) {\n throw new Error('Target container is not a DOM element.');\n } // TODO: pass ReactDOM portal implementation as third argument\n // $FlowFixMe The Flow type is opaque but there's no way to actually create it.\n\n\n return createPortal(children, container, null, key);\n}\n\nfunction renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {\n return unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback);\n}\n\nvar Internals = {\n usingClientEntryPoint: false,\n // Keep in sync with ReactTestUtils.js.\n // This is an array for better minification.\n Events: [getInstanceFromNode, getNodeFromInstance, getFiberCurrentPropsFromNode, enqueueStateRestore, restoreStateIfNeeded, batchedUpdates$1]\n};\n\nfunction createRoot$1(container, options) {\n {\n if (!Internals.usingClientEntryPoint && !false) {\n error('You are importing createRoot from \"react-dom\" which is not supported. ' + 'You should instead import it from \"react-dom/client\".');\n }\n }\n\n return createRoot(container, options);\n}\n\nfunction hydrateRoot$1(container, initialChildren, options) {\n {\n if (!Internals.usingClientEntryPoint && !false) {\n error('You are importing hydrateRoot from \"react-dom\" which is not supported. ' + 'You should instead import it from \"react-dom/client\".');\n }\n }\n\n return hydrateRoot(container, initialChildren, options);\n} // Overload the definition to the two valid signatures.\n// Warning, this opts-out of checking the function body.\n\n\n// eslint-disable-next-line no-redeclare\nfunction flushSync$1(fn) {\n {\n if (isAlreadyRendering()) {\n error('flushSync was called from inside a lifecycle method. React cannot ' + 'flush when React is already rendering. Consider moving this call to ' + 'a scheduler task or micro task.');\n }\n }\n\n return flushSync(fn);\n}\nvar foundDevTools = injectIntoDevTools({\n findFiberByHostInstance: getClosestInstanceFromNode,\n bundleType: 1 ,\n version: ReactVersion,\n rendererPackageName: 'react-dom'\n});\n\n{\n if (!foundDevTools && canUseDOM && window.top === window.self) {\n // If we're in Chrome or Firefox, provide a download link if not installed.\n if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {\n var protocol = window.location.protocol; // Don't warn in exotic cases like chrome-extension://.\n\n if (/^(https?|file):$/.test(protocol)) {\n // eslint-disable-next-line react-internal/no-production-logging\n console.info('%cDownload the React DevTools ' + 'for a better development experience: ' + 'https://reactjs.org/link/react-devtools' + (protocol === 'file:' ? '\\nYou might need to use a local HTTP server (instead of file://): ' + 'https://reactjs.org/link/react-devtools-faq' : ''), 'font-weight:bold');\n }\n }\n }\n}\n\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;\nexports.createPortal = createPortal$1;\nexports.createRoot = createRoot$1;\nexports.findDOMNode = findDOMNode;\nexports.flushSync = flushSync$1;\nexports.hydrate = hydrate;\nexports.hydrateRoot = hydrateRoot$1;\nexports.render = render;\nexports.unmountComponentAtNode = unmountComponentAtNode;\nexports.unstable_batchedUpdates = batchedUpdates$1;\nexports.unstable_renderSubtreeIntoContainer = renderSubtreeIntoContainer;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-dom/cjs/react-dom.development.js?"); - -/***/ }), - -/***/ "./node_modules/react-dom/index.js": -/*!*****************************************!*\ - !*** ./node_modules/react-dom/index.js ***! - \*****************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (true) {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-dom.development.js */ \"./node_modules/react-dom/cjs/react-dom.development.js\");\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-dom/index.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/components/Context.js": -/*!***********************************************************!*\ - !*** ./node_modules/react-redux/es/components/Context.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ReactReduxContext: () => (/* binding */ ReactReduxContext),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\nconst ContextKey = Symbol.for(`react-redux-context`);\nconst gT = typeof globalThis !== \"undefined\" ? globalThis :\n/* fall back to a per-module scope (pre-8.1 behaviour) if `globalThis` is not available */\n{};\n\nfunction getContext() {\n var _gT$ContextKey;\n\n if (!react__WEBPACK_IMPORTED_MODULE_0__.createContext) return {};\n const contextMap = (_gT$ContextKey = gT[ContextKey]) != null ? _gT$ContextKey : gT[ContextKey] = new Map();\n let realContext = contextMap.get(react__WEBPACK_IMPORTED_MODULE_0__.createContext);\n\n if (!realContext) {\n realContext = react__WEBPACK_IMPORTED_MODULE_0__.createContext(null);\n\n if (true) {\n realContext.displayName = 'ReactRedux';\n }\n\n contextMap.set(react__WEBPACK_IMPORTED_MODULE_0__.createContext, realContext);\n }\n\n return realContext;\n}\n\nconst ReactReduxContext = /*#__PURE__*/getContext();\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReactReduxContext);\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/components/Context.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/components/Provider.js": -/*!************************************************************!*\ - !*** ./node_modules/react-redux/es/components/Provider.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Context */ \"./node_modules/react-redux/es/components/Context.js\");\n/* harmony import */ var _utils_Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/Subscription */ \"./node_modules/react-redux/es/utils/Subscription.js\");\n/* harmony import */ var _utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/useIsomorphicLayoutEffect */ \"./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js\");\n\n\n\n\n\nfunction Provider({\n store,\n context,\n children,\n serverState,\n stabilityCheck = 'once',\n noopCheck = 'once'\n}) {\n const contextValue = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {\n const subscription = (0,_utils_Subscription__WEBPACK_IMPORTED_MODULE_2__.createSubscription)(store);\n return {\n store,\n subscription,\n getServerState: serverState ? () => serverState : undefined,\n stabilityCheck,\n noopCheck\n };\n }, [store, serverState, stabilityCheck, noopCheck]);\n const previousState = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => store.getState(), [store]);\n (0,_utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_3__.useIsomorphicLayoutEffect)(() => {\n const {\n subscription\n } = contextValue;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return () => {\n subscription.tryUnsubscribe();\n subscription.onStateChange = undefined;\n };\n }, [contextValue, previousState]);\n const Context = context || _Context__WEBPACK_IMPORTED_MODULE_1__.ReactReduxContext; // @ts-ignore 'AnyAction' is assignable to the constraint of type 'A', but 'A' could be instantiated with a different subtype\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Provider);\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/components/Provider.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/components/connect.js": -/*!***********************************************************!*\ - !*** ./node_modules/react-redux/es/components/connect.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ initializeConnect: () => (/* binding */ initializeConnect)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! hoist-non-react-statics */ \"./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-is */ \"./node_modules/react-redux/node_modules/react-is/index.js\");\n/* harmony import */ var _connect_selectorFactory__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../connect/selectorFactory */ \"./node_modules/react-redux/es/connect/selectorFactory.js\");\n/* harmony import */ var _connect_mapDispatchToProps__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../connect/mapDispatchToProps */ \"./node_modules/react-redux/es/connect/mapDispatchToProps.js\");\n/* harmony import */ var _connect_mapStateToProps__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../connect/mapStateToProps */ \"./node_modules/react-redux/es/connect/mapStateToProps.js\");\n/* harmony import */ var _connect_mergeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../connect/mergeProps */ \"./node_modules/react-redux/es/connect/mergeProps.js\");\n/* harmony import */ var _utils_Subscription__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/Subscription */ \"./node_modules/react-redux/es/utils/Subscription.js\");\n/* harmony import */ var _utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/useIsomorphicLayoutEffect */ \"./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js\");\n/* harmony import */ var _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/shallowEqual */ \"./node_modules/react-redux/es/utils/shallowEqual.js\");\n/* harmony import */ var _utils_warning__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/warning */ \"./node_modules/react-redux/es/utils/warning.js\");\n/* harmony import */ var _Context__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Context */ \"./node_modules/react-redux/es/components/Context.js\");\n/* harmony import */ var _utils_useSyncExternalStore__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/useSyncExternalStore */ \"./node_modules/react-redux/es/utils/useSyncExternalStore.js\");\n\n\nconst _excluded = [\"reactReduxForwardedRef\"];\n\n/* eslint-disable valid-jsdoc, @typescript-eslint/no-unused-vars */\n\n\n\n\n\n\n\n\n\n\n\n\n\nlet useSyncExternalStore = _utils_useSyncExternalStore__WEBPACK_IMPORTED_MODULE_14__.notInitialized;\nconst initializeConnect = fn => {\n useSyncExternalStore = fn;\n}; // Define some constant arrays just to avoid re-creating these\n\nconst EMPTY_ARRAY = [null, 0];\nconst NO_SUBSCRIPTION_ARRAY = [null, null]; // Attempts to stringify whatever not-really-a-component value we were given\n// for logging in an error message\n\nconst stringifyComponent = Comp => {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\n// This is \"just\" a `useLayoutEffect`, but with two modifications:\n// - we need to fall back to `useEffect` in SSR to avoid annoying warnings\n// - we extract this to a separate function to avoid closing over values\n// and causing memory leaks\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n (0,_utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_10__.useIsomorphicLayoutEffect)(() => effectFunc(...effectArgs), dependencies);\n} // Effect callback, extracted: assign the latest props values to refs for later usage\n\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, // actualChildProps: unknown,\nchildPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n} // Effect callback, extracted: subscribe to the Redux store or nearest connected ancestor,\n// check for updates after dispatched actions, and trigger re-renders.\n\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, // forceComponentUpdateDispatch: React.Dispatch,\nadditionalSubscribeListener) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return () => {}; // Capture values for checking if and when this component unmounts\n\n let didUnsubscribe = false;\n let lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n const checkForUpdates = () => {\n if (didUnsubscribe || !isMounted.current) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n } // TODO We're currently calling getState ourselves here, rather than letting `uSES` do it\n\n\n const latestStoreState = store.getState();\n let newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // TODO This is hacky and not how `uSES` is meant to be used\n // Trigger the React `useSyncExternalStore` subscriber\n\n additionalSubscribeListener();\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n const unsubscribeWrapper = () => {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n} // Reducer initial state creation for our update reducer\n\n\nconst initStateUpdates = () => EMPTY_ARRAY;\n\nfunction strictEqual(a, b) {\n return a === b;\n}\n/**\r\n * Infers the type of props that a connector will inject into a component.\r\n */\n\n\nlet hasWarnedAboutDeprecatedPureOption = false;\n/**\r\n * Connects a React component to a Redux store.\r\n *\r\n * - Without arguments, just wraps the component, without changing the behavior / props\r\n *\r\n * - If 2 params are passed (3rd param, mergeProps, is skipped), default behavior\r\n * is to override ownProps (as stated in the docs), so what remains is everything that's\r\n * not a state or dispatch prop\r\n *\r\n * - When 3rd param is passed, we don't know if ownProps propagate and whether they\r\n * should be valid component props, because it depends on mergeProps implementation.\r\n * As such, it is the user's responsibility to extend ownProps interface from state or\r\n * dispatch props or both when applicable\r\n *\r\n * @param mapStateToProps A function that extracts values from state\r\n * @param mapDispatchToProps Setup for dispatching actions\r\n * @param mergeProps Optional callback to merge state and dispatch props together\r\n * @param options Options for configuring the connection\r\n *\r\n */\n\nfunction connect(mapStateToProps, mapDispatchToProps, mergeProps, {\n // The `pure` option has been removed, so TS doesn't like us destructuring this to check its existence.\n // @ts-ignore\n pure,\n areStatesEqual = strictEqual,\n areOwnPropsEqual = _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n areStatePropsEqual = _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n areMergedPropsEqual = _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n // use React's forwardRef to expose a ref of the wrapped component\n forwardRef = false,\n // the context consumer to use\n context = _Context__WEBPACK_IMPORTED_MODULE_13__.ReactReduxContext\n} = {}) {\n if (true) {\n if (pure !== undefined && !hasWarnedAboutDeprecatedPureOption) {\n hasWarnedAboutDeprecatedPureOption = true;\n (0,_utils_warning__WEBPACK_IMPORTED_MODULE_12__[\"default\"])('The `pure` option has been removed. `connect` is now always a \"pure/memoized\" component');\n }\n }\n\n const Context = context;\n const initMapStateToProps = (0,_connect_mapStateToProps__WEBPACK_IMPORTED_MODULE_7__.mapStateToPropsFactory)(mapStateToProps);\n const initMapDispatchToProps = (0,_connect_mapDispatchToProps__WEBPACK_IMPORTED_MODULE_6__.mapDispatchToPropsFactory)(mapDispatchToProps);\n const initMergeProps = (0,_connect_mergeProps__WEBPACK_IMPORTED_MODULE_8__.mergePropsFactory)(mergeProps);\n const shouldHandleStateChanges = Boolean(mapStateToProps);\n\n const wrapWithConnect = WrappedComponent => {\n if ( true && !(0,react_is__WEBPACK_IMPORTED_MODULE_4__.isValidElementType)(WrappedComponent)) {\n throw new Error(`You must pass a component to the function returned by connect. Instead received ${stringifyComponent(WrappedComponent)}`);\n }\n\n const wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n const displayName = `Connect(${wrappedComponentName})`;\n const selectorFactoryOptions = {\n shouldHandleStateChanges,\n displayName,\n wrappedComponentName,\n WrappedComponent,\n // @ts-ignore\n initMapStateToProps,\n // @ts-ignore\n initMapDispatchToProps,\n initMergeProps,\n areStatesEqual,\n areStatePropsEqual,\n areOwnPropsEqual,\n areMergedPropsEqual\n };\n\n function ConnectFunction(props) {\n const [propsContext, reactReduxForwardedRef, wrapperProps] = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n const {\n reactReduxForwardedRef\n } = props,\n wrapperProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, _excluded);\n\n return [props.context, reactReduxForwardedRef, wrapperProps];\n }, [props]);\n const ContextToUse = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && // @ts-ignore\n (0,react_is__WEBPACK_IMPORTED_MODULE_4__.isContextConsumer)( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n const contextValue = react__WEBPACK_IMPORTED_MODULE_3__.useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n const didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n const didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n if ( true && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(`Could not find \"store\" in the context of ` + `\"${displayName}\". Either wrap the root component in a , ` + `or pass a custom React context provider to and the corresponding ` + `React context consumer to ${displayName} in connect options.`);\n } // Based on the previous check, one of these must be true\n\n\n const store = didStoreComeFromProps ? props.store : contextValue.store;\n const getServerState = didStoreComeFromContext ? contextValue.getServerState : store.getState;\n const childPropsSelector = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return (0,_connect_selectorFactory__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(store.dispatch, selectorFactoryOptions);\n }, [store]);\n const [subscription, notifyNestedSubs] = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n const subscription = (0,_utils_Subscription__WEBPACK_IMPORTED_MODULE_9__.createSubscription)(store, didStoreComeFromProps ? undefined : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n const notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]); // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n const overriddenContextValue = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, contextValue, {\n subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // Set up refs to coordinate values between the subscription effect and the render logic\n\n const lastChildProps = react__WEBPACK_IMPORTED_MODULE_3__.useRef();\n const lastWrapperProps = react__WEBPACK_IMPORTED_MODULE_3__.useRef(wrapperProps);\n const childPropsFromStoreUpdate = react__WEBPACK_IMPORTED_MODULE_3__.useRef();\n const renderIsScheduled = react__WEBPACK_IMPORTED_MODULE_3__.useRef(false);\n const isProcessingDispatch = react__WEBPACK_IMPORTED_MODULE_3__.useRef(false);\n const isMounted = react__WEBPACK_IMPORTED_MODULE_3__.useRef(false);\n const latestSubscriptionCallbackError = react__WEBPACK_IMPORTED_MODULE_3__.useRef();\n (0,_utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_10__.useIsomorphicLayoutEffect)(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n const actualChildPropsSelector = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => {\n const selector = () => {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n };\n\n return selector;\n }, [store, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n const subscribeForReact = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => {\n const subscribe = reactListener => {\n if (!subscription) {\n return () => {};\n }\n\n return subscribeUpdates(shouldHandleStateChanges, store, subscription, // @ts-ignore\n childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, reactListener);\n };\n\n return subscribe;\n }, [subscription]);\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, childPropsFromStoreUpdate, notifyNestedSubs]);\n let actualChildProps;\n\n try {\n actualChildProps = useSyncExternalStore( // TODO We're passing through a big wrapper that does a bunch of extra side effects besides subscribing\n subscribeForReact, // TODO This is incredibly hacky. We've already processed the store update and calculated new child props,\n // TODO and we're just passing that through so it triggers a re-render for us rather than relying on `uSES`.\n actualChildPropsSelector, getServerState ? () => childPropsSelector(getServerState(), wrapperProps) : actualChildPropsSelector);\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n ;\n err.message += `\\nThe error may be correlated with this previous error:\\n${latestSubscriptionCallbackError.current.stack}\\n\\n`;\n }\n\n throw err;\n }\n\n (0,_utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_10__.useIsomorphicLayoutEffect)(() => {\n latestSubscriptionCallbackError.current = undefined;\n childPropsFromStoreUpdate.current = undefined;\n lastChildProps.current = actualChildProps;\n }); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n const renderedWrappedComponent = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => {\n return (\n /*#__PURE__*/\n // @ts-ignore\n react__WEBPACK_IMPORTED_MODULE_3__.createElement(WrappedComponent, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, actualChildProps, {\n ref: reactReduxForwardedRef\n }))\n );\n }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n const renderedChild = react__WEBPACK_IMPORTED_MODULE_3__.useMemo(() => {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n }\n\n const _Connect = react__WEBPACK_IMPORTED_MODULE_3__.memo(ConnectFunction);\n\n // Add a hacky cast to get the right output type\n const Connect = _Connect;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = ConnectFunction.displayName = displayName;\n\n if (forwardRef) {\n const _forwarded = react__WEBPACK_IMPORTED_MODULE_3__.forwardRef(function forwardConnectRef(props, ref) {\n // @ts-ignore\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(Connect, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, props, {\n reactReduxForwardedRef: ref\n }));\n });\n\n const forwarded = _forwarded;\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2___default()(forwarded, WrappedComponent);\n }\n\n return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2___default()(Connect, WrappedComponent);\n };\n\n return wrapWithConnect;\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (connect);\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/components/connect.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/connect/invalidArgFactory.js": -/*!******************************************************************!*\ - !*** ./node_modules/react-redux/es/connect/invalidArgFactory.js ***! - \******************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createInvalidArgFactory: () => (/* binding */ createInvalidArgFactory)\n/* harmony export */ });\nfunction createInvalidArgFactory(arg, name) {\n return (dispatch, options) => {\n throw new Error(`Invalid value of type ${typeof arg} for ${name} argument when connecting component ${options.wrappedComponentName}.`);\n };\n}\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/connect/invalidArgFactory.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/connect/mapDispatchToProps.js": -/*!*******************************************************************!*\ - !*** ./node_modules/react-redux/es/connect/mapDispatchToProps.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ mapDispatchToPropsFactory: () => (/* binding */ mapDispatchToPropsFactory)\n/* harmony export */ });\n/* harmony import */ var _utils_bindActionCreators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/bindActionCreators */ \"./node_modules/react-redux/es/utils/bindActionCreators.js\");\n/* harmony import */ var _wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./wrapMapToProps */ \"./node_modules/react-redux/es/connect/wrapMapToProps.js\");\n/* harmony import */ var _invalidArgFactory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./invalidArgFactory */ \"./node_modules/react-redux/es/connect/invalidArgFactory.js\");\n\n\n\nfunction mapDispatchToPropsFactory(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__.wrapMapToPropsConstant)(dispatch => // @ts-ignore\n (0,_utils_bindActionCreators__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(mapDispatchToProps, dispatch)) : !mapDispatchToProps ? (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__.wrapMapToPropsConstant)(dispatch => ({\n dispatch\n })) : typeof mapDispatchToProps === 'function' ? // @ts-ignore\n (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__.wrapMapToPropsFunc)(mapDispatchToProps, 'mapDispatchToProps') : (0,_invalidArgFactory__WEBPACK_IMPORTED_MODULE_2__.createInvalidArgFactory)(mapDispatchToProps, 'mapDispatchToProps');\n}\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/connect/mapDispatchToProps.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/connect/mapStateToProps.js": -/*!****************************************************************!*\ - !*** ./node_modules/react-redux/es/connect/mapStateToProps.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ mapStateToPropsFactory: () => (/* binding */ mapStateToPropsFactory)\n/* harmony export */ });\n/* harmony import */ var _wrapMapToProps__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wrapMapToProps */ \"./node_modules/react-redux/es/connect/wrapMapToProps.js\");\n/* harmony import */ var _invalidArgFactory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./invalidArgFactory */ \"./node_modules/react-redux/es/connect/invalidArgFactory.js\");\n\n\nfunction mapStateToPropsFactory(mapStateToProps) {\n return !mapStateToProps ? (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_0__.wrapMapToPropsConstant)(() => ({})) : typeof mapStateToProps === 'function' ? // @ts-ignore\n (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_0__.wrapMapToPropsFunc)(mapStateToProps, 'mapStateToProps') : (0,_invalidArgFactory__WEBPACK_IMPORTED_MODULE_1__.createInvalidArgFactory)(mapStateToProps, 'mapStateToProps');\n}\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/connect/mapStateToProps.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/connect/mergeProps.js": -/*!***********************************************************!*\ - !*** ./node_modules/react-redux/es/connect/mergeProps.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defaultMergeProps: () => (/* binding */ defaultMergeProps),\n/* harmony export */ mergePropsFactory: () => (/* binding */ mergePropsFactory),\n/* harmony export */ wrapMergePropsFunc: () => (/* binding */ wrapMergePropsFunc)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _utils_verifyPlainObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/verifyPlainObject */ \"./node_modules/react-redux/es/utils/verifyPlainObject.js\");\n/* harmony import */ var _invalidArgFactory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./invalidArgFactory */ \"./node_modules/react-redux/es/connect/invalidArgFactory.js\");\n\n\n\nfunction defaultMergeProps(stateProps, dispatchProps, ownProps) {\n // @ts-ignore\n return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, ownProps, stateProps, dispatchProps);\n}\nfunction wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, {\n displayName,\n areMergedPropsEqual\n }) {\n let hasRunOnce = false;\n let mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n const nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (true) (0,_utils_verifyPlainObject__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nfunction mergePropsFactory(mergeProps) {\n return !mergeProps ? () => defaultMergeProps : typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : (0,_invalidArgFactory__WEBPACK_IMPORTED_MODULE_2__.createInvalidArgFactory)(mergeProps, 'mergeProps');\n}\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/connect/mergeProps.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/connect/selectorFactory.js": -/*!****************************************************************!*\ - !*** ./node_modules/react-redux/es/connect/selectorFactory.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ finalPropsSelectorFactory),\n/* harmony export */ pureFinalPropsSelectorFactory: () => (/* binding */ pureFinalPropsSelectorFactory)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var _verifySubselectors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./verifySubselectors */ \"./node_modules/react-redux/es/connect/verifySubselectors.js\");\n\nconst _excluded = [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"];\n\nfunction pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, {\n areStatesEqual,\n areOwnPropsEqual,\n areStatePropsEqual\n}) {\n let hasRunAtLeastOnce = false;\n let state;\n let ownProps;\n let stateProps;\n let dispatchProps;\n let mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n const nextStateProps = mapStateToProps(state, ownProps);\n const statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n const propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n const stateChanged = !areStatesEqual(nextState, state, nextOwnProps, ownProps);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n}\n// TODO: Add more comments\n// The selector returned by selectorFactory will memoize its results,\n// allowing connect's shouldComponentUpdate to return false if final\n// props have not changed.\nfunction finalPropsSelectorFactory(dispatch, _ref) {\n let {\n initMapStateToProps,\n initMapDispatchToProps,\n initMergeProps\n } = _ref,\n options = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_ref, _excluded);\n\n const mapStateToProps = initMapStateToProps(dispatch, options);\n const mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n const mergeProps = initMergeProps(dispatch, options);\n\n if (true) {\n (0,_verifySubselectors__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(mapStateToProps, mapDispatchToProps, mergeProps);\n }\n\n return pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/connect/selectorFactory.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/connect/verifySubselectors.js": -/*!*******************************************************************!*\ - !*** ./node_modules/react-redux/es/connect/verifySubselectors.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ verifySubselectors)\n/* harmony export */ });\n/* harmony import */ var _utils_warning__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/warning */ \"./node_modules/react-redux/es/utils/warning.js\");\n\n\nfunction verify(selector, methodName) {\n if (!selector) {\n throw new Error(`Unexpected value for ${methodName} in connect.`);\n } else if (methodName === 'mapStateToProps' || methodName === 'mapDispatchToProps') {\n if (!Object.prototype.hasOwnProperty.call(selector, 'dependsOnOwnProps')) {\n (0,_utils_warning__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(`The selector for ${methodName} of connect did not specify a value for dependsOnOwnProps.`);\n }\n }\n}\n\nfunction verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps) {\n verify(mapStateToProps, 'mapStateToProps');\n verify(mapDispatchToProps, 'mapDispatchToProps');\n verify(mergeProps, 'mergeProps');\n}\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/connect/verifySubselectors.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/connect/wrapMapToProps.js": -/*!***************************************************************!*\ - !*** ./node_modules/react-redux/es/connect/wrapMapToProps.js ***! - \***************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getDependsOnOwnProps: () => (/* binding */ getDependsOnOwnProps),\n/* harmony export */ wrapMapToPropsConstant: () => (/* binding */ wrapMapToPropsConstant),\n/* harmony export */ wrapMapToPropsFunc: () => (/* binding */ wrapMapToPropsFunc)\n/* harmony export */ });\n/* harmony import */ var _utils_verifyPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/verifyPlainObject */ \"./node_modules/react-redux/es/utils/verifyPlainObject.js\");\n\nfunction wrapMapToPropsConstant( // * Note:\n// It seems that the dispatch argument\n// could be a dispatch function in some cases (ex: whenMapDispatchToPropsIsMissing)\n// and a state object in some others (ex: whenMapStateToPropsIsMissing)\n// eslint-disable-next-line no-unused-vars\ngetConstant) {\n return function initConstantSelector(dispatch) {\n const constant = getConstant(dispatch);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n// TODO Can this get pulled out so that we can subscribe directly to the store if we don't need ownProps?\n\nfunction getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\n\nfunction wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, {\n displayName\n }) {\n const proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch, undefined);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n let props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (true) (0,_utils_verifyPlainObject__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/connect/wrapMapToProps.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/exports.js": -/*!************************************************!*\ - !*** ./node_modules/react-redux/es/exports.js ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Provider: () => (/* reexport safe */ _components_Provider__WEBPACK_IMPORTED_MODULE_0__[\"default\"]),\n/* harmony export */ ReactReduxContext: () => (/* reexport safe */ _components_Context__WEBPACK_IMPORTED_MODULE_2__.ReactReduxContext),\n/* harmony export */ connect: () => (/* reexport safe */ _components_connect__WEBPACK_IMPORTED_MODULE_1__[\"default\"]),\n/* harmony export */ createDispatchHook: () => (/* reexport safe */ _hooks_useDispatch__WEBPACK_IMPORTED_MODULE_3__.createDispatchHook),\n/* harmony export */ createSelectorHook: () => (/* reexport safe */ _hooks_useSelector__WEBPACK_IMPORTED_MODULE_4__.createSelectorHook),\n/* harmony export */ createStoreHook: () => (/* reexport safe */ _hooks_useStore__WEBPACK_IMPORTED_MODULE_5__.createStoreHook),\n/* harmony export */ shallowEqual: () => (/* reexport safe */ _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_6__[\"default\"]),\n/* harmony export */ useDispatch: () => (/* reexport safe */ _hooks_useDispatch__WEBPACK_IMPORTED_MODULE_3__.useDispatch),\n/* harmony export */ useSelector: () => (/* reexport safe */ _hooks_useSelector__WEBPACK_IMPORTED_MODULE_4__.useSelector),\n/* harmony export */ useStore: () => (/* reexport safe */ _hooks_useStore__WEBPACK_IMPORTED_MODULE_5__.useStore)\n/* harmony export */ });\n/* harmony import */ var _components_Provider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/Provider */ \"./node_modules/react-redux/es/components/Provider.js\");\n/* harmony import */ var _components_connect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/connect */ \"./node_modules/react-redux/es/components/connect.js\");\n/* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/Context */ \"./node_modules/react-redux/es/components/Context.js\");\n/* harmony import */ var _hooks_useDispatch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./hooks/useDispatch */ \"./node_modules/react-redux/es/hooks/useDispatch.js\");\n/* harmony import */ var _hooks_useSelector__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./hooks/useSelector */ \"./node_modules/react-redux/es/hooks/useSelector.js\");\n/* harmony import */ var _hooks_useStore__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hooks/useStore */ \"./node_modules/react-redux/es/hooks/useStore.js\");\n/* harmony import */ var _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/shallowEqual */ \"./node_modules/react-redux/es/utils/shallowEqual.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./types */ \"./node_modules/react-redux/es/types.js\");\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/exports.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/hooks/useDispatch.js": -/*!**********************************************************!*\ - !*** ./node_modules/react-redux/es/hooks/useDispatch.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createDispatchHook: () => (/* binding */ createDispatchHook),\n/* harmony export */ useDispatch: () => (/* binding */ useDispatch)\n/* harmony export */ });\n/* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../components/Context */ \"./node_modules/react-redux/es/components/Context.js\");\n/* harmony import */ var _useStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useStore */ \"./node_modules/react-redux/es/hooks/useStore.js\");\n\n\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nfunction createDispatchHook(context = _components_Context__WEBPACK_IMPORTED_MODULE_0__.ReactReduxContext) {\n const useStore = // @ts-ignore\n context === _components_Context__WEBPACK_IMPORTED_MODULE_0__.ReactReduxContext ? _useStore__WEBPACK_IMPORTED_MODULE_1__.useStore : (0,_useStore__WEBPACK_IMPORTED_MODULE_1__.createStoreHook)(context);\n return function useDispatch() {\n const store = useStore(); // @ts-ignore\n\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n *
\r\n * {value}\r\n * \r\n *
\r\n * )\r\n * }\r\n */\n\nconst useDispatch = /*#__PURE__*/createDispatchHook();\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/hooks/useDispatch.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/hooks/useReduxContext.js": -/*!**************************************************************!*\ - !*** ./node_modules/react-redux/es/hooks/useReduxContext.js ***! - \**************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createReduxContextHook: () => (/* binding */ createReduxContextHook),\n/* harmony export */ useReduxContext: () => (/* binding */ useReduxContext)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../components/Context */ \"./node_modules/react-redux/es/components/Context.js\");\n\n\n\n/**\r\n * Hook factory, which creates a `useReduxContext` hook bound to a given context. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useReduxContext` hook bound to the specified context.\r\n */\nfunction createReduxContextHook(context = _components_Context__WEBPACK_IMPORTED_MODULE_1__.ReactReduxContext) {\n return function useReduxContext() {\n const contextValue = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(context);\n\n if ( true && !contextValue) {\n throw new Error('could not find react-redux context value; please ensure the component is wrapped in a ');\n }\n\n return contextValue;\n };\n}\n/**\r\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @returns {any} the value of the `ReactReduxContext`\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useReduxContext } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const { store } = useReduxContext()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nconst useReduxContext = /*#__PURE__*/createReduxContextHook();\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/hooks/useReduxContext.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/hooks/useSelector.js": -/*!**********************************************************!*\ - !*** ./node_modules/react-redux/es/hooks/useSelector.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createSelectorHook: () => (/* binding */ createSelectorHook),\n/* harmony export */ initializeUseSelector: () => (/* binding */ initializeUseSelector),\n/* harmony export */ useSelector: () => (/* binding */ useSelector)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _useReduxContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useReduxContext */ \"./node_modules/react-redux/es/hooks/useReduxContext.js\");\n/* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../components/Context */ \"./node_modules/react-redux/es/components/Context.js\");\n/* harmony import */ var _utils_useSyncExternalStore__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/useSyncExternalStore */ \"./node_modules/react-redux/es/utils/useSyncExternalStore.js\");\n\n\n\n\nlet useSyncExternalStoreWithSelector = _utils_useSyncExternalStore__WEBPACK_IMPORTED_MODULE_3__.notInitialized;\nconst initializeUseSelector = fn => {\n useSyncExternalStoreWithSelector = fn;\n};\n\nconst refEquality = (a, b) => a === b;\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nfunction createSelectorHook(context = _components_Context__WEBPACK_IMPORTED_MODULE_2__.ReactReduxContext) {\n const useReduxContext = context === _components_Context__WEBPACK_IMPORTED_MODULE_2__.ReactReduxContext ? _useReduxContext__WEBPACK_IMPORTED_MODULE_1__.useReduxContext : (0,_useReduxContext__WEBPACK_IMPORTED_MODULE_1__.createReduxContextHook)(context);\n return function useSelector(selector, equalityFnOrOptions = {}) {\n const {\n equalityFn = refEquality,\n stabilityCheck = undefined,\n noopCheck = undefined\n } = typeof equalityFnOrOptions === 'function' ? {\n equalityFn: equalityFnOrOptions\n } : equalityFnOrOptions;\n\n if (true) {\n if (!selector) {\n throw new Error(`You must pass a selector to useSelector`);\n }\n\n if (typeof selector !== 'function') {\n throw new Error(`You must pass a function as a selector to useSelector`);\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(`You must pass a function as an equality function to useSelector`);\n }\n }\n\n const {\n store,\n subscription,\n getServerState,\n stabilityCheck: globalStabilityCheck,\n noopCheck: globalNoopCheck\n } = useReduxContext();\n const firstRun = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(true);\n const wrappedSelector = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)({\n [selector.name](state) {\n const selected = selector(state);\n\n if (true) {\n const finalStabilityCheck = typeof stabilityCheck === 'undefined' ? globalStabilityCheck : stabilityCheck;\n\n if (finalStabilityCheck === 'always' || finalStabilityCheck === 'once' && firstRun.current) {\n const toCompare = selector(state);\n\n if (!equalityFn(selected, toCompare)) {\n let stack = undefined;\n\n try {\n throw new Error();\n } catch (e) {\n ;\n ({\n stack\n } = e);\n }\n\n console.warn('Selector ' + (selector.name || 'unknown') + ' returned a different result when called with the same parameters. This can lead to unnecessary rerenders.' + '\\nSelectors that return a new reference (such as an object or an array) should be memoized: https://redux.js.org/usage/deriving-data-selectors#optimizing-selectors-with-memoization', {\n state,\n selected,\n selected2: toCompare,\n stack\n });\n }\n }\n\n const finalNoopCheck = typeof noopCheck === 'undefined' ? globalNoopCheck : noopCheck;\n\n if (finalNoopCheck === 'always' || finalNoopCheck === 'once' && firstRun.current) {\n // @ts-ignore\n if (selected === state) {\n let stack = undefined;\n\n try {\n throw new Error();\n } catch (e) {\n ;\n ({\n stack\n } = e);\n }\n\n console.warn('Selector ' + (selector.name || 'unknown') + ' returned the root state when called. This can lead to unnecessary rerenders.' + '\\nSelectors that return the entire state are almost certainly a mistake, as they will cause a rerender whenever *anything* in state changes.', {\n stack\n });\n }\n }\n\n if (firstRun.current) firstRun.current = false;\n }\n\n return selected;\n }\n\n }[selector.name], [selector, globalStabilityCheck, stabilityCheck]);\n const selectedState = useSyncExternalStoreWithSelector(subscription.addNestedSub, store.getState, getServerState || store.getState, wrappedSelector, equalityFn);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useDebugValue)(selectedState);\n return selectedState;\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return
{counter}
\r\n * }\r\n */\n\nconst useSelector = /*#__PURE__*/createSelectorHook();\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/hooks/useSelector.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/hooks/useStore.js": -/*!*******************************************************!*\ - !*** ./node_modules/react-redux/es/hooks/useStore.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createStoreHook: () => (/* binding */ createStoreHook),\n/* harmony export */ useStore: () => (/* binding */ useStore)\n/* harmony export */ });\n/* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../components/Context */ \"./node_modules/react-redux/es/components/Context.js\");\n/* harmony import */ var _useReduxContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useReduxContext */ \"./node_modules/react-redux/es/hooks/useReduxContext.js\");\n\n\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nfunction createStoreHook(context = _components_Context__WEBPACK_IMPORTED_MODULE_0__.ReactReduxContext) {\n const useReduxContext = // @ts-ignore\n context === _components_Context__WEBPACK_IMPORTED_MODULE_0__.ReactReduxContext ? _useReduxContext__WEBPACK_IMPORTED_MODULE_1__.useReduxContext : // @ts-ignore\n (0,_useReduxContext__WEBPACK_IMPORTED_MODULE_1__.createReduxContextHook)(context);\n return function useStore() {\n const {\n store\n } = useReduxContext(); // @ts-ignore\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nconst useStore = /*#__PURE__*/createStoreHook();\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/hooks/useStore.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/index.js": -/*!**********************************************!*\ - !*** ./node_modules/react-redux/es/index.js ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Provider: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.Provider),\n/* harmony export */ ReactReduxContext: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.ReactReduxContext),\n/* harmony export */ batch: () => (/* reexport safe */ _utils_reactBatchedUpdates__WEBPACK_IMPORTED_MODULE_2__.unstable_batchedUpdates),\n/* harmony export */ connect: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.connect),\n/* harmony export */ createDispatchHook: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.createDispatchHook),\n/* harmony export */ createSelectorHook: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.createSelectorHook),\n/* harmony export */ createStoreHook: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.createStoreHook),\n/* harmony export */ shallowEqual: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.shallowEqual),\n/* harmony export */ useDispatch: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.useDispatch),\n/* harmony export */ useSelector: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.useSelector),\n/* harmony export */ useStore: () => (/* reexport safe */ _exports__WEBPACK_IMPORTED_MODULE_6__.useStore)\n/* harmony export */ });\n/* harmony import */ var use_sync_external_store_shim__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! use-sync-external-store/shim */ \"./node_modules/use-sync-external-store/shim/index.js\");\n/* harmony import */ var use_sync_external_store_shim_with_selector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! use-sync-external-store/shim/with-selector */ \"./node_modules/use-sync-external-store/shim/with-selector.js\");\n/* harmony import */ var _utils_reactBatchedUpdates__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/reactBatchedUpdates */ \"./node_modules/react-redux/es/utils/reactBatchedUpdates.js\");\n/* harmony import */ var _utils_batch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/batch */ \"./node_modules/react-redux/es/utils/batch.js\");\n/* harmony import */ var _hooks_useSelector__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./hooks/useSelector */ \"./node_modules/react-redux/es/hooks/useSelector.js\");\n/* harmony import */ var _components_connect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/connect */ \"./node_modules/react-redux/es/components/connect.js\");\n/* harmony import */ var _exports__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./exports */ \"./node_modules/react-redux/es/exports.js\");\n// The primary entry point assumes we're working with standard ReactDOM/RN, but\n// older versions that do not include `useSyncExternalStore` (React 16.9 - 17.x).\n// Because of that, the useSyncExternalStore compat shim is needed.\n\n\n\n\n\n\n(0,_hooks_useSelector__WEBPACK_IMPORTED_MODULE_4__.initializeUseSelector)(use_sync_external_store_shim_with_selector__WEBPACK_IMPORTED_MODULE_1__.useSyncExternalStoreWithSelector);\n(0,_components_connect__WEBPACK_IMPORTED_MODULE_5__.initializeConnect)(use_sync_external_store_shim__WEBPACK_IMPORTED_MODULE_0__.useSyncExternalStore); // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\n(0,_utils_batch__WEBPACK_IMPORTED_MODULE_3__.setBatch)(_utils_reactBatchedUpdates__WEBPACK_IMPORTED_MODULE_2__.unstable_batchedUpdates);\n\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/index.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/types.js": -/*!**********************************************!*\ - !*** ./node_modules/react-redux/es/types.js ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/types.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/utils/Subscription.js": -/*!***********************************************************!*\ - !*** ./node_modules/react-redux/es/utils/Subscription.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createSubscription: () => (/* binding */ createSubscription)\n/* harmony export */ });\n/* harmony import */ var _batch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./batch */ \"./node_modules/react-redux/es/utils/batch.js\");\n // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n const batch = (0,_batch__WEBPACK_IMPORTED_MODULE_0__.getBatch)();\n let first = null;\n let last = null;\n return {\n clear() {\n first = null;\n last = null;\n },\n\n notify() {\n batch(() => {\n let listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n\n get() {\n let listeners = [];\n let listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n\n subscribe(callback) {\n let isSubscribed = true;\n let listener = last = {\n callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n\n };\n}\n\nconst nullListeners = {\n notify() {},\n\n get: () => []\n};\nfunction createSubscription(store, parentSub) {\n let unsubscribe;\n let listeners = nullListeners; // Reasons to keep the subscription active\n\n let subscriptionsAmount = 0; // Is this specific subscription subscribed (or only nested ones?)\n\n let selfSubscribed = false;\n\n function addNestedSub(listener) {\n trySubscribe();\n const cleanupListener = listeners.subscribe(listener); // cleanup nested sub\n\n let removed = false;\n return () => {\n if (!removed) {\n removed = true;\n cleanupListener();\n tryUnsubscribe();\n }\n };\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return selfSubscribed;\n }\n\n function trySubscribe() {\n subscriptionsAmount++;\n\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n subscriptionsAmount--;\n\n if (unsubscribe && subscriptionsAmount === 0) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n function trySubscribeSelf() {\n if (!selfSubscribed) {\n selfSubscribed = true;\n trySubscribe();\n }\n }\n\n function tryUnsubscribeSelf() {\n if (selfSubscribed) {\n selfSubscribed = false;\n tryUnsubscribe();\n }\n }\n\n const subscription = {\n addNestedSub,\n notifyNestedSubs,\n handleChangeWrapper,\n isSubscribed,\n trySubscribe: trySubscribeSelf,\n tryUnsubscribe: tryUnsubscribeSelf,\n getListeners: () => listeners\n };\n return subscription;\n}\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/utils/Subscription.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/utils/batch.js": -/*!****************************************************!*\ - !*** ./node_modules/react-redux/es/utils/batch.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getBatch: () => (/* binding */ getBatch),\n/* harmony export */ setBatch: () => (/* binding */ setBatch)\n/* harmony export */ });\n// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nlet batch = defaultNoopBatch; // Allow injecting another batching function later\n\nconst setBatch = newBatch => batch = newBatch; // Supply a getter just to skip dealing with ESM bindings\n\nconst getBatch = () => batch;\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/utils/batch.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/utils/bindActionCreators.js": -/*!*****************************************************************!*\ - !*** ./node_modules/react-redux/es/utils/bindActionCreators.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ bindActionCreators)\n/* harmony export */ });\nfunction bindActionCreators(actionCreators, dispatch) {\n const boundActionCreators = {};\n\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = (...args) => dispatch(actionCreator(...args));\n }\n }\n\n return boundActionCreators;\n}\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/utils/bindActionCreators.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/utils/isPlainObject.js": -/*!************************************************************!*\ - !*** ./node_modules/react-redux/es/utils/isPlainObject.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ isPlainObject)\n/* harmony export */ });\n/**\r\n * @param {any} obj The object to inspect.\r\n * @returns {boolean} True if the argument appears to be a plain object.\r\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n let proto = Object.getPrototypeOf(obj);\n if (proto === null) return true;\n let baseProto = proto;\n\n while (Object.getPrototypeOf(baseProto) !== null) {\n baseProto = Object.getPrototypeOf(baseProto);\n }\n\n return proto === baseProto;\n}\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/utils/isPlainObject.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/utils/reactBatchedUpdates.js": -/*!******************************************************************!*\ - !*** ./node_modules/react-redux/es/utils/reactBatchedUpdates.js ***! - \******************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ unstable_batchedUpdates: () => (/* reexport safe */ react_dom__WEBPACK_IMPORTED_MODULE_0__.unstable_batchedUpdates)\n/* harmony export */ });\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/utils/reactBatchedUpdates.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/utils/shallowEqual.js": -/*!***********************************************************!*\ - !*** ./node_modules/react-redux/es/utils/shallowEqual.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ shallowEqual)\n/* harmony export */ });\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/utils/shallowEqual.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js": -/*!************************************************************************!*\ - !*** ./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js ***! - \************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ canUseDOM: () => (/* binding */ canUseDOM),\n/* harmony export */ useIsomorphicLayoutEffect: () => (/* binding */ useIsomorphicLayoutEffect)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n// Matches logic in React's `shared/ExecutionEnvironment` file\n\nconst canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\nconst useIsomorphicLayoutEffect = canUseDOM ? react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect : react__WEBPACK_IMPORTED_MODULE_0__.useEffect;\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/utils/useSyncExternalStore.js": -/*!*******************************************************************!*\ - !*** ./node_modules/react-redux/es/utils/useSyncExternalStore.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ notInitialized: () => (/* binding */ notInitialized)\n/* harmony export */ });\nconst notInitialized = () => {\n throw new Error('uSES not initialized!');\n};\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/utils/useSyncExternalStore.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/utils/verifyPlainObject.js": -/*!****************************************************************!*\ - !*** ./node_modules/react-redux/es/utils/verifyPlainObject.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ verifyPlainObject)\n/* harmony export */ });\n/* harmony import */ var _isPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isPlainObject */ \"./node_modules/react-redux/es/utils/isPlainObject.js\");\n/* harmony import */ var _warning__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./warning */ \"./node_modules/react-redux/es/utils/warning.js\");\n\n\nfunction verifyPlainObject(value, displayName, methodName) {\n if (!(0,_isPlainObject__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(value)) {\n (0,_warning__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(`${methodName}() in ${displayName} must return a plain object. Instead received ${value}.`);\n }\n}\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/utils/verifyPlainObject.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/es/utils/warning.js": -/*!******************************************************!*\ - !*** ./node_modules/react-redux/es/utils/warning.js ***! - \******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ warning)\n/* harmony export */ });\n/**\r\n * Prints a warning in the console if it exists.\r\n *\r\n * @param {String} message The warning message.\r\n * @returns {void}\r\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n\n}\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/es/utils/warning.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js": -/*!************************************************************************************!*\ - !*** ./node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js ***! - \************************************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("/**\n * @license React\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (true) {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_SERVER_CONTEXT_TYPE:\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\nfunction isSuspenseList(object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.SuspenseList = SuspenseList;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isSuspenseList = isSuspenseList;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js?"); - -/***/ }), - -/***/ "./node_modules/react-redux/node_modules/react-is/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/react-redux/node_modules/react-is/index.js ***! - \*****************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ \"./node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js\");\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-redux/node_modules/react-is/index.js?"); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll-bar/dist/es2015/component.js": -/*!***********************************************************************!*\ - !*** ./node_modules/react-remove-scroll-bar/dist/es2015/component.js ***! - \***********************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RemoveScrollBar: () => (/* binding */ RemoveScrollBar)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_style_singleton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-style-singleton */ \"./node_modules/react-style-singleton/dist/es2015/index.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \"./node_modules/react-remove-scroll-bar/dist/es2015/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ \"./node_modules/react-remove-scroll-bar/dist/es2015/utils.js\");\n\n\n\n\nvar Style = (0,react_style_singleton__WEBPACK_IMPORTED_MODULE_1__.styleSingleton)();\n// important tip - once we measure scrollBar width and remove them\n// we could not repeat this operation\n// thus we are using style-singleton - only the first \"yet correct\" style will be applied.\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n if (gapMode === void 0) { gapMode = 'margin'; }\n return \"\\n .\".concat(_constants__WEBPACK_IMPORTED_MODULE_2__.noScrollbarsClassName, \" {\\n overflow: hidden \").concat(important, \";\\n padding-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n body {\\n overflow: hidden \").concat(important, \";\\n overscroll-behavior: contain;\\n \").concat([\n allowRelative && \"position: relative \".concat(important, \";\"),\n gapMode === 'margin' &&\n \"\\n padding-left: \".concat(left, \"px;\\n padding-top: \").concat(top, \"px;\\n padding-right: \").concat(right, \"px;\\n margin-left:0;\\n margin-top:0;\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n \"),\n gapMode === 'padding' && \"padding-right: \".concat(gap, \"px \").concat(important, \";\"),\n ]\n .filter(Boolean)\n .join(''), \"\\n }\\n \\n .\").concat(_constants__WEBPACK_IMPORTED_MODULE_2__.zeroRightClassName, \" {\\n right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(_constants__WEBPACK_IMPORTED_MODULE_2__.fullWidthClassName, \" {\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(_constants__WEBPACK_IMPORTED_MODULE_2__.zeroRightClassName, \" .\").concat(_constants__WEBPACK_IMPORTED_MODULE_2__.zeroRightClassName, \" {\\n right: 0 \").concat(important, \";\\n }\\n \\n .\").concat(_constants__WEBPACK_IMPORTED_MODULE_2__.fullWidthClassName, \" .\").concat(_constants__WEBPACK_IMPORTED_MODULE_2__.fullWidthClassName, \" {\\n margin-right: 0 \").concat(important, \";\\n }\\n \\n body {\\n \").concat(_constants__WEBPACK_IMPORTED_MODULE_2__.removedBarSizeVariable, \": \").concat(gap, \"px;\\n }\\n\");\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nvar RemoveScrollBar = function (props) {\n var noRelative = props.noRelative, noImportant = props.noImportant, _a = props.gapMode, gapMode = _a === void 0 ? 'margin' : _a;\n /*\n gap will be measured on every component mount\n however it will be used only by the \"first\" invocation\n due to singleton nature of { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ fullWidthClassName: () => (/* binding */ fullWidthClassName),\n/* harmony export */ noScrollbarsClassName: () => (/* binding */ noScrollbarsClassName),\n/* harmony export */ removedBarSizeVariable: () => (/* binding */ removedBarSizeVariable),\n/* harmony export */ zeroRightClassName: () => (/* binding */ zeroRightClassName)\n/* harmony export */ });\nvar zeroRightClassName = 'right-scroll-bar-position';\nvar fullWidthClassName = 'width-before-scroll-bar';\nvar noScrollbarsClassName = 'with-scroll-bars-hidden';\n/**\n * Name of a CSS variable containing the amount of \"hidden\" scrollbar\n * ! might be undefined ! use will fallback!\n */\nvar removedBarSizeVariable = '--removed-body-scroll-bar-size';\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-remove-scroll-bar/dist/es2015/constants.js?"); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll-bar/dist/es2015/index.js": -/*!*******************************************************************!*\ - !*** ./node_modules/react-remove-scroll-bar/dist/es2015/index.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RemoveScrollBar: () => (/* reexport safe */ _component__WEBPACK_IMPORTED_MODULE_0__.RemoveScrollBar),\n/* harmony export */ fullWidthClassName: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.fullWidthClassName),\n/* harmony export */ getGapWidth: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_2__.getGapWidth),\n/* harmony export */ noScrollbarsClassName: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.noScrollbarsClassName),\n/* harmony export */ removedBarSizeVariable: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.removedBarSizeVariable),\n/* harmony export */ zeroRightClassName: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.zeroRightClassName)\n/* harmony export */ });\n/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./component */ \"./node_modules/react-remove-scroll-bar/dist/es2015/component.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./node_modules/react-remove-scroll-bar/dist/es2015/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ \"./node_modules/react-remove-scroll-bar/dist/es2015/utils.js\");\n\n\n\n\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-remove-scroll-bar/dist/es2015/index.js?"); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll-bar/dist/es2015/utils.js": -/*!*******************************************************************!*\ - !*** ./node_modules/react-remove-scroll-bar/dist/es2015/utils.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getGapWidth: () => (/* binding */ getGapWidth),\n/* harmony export */ zeroGap: () => (/* binding */ zeroGap)\n/* harmony export */ });\nvar zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n return [parse(left), parse(top), parse(right)];\n};\nvar getGapWidth = function (gapMode) {\n if (gapMode === void 0) { gapMode = 'margin'; }\n if (typeof window === 'undefined') {\n return zeroGap;\n }\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n };\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-remove-scroll-bar/dist/es2015/utils.js?"); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll/dist/es2015/Combination.js": -/*!*********************************************************************!*\ - !*** ./node_modules/react-remove-scroll/dist/es2015/Combination.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _UI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UI */ \"./node_modules/react-remove-scroll/dist/es2015/UI.js\");\n/* harmony import */ var _sidecar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sidecar */ \"./node_modules/react-remove-scroll/dist/es2015/sidecar.js\");\n\n\n\n\nvar ReactRemoveScroll = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function (props, ref) { return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_UI__WEBPACK_IMPORTED_MODULE_2__.RemoveScroll, (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__assign)({}, props, { ref: ref, sideCar: _sidecar__WEBPACK_IMPORTED_MODULE_1__[\"default\"] }))); });\nReactRemoveScroll.classNames = _UI__WEBPACK_IMPORTED_MODULE_2__.RemoveScroll.classNames;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReactRemoveScroll);\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-remove-scroll/dist/es2015/Combination.js?"); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll/dist/es2015/SideEffect.js": -/*!********************************************************************!*\ - !*** ./node_modules/react-remove-scroll/dist/es2015/SideEffect.js ***! - \********************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RemoveScrollSideCar: () => (/* binding */ RemoveScrollSideCar),\n/* harmony export */ getDeltaXY: () => (/* binding */ getDeltaXY),\n/* harmony export */ getTouchXY: () => (/* binding */ getTouchXY)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_remove_scroll_bar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-remove-scroll-bar */ \"./node_modules/react-remove-scroll-bar/dist/es2015/index.js\");\n/* harmony import */ var react_style_singleton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-style-singleton */ \"./node_modules/react-style-singleton/dist/es2015/index.js\");\n/* harmony import */ var _aggresiveCapture__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./aggresiveCapture */ \"./node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js\");\n/* harmony import */ var _handleScroll__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./handleScroll */ \"./node_modules/react-remove-scroll/dist/es2015/handleScroll.js\");\n\n\n\n\n\n\nvar getTouchXY = function (event) {\n return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nvar getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) { return x[0] === y[0] && x[1] === y[1]; };\nvar generateStyle = function (id) { return \"\\n .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\"); };\nvar idCounter = 0;\nvar lockStack = [];\nfunction RemoveScrollSideCar(props) {\n var shouldPreventQueue = react__WEBPACK_IMPORTED_MODULE_0__.useRef([]);\n var touchStartRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef([0, 0]);\n var activeAxis = react__WEBPACK_IMPORTED_MODULE_0__.useRef();\n var id = react__WEBPACK_IMPORTED_MODULE_0__.useState(idCounter++)[0];\n var Style = react__WEBPACK_IMPORTED_MODULE_0__.useState(function () { return (0,react_style_singleton__WEBPACK_IMPORTED_MODULE_2__.styleSingleton)(); })[0];\n var lastProps = react__WEBPACK_IMPORTED_MODULE_0__.useRef(props);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {\n lastProps.current = props;\n }, [props]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\".concat(id));\n var allow_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__spreadArray)([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\".concat(id)); });\n return function () {\n document.body.classList.remove(\"block-interactivity-\".concat(id));\n allow_1.forEach(function (el) { return el.classList.remove(\"allow-interactivity-\".concat(id)); });\n };\n }\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (event, parent) {\n if ('touches' in event && event.touches.length === 2) {\n return !lastProps.current.allowPinchZoom;\n }\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n // allow horizontal touch move on Range inputs. They will not cause any scroll\n if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n return false;\n }\n var canBeScrolledInMainDirection = (0,_handleScroll__WEBPACK_IMPORTED_MODULE_4__.locationCouldBeScrolled)(moveDirection, target);\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n }\n else {\n currentAxis = moveDirection === 'v' ? 'h' : 'v';\n canBeScrolledInMainDirection = (0,_handleScroll__WEBPACK_IMPORTED_MODULE_4__.locationCouldBeScrolled)(moveDirection, target);\n // other axis might be not scrollable\n }\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n if (!currentAxis) {\n return true;\n }\n var cancelingAxis = activeAxis.current || currentAxis;\n return (0,_handleScroll__WEBPACK_IMPORTED_MODULE_4__.handleScroll)(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (_event) {\n var event = _event;\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n // not the last active\n return;\n }\n var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function (e) { return e.name === event.type && e.target === event.target && deltaCompare(e.delta, delta); })[0];\n // self event, and should be canceled\n if (sourceEvent && sourceEvent.should) {\n if (event.cancelable) {\n event.preventDefault();\n }\n return;\n }\n // outside or shard event\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || [])\n .map(extractRef)\n .filter(Boolean)\n .filter(function (node) { return node.contains(event.target); });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n if (shouldStop) {\n if (event.cancelable) {\n event.preventDefault();\n }\n }\n }\n }, []);\n var shouldCancel = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (name, delta, target, should) {\n var event = { name: name, delta: delta, target: target, should: should };\n shouldPreventQueue.current.push(event);\n setTimeout(function () {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n }, 1);\n }, []);\n var scrollTouchStart = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = undefined;\n }, []);\n var scrollWheel = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function (event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {\n lockStack.push(Style);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove,\n });\n document.addEventListener('wheel', shouldPrevent, _aggresiveCapture__WEBPACK_IMPORTED_MODULE_5__.nonPassive);\n document.addEventListener('touchmove', shouldPrevent, _aggresiveCapture__WEBPACK_IMPORTED_MODULE_5__.nonPassive);\n document.addEventListener('touchstart', scrollTouchStart, _aggresiveCapture__WEBPACK_IMPORTED_MODULE_5__.nonPassive);\n return function () {\n lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n document.removeEventListener('wheel', shouldPrevent, _aggresiveCapture__WEBPACK_IMPORTED_MODULE_5__.nonPassive);\n document.removeEventListener('touchmove', shouldPrevent, _aggresiveCapture__WEBPACK_IMPORTED_MODULE_5__.nonPassive);\n document.removeEventListener('touchstart', scrollTouchStart, _aggresiveCapture__WEBPACK_IMPORTED_MODULE_5__.nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar, inert = props.inert;\n return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,\n inert ? react__WEBPACK_IMPORTED_MODULE_0__.createElement(Style, { styles: generateStyle(id) }) : null,\n removeScrollBar ? react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_remove_scroll_bar__WEBPACK_IMPORTED_MODULE_1__.RemoveScrollBar, { gapMode: \"margin\" }) : null));\n}\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-remove-scroll/dist/es2015/SideEffect.js?"); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll/dist/es2015/UI.js": -/*!************************************************************!*\ - !*** ./node_modules/react-remove-scroll/dist/es2015/UI.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RemoveScroll: () => (/* binding */ RemoveScroll)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_remove_scroll_bar_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-remove-scroll-bar/constants */ \"./node_modules/react-remove-scroll-bar/dist/es2015/constants.js\");\n/* harmony import */ var use_callback_ref__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! use-callback-ref */ \"./node_modules/use-callback-ref/dist/es2015/useMergeRef.js\");\n/* harmony import */ var _medium__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./medium */ \"./node_modules/react-remove-scroll/dist/es2015/medium.js\");\n\n\n\n\n\nvar nothing = function () {\n return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function (props, parentRef) {\n var ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n var _a = react__WEBPACK_IMPORTED_MODULE_0__.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing,\n }), callbacks = _a[0], setCallbacks = _a[1];\n var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, rest = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__rest)(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\"]);\n var SideCar = sideCar;\n var containerRef = (0,use_callback_ref__WEBPACK_IMPORTED_MODULE_3__.useMergeRefs)([ref, parentRef]);\n var containerProps = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, rest), callbacks);\n return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,\n enabled && (react__WEBPACK_IMPORTED_MODULE_0__.createElement(SideCar, { sideCar: _medium__WEBPACK_IMPORTED_MODULE_4__.effectCar, removeScrollBar: removeScrollBar, shards: shards, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref })),\n forwardProps ? (react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(react__WEBPACK_IMPORTED_MODULE_0__.Children.only(children), (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, containerProps), { ref: containerRef }))) : (react__WEBPACK_IMPORTED_MODULE_0__.createElement(Container, (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false,\n};\nRemoveScroll.classNames = {\n fullWidth: react_remove_scroll_bar_constants__WEBPACK_IMPORTED_MODULE_1__.fullWidthClassName,\n zeroRight: react_remove_scroll_bar_constants__WEBPACK_IMPORTED_MODULE_1__.zeroRightClassName,\n};\n\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-remove-scroll/dist/es2015/UI.js?"); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js": -/*!**************************************************************************!*\ - !*** ./node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js ***! - \**************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ nonPassive: () => (/* binding */ nonPassive)\n/* harmony export */ });\nvar passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n return true;\n },\n });\n // @ts-ignore\n window.addEventListener('test', options, options);\n // @ts-ignore\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\nvar nonPassive = passiveSupported ? { passive: false } : false;\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js?"); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll/dist/es2015/handleScroll.js": -/*!**********************************************************************!*\ - !*** ./node_modules/react-remove-scroll/dist/es2015/handleScroll.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ handleScroll: () => (/* binding */ handleScroll),\n/* harmony export */ locationCouldBeScrolled: () => (/* binding */ locationCouldBeScrolled)\n/* harmony export */ });\nvar alwaysContainsScroll = function (node) {\n // textarea will always _contain_ scroll inside self. It only can be hidden\n return node.tagName === 'TEXTAREA';\n};\nvar elementCanBeScrolled = function (node, overflow) {\n var styles = window.getComputedStyle(node);\n return (\n // not-not-scrollable\n styles[overflow] !== 'hidden' &&\n // contains scroll inside self\n !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible'));\n};\nvar elementCouldBeVScrolled = function (node) { return elementCanBeScrolled(node, 'overflowY'); };\nvar elementCouldBeHScrolled = function (node) { return elementCanBeScrolled(node, 'overflowX'); };\nvar locationCouldBeScrolled = function (axis, node) {\n var current = node;\n do {\n // Skip over shadow root\n if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) {\n current = current.host;\n }\n var isScrollable = elementCouldBeScrolled(axis, current);\n if (isScrollable) {\n var _a = getScrollVariables(axis, current), s = _a[1], d = _a[2];\n if (s > d) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== document.body);\n return false;\n};\nvar getVScrollVariables = function (_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [\n scrollTop,\n scrollHeight,\n clientHeight,\n ];\n};\nvar getHScrollVariables = function (_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [\n scrollLeft,\n scrollWidth,\n clientWidth,\n ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n /**\n * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n * and then increasingly negative as you scroll towards the end of the content.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n */\n return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nvar handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n // find scrollable target\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position;\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n target = target.parentNode;\n } while (\n // portaled content\n (!targetInLock && target !== document.body) ||\n // self content\n (targetInLock && (endTarget.contains(target) || endTarget === target)));\n if (isDeltaPositive && ((noOverscroll && availableScroll === 0) || (!noOverscroll && delta > availableScroll))) {\n shouldCancelScroll = true;\n }\n else if (!isDeltaPositive &&\n ((noOverscroll && availableScrollTop === 0) || (!noOverscroll && -delta > availableScrollTop))) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n};\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-remove-scroll/dist/es2015/handleScroll.js?"); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll/dist/es2015/medium.js": -/*!****************************************************************!*\ - !*** ./node_modules/react-remove-scroll/dist/es2015/medium.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ effectCar: () => (/* binding */ effectCar)\n/* harmony export */ });\n/* harmony import */ var use_sidecar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! use-sidecar */ \"./node_modules/use-sidecar/dist/es2015/medium.js\");\n\nvar effectCar = (0,use_sidecar__WEBPACK_IMPORTED_MODULE_0__.createSidecarMedium)();\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-remove-scroll/dist/es2015/medium.js?"); - -/***/ }), - -/***/ "./node_modules/react-remove-scroll/dist/es2015/sidecar.js": -/*!*****************************************************************!*\ - !*** ./node_modules/react-remove-scroll/dist/es2015/sidecar.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var use_sidecar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! use-sidecar */ \"./node_modules/use-sidecar/dist/es2015/exports.js\");\n/* harmony import */ var _SideEffect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SideEffect */ \"./node_modules/react-remove-scroll/dist/es2015/SideEffect.js\");\n/* harmony import */ var _medium__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./medium */ \"./node_modules/react-remove-scroll/dist/es2015/medium.js\");\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,use_sidecar__WEBPACK_IMPORTED_MODULE_0__.exportSidecar)(_medium__WEBPACK_IMPORTED_MODULE_1__.effectCar, _SideEffect__WEBPACK_IMPORTED_MODULE_2__.RemoveScrollSideCar));\n\n\n//# sourceURL=webpack://renderer/./node_modules/react-remove-scroll/dist/es2015/sidecar.js?"); - -/***/ }), - -/***/ "./node_modules/react-router-dom/dist/index.js": -/*!*****************************************************!*\ - !*** ./node_modules/react-router-dom/dist/index.js ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbortedDeferredError: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_1__.AbortedDeferredError),\n/* harmony export */ Await: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.Await),\n/* harmony export */ BrowserRouter: () => (/* binding */ BrowserRouter),\n/* harmony export */ Form: () => (/* binding */ Form),\n/* harmony export */ HashRouter: () => (/* binding */ HashRouter),\n/* harmony export */ Link: () => (/* binding */ Link),\n/* harmony export */ MemoryRouter: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.MemoryRouter),\n/* harmony export */ NavLink: () => (/* binding */ NavLink),\n/* harmony export */ Navigate: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.Navigate),\n/* harmony export */ NavigationType: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_1__.Action),\n/* harmony export */ Outlet: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.Outlet),\n/* harmony export */ Route: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.Route),\n/* harmony export */ Router: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.Router),\n/* harmony export */ RouterProvider: () => (/* binding */ RouterProvider),\n/* harmony export */ Routes: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.Routes),\n/* harmony export */ ScrollRestoration: () => (/* binding */ ScrollRestoration),\n/* harmony export */ UNSAFE_DataRouterContext: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.UNSAFE_DataRouterContext),\n/* harmony export */ UNSAFE_DataRouterStateContext: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.UNSAFE_DataRouterStateContext),\n/* harmony export */ UNSAFE_FetchersContext: () => (/* binding */ FetchersContext),\n/* harmony export */ UNSAFE_LocationContext: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.UNSAFE_LocationContext),\n/* harmony export */ UNSAFE_NavigationContext: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.UNSAFE_NavigationContext),\n/* harmony export */ UNSAFE_RouteContext: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.UNSAFE_RouteContext),\n/* harmony export */ UNSAFE_ViewTransitionContext: () => (/* binding */ ViewTransitionContext),\n/* harmony export */ UNSAFE_useRouteId: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.UNSAFE_useRouteId),\n/* harmony export */ UNSAFE_useScrollRestoration: () => (/* binding */ useScrollRestoration),\n/* harmony export */ createBrowserRouter: () => (/* binding */ createBrowserRouter),\n/* harmony export */ createHashRouter: () => (/* binding */ createHashRouter),\n/* harmony export */ createMemoryRouter: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.createMemoryRouter),\n/* harmony export */ createPath: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_1__.createPath),\n/* harmony export */ createRoutesFromChildren: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.createRoutesFromChildren),\n/* harmony export */ createRoutesFromElements: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.createRoutesFromElements),\n/* harmony export */ createSearchParams: () => (/* binding */ createSearchParams),\n/* harmony export */ defer: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_1__.defer),\n/* harmony export */ generatePath: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_1__.generatePath),\n/* harmony export */ isRouteErrorResponse: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_1__.isRouteErrorResponse),\n/* harmony export */ json: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_1__.json),\n/* harmony export */ matchPath: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_1__.matchPath),\n/* harmony export */ matchRoutes: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_1__.matchRoutes),\n/* harmony export */ parsePath: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_1__.parsePath),\n/* harmony export */ redirect: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_1__.redirect),\n/* harmony export */ redirectDocument: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_1__.redirectDocument),\n/* harmony export */ renderMatches: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.renderMatches),\n/* harmony export */ resolvePath: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_1__.resolvePath),\n/* harmony export */ unstable_HistoryRouter: () => (/* binding */ HistoryRouter),\n/* harmony export */ unstable_useBlocker: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.unstable_useBlocker),\n/* harmony export */ unstable_usePrompt: () => (/* binding */ usePrompt),\n/* harmony export */ unstable_useViewTransitionState: () => (/* binding */ useViewTransitionState),\n/* harmony export */ useActionData: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useActionData),\n/* harmony export */ useAsyncError: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useAsyncError),\n/* harmony export */ useAsyncValue: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useAsyncValue),\n/* harmony export */ useBeforeUnload: () => (/* binding */ useBeforeUnload),\n/* harmony export */ useFetcher: () => (/* binding */ useFetcher),\n/* harmony export */ useFetchers: () => (/* binding */ useFetchers),\n/* harmony export */ useFormAction: () => (/* binding */ useFormAction),\n/* harmony export */ useHref: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useHref),\n/* harmony export */ useInRouterContext: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useInRouterContext),\n/* harmony export */ useLinkClickHandler: () => (/* binding */ useLinkClickHandler),\n/* harmony export */ useLoaderData: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useLoaderData),\n/* harmony export */ useLocation: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useLocation),\n/* harmony export */ useMatch: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useMatch),\n/* harmony export */ useMatches: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useMatches),\n/* harmony export */ useNavigate: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useNavigate),\n/* harmony export */ useNavigation: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useNavigation),\n/* harmony export */ useNavigationType: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useNavigationType),\n/* harmony export */ useOutlet: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useOutlet),\n/* harmony export */ useOutletContext: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useOutletContext),\n/* harmony export */ useParams: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useParams),\n/* harmony export */ useResolvedPath: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useResolvedPath),\n/* harmony export */ useRevalidator: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useRevalidator),\n/* harmony export */ useRouteError: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useRouteError),\n/* harmony export */ useRouteLoaderData: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useRouteLoaderData),\n/* harmony export */ useRoutes: () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_2__.useRoutes),\n/* harmony export */ useSearchParams: () => (/* binding */ useSearchParams),\n/* harmony export */ useSubmit: () => (/* binding */ useSubmit)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-router */ \"./node_modules/react-router/dist/index.js\");\n/* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @remix-run/router */ \"./node_modules/@remix-run/router/dist/router.js\");\n/**\n * React Router DOM v6.18.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\n\n\n\n\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n\nconst defaultMethod = \"get\";\nconst defaultEncType = \"application/x-www-form-urlencoded\";\nfunction isHtmlElement(object) {\n return object != null && typeof object.tagName === \"string\";\n}\nfunction isButtonElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"button\";\n}\nfunction isFormElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"form\";\n}\nfunction isInputElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"input\";\n}\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\nfunction shouldProcessLinkClick(event, target) {\n return event.button === 0 && (\n // Ignore everything but left clicks\n !target || target === \"_self\") &&\n // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ;\n}\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nfunction createSearchParams(init) {\n if (init === void 0) {\n init = \"\";\n }\n return new URLSearchParams(typeof init === \"string\" || Array.isArray(init) || init instanceof URLSearchParams ? init : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(Array.isArray(value) ? value.map(v => [key, v]) : [[key, value]]);\n }, []));\n}\nfunction getSearchParamsForLocation(locationSearch, defaultSearchParams) {\n let searchParams = createSearchParams(locationSearch);\n if (defaultSearchParams) {\n // Use `defaultSearchParams.forEach(...)` here instead of iterating of\n // `defaultSearchParams.keys()` to work-around a bug in Firefox related to\n // web extensions. Relevant Bugzilla tickets:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1414602\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1023984\n defaultSearchParams.forEach((_, key) => {\n if (!searchParams.has(key)) {\n defaultSearchParams.getAll(key).forEach(value => {\n searchParams.append(key, value);\n });\n }\n });\n }\n return searchParams;\n}\n// One-time check for submitter support\nlet _formDataSupportsSubmitter = null;\nfunction isFormDataSubmitterSupported() {\n if (_formDataSupportsSubmitter === null) {\n try {\n new FormData(document.createElement(\"form\"),\n // @ts-expect-error if FormData supports the submitter parameter, this will throw\n 0);\n _formDataSupportsSubmitter = false;\n } catch (e) {\n _formDataSupportsSubmitter = true;\n }\n }\n return _formDataSupportsSubmitter;\n}\nconst supportedFormEncTypes = new Set([\"application/x-www-form-urlencoded\", \"multipart/form-data\", \"text/plain\"]);\nfunction getFormEncType(encType) {\n if (encType != null && !supportedFormEncTypes.has(encType)) {\n true ? (0,react_router__WEBPACK_IMPORTED_MODULE_1__.UNSAFE_warning)(false, \"\\\"\" + encType + \"\\\" is not a valid `encType` for ``/`` \" + (\"and will default to \\\"\" + defaultEncType + \"\\\"\")) : 0;\n return null;\n }\n return encType;\n}\nfunction getFormSubmissionInfo(target, basename) {\n let method;\n let action;\n let encType;\n let formData;\n let body;\n if (isFormElement(target)) {\n // When grabbing the action from the element, it will have had the basename\n // prefixed to ensure non-JS scenarios work, so strip it since we'll\n // re-prefix in the router\n let attr = target.getAttribute(\"action\");\n action = attr ? (0,react_router__WEBPACK_IMPORTED_MODULE_1__.stripBasename)(attr, basename) : null;\n method = target.getAttribute(\"method\") || defaultMethod;\n encType = getFormEncType(target.getAttribute(\"enctype\")) || defaultEncType;\n formData = new FormData(target);\n } else if (isButtonElement(target) || isInputElement(target) && (target.type === \"submit\" || target.type === \"image\")) {\n let form = target.form;\n if (form == null) {\n throw new Error(\"Cannot submit a